Browse Source

管控相关

liuyc 2 years ago
parent
commit
303ecabc36
14 changed files with 155 additions and 26 deletions
  1. 10 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialDetectionDataServiceImpl.java
  2. 3 2
      blade-service/blade-control/src/main/java/org/springblade/control/controller/LogHistoryController.java
  3. 2 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/LogHistoryService.java
  4. 23 3
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/AttendanceTripServiceImpl.java
  5. 18 3
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMFinancialReimbursementServiceImpl.java
  6. 12 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMInvoiceServiceImpl.java
  7. 12 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMLoanServiceImpl.java
  8. 12 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMOutsourcingPayServiceImpl.java
  9. 12 1
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMPayServiceImpl.java
  10. 15 2
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMPurchaseServiceImpl.java
  11. 16 3
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/EMUseCarServiceImpl.java
  12. 8 3
      blade-service/blade-control/src/main/java/org/springblade/control/service/impl/LogHistoryServiceImpl.java
  13. 3 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java
  14. 9 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

+ 10 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialDetectionDataServiceImpl.java

@@ -127,7 +127,16 @@ public class TrialDetectionDataServiceImpl extends BaseServiceImpl<TrialDetectio
             }
             IPage<TrialDetectionData> pages = this.page(page, queryWrapper.lambda().orderBy(true, false, TrialDetectionData::getCreateTime));
             List<TrialDetectionDataVO> trialDetectionDataVOS = BeanUtil.copyProperties(pages.getRecords(), TrialDetectionDataVO.class);
-            Map<String, Attach> fileMaps = jdbcTemplate.query("select link,original_name from blade_attach", new BeanPropertyRowMapper<>(Attach.class)).stream().collect(Collectors.toMap(Attach::getLink, Function.identity()));
+            //Map<String, Attach> fileMaps = jdbcTemplate.query("select link,original_name from blade_attach", new BeanPropertyRowMapper<>(Attach.class)).stream().collect(Collectors.toMap(Attach::getLink, Function.identity()));
+
+            List<Attach> attachList = jdbcTemplate.query("select link, original_name from blade_attach", new BeanPropertyRowMapper<>(Attach.class));
+            Map<String, Attach> fileMaps = new HashMap<>();
+            for (Attach attach : attachList) {
+                if (attach.getLink() != null) {
+                    fileMaps.put(attach.getLink(), attach);
+                }
+            }
+
             List<String> list = new ArrayList<>();
             if (ObjectUtil.isNotEmpty(dto.getQualityTestPKeyId())) {
                 list = inspectionRecordMapper.selectSelectedStatusList(Long.parseLong(dto.getQualityTestPKeyId()), "2,3");

+ 3 - 2
blade-service/blade-control/src/main/java/org/springblade/control/controller/LogHistoryController.java

@@ -9,6 +9,7 @@ import org.springblade.control.service.LogHistoryService;
 import org.springblade.control.vo.LogHistoryInfoVO;
 import org.springblade.control.vo.TaskPlanInfoVO;
 import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
 
@@ -40,8 +41,8 @@ public class LogHistoryController extends BladeController {
     @PostMapping("/detail")
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "日志填报详情", notes = "传入日志id")
-    public R<LogHistoryInfoVO> logDetail(@RequestParam Long id) {
-        return R.data(logHistoryService.logDetail(id));
+    public R<LogHistoryInfoVO> logDetail(@RequestParam Long id, BladeUser bladeUser) {
+        return R.data(logHistoryService.logDetail(id, bladeUser));
     }
 
     @PostMapping("/remove")

+ 2 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/LogHistoryService.java

@@ -5,6 +5,7 @@ import org.springblade.control.entity.LogHistoryInfo;
 import org.springblade.control.vo.LogHistoryInfoVO;
 import org.springblade.control.vo.TaskPlanInfoVO;
 import org.springblade.core.mp.base.BaseService;
+import org.springblade.core.secure.BladeUser;
 
 import java.util.List;
 import java.util.Map;
@@ -15,7 +16,7 @@ public interface LogHistoryService extends BaseService<LogHistoryInfo> {
 
     boolean logSubmit(LogHistoryInfoDTO dto);
 
-    LogHistoryInfoVO logDetail(Long id);
+    LogHistoryInfoVO logDetail(Long id, BladeUser bladeUser);
 
     boolean logRemove(Long id);
 

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

@@ -92,7 +92,7 @@ public class AttendanceTripServiceImpl extends BaseServiceImpl<AttendanceTripMap
                 AttendanceTripInfo obj = baseMapper.selectById(ids.get(0));
                 EMDraftGroupVO vo = new EMDraftGroupVO();
                 if (obj != null) {
-                    userMaps.get(obj.getCreateUser()).stream().findAny().ifPresent(user -> vo.setTitle((ObjectUtil.isNotEmpty(user) && ObjectUtil.isNotEmpty(user.getRealName())) ? user.getRealName() + "提交的日常报销" : ""));
+                    userMaps.get(obj.getCreateUser()).stream().findAny().ifPresent(user -> vo.setTitle((ObjectUtil.isNotEmpty(user) && ObjectUtil.isNotEmpty(user.getRealName())) ? user.getRealName() + "提交的商旅出差" : ""));
                     vo.setUpdateTime(obj.getUpdateTime());
                 }
                 vo.setGroupId(groupId);
@@ -100,7 +100,9 @@ public class AttendanceTripServiceImpl extends BaseServiceImpl<AttendanceTripMap
                 resultList.add(vo);
             }
         }
-        return resultList;
+        return resultList.stream()
+                .sorted(Comparator.comparing(EMDraftGroupVO::getUpdateTime).reversed())
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -172,7 +174,18 @@ public class AttendanceTripServiceImpl extends BaseServiceImpl<AttendanceTripMap
                     auditUserIds.add(responsibleObj.getUserId());
                     EMProcessTaskUser personnelUser = dto.getPersonnelUser(); //人事
                     auditUserIds.add(personnelUser.getUserId());
-                    taskProcessInfo.setAuditUserIds(StringUtils.join(auditUserIds, ","));
+                    List<String> nonEmptyAuditUserIds = new LinkedList<>();
+                    for (String userId : auditUserIds) {
+                        if (StringUtils.isNotEmpty(userId)) {
+                            nonEmptyAuditUserIds.add(userId);
+                        }
+                    }
+                    if (nonEmptyAuditUserIds.size() == 0) {
+                        taskProcessInfo.setAuditUserIds(null);
+                    } else {
+                        taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    }
+
 
                     //抄送人
                     if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -220,8 +233,15 @@ public class AttendanceTripServiceImpl extends BaseServiceImpl<AttendanceTripMap
 
     @Override
     public boolean tripCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         AttendanceTripInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -21,6 +21,7 @@ import org.springblade.control.vo.EMFinancialReimbursementInfoVO;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
@@ -104,7 +105,7 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
                 EMFinancialReimbursementInfo obj = baseMapper.selectById(ids.get(0));
                 EMDraftGroupVO vo = new EMDraftGroupVO();
                 if (obj != null) {
-                    userMaps.get(obj.getCreateUser()).stream().findAny().ifPresent(user -> vo.setTitle((ObjectUtil.isNotEmpty(user) && ObjectUtil.isNotEmpty(user.getRealName())) ? user.getRealName() + "提交的日常报销" : ""));
+                    userMaps.get(obj.getCreateUser()).stream().findAny().ifPresent(user -> vo.setTitle((ObjectUtil.isNotEmpty(user) && ObjectUtil.isNotEmpty(user.getRealName())) ? user.getRealName() + "提交的财务报销" : ""));
                     vo.setUpdateTime(obj.getUpdateTime());
                 }
                 vo.setGroupId(groupId);
@@ -112,7 +113,9 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
                 resultList.add(vo);
             }
         }
