liuyc 2 éve
szülő
commit
76c304fac3

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/controller/ExMaTwoController.java

@@ -121,7 +121,7 @@ public class ExMaTwoController extends BladeController {
     @ApiOperation(value = "获取项目合同段回款数据列表", notes = "传入项目id")
     public R<List<ExMaByContractReturnedInfoVO>> getProjectContractMoneyList(@RequestParam Long projectId) {
         List<ContractReturnedInfo> contractReturnedInfos = contractReturnedInfoService.getBaseMapper().selectList(Wrappers.<ContractReturnedInfo>lambdaQuery().eq(ContractReturnedInfo::getProjectId, projectId));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<ExMaByContractReturnedInfoVO> collect = contractReturnedInfos.stream().map(obj -> {
             ExMaByContractReturnedInfoVO vo = new ExMaByContractReturnedInfoVO();
             vo.setId(obj.getId());

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/AttendanceTripServiceImpl.java

@@ -44,7 +44,7 @@ public class AttendanceTripServiceImpl extends BaseServiceImpl<AttendanceTripMap
         QueryWrapper<AttendanceTripInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(AttendanceTripInfo::getIsTemp, 1); //提交的数据
         IPage<AttendanceTripInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, AttendanceTripInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         return pages.convert(obj -> {
             AttendanceTripInfoVO vo = new AttendanceTripInfoVO();
             BeanUtils.copyProperties(obj, vo);

+ 2 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMFinancialReimbursementServiceImpl.java

@@ -48,7 +48,7 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
         queryWrapper.lambda().eq(EMFinancialReimbursementInfo::getIsTemp, 1); //提交的数据
         IPage<EMFinancialReimbursementInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMFinancialReimbursementInfo::getCreateTime));
         List<DictInfo> dictInfoList = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'expense_fr_type'", new BeanPropertyRowMapper<>(DictInfo.class));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
         return pages.convert(reimbursementInfo -> {
             EMFinancialReimbursementInfoVO vo = new EMFinancialReimbursementInfoVO();
@@ -58,7 +58,7 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
             vo.setApprovalStatusName(vo.getStatus().equals(1) ? "待审批" : (vo.getStatus().equals(2) ? "已审批" : (vo.getStatus().equals(3) ? "已驳回" : "未上报")));
             vo.setApprovalResultName(vo.getApprovalStatusName().equals("已审批") || vo.getApprovalStatusName().equals("已驳回") ? "已通过" : "未通过");
             for (DictInfo dictInfo : dictInfoList) {
-                if (dictInfo.getDictValue().equals(vo.getFrType())) {
+                if ((vo.getFrType().equals(dictInfo.getDictValue().intValue()))) {
                     vo.setFrTypeName(dictInfo.getDictName());
                     break;
                 }

+ 2 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMInvoiceServiceImpl.java

@@ -45,7 +45,7 @@ public class EMInvoiceServiceImpl extends BaseServiceImpl<ExMInvoiceMapper, EMIn
         QueryWrapper<EMInvoiceInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMInvoiceInfo::getIsTemp, 1); //提交的数据
         IPage<EMInvoiceInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMInvoiceInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<DictInfo> dictInfoList1 = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'invoice_type'", new BeanPropertyRowMapper<>(DictInfo.class));
         List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
         return pages.convert(obj -> {
@@ -55,7 +55,7 @@ public class EMInvoiceServiceImpl extends BaseServiceImpl<ExMInvoiceMapper, EMIn
             vo.setApprovalStatusName(vo.getStatus().equals(1) ? "待审批" : (vo.getStatus().equals(2) ? "已审批" : (vo.getStatus().equals(3) ? "已驳回" : "未上报")));
             vo.setApprovalResultName(vo.getApprovalStatusName().equals("已审批") || vo.getApprovalStatusName().equals("已驳回") ? "已通过" : "未通过");
             for (DictInfo dictInfo : dictInfoList1) {
-                if (dictInfo.getDictValue().equals(vo.getInvoiceType())) {
+                if (vo.getInvoiceType().equals(dictInfo.getDictValue().intValue())) {
                     vo.setInvoiceTypeName(dictInfo.getDictName());
                     break;
                 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMLoanServiceImpl.java

@@ -46,7 +46,7 @@ public class EMLoanServiceImpl extends BaseServiceImpl<ExMLoanMapper, EMLoanInfo
         QueryWrapper<EMLoanInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMLoanInfo::getIsTemp, 1);
         IPage<EMLoanInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMLoanInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         return pages.convert(obj -> {
             EMLoanInfoVO vo = new EMLoanInfoVO();
             BeanUtils.copyProperties(obj, vo);

+ 2 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMOutsourcingPayServiceImpl.java

@@ -44,7 +44,7 @@ public class EMOutsourcingPayServiceImpl extends BaseServiceImpl<ExMOutsourcingP
         QueryWrapper<EMOutsourcingPayInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMOutsourcingPayInfo::getIsTemp, 1);
         IPage<EMOutsourcingPayInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMOutsourcingPayInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<DictInfo> dictInfoList = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'outsourcing_type'", new BeanPropertyRowMapper<>(DictInfo.class));
         List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
         return pages.convert(obj -> {
@@ -55,7 +55,7 @@ public class EMOutsourcingPayServiceImpl extends BaseServiceImpl<ExMOutsourcingP
             vo.setApprovalResultName(vo.getApprovalStatusName().equals("已审批") || vo.getApprovalStatusName().equals("已驳回") ? "已通过" : "未通过");
 
             for (DictInfo dictInfo : dictInfoList) {
-                if (dictInfo.getDictValue().equals(vo.getOutsourcingType())) {
+                if (vo.getOutsourcingType().equals(dictInfo.getDictValue().intValue())) {
                     vo.setOutsourcingTypeName(dictInfo.getDictName());
                     break;
                 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMPayServiceImpl.java

@@ -43,7 +43,7 @@ public class EMPayServiceImpl extends BaseServiceImpl<ExMPayMapper, EMPayInfo> i
         QueryWrapper<EMPayInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMPayInfo::getIsTemp, 1);
         IPage<EMPayInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMPayInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         return pages.convert(obj -> {
             EMPayInfoVO vo = new EMPayInfoVO();
             BeanUtils.copyProperties(obj, vo);

+ 2 - 2
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMPurchaseServiceImpl.java

@@ -44,13 +44,13 @@ public class EMPurchaseServiceImpl extends BaseServiceImpl<ExMPurchaseMapper, EM
         QueryWrapper<EMPurchaseInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMPurchaseInfo::getIsTemp, 1);
         IPage<EMPurchaseInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMPurchaseInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<DictInfo> dictInfoList = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'purchase_type'", new BeanPropertyRowMapper<>(DictInfo.class));
         return pages.convert(obj -> {
             EMPurchaseInfoVO vo = new EMPurchaseInfoVO();
             BeanUtils.copyProperties(obj, vo);
             for (DictInfo dictInfo : dictInfoList) {
-                if (dictInfo.getDictValue().equals(vo.getPurType())) {
+                if (vo.getPurType().equals(dictInfo.getDictValue().intValue())) {
                     vo.setPurTypeName(dictInfo.getDictName());
                     break;
                 }

+ 1 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMUseCarServiceImpl.java

@@ -49,7 +49,7 @@ public class EMUseCarServiceImpl extends BaseServiceImpl<ExMUseCarMapper, EMUseC
         QueryWrapper<EMUseCarInfo> queryWrapper = Condition.getQueryWrapper(dto);
         queryWrapper.lambda().eq(EMUseCarInfo::getIsTemp, 1);
         IPage<EMUseCarInfo> pages = this.page(page, queryWrapper.lambda().orderBy(true, true, EMUseCarInfo::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<Dept> deptList = jdbcTemplate.query("select id,dept_name from blade_dept where tenant_id = " + SecureUtil.getUser().getTenantId() + " and dept_type = 2", new BeanPropertyRowMapper<>(Dept.class));
         return pages.convert(obj -> {
             EMUseCarInfoVO vo = new EMUseCarInfoVO();

+ 10 - 11
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/LogHistoryServiceImpl.java

@@ -128,16 +128,14 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
                                 "昨天",
                                 "前天");
                     }, LinkedHashMap::new, Collectors.toList()));
-            //把当前用户放在今日日志首位
+            //把当前用户每天日志首位
             for (Map.Entry<String, List<LogHistoryInfoVO>> stringListEntry : collect.entrySet()) {
-                if (stringListEntry.getKey().equals("今天")) {
-                    List<LogHistoryInfoVO> value = stringListEntry.getValue();
-                    List<LogHistoryInfoVO> filteredList = value.stream()
-                            .filter(vo -> vo.getUserId().equals(SecureUtil.getUserId()))
-                            .collect(Collectors.toList());
-                    value.removeAll(filteredList);
-                    value.addAll(0, filteredList);
-                }
+                List<LogHistoryInfoVO> value = stringListEntry.getValue();
+                List<LogHistoryInfoVO> filteredList = value.stream()
+                        .filter(vo -> vo.getUserId().equals(SecureUtil.getUserId()))
+                        .collect(Collectors.toList());
+                value.removeAll(filteredList);
+                value.addAll(0, filteredList);
             }
             return collect;
         }
@@ -433,7 +431,7 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
             taskProcessInfo.setStatus(1); //待审批
             taskProcessInfo.setReportDate(new Date());
             taskProcessInfo.setTaskType(1); //任务审批
-            taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【任务审批】审批");
+            taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【任务完成】审批");
 
             //上报人
             taskProcessInfo.setReportUserId(SecureUtil.getUserId());
@@ -444,7 +442,8 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
 
             List<String> nonEmptyAuditUserIds = new LinkedList<>();
             for (String userId : auditUserIds) {
-                if (StringUtils.isNotEmpty(userId)) {
+                //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
+                if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
                     nonEmptyAuditUserIds.add(userId);
                 }
             }

+ 73 - 29
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/TaskProcessServiceImpl.java

@@ -68,21 +68,26 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
             throw new ServiceException("未获取到当前用户信息,请联系管理员");
         }
         QueryWrapper<TaskProcessInfo> queryWrapper = Condition.getQueryWrapper(dto);
-        if (dto.getSelectType().equals("1")) { //待审批为待办任务
-            queryWrapper.lambda().like(TaskProcessInfo::getAuditUserIds, SecureUtil.getUserId());
-            queryWrapper.lambda().eq(TaskProcessInfo::getStatus, 1);
-        } else if (dto.getSelectType().equals("2")) { //已审核、已驳回为已办任务
-            queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS IN ( 2, 3 )) OR (audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS = 3)");
-        } else if (dto.getSelectType().equals("3")) { //我发起的任务
-            if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
-                queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
-            }
-            queryWrapper.lambda().eq(TaskProcessInfo::getReportUserId, SecureUtil.getUserId());
-        } else if (dto.getSelectType().equals("4")) { //抄送给我的
-            if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
-                queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
-            }
-            queryWrapper.lambda().like(TaskProcessInfo::getCcUserIds, SecureUtil.getUserId());
+        switch (dto.getSelectType()) {
+            case "1":  //待审批为待办任务
+                queryWrapper.lambda().like(TaskProcessInfo::getAuditUserIds, SecureUtil.getUserId());
+                queryWrapper.lambda().eq(TaskProcessInfo::getStatus, 1);
+                break;
+            case "2":  //已审核、已驳回为已办任务
+                queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS IN ( 2, 3 )) OR (audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS = 3)");
+                break;
+            case "3":  //我发起的任务
+                if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
+                    queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
+                }
+                queryWrapper.lambda().eq(TaskProcessInfo::getReportUserId, SecureUtil.getUserId());
+                break;
+            case "4":  //抄送给我的
+                if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && !dto.getSelectStatus().equals("1")) {
+                    queryWrapper.lambda().eq(TaskProcessInfo::getStatus, dto.getSelectStatus());
+                }
+                queryWrapper.lambda().like(TaskProcessInfo::getCcUserIds, SecureUtil.getUserId());
+                break;
         }
         if (StringUtils.isNotEmpty(dto.getStartTime()) && StringUtils.isNotEmpty(dto.getEndTime())) {
             String endTime = dto.getEndTime();
@@ -93,12 +98,25 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
 
         List<DictInfo> dictInfoList = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'report_type'", new BeanPropertyRowMapper<>(DictInfo.class));
 
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
 
         return pages.convert((obj -> {
             TaskProcessInfoVO vo = new TaskProcessInfoVO();
             BeanUtils.copyProperties(obj, vo);
 
+            if (dto.getSelectType().equals("3") && vo.getReportUserId().equals(SecureUtil.getUserId())) {
+                //如果是本身,也就是我发起的任务,那么替换任务名称
+                String taskName = vo.getTaskName();
+                String re = taskName.replace("向您发起", "我发起的");
+                vo.setTaskName(re);
+            }
+            if (dto.getSelectType().equals("4")) {
+                //抄送给我的
+                String taskName = vo.getTaskName();
+                String re = taskName.replace("向您发起", "抄送给您的");
+                vo.setTaskName(re);
+            }
+
             vo.setReportUserName(userMap.get(vo.getReportUserId()));
 
             if (StringUtils.isNotEmpty(vo.getAuditUserIds())) {
@@ -118,7 +136,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
             vo.setStatusName(vo.getStatus().equals(1) ? "待审批" : (vo.getStatus().equals(2) ? "已审批" : "已驳回"));
 
             for (DictInfo dictInfo : dictInfoList) {
-                if ((vo.getTaskType()).equals(dictInfo.getDictValue())) {
+                if ((vo.getTaskType()).equals(dictInfo.getDictValue().intValue())) {
                     vo.setReportTypeName(dictInfo.getDictName());
                     break;
                 }
@@ -133,7 +151,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
         TaskProcessInfo taskProcessInfo = baseMapper.selectById(id);
         if (taskProcessInfo != null) {
             //构造基础信息
-            Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+            Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
             List<DictInfo> dictInfoList1 = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'report_type'", new BeanPropertyRowMapper<>(DictInfo.class));
             List<DictInfo> dictInfoList2 = jdbcTemplate.query("select dict_name,dict_value from c_dict_info where code = 'expense_fr_type'", new BeanPropertyRowMapper<>(DictInfo.class));
             List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
@@ -141,7 +159,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
             basicsVO.setTaskId(taskProcessInfo.getId());
             basicsVO.setTaskName(taskProcessInfo.getTaskName());
             for (DictInfo dictInfo : dictInfoList1) {
-                if ((taskProcessInfo.getTaskType()).equals(dictInfo.getDictValue())) {
+                if ((taskProcessInfo.getTaskType()).equals(dictInfo.getDictValue().intValue())) {
                     basicsVO.setReportTypeName(dictInfo.getDictName());
                     break;
                 }
@@ -444,7 +462,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
             queryWrapper.lambda().ge(ProjectCostBudget::getPlanStartTime, dto.getStartTime()).le(ProjectCostBudget::getPlanEndTime, dto.getEndTime());
         }
         IPage<ProjectCostBudget> pages = projectCostBudgetService.page(page, queryWrapper.lambda().orderBy(true, true, ProjectCostBudget::getCreateTime));
-        Map<Long, String> userMap = iUserClient.selectUserAll().stream().collect(Collectors.toMap(User::getId, User::getRealName));
+        Map<Long, String> userMap = iUserClient.selectUserAll().stream().filter(f -> ObjectUtil.isNotEmpty(f.getRealName())).collect(Collectors.toMap(User::getId, User::getRealName));
         List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
 
         //封装page对象
@@ -511,6 +529,14 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
         List<ProjectCostBudget> taskList = projectCostBudgetService.getBaseMapper().selectBatchIds(Func.toStrList(ids));
         List<ControlProjectInfo> controlProjectInfos = projectInfoServiceImpl.getBaseMapper().selectList(Wrappers.<ControlProjectInfo>lambdaQuery().select(ControlProjectInfo::getId, ControlProjectInfo::getName));
         List<TaskPlanInfoVO> vos = new ArrayList<>();
+
+        //获取所有审批任务与计划任务关系
+        Map<String, ExpenseTaskRecord> taskRecordMaps = new LinkedHashMap<>();
+        if (ObjectUtil.isNotEmpty(ids)) {
+            List<ExpenseTaskRecord> expenseTaskRecords = jdbcTemplate.query("select task_id,expense_info_id from c_expense_task_record where expense_info_type = 1 and expense_info_id in(" + ids + ")", new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
+            taskRecordMaps = expenseTaskRecords.stream().collect(Collectors.toMap(ExpenseTaskRecord::getExpenseInfoId, Function.identity()));
+        }
+
         for (ProjectCostBudget obj : taskList) {
             TaskPlanInfoVO vo = new TaskPlanInfoVO();
             vo.setId(obj.getId());
@@ -521,7 +547,21 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     break;
                 }
             }
-            vo.setStatusName(""); //TODO 任务状态 多种
+
+            //判断任务状态
+            ExpenseTaskRecord record = taskRecordMaps.getOrDefault(String.valueOf(vo.getId()), null);
+            if (record != null) {
+                TaskProcessInfo task = jdbcTemplate.query("select status from c_task_process_info where id = " + record.getTaskId(), new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
+                if (task != null) {
+                    vo.setStatus(task.getStatus());
+                    vo.setStatusName(task.getStatus().equals(1) ? "待审批" : (task.getStatus().equals(2) ? "已审批" : (task.getStatus().equals(3) ? "已驳回" : "未提交审批")));
+                }
+            }
+            if (StringUtils.isEmpty(vo.getStatusName())) {
+                vo.setStatus(0);
+                vo.setStatusName("未提交审批");
+            }
+
             vos.add(vo);
         }
         return vos;
@@ -545,7 +585,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                         taskProcessInfo.setStatus(1); //待审批
                         taskProcessInfo.setReportDate(new Date());
                         taskProcessInfo.setTaskType(1); //任务审批
-                        taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【任务审批】审批");
+                        taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【计划完成】审批");
 
                         //上报人
                         taskProcessInfo.setReportUserId(SecureUtil.getUserId());
@@ -556,7 +596,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
 
                         List<String> nonEmptyAuditUserIds = new LinkedList<>();
                         for (String userId : auditUserIds) {
-                            if (StringUtils.isNotEmpty(userId)) {
+                            //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
+                            if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
                                 nonEmptyAuditUserIds.add(userId);
                             }
                         }
@@ -578,7 +619,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                         taskProcessInfo.setStatus(1); //待审批
                         taskProcessInfo.setReportDate(new Date());
                         taskProcessInfo.setTaskType(1); //任务审批
-                        taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【任务转移】审批");
+                        taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【任务转移】审批");
 
                         //上报人
                         taskProcessInfo.setReportUserId(SecureUtil.getUserId());
@@ -589,7 +630,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
 
                         List<String> nonEmptyAuditUserIds = new LinkedList<>();
                         for (String userId : auditUserIds) {
-                            if (StringUtils.isNotEmpty(userId)) {
+                            //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
+                            if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
                                 nonEmptyAuditUserIds.add(userId);
                             }
                         }
@@ -694,13 +736,14 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 taskProcessInfo.setStatus(1); //待审批
                 taskProcessInfo.setReportDate(new Date());
                 taskProcessInfo.setTaskType(10); //成本测算审批
-                taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】向您发起【成本测算】审批");
+                taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】向您发起【成本测算】审批");
                 //上报人
                 taskProcessInfo.setReportUserId(SecureUtil.getUserId());
 
                 List<String> nonEmptyAuditUserIds = new LinkedList<>();
                 for (String userId : auditUserIds) {
-                    if (StringUtils.isNotEmpty(userId)) {
+                    //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
+                    if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
                         nonEmptyAuditUserIds.add(userId);
                     }
                 }
@@ -869,7 +912,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
         taskProcessInfo.setTaskType(type);
         String taskNameByType = this.taskNameByType(type);
         if (StringUtils.isNotEmpty(taskNameByType)) {
-            taskProcessInfo.setTaskName("【" + SecureUtil.getUserName() + "】" + taskNameByType);
+            taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】" + taskNameByType);
         }
         //上报人
         taskProcessInfo.setReportUserId(SecureUtil.getUserId());
@@ -899,7 +942,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
 
         List<String> nonEmptyAuditUserIds = new LinkedList<>();
         for (String userId : auditUserIds) {
-            if (StringUtils.isNotEmpty(userId)) {
+            //如果审批人中存在自己本身,那么移除,自己不审批自己的任务
+            if (StringUtils.isNotEmpty(userId) && !userId.equals(String.valueOf(SecureUtil.getUserId()))) {
                 nonEmptyAuditUserIds.add(userId);
             }
         }