From 5e7dcea2d2fee94da45ed78b38251048dc8603ce Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 27 Sep 2025 23:15:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E5=91=98=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clz/domain/direct/ClzDirectApplyInfo.java | 3 ++ .../material/clz/mapper/ClzDirectMapper.java | 2 +- .../clz/service/impl/BmTeamServiceImpl.java | 12 +++-- .../service/impl/ClzDirectServiceImpl.java | 46 +++++++++++-------- .../service/impl/SelectServiceImpl.java | 30 ++++++------ .../SysWorkflowRecordHistoryMapper.java | 2 - .../work/mapper/SysWorkflowRecordMapper.java | 6 +++ .../mapper/material/clz/ClzDirectMapper.xml | 21 ++++----- .../material/clz/MaterialMachineMapper.xml | 20 +++++++- .../material/work/SysWorkflowRecordMapper.xml | 5 +- 10 files changed, 92 insertions(+), 55 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/direct/ClzDirectApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/direct/ClzDirectApplyInfo.java index 551ef048..380d1759 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/direct/ClzDirectApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/domain/direct/ClzDirectApplyInfo.java @@ -175,4 +175,7 @@ public class ClzDirectApplyInfo extends BaseEntity { @ApiModelProperty(value = "任务状态列表") private List statusList; + @ApiModelProperty(value = "用户id") + private String userId; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/ClzDirectMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/ClzDirectMapper.java index 4d65bc42..78989a25 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/ClzDirectMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/ClzDirectMapper.java @@ -18,7 +18,7 @@ public interface ClzDirectMapper { * 获取直转单号 * @return */ - List getListAll(); + Integer getListAll(); /** * 新增直转申请 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/BmTeamServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/BmTeamServiceImpl.java index 1c15d208..8fa0ad75 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/BmTeamServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/BmTeamServiceImpl.java @@ -129,12 +129,14 @@ public class BmTeamServiceImpl implements BmTeamService { @Override public AjaxResult getList(BmTeam tbTeam) { + String username = SecurityUtils.getLoginUser().getUsername(); + if (StringUtils.isNotBlank(username)) { + tbTeam.setIdCard(username); + } List iwsTeamUserVos = new ArrayList<>(); - if (StringUtils.isNotBlank(tbTeam.getIdCard())) { - iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByIdCard(tbTeam.getIdCard()); - if (CollectionUtil.isNotEmpty(iwsTeamUserVos)) { - return AjaxResult.success(iwsTeamUserVos); - } + iwsTeamUserVos = iwsTeamUserMapper.selectProjectTeamInfoByIdCard(tbTeam.getIdCard()); + if (CollectionUtil.isNotEmpty(iwsTeamUserVos)) { + return AjaxResult.success(iwsTeamUserVos); } // 根据i8工程id查询班组信息 if (StringUtils.isNotBlank(tbTeam.getProjectId())) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/ClzDirectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/ClzDirectServiceImpl.java index c657df74..77f60219 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/ClzDirectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/ClzDirectServiceImpl.java @@ -255,8 +255,8 @@ public class ClzDirectServiceImpl implements ClzDirectService { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); Date date = new Date(); String format = simpleDateFormat.format(date); - List list = clzDirectMapper.getListAll(); - return "ZNZZ" + format + "-" + list.size() + 1; + Integer total = clzDirectMapper.getListAll(); + return "ZNZZ" + format + "-" + (total + 1); } /** @@ -407,6 +407,7 @@ public class ClzDirectServiceImpl implements ClzDirectService { */ private void updateSysWorkflowRecord(WorkflowEvent event) { SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + SysWorkflowRecord recordInfo = new SysWorkflowRecord(); int count = 0; //获取审批流id SysWorkflowType sysWorkflowType = new SysWorkflowType(); @@ -421,21 +422,22 @@ public class ClzDirectServiceImpl implements ClzDirectService { // 如果该任务类型配置了一个审批流,则直接使用 sysWorkflowType = sysWorkflowTypeList.get(0); // 先根据id查询该数据是否已经存在 - SysWorkflowRecord info = sysWorkflowRecordMapper.getWorkflowRecordHistory(sysWorkflowType.getId()); - if (info == null) { - sysWorkflowRecord = new SysWorkflowRecord(); - sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId()); - sysWorkflowRecord.setTaskId(event.getTaskId()); - sysWorkflowRecord.setTaskType(event.getTaskType()); - sysWorkflowRecord.setTaskCode(event.getTaskCode()); - //创建审批任务 - count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord); - if (0 == count) { - throw new RuntimeException("创建审批任务失败!"); - } - } else { - sysWorkflowRecord = info; + recordInfo = sysWorkflowRecordMapper.getWorkflowRecordHistory(event.getTaskId()); + // 根据id删除该数据 + if (recordInfo != null) { + sysWorkflowRecordMapper.deleteSysWorkflowRecord(event.getTaskId()); } + sysWorkflowRecord = new SysWorkflowRecord(); + sysWorkflowRecord.setWorkflowId(sysWorkflowType.getId()); + sysWorkflowRecord.setTaskId(event.getTaskId()); + sysWorkflowRecord.setTaskType(event.getTaskType()); + sysWorkflowRecord.setTaskCode(event.getTaskCode()); + //创建审批任务 + count = sysWorkflowRecordMapper.addSysWorkflowRecord(sysWorkflowRecord); + if (0 == count) { + throw new RuntimeException("创建审批任务失败!"); + } + } // 获取新创建的ID int newId = sysWorkflowRecord.getId(); @@ -462,10 +464,12 @@ public class ClzDirectServiceImpl implements ClzDirectService { log.info("退料班组的班组长账号不存在"); } // 先根据id查询该数据是否已经存在 - SysWorkflowRecordHistory info = sysWorkflowRecordHistoryMapper.getHistoryInfo(newId); - if (info != null) { - // 将审核记录删除,重新添加 - sysWorkflowRecordHistoryMapper.deleteSysWorkflowRecordHistory(newId); + if (recordInfo != null) { + SysWorkflowRecordHistory info = sysWorkflowRecordHistoryMapper.getHistoryInfo(recordInfo.getId()); + if (info != null) { + // 将审核记录删除,重新添加 + sysWorkflowRecordHistoryMapper.deleteSysWorkflowRecordHistory(recordInfo.getId()); + } } sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory); if (count > 0 && CollectionUtils.isNotEmpty(userList)) { @@ -631,9 +635,11 @@ public class ClzDirectServiceImpl implements ClzDirectService { @Override public AjaxResult updateDirectSysWorkflowRecordHistory(ClzDirectApplyInfo directApplyInfo) { Integer isAccept = directApplyInfo.getIsAccept(); + String remark = directApplyInfo.getRemark(); // 考虑工单直转,参数只有一个id,故从后台查询详细数据 directApplyInfo = clzDirectMapper.getInfoDetails(directApplyInfo); directApplyInfo.setIsAccept(isAccept); + directApplyInfo.setRemark(remark); SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); Long userId = sysUser.getUserId(); Integer taskId = directApplyInfo.getId(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java index 6a4195f9..ec4ab81d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java @@ -278,20 +278,22 @@ public class SelectServiceImpl implements SelectService { "339", "340", "341", "342", "344", "345", "346", "347", "348", "349" )); - if (targetUnits.contains(deptId)) { - bmProject.setImpUnit(deptId); - } else { - //判断祖籍是否包含分公司 - String ancestors = mapper.getAncestors(deptId); - if (ancestors != null && !ancestors.isEmpty()) { - // 将ancestors转换为集合 - String[] parts = ancestors.split(","); - for (String part : parts) { - String trimmedPart = part.trim(); - // Check if the trimmed part is in our target set - if (targetUnits.contains(trimmedPart)) { - bmProject.setImpUnit(trimmedPart); - break; + if (teamData == null) { + if (targetUnits.contains(deptId)) { + bmProject.setImpUnit(deptId); + } else { + //判断祖籍是否包含分公司 + String ancestors = mapper.getAncestors(deptId); + if (ancestors != null && !ancestors.isEmpty()) { + // 将ancestors转换为集合 + String[] parts = ancestors.split(","); + for (String part : parts) { + String trimmedPart = part.trim(); + // Check if the trimmed part is in our target set + if (targetUnits.contains(trimmedPart)) { + bmProject.setImpUnit(trimmedPart); + break; + } } } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java index c965360d..fb1ef6af 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordHistoryMapper.java @@ -23,8 +23,6 @@ public interface SysWorkflowRecordHistoryMapper { int getLeaseAgreementIdByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory); - int getProjectIdById(int leaseAgreementId); - int getBackAgreementIdByTaskId(SysWorkflowRecordHistory sysWorkflowRecordHistory); String getNowUserIds(SysWorkflowRecordHistory sysWorkflowRecordHistory); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java index c32d3396..cf04a0f6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowRecordMapper.java @@ -47,4 +47,10 @@ public interface SysWorkflowRecordMapper { * @return */ SysWorkflowRecord getWorkflowRecordHistory(Integer id); + + /** + * 删除审批流记录信息 + * @param taskId + */ + void deleteSysWorkflowRecord(int taskId); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/ClzDirectMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/ClzDirectMapper.xml index 37f582c3..e41f6f9b 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/ClzDirectMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/ClzDirectMapper.xml @@ -149,15 +149,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from clz_direct_apply_info where id = #{id} - - + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml index 5d1cadef..b71c9673 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml @@ -1642,7 +1642,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND sp.`name` LIKE CONCAT('%', #{departName}, '%') - in + AND bp.external_id in #{item} @@ -1857,6 +1857,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt.jiju_type = #{jiJuType} + + AND ( + mt4.type_name like concat('%', #{keyWord}, '%') or + mt3.type_name like concat('%', #{keyWord}, '%') or + mt2.type_name like concat('%', #{keyWord}, '%') or + mt.type_name like concat('%', #{keyWord}, '%') or + bp.pro_name like concat('%', #{keyWord}, '%') + ) + GROUP BY mt.type_id, bp.pro_id ) AS subquery1 ON mt.type_id = subquery1.type_id @@ -1921,6 +1930,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt.jiju_type = #{jiJuType} + + AND ( + mt4.type_name like concat('%', #{keyWord}, '%') or + mt3.type_name like concat('%', #{keyWord}, '%') or + mt2.type_name like concat('%', #{keyWord}, '%') or + mt.type_name like concat('%', #{keyWord}, '%') or + bp.pro_name like concat('%', #{keyWord}, '%') + ) + GROUP BY mt.type_id, bp.pro_id ) AS subquery3 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordMapper.xml index 0928d10e..455f0ca5 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordMapper.xml @@ -31,6 +31,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_workflow_record set workflow_id = #{workflowId} where id = #{id} + + delete from sys_workflow_record where task_id = #{taskId} +