liuyc 2 lat temu
rodzic
commit
d4c0559d5e

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/FixedFlowController.java

@@ -15,6 +15,7 @@ import org.springblade.business.service.IFixedFlowLinkService;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
 import org.springblade.manager.entity.SignPfxFile;
 import org.springblade.manager.feign.ProjectAssignmentUserClient;
@@ -103,7 +104,7 @@ public class FixedFlowController extends BladeController {
                     Iterator<SaveUserInfoByProjectDTO> iterator = contractUserList.iterator();
                     while (iterator.hasNext()) {
                         SaveUserInfoByProjectDTO next = iterator.next();
-                        if (next.getRoleId().equals(childVo.getId().toString())) {
+                        if (ObjectUtil.isNotEmpty(next.getRoleId()) && ObjectUtil.isNotEmpty(childVo.getId()) && next.getRoleId().equals(childVo.getId().toString())) {
                             //获取用户信息
                             User user = this.userClient.userInfoById(Long.parseLong(next.getUserId())).getData();
                             if (user == null) {

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

@@ -97,7 +97,7 @@ public class ExMaTwoController extends BladeController {
         queryWrapper.eq(EMLoanInfo::getIsTemp, 1); //已提交
         queryWrapper.eq(EMLoanInfo::getStatus, 2); //已审批
         queryWrapper.like(EMLoanInfo::getLoanUserName, SecureUtil.getNickName());
-        queryWrapper.apply("return_money IS NULL OR return_money != loan_money"); //排除已还款,已还款的还款金额=借款金额
+        queryWrapper.and(obj -> obj.apply("return_money IS NULL OR return_money != loan_money")); //排除已还款,还款金额=借款金额
         List<EMLoanInfo> emLoanInfos = emLoanService.getBaseMapper().selectList(queryWrapper);
 
         List<ExMaByLoanVO> collect = emLoanInfos.stream().map(obj -> {
@@ -112,7 +112,7 @@ public class ExMaTwoController extends BladeController {
             } else {
                 difference = obj.getLoanMoney();
             }
-            String title = format + "借款" + difference + "元";
+            String title = format + "借款" + obj.getLoanMoney() + "元,剩余" + difference + "元未还";
             vo.setLoanName(title);
             vo.setLoanMoney(difference);
             return vo;
@@ -174,7 +174,7 @@ public class ExMaTwoController extends BladeController {
     public R<List<String>> getPayeeUserNameList() {
         List<EMPayInfo> query = jdbcTemplate.query("select payee_user_name from c_expense_pay_info where is_deleted = 0 and is_temp = 1", new BeanPropertyRowMapper<>(EMPayInfo.class));
         if (query.size() > 0) {
-            return R.data(query.stream().map(EMPayInfo::getPayeeUserName).collect(Collectors.toList()));
+            return R.data(query.stream().map(EMPayInfo::getPayeeUserName).distinct().collect(Collectors.toList()));
         }
         return R.data(null);
     }
@@ -185,7 +185,7 @@ public class ExMaTwoController extends BladeController {
     public R<List<String>> getLoanUserNameList() {
         List<EMLoanInfo> query = jdbcTemplate.query("select loan_user_name from c_expense_loan_info where is_deleted = 0 and is_temp = 1", new BeanPropertyRowMapper<>(EMLoanInfo.class));
         if (query.size() > 0) {
-            return R.data(query.stream().map(EMLoanInfo::getLoanUserName).collect(Collectors.toList()));
+            return R.data(query.stream().map(EMLoanInfo::getLoanUserName).distinct().collect(Collectors.toList()));
         }
         return R.data(null);
     }

+ 9 - 8
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/LogHistoryServiceImpl.java

@@ -554,20 +554,21 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
                 String planStartTimeStr = planStartTime.format(formatter);
                 String planEndTimeStr = planEndTime.format(formatter);
                 vo.setStartAndEndDate(planStartTimeStr + "~" + planEndTimeStr);
-                if ((obj.getPlanStartTime().isBefore(nowDate) && obj.getPlanEndTime().isAfter(nowDate))) {
-                    resultList.add(vo);
-                } else if (obj.getPlanEndTime().isBefore(nowDate) && obj.getStatus() != 4) {
+                if (obj.getPlanEndTime().isBefore(nowDate) && obj.getStatus() != 4) {
                     if (ObjectUtil.isNotEmpty(obj.getPlanStartTime()) && ObjectUtil.isNotEmpty(obj.getPlanEndTime())) {
                         vo.setIsOverdue(1); //逾期任务
                     }
-                    resultList.add(vo);
                 }
             }
+            resultList.add(vo);
         }
-        return resultList.stream()
-                .filter(Objects::nonNull)
-                .sorted(Comparator.comparing(TaskPlanInfoVO::getStatus))
-                .collect(Collectors.toList());
+        if (resultList.size() > 0) {
+            return resultList.stream()
+                    .filter(Objects::nonNull)
+                    .sorted(Comparator.comparing(TaskPlanInfoVO::getStatus, Comparator.nullsLast(Comparator.naturalOrder())))
+                    .collect(Collectors.toList());
+        }
+        return resultList;
     }
 
 }

+ 94 - 60
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/TaskProcessServiceImpl.java

@@ -82,15 +82,15 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 queryWrapper.lambda().like(TaskProcessInfo::getAuditUserIds, SecureUtil.getUserId());
                 queryWrapper.lambda().eq(TaskProcessInfo::getStatus, 1);
                 break;
-            case "2":  //已审核、已驳回为已办任务
+            case "2":  //已审核、已驳回为已办任务(如果当前用户已审批任务,但任务还未审批闭环,处于审批中,那么也要显示,所以status=123)
                 if (ObjectUtil.isNotEmpty(dto.getSelectStatus()) && (dto.getSelectStatus().equals("0"))) {
                     var = false;
                     break;
                 }
                 if (ObjectUtil.isNotEmpty(dto.getSelectStatus())) {
-                    queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' OR audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%') AND STATUS =" + dto.getSelectStatus());
+                    queryWrapper.and(obj -> obj.apply("audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS =" + dto.getSelectStatus()));
                 } else {
-                    queryWrapper.lambda().apply("(audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' OR audit_user_ids LIKE '%" + SecureUtil.getUserId() + "%') AND STATUS IN(1,2,3)");
+                    queryWrapper.and(obj -> obj.apply("audit_user_ids_complete LIKE '%" + SecureUtil.getUserId() + "%' AND STATUS IN(1,2,3)"));
                 }
                 break;
             case "3":  //我发起的任务
@@ -136,11 +136,12 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     vo.setTaskName(re);
                 }
 
-                vo.setReportUserName(userMap.get(vo.getReportUserId()));
+                vo.setReportUserName(ObjectUtil.isNotEmpty(userMap.get(vo.getReportUserId())) ? userMap.get(vo.getReportUserId()) : "获取上报人名称失败");
 
                 if (StringUtils.isNotEmpty(vo.getAuditUserIds())) {
                     List<String> auditUserNames = Arrays.stream(vo.getAuditUserIds().split(","))
                             .map(Long::parseLong).map(userMap::get)
+                            .filter(Objects::nonNull)
                             .collect(Collectors.toList());
                     vo.setAuditUserNames(StringUtils.join(auditUserNames, "、"));
                 }
@@ -148,6 +149,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 if (StringUtils.isNotEmpty(vo.getAuditUserIdsComplete())) {
                     List<String> auditUserCompleteNames = Arrays.stream(vo.getAuditUserIdsComplete().split(","))
                             .map(Long::parseLong).map(userMap::get)
+                            .filter(Objects::nonNull)
                             .collect(Collectors.toList());
                     vo.setAuditUserCompleteNames(StringUtils.join(auditUserCompleteNames, "、"));
                 }
@@ -1042,7 +1044,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     TaskProcessInfo taskProcessInfo = jdbcTemplate.query("select status from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                     ProjectCostBudget projectCostBudget = jdbcTemplate.query("select plan_task_desc,task_user from c_project_cost_budget where id = " + dataId, new BeanPropertyRowMapper<>(ProjectCostBudget.class)).stream().findAny().orElse(null);
                     if (taskProcessInfo != null && projectCostBudget != null) {
-                        planInformService.taskFinishedInform(projectCostBudget.getPlanTaskDesc(), projectCostBudget.getTaskUser(), SecureUtil.getUserName(), taskProcessInfo.getStatus());
+                        planInformService.taskFinishedInform(projectCostBudget.getPlanTaskDesc(), projectCostBudget.getTaskUser(), SecureUtil.getNickName(), taskProcessInfo.getStatus());
                     }
                 }
                 break;
@@ -1052,7 +1054,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo2 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo2 != null && taskProcessInfo2.getStatus().equals(3)) { //驳回推送
                     //日志操作信息
-                    planInformService.taskFinishedInform("财务报销申请", taskProcessInfo2.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo2.getStatus());
+                    planInformService.taskFinishedInform("财务报销申请", taskProcessInfo2.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo2.getStatus());
                 }
                 break;
             case 3: //支付
@@ -1060,7 +1062,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo3 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo3 != null && taskProcessInfo3.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("支付申请", taskProcessInfo3.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo3.getStatus());
+                    planInformService.taskFinishedInform("支付申请", taskProcessInfo3.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo3.getStatus());
                 }
                 break;
             case 4: //借款
@@ -1068,7 +1070,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo4 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo4 != null && taskProcessInfo4.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("借款申请", taskProcessInfo4.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo4.getStatus());
+                    planInformService.taskFinishedInform("借款申请", taskProcessInfo4.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo4.getStatus());
                 }
                 break;
             case 5: //采购
@@ -1076,7 +1078,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo5 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo5 != null && taskProcessInfo5.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("采购申请", taskProcessInfo5.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo5.getStatus());
+                    planInformService.taskFinishedInform("采购申请", taskProcessInfo5.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo5.getStatus());
                 }
                 break;
             case 6: //用车
@@ -1084,7 +1086,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo6 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo6 != null && taskProcessInfo6.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("用车申请", taskProcessInfo6.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo6.getStatus());
+                    planInformService.taskFinishedInform("用车申请", taskProcessInfo6.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo6.getStatus());
                 }
                 break;
             case 7: //发票