-        return resultList;
+        return resultList.stream()
+                .sorted(Comparator.comparing(EMDraftGroupVO::getUpdateTime).reversed())
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -204,7 +207,12 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
                             nonEmptyAuditUserIds.add(userId);
                         }
                     }
-                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    if (nonEmptyAuditUserIds.size() == 0) {
+                        taskProcessInfo.setAuditUserIds(null);
+                    } else {
+                        taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    }
+
 
                     //抄送人
                     if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -252,8 +260,15 @@ public class EMFinancialReimbursementServiceImpl extends BaseServiceImpl<ExMFina
 
     @Override
     public boolean financialCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMFinancialReimbursementInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -178,7 +178,11 @@ public class EMInvoiceServiceImpl extends BaseServiceImpl<ExMInvoiceMapper, EMIn
                         nonEmptyAuditUserIds.add(userId);
                     }
                 }
-                taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                if (nonEmptyAuditUserIds.size() == 0) {
+                    taskProcessInfo.setAuditUserIds(null);
+                } else {
+                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                }
 
                 //抄送人
                 if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -223,8 +227,15 @@ public class EMInvoiceServiceImpl extends BaseServiceImpl<ExMInvoiceMapper, EMIn
 
     @Override
     public boolean invoiceCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMInvoiceInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -187,7 +187,11 @@ public class EMLoanServiceImpl extends BaseServiceImpl<ExMLoanMapper, EMLoanInfo
                         nonEmptyAuditUserIds.add(userId);
                     }
                 }
