feat:人员统计

ln_ry20250512
wangxy 4 days ago
parent 2dcc2e2eeb
commit 665c935ca0

@ -21,16 +21,20 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO;
import com.ruoyi.system.domain.check.TdCheckReport;
import com.ruoyi.system.domain.count.UserCountDTO;
import com.ruoyi.system.domain.count.UserSmCountDTO;
import com.ruoyi.system.service.*;
import com.ruoyi.system.service.apply.TdApplyInfoListService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
@ -58,6 +62,9 @@ public class SysUsernumController extends BaseController {
@Autowired
private SysUserPostService sysUserPostService;
@Resource
private TdApplyInfoListService applyInfoListService;
@RequiresPermissions("system:usernum:view")
@GetMapping()
public String user() {
@ -139,7 +146,7 @@ public class SysUsernumController extends BaseController {
@PostMapping("/countSm")
@ResponseBody
public AjaxResult countSm() {
UserSmCountDTO userSmCountDTO = userService.selectCountSmUser();
ApplySmCountDTO userSmCountDTO = applyInfoListService.selectCountSmApply();
List<Long> yAxisData = new ArrayList<>();
smType.forEach(xAxis -> {
AtomicReference<Long> yAxis = new AtomicReference<>(0L);
@ -211,11 +218,10 @@ public class SysUsernumController extends BaseController {
date = Date.from(LocalDate.parse(month.concat(StrPool.DASHED).concat("01")).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
Date minDayTime = ObtainLastSixMonthsUtil.getStartOfDay(date);
AtomicReference<Long> yAxis = new AtomicReference<>(0L);
Integer count = new LambdaQueryChainWrapper<>(userService.getBaseMapper())
.ge(SysUser::getCreateTime, minDayTime)
.le(SysUser::getCreateTime, maxDayTime)
.eq(SysUser::getExamine,'2')
.eq(SysUser::getDelFlag,'0')
Integer count = new LambdaQueryChainWrapper<>(applyInfoListService.getBaseMapper())
.ge(TdApplyInfoList::getCreateTime, minDayTime)
.le(TdApplyInfoList::getCreateTime, maxDayTime)
.eq(TdApplyInfoList::getApplyStatus,'0')
.count();
if(Objects.isNull(count)){
count = 0;

@ -0,0 +1,32 @@
package com.ruoyi.system.domain.apply.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* packageName com.ruoyi.system.domain.count
*
* @author wangxy
* @version JDK 8
* @className UserSmCountDTO
* @date 2024/8/8
* @description
*/
@Data
@ApiModel(value="涉密程度统计", description="涉密程度统计")
public class ApplySmCountDTO implements Serializable {
@ApiModelProperty(value = "一般")
private Integer yb;
@ApiModelProperty(value = "重要")
private Integer zy;
@ApiModelProperty(value = "核心")
private Integer hx;
}

@ -2,6 +2,7 @@ package com.ruoyi.system.mapper.apply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO;
import java.util.List;
@ -42,6 +43,11 @@ public interface TdApplyInfoListMapper extends BaseMapper<TdApplyInfoList> {
public ApplySmCountDTO selectCountSmApply();

@ -2,7 +2,9 @@ package com.ruoyi.system.service.apply;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO;
import com.ruoyi.system.domain.count.UserSmCountDTO;
import java.util.List;
@ -43,6 +45,11 @@ public interface TdApplyInfoListService extends IService<TdApplyInfoList> {
public ApplySmCountDTO selectCountSmApply();

@ -3,6 +3,7 @@ package com.ruoyi.system.service.apply.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO;
import com.ruoyi.system.mapper.apply.TdApplyInfoListMapper;
import com.ruoyi.system.service.apply.TdApplyInfoListService;
@ -78,6 +79,11 @@ public class TdApplyInfoListServiceImpl extends ServiceImpl<TdApplyInfoListMappe
public List<TdApplyInfoList> selectPersonLeaveAuditList(TdApplyInfoListDTO applyInfoListDTO) {
return applyInfoListMapper.selectPersonLeaveAuditList(applyInfoListDTO);
}
@Override
public ApplySmCountDTO selectCountSmApply() {
return applyInfoListMapper.selectCountSmApply();
}
}

@ -329,4 +329,13 @@
</select>
<select id="selectCountSmApply" resultType="com.ruoyi.system.domain.apply.dto.ApplySmCountDTO">
SELECT
SUM (CASE WHEN sm_grade = '一般' THEN 1 ELSE 0 END) AS yb,
SUM (CASE WHEN sm_grade = '重要' THEN 1 ELSE 0 END) AS zy,
SUM (CASE WHEN sm_grade = '核心' THEN 1 ELSE 0 END) AS hx
from td_apply_info_list where apply_status ='5'
</select>
</mapper>

Loading…
Cancel
Save