@@ -1092,7 +1094,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo7 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo7 != null && taskProcessInfo7.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("发票申请", taskProcessInfo7.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo7.getStatus());
+                    planInformService.taskFinishedInform("发票申请", taskProcessInfo7.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo7.getStatus());
                 }
                 break;
             case 8: //外包
@@ -1100,7 +1102,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo8 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo8 != null && taskProcessInfo8.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("外包支付申请", taskProcessInfo8.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo8.getStatus());
+                    planInformService.taskFinishedInform("外包支付申请", taskProcessInfo8.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo8.getStatus());
                 }
                 break;
             case 9: //出差
@@ -1108,7 +1110,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo9 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo9 != null && taskProcessInfo9.getStatus().equals(3)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("出差申请", taskProcessInfo9.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo9.getStatus());
+                    planInformService.taskFinishedInform("出差申请", taskProcessInfo9.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo9.getStatus());
                 }
                 break;
             case 10: //成本测算
@@ -1126,7 +1128,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                     TaskProcessInfo taskProcessInfo10 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                     if (taskProcessInfo10 != null && taskProcessInfo10.getStatus().equals(3)) {
                         //日志操作信息
-                        planInformService.taskFinishedInform("成本测算申请", taskProcessInfo10.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo10.getStatus());
+                        planInformService.taskFinishedInform("成本测算申请", taskProcessInfo10.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo10.getStatus());
                     }
                 }
                 break;