-                taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                if (nonEmptyAuditUserIds.size() == 0) {
+                    taskProcessInfo.setAuditUserIds(null);
+                } else {
+                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                }
 
                 //抄送人
                 if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -230,8 +234,15 @@ public class EMLoanServiceImpl extends BaseServiceImpl<ExMLoanMapper, EMLoanInfo
 
     @Override
     public boolean loanCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMLoanInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -176,7 +176,11 @@ public class EMOutsourcingPayServiceImpl extends BaseServiceImpl<ExMOutsourcingP
                         nonEmptyAuditUserIds.add(userId);
                     }
                 }
-                taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                if (nonEmptyAuditUserIds.size() == 0) {
+                    taskProcessInfo.setAuditUserIds(null);
+                } else {
+                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                }
 
                 //抄送人
                 if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -221,8 +225,15 @@ public class EMOutsourcingPayServiceImpl extends BaseServiceImpl<ExMOutsourcingP
 
     @Override
     public boolean outsourcingCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMOutsourcingPayInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -157,7 +157,11 @@ public class EMPayServiceImpl extends BaseServiceImpl<ExMPayMapper, EMPayInfo> i
                         nonEmptyAuditUserIds.add(userId);
                     }
                 }
-                taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                if (nonEmptyAuditUserIds.size() == 0) {
+                    taskProcessInfo.setAuditUserIds(null);
+                } else {
+                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                }
 
                 //抄送人
                 if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -201,8 +205,15 @@ public class EMPayServiceImpl extends BaseServiceImpl<ExMPayMapper, EMPayInfo> i
 
     @Override
     public boolean payCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMPayInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -99,7 +99,9 @@ public class EMPurchaseServiceImpl extends BaseServiceImpl<ExMPurchaseMapper, EM
                 resultList.add(vo);
             }
         }
-        return resultList;
+        return resultList.stream()
+                .sorted(Comparator.comparing(EMDraftGroupVO::getUpdateTime).reversed())
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -184,7 +186,11 @@ public class EMPurchaseServiceImpl extends BaseServiceImpl<ExMPurchaseMapper, EM
                             nonEmptyAuditUserIds.add(userId);
                         }
                     }
-                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    if (nonEmptyAuditUserIds.size() == 0) {
+                        taskProcessInfo.setAuditUserIds(null);
+                    } else {
+                        taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    }
 
                     //抄送人
                     if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -230,8 +236,15 @@ public class EMPurchaseServiceImpl extends BaseServiceImpl<ExMPurchaseMapper, EM
 
     @Override
     public boolean purchaseCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMPurchaseInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -56,7 +56,7 @@ public class EMUseCarServiceImpl extends BaseServiceImpl<ExMUseCarMapper, EMUseC
             vo.setApprovalResultName(vo.getApprovalStatusName().equals("已审批") || vo.getApprovalStatusName().equals("已驳回") ? "已通过" : "未通过");
             vo.setUcOrgName(""); //TODO 部门
 
-            if (ObjectUtil.isNotEmpty(obj.getUseStartDate()) && ObjectUtil.isNotEmpty(obj.getUseEndDate())){
+            if (ObjectUtil.isNotEmpty(obj.getUseStartDate()) && ObjectUtil.isNotEmpty(obj.getUseEndDate())) {
                 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
                 String useDate = simpleDateFormat.format(obj.getUseStartDate());
                 String returnDate = simpleDateFormat.format(obj.getUseEndDate());
@@ -101,7 +101,9 @@ public class EMUseCarServiceImpl extends BaseServiceImpl<ExMUseCarMapper, EMUseC
                 resultList.add(vo);
             }
         }
-        return resultList;
+        return resultList.stream()
+                .sorted(Comparator.comparing(EMDraftGroupVO::getUpdateTime).reversed())
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -180,7 +182,11 @@ public class EMUseCarServiceImpl extends BaseServiceImpl<ExMUseCarMapper, EMUseC
                             nonEmptyAuditUserIds.add(userId);
                         }
                     }