@@ -1165,24 +1167,33 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 if (emFinancialReimbursementInfo != null && emFinancialReimbursementInfo.getStatus().equals(2)) {
                     //处理借款抵扣金额(如果存在借款抵扣,那么扣除相应借款金额)
                     if (ObjectUtil.isNotEmpty(emFinancialReimbursementInfo.getFrMoney()) && emFinancialReimbursementInfo.getIsDeductLoan() == 1 && ObjectUtil.isNotEmpty(emFinancialReimbursementInfo.getDeductLoanId())) {
-                        //获取借款金额(已审批、提交的借款金额数据
-                        EMLoanInfo emLoanInfo = jdbcTemplate.query("select id,loan_money from c_expense_loan_info where is_deleted = 0 and status = 2 and is_temp = 1 and id = " + emFinancialReimbursementInfo.getDeductLoanId(), new BeanPropertyRowMapper<>(EMLoanInfo.class)).stream().findAny().orElse(null);
+                        //获取借款金额(已审批、提交的借款金额、已还款金额
+                        EMLoanInfo emLoanInfo = jdbcTemplate.query("select id,loan_money,return_money from c_expense_loan_info where is_deleted = 0 and status = 2 and is_temp = 1 and id = " + emFinancialReimbursementInfo.getDeductLoanId(), new BeanPropertyRowMapper<>(EMLoanInfo.class)).stream().findAny().orElse(null);
                         if (emLoanInfo != null && ObjectUtil.isNotEmpty(emLoanInfo.getLoanMoney())) {
+                            //报销金额
                             BigDecimal frMoney = emFinancialReimbursementInfo.getFrMoney();
+                            //借款金额
                             BigDecimal loanMoney = emLoanInfo.getLoanMoney();
-                            int result = frMoney.compareTo(loanMoney);
-                            if (result < 0) { //如果借款金额大于报销金额,那么抵扣借款,无实际放款
-                                BigDecimal difference = frMoney.subtract(loanMoney).abs();
-                                if (ObjectUtil.isNotEmpty(difference)) {
-                                    //部分还完frMoney
-                                    jdbcTemplate.execute("update c_expense_loan_info set return_money = " + frMoney + " where id = " + emLoanInfo.getId());
-                                    jdbcTemplate.execute("update c_expense_financial_reimbursement_info set fr_money_actual = 0 where id = " + emFinancialReimbursementInfo.getId());
-                                }
-                            } else if (result == 0) { //相同,抵扣完成
-                                jdbcTemplate.execute("update c_expense_loan_info set return_money = " + frMoney + " where id = " + emLoanInfo.getId());
+                            //借款未还的金额
+                            BigDecimal noReturnMoney = loanMoney.subtract(emLoanInfo.getReturnMoney() != null ? emLoanInfo.getReturnMoney() : BigDecimal.ZERO).abs();
+
+                            //比较
+                            int result = frMoney.compareTo(noReturnMoney);
+                            //如果借款未还金额大于报销金额,那么抵扣借款,无实际放款
+                            if (result < 0) {
+                                //借款部分还完bfMoney
+                                BigDecimal bfMoney = frMoney.add(emLoanInfo.getReturnMoney() != null ? emLoanInfo.getReturnMoney() : BigDecimal.ZERO);
+                                jdbcTemplate.execute("update c_expense_loan_info set return_money = " + bfMoney + " where id = " + emLoanInfo.getId());
                                 jdbcTemplate.execute("update c_expense_financial_reimbursement_info set fr_money_actual = 0 where id = " + emFinancialReimbursementInfo.getId());
-                            } else { //如果借款金额小于报销金额,那么抵扣完借款,还要实际放款
-                                BigDecimal difference = frMoney.subtract(loanMoney).abs();
+
+                                //相同,抵扣完成,无实际放款,借款全部还完
+                            } else if (result == 0) {
+                                jdbcTemplate.execute("update c_expense_loan_info set return_money = " + loanMoney + " where id = " + emLoanInfo.getId());
+                                jdbcTemplate.execute("update c_expense_financial_reimbursement_info set fr_money_actual = 0 where id = " + emFinancialReimbursementInfo.getId());
+
+                                //如果借款未还金额小于报销金额,那么抵扣完借款,还要实际放款
+                            } else {
+                                BigDecimal difference = frMoney.subtract(noReturnMoney).abs();
                                 if (ObjectUtil.isNotEmpty(difference)) {
                                     //全部还完loanMoney
                                     jdbcTemplate.execute("update c_expense_loan_info set return_money = " + loanMoney + " where id = " + emLoanInfo.getId());
@@ -1195,7 +1206,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo2 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo2 != null && taskProcessInfo2.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("财务报销申请", taskProcessInfo2.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo2.getStatus());
+                    planInformService.taskFinishedInform("财务报销申请", taskProcessInfo2.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo2.getStatus());
                 }
 
                 break;
@@ -1204,56 +1215,56 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 TaskProcessInfo taskProcessInfo3 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo3 != null && taskProcessInfo3.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("支付申请", taskProcessInfo3.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo3.getStatus());
+                    planInformService.taskFinishedInform("支付申请", taskProcessInfo3.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo3.getStatus());
                 }
                 break;
             case 4:
                 TaskProcessInfo taskProcessInfo4 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo4 != null && taskProcessInfo4.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("借款申请", taskProcessInfo4.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo4.getStatus());
+                    planInformService.taskFinishedInform("借款申请", taskProcessInfo4.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo4.getStatus());
                 }
                 break;
             case 5:
                 TaskProcessInfo taskProcessInfo5 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo5 != null && taskProcessInfo5.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("采购申请", taskProcessInfo5.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo5.getStatus());
+                    planInformService.taskFinishedInform("采购申请", taskProcessInfo5.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo5.getStatus());
                 }
                 break;
             case 6:
                 TaskProcessInfo taskProcessInfo6 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo6 != null && taskProcessInfo6.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("用车申请", taskProcessInfo6.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo6.getStatus());
+                    planInformService.taskFinishedInform("用车申请", taskProcessInfo6.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo6.getStatus());
                 }
                 break;
             case 7:
                 TaskProcessInfo taskProcessInfo7 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo7 != null && taskProcessInfo7.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("发票申请", taskProcessInfo7.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo7.getStatus());
+                    planInformService.taskFinishedInform("发票申请", taskProcessInfo7.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo7.getStatus());
                 }
                 break;
             case 8:
                 TaskProcessInfo taskProcessInfo8 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo8 != null && taskProcessInfo8.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("外包支付申请", taskProcessInfo8.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo8.getStatus());
+                    planInformService.taskFinishedInform("外包支付申请", taskProcessInfo8.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo8.getStatus());
                 }
                 break;
             case 9:
                 TaskProcessInfo taskProcessInfo9 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo9 != null && taskProcessInfo9.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("出差申请", taskProcessInfo9.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo9.getStatus());
+                    planInformService.taskFinishedInform("出差申请", taskProcessInfo9.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo9.getStatus());
                 }
                 break;
             case 10:
                 TaskProcessInfo taskProcessInfo10 = jdbcTemplate.query("select status,report_user_id from c_task_process_info where id = " + approveTaskId, new BeanPropertyRowMapper<>(TaskProcessInfo.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo10 != null && taskProcessInfo10.getStatus().equals(2)) {
                     //日志操作信息
-                    planInformService.taskFinishedInform("成本测算申请", taskProcessInfo10.getReportUserId(), SecureUtil.getUserName(), taskProcessInfo10.getStatus());
+                    planInformService.taskFinishedInform("成本测算申请", taskProcessInfo10.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo10.getStatus());
                 }
                 break;
         }
@@ -1295,7 +1306,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
         taskProcessInfo.setStatus(1); //待审批
         taskProcessInfo.setReportDate(new Date());
         taskProcessInfo.setTaskType(type);