-                    taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    if (nonEmptyAuditUserIds.size() == 0) {
+                        taskProcessInfo.setAuditUserIds(null);
+                    } else {
+                        taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+                    }
 
                     //抄送人
                     if (ObjectUtil.isNotEmpty(dto.getCcUserList())) {
@@ -226,8 +232,15 @@ public class EMUseCarServiceImpl extends BaseServiceImpl<ExMUseCarMapper, EMUseC
 
     @Override
     public boolean carCancel(Long id) {
+        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+            throw new ServiceException("获取当前用户信息失败,请联系管理员");
+        }
         EMUseCarInfo obj = baseMapper.selectById(id);
         if (obj != null && obj.getStatus().equals(1)) {
+            if (!obj.getCreateUser().equals(SecureUtil.getUserId())) {
+                throw new ServiceException("当前申请信息不是当前用户创建的,无法操作");
+            }
+
             //查询记录任务关联信息
             List<ExpenseTaskRecord> records = jdbcTemplate.query("select * from c_expense_task_record where expense_info_id = " + id, new BeanPropertyRowMapper<>(ExpenseTaskRecord.class));
             if (records.size() > 0) {

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

@@ -18,6 +18,7 @@ import org.springblade.control.vo.LogHistoryInfoVO;
 import org.springblade.control.vo.TaskPlanInfoVO;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.DateUtil;
@@ -205,8 +206,8 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
     }
 
     @Override
-    public LogHistoryInfoVO logDetail(Long id) {
-        if (ObjectUtil.isEmpty(SecureUtil.getUser())) {
+    public LogHistoryInfoVO logDetail(Long id, BladeUser bladeUser) {
+        if (ObjectUtil.isEmpty(bladeUser) && ObjectUtil.isEmpty(SecureUtil.getUser())) {
             throw new ServiceException("获取当前用户信息失败,请联系管理员");
         }
         LogHistoryInfo obj = baseMapper.selectById(id);
@@ -333,7 +334,11 @@ public class LogHistoryServiceImpl extends BaseServiceImpl<LogHistoryMapper, Log
                     nonEmptyAuditUserIds.add(userId);
                 }
             }
-            taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+            if (nonEmptyAuditUserIds.size() == 0) {
+                taskProcessInfo.setAuditUserIds(null);
+            } else {
+                taskProcessInfo.setAuditUserIds(StringUtils.join(nonEmptyAuditUserIds, ","));
+            }
 
             taskProcessService.save(taskProcessInfo);
 

+ 3 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeController.java

@@ -203,11 +203,12 @@ public class WbsTreeController extends BladeController {
             if (var) {
                 if (wbsTreeService.removeTableById(id)) {
                     //如果当前节点没有表单,那么修改is_exist_form = 0
-                    WbsTree wbsTreeZi = jdbcTemplate.query("select * from m_wbs_tree where is_deleted = 1 and id = " + id, new BeanPropertyRowMapper<>(WbsTree.class)).stream().findAny().orElse(null);
+                    WbsTree wbsTreeZi = jdbcTemplate.query("select * from m_wbs_tree where type = 2 and is_deleted = 1 and id = " + id, new BeanPropertyRowMapper<>(WbsTree.class)).stream().findAny().orElse(null);
                     if (wbsTreeZi != null) {
                         WbsTree wbsTreeFu = wbsTreeService.getBaseMapper().selectOne(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getId, wbsTreeZi.getParentId()));
                         if (wbsTreeFu != null) {
-                            List<WbsTree> nodes = wbsTreeService.getBaseMapper().selectList(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getParentId, wbsTreeFu.getId()));
+                            //当前父级下没有表,表示修改
+                            List<WbsTree> nodes = wbsTreeService.getBaseMapper().selectList(Wrappers.<WbsTree>lambdaQuery().eq(WbsTree::getType, 2).eq(WbsTree::getParentId, wbsTreeFu.getId()));
                             if (nodes.size() == 0) {
                                 wbsTreeService.update(Wrappers.<WbsTree>lambdaUpdate().set(WbsTree::getIsExistForm, 0).eq(WbsTree::getId, wbsTreeFu.getId()));
                             }

+ 9 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -48,6 +48,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigInteger;
 import java.util.*;
 import java.util.function.Function;
 import java.util.regex.Matcher;
@@ -656,14 +657,20 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                     List<String> keysAll = Func.toStrList(filedTabMaps.get(initTabName).get(0));
 
                     //获取所有有效字段长度
-                    String sql = "SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND COLUMN_NAME IN (" + StringUtils.repeat("?", ",", keysAll.size()) + ")";
+                    String sql = "SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND COLUMN_NAME IN (" + StringUtils.repeat("?", ",", keysAll.size()) + ") AND CHARACTER_MAXIMUM_LENGTH IS NOT NULL";
                     List<Object> args = new ArrayList<>(Arrays.asList("bladex", initTabName));
                     args.addAll(keysAll);
                     List<Map<String, Object>> keyLengthMap = jdbcTemplate.queryForList(sql, args.toArray());
                     Map<String, Integer> keyLengthMaps = new HashMap<>();
                     for (Map<String, Object> row : keyLengthMap) {
                         String key = (String) row.get("COLUMN_NAME");
-                        int length = (int) row.get("CHARACTER_MAXIMUM_LENGTH");
+                        BigInteger maxLength = (BigInteger) row.get("CHARACTER_MAXIMUM_LENGTH");
+                        int length;
+                        if (maxLength != null) {
+                            length = maxLength.intValue();
+                        } else {
+                            length = -1; //默认值
+                        }
                         keyLengthMaps.put(key, length);
                     }