-        String taskNameByType = this.taskNameByType(type);
+        String taskNameByType = this.taskNameByType(type, 1);
         if (StringUtils.isNotEmpty(taskNameByType)) {
             taskProcessInfo.setTaskName("【" + SecureUtil.getUser().getNickName() + "】" + taskNameByType);
         }
@@ -1344,6 +1355,9 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
 
         //入库
         this.save(taskProcessInfo);
+
+        //日志操作
+        planInformService.taskFinishedInform(this.taskNameByType(type, 2), taskProcessInfo.getReportUserId(), SecureUtil.getNickName(), taskProcessInfo.getStatus());
     }
 
     /**
@@ -1352,24 +1366,45 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
      * @param type
      * @return
      */
-    private String taskNameByType(int type) {
-        switch (type) {
-            case 2:
-                return "向您发起【报销申请】审批";
-            case 3:
-                return "向您发起【支付申请】审批";
-            case 4:
-                return "向您发起【借款申请】审批";
-            case 5:
-                return "向您发起【采购申请】审批";
-            case 6:
-                return "向您发起【用车申请】审批";
-            case 7:
-                return "向您发起【发票申请】审批";
-            case 8:
-                return "向您发起【外包支付申请】审批";
-            case 9:
-                return "向您发起【出差申请】审批";
+    private String taskNameByType(int type, int var) {
+        if (var == 1) {
+            switch (type) {
+                case 2:
+                    return "向您发起【报销申请】审批";
+                case 3:
+                    return "向您发起【支付申请】审批";
+                case 4:
+                    return "向您发起【借款申请】审批";
+                case 5:
+                    return "向您发起【采购申请】审批";
+                case 6:
+                    return "向您发起【用车申请】审批";
+                case 7:
+                    return "向您发起【发票申请】审批";
+                case 8:
+                    return "向您发起【外包支付申请】审批";
+                case 9:
+                    return "向您发起【出差申请】审批";
+            }
+        } else if (var == 2) {
+            switch (type) {
+                case 2:
+                    return "财务报销申请";
+                case 3:
+                    return "支付申请";
+                case 4:
+                    return "借款申请";
+                case 5:
+                    return "采购申请";
+                case 6:
+                    return "用车申请";
+                case 7:
+                    return "发票申请";
+                case 8:
+                    return "外包支付申请";
+                case 9:
+                    return "出差申请";
+            }
         }
         return "";
     }
@@ -1382,7 +1417,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
      */
     public User getDepartmentHead(Long deptId) {
         if (ObjectUtil.isNotEmpty(deptId)) {
-            List<User> leaderUser = jdbcTemplate.query("select * from blade_user where tenant_id = " + SecureUtil.getUser().getTenantId() + " and is_leader like '%" + deptId + "%'", new BeanPropertyRowMapper<>(User.class));
+            List<User> leaderUser = jdbcTemplate.query("select * from blade_user where status = 1 and is_deleted = 0 and tenant_id = " + SecureUtil.getUser().getTenantId() + " and is_leader like '%" + deptId + "%'", new BeanPropertyRowMapper<>(User.class));
             if (leaderUser.size() == 1) {
                 return leaderUser.get(0);
             } else if (leaderUser.size() > 1) {
@@ -1484,14 +1519,13 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                         }
                     }
                 }
-
             }
         }
 
         if (spPostIds.size() > 0) {
             List<User> spUserListAll = new LinkedList<>();
             for (String spPostId : spPostIds) {
-                List<User> spUserList = jdbcTemplate.query("select * from blade_user where tenant_id = " + SecureUtil.getUser().getTenantId() + " and role_id = " + spPostId + " and post_id = " + spPostId, new BeanPropertyRowMapper<>(User.class));
+                List<User> spUserList = jdbcTemplate.query("select * from blade_user where status = 1 and is_deleted = 0 and tenant_id = " + SecureUtil.getUser().getTenantId() + " and role_id = " + spPostId + " and post_id = " + spPostId, new BeanPropertyRowMapper<>(User.class));
                 spUserListAll.addAll(spUserList);
             }
             if (spUserListAll.size() > 0) {
@@ -1501,7 +1535,7 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
         if (zcPostIds.size() > 0) {
             List<User> zcUserListAll = new LinkedList<>();
             for (String zcPostId : zcPostIds) {
-                List<User> zcUserList = jdbcTemplate.query("select * from blade_user where tenant_id = " + SecureUtil.getUser().getTenantId() + " and role_id = " + zcPostId + " and post_id = " + zcPostId, new BeanPropertyRowMapper<>(User.class));
+                List<User> zcUserList = jdbcTemplate.query("select * from blade_user where status = 1 and is_deleted = 0 and tenant_id = " + SecureUtil.getUser().getTenantId() + " and role_id = " + zcPostId + " and post_id = " + zcPostId, new BeanPropertyRowMapper<>(User.class));
                 zcUserListAll.addAll(zcUserList);
             }
             if (zcUserListAll.size() > 0) {

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -437,7 +437,7 @@
                 #{tableOwnerList}
             </foreach>
         </if>
-        ORDER BY full_name,sort
+        ORDER BY sort,full_name
     </select>
 
     <select id="selectRoleInfo" resultType="org.springblade.manager.entity.SaveUserInfoByProject">

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -489,7 +489,7 @@
           AND wt.project_id = #{projectId}
           AND wt.trial_tab_contract_id is null
           AND (wt.wbs_type != 2 OR wt.table_type IN (1,2,9,10))
-        ORDER BY fullName,wt.sort
+        ORDER BY wt.sort, fullName
     </select>
     <select id="getByCondition" resultType="org.springblade.manager.entity.WbsTreePrivate">
         SELECT *