From 3df87f5cefa67965b719ae0c7c9bef0933739398 Mon Sep 17 00:00:00 2001 From: zfh <15856818120@163.com> Date: Wed, 5 Mar 2025 09:23:17 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=8A=A0=E4=B8=8A=E4=BC=9A=E7=AD=BE?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseApplyInfo.java | 9 ++++ .../service/impl/LeaseTaskServiceImpl.java | 49 +++++++++++++++++++ .../mapper/material/lease/LeaseTaskMapper.xml | 23 +++++---- 3 files changed, 71 insertions(+), 10 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 13d06ba6..895caa19 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -265,4 +265,13 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "公司名称") private String companyName; + + @ApiModelProperty(value = "本流程节点id") + private Integer nodeId; + + @ApiModelProperty(value = "流程配置值") + private String configValue; + + @ApiModelProperty(value = "所属记录") + private Integer recordId; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 31d47f5d..a8463d6c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -29,7 +29,10 @@ import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.material.work.domain.SysWorkflowRecord; +import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowType; +import com.bonus.material.work.mapper.SysWorkflowConfigMapper; +import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; import com.bonus.material.work.mapper.SysWorkflowRecordMapper; import com.bonus.material.work.mapper.SysWorkflowTypeMapper; import com.bonus.material.work.service.SysWorkflowRecordService; @@ -73,6 +76,12 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { @Resource private SysWorkflowRecordService sysWorkflowRecordService; + + @Resource + private SysWorkflowConfigMapper sysWorkflowConfigMapper; + + @Resource + private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; /** * 新增领用任务 * @@ -368,6 +377,7 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { public List selectAuditLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) { Long userId = SecurityUtils.getUserId(); leaseApplyInfo.setUserId(userId == 0 ? null : userId); + log.info("用户id为{}",userId); List list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo); if (!CollectionUtils.isEmpty(list)) { String keyWord = leaseApplyInfo.getKeyWord(); @@ -378,6 +388,45 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { .collect(Collectors.toList()); } } + for (LeaseApplyInfo leaseApplyInfoNew : list) { + //获取当前节点,并根据当前节点获取审核人审核的角色信息 + if (leaseApplyInfoNew.getNodeId()!=null){ + log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(configValue); + //判断当前节点是否审核 + SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory(); + sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); + List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==leaseApplyInfoNew.getLeaseSignType().intValue()){ + //当前节点已经审核需要修改节点值 + if (SysWorkflowRecordHistoryList.get(0)!=null){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + } + }else { + String[] ConfigValue = configValue.split(","); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + List filteredList = Arrays.stream(ConfigValue) + .filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + leaseApplyInfoNew.setConfigValue(filteredList.toString()); + //判断是否这个节点的所有人都审核 + if (filteredList.size()==0){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + } + } + } + } + } + } return list; } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 2d5fc734..510b1c73 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -38,6 +38,8 @@ + + @@ -465,14 +467,15 @@ lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id, lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url, - lai.lease_sign_type,tt.task_id as taskId, - bai.unit_id,bai.project_id,bu.unit_name, bp.pro_name,bai.agreement_id, bai.agreement_code, swr.workflow_status as taskStatus, - + lai.lease_sign_type,tt.task_id as taskId,swn.node_sign_type as leaseSignType, + lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code, + swrs.next_node_id,swrs.record_id, case tt.task_status when 0 then '待审核' - when 1 then '执行中' - when 2 then '执行完成' - when 3 then '执行中断' + when 1 then '待审核' + when 2 then '审核中' + when 3 then '已完成' + when 4 then '已完成' end as taskStatusName, IFNULL(sum(lad.pre_num),0) as preCountNum, IFNULL(sum(lad.al_num),0) as alNum, @@ -485,8 +488,8 @@ left join lease_apply_details lad on lai.id = lad.parent_id left join tm_task_agreement tta on lai.task_id = tta.task_id left join bm_agreement_info bai on tta.agreement_id = bai.agreement_id - left join bm_unit bu on bu.unit_id = bai.unit_id - left join bm_project bp on bp.pro_id = bai.project_id + left join bm_unit bu on bu.unit_id = lai.unit_id + left join bm_project bp on bp.pro_id = lai.project_id left join sys_dept sd on sd.dept_id = bp.imp_unit left join sys_dict_data sda on tt.task_status = sda.dict_value and sda.dict_type = 'lease_task_status' @@ -496,8 +499,9 @@ left join sys_workflow_type swt on swr.workflow_id = swt.id left join sys_workflow_node swn on swt.id = swn.type_id left join sys_workflow_config swc on swn.id = swc.node_id + left join sys_workflow_record_history swrs on swr.id = swrs.record_id where 1=1 - and swc.config_value = #{userId} + and swc.config_value LIKE CONCAT('%', #{userId}, '%') and lai.code = #{code} and lai.task_id = #{taskId} and lai.lease_person = #{leasePerson} @@ -545,7 +549,6 @@ and lai.cost_bearing_party = #{costBearingParty} - and lai.apply_code is not null and (tt.task_status = 0 or tt.task_status = 1 or tt.task_status = 2) and (tt.task_status = 3 or tt.task_status = 4) GROUP BY lai.id From 96985a751d14316f01eff49ed905d46afb33045e Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 5 Mar 2025 10:28:10 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/constant/MaterialConstants.java | 5 ++ .../common/biz/enums/LeaseTaskStatusEnum.java | 2 +- .../lease/controller/LeaseTaskController.java | 11 +++ .../lease/domain/LeaseApplyDetails.java | 24 ++++++ .../lease/mapper/LeaseTaskMapper.java | 29 +++++++ .../lease/service/ILeaseTaskService.java | 7 ++ .../service/impl/LeaseTaskServiceImpl.java | 76 +++++++++++++++++++ .../mapper/material/lease/LeaseTaskMapper.xml | 74 ++++++++++++++++-- 8 files changed, 222 insertions(+), 6 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 57649dec..da2b618b 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -88,6 +88,11 @@ public class MaterialConstants { /** 配件领料单号的开头字母 */ public static final String PART_LEASE_TASK_TYPE_LEASE = "LP"; + /** + * 领用发布 + */ + public static final String LEASE_PUBLISH = "LF"; + /** * 内部单位协议 */ diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java index 5a51966f..8ed0b179 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java @@ -13,7 +13,7 @@ public enum LeaseTaskStatusEnum { LEASE_TASK_ZERO(0, "待审核"), LEASE_TASK_SUBMIT(5, "待提交"), LEASE_TASK_TO_PUBLISHED(1, "待发布"), - LEASE_TASK_TO_AUDIT(2, "待审核"), + LEASE_TASK_TO_AUDIT(2, "已终结"), LEASE_TASK_IN_PROGRESS(3, "出库进行中"), LEASE_TASK_FINISHED(4, "出库已完成"); private final Integer status; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java index 66914395..522fbf30 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java @@ -144,6 +144,17 @@ public class LeaseTaskController extends BaseController { return success(service.getDetailsById(leaseApplyInfo)); } + /** + * 发布数据保存 + * @param leaseApplyRequestVo + * @return + */ + @ApiOperation(value = "发布数据保存") + @PostMapping("/addPublish") + public AjaxResult addPublish(@RequestBody LeaseApplyRequestVo leaseApplyRequestVo) { + return service.addPublish(leaseApplyRequestVo); + } + /** * 导出领料发布列表 * @param response diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java index 839d29bb..56253512 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/LeaseApplyDetails.java @@ -49,6 +49,9 @@ public class LeaseApplyDetails extends BaseEntity { @ApiModelProperty(value = "规格型号id") private Long typeId; + @ApiModelProperty(value = "规格型号id") + private Long newTypeId; + @ApiModelProperty(value = "三级id") private Long thirdTypeId; @@ -82,6 +85,9 @@ public class LeaseApplyDetails extends BaseEntity { @ApiModelProperty(value = "待发布数量") private BigDecimal pendingNum; + @ApiModelProperty(value = "本次发布数量") + private BigDecimal num; + /** 预领料数 */ @Excel(name = "预领数量") @ApiModelProperty(value = "预领料数") @@ -128,6 +134,24 @@ public class LeaseApplyDetails extends BaseEntity { @ApiModelProperty(value = "编码类型集合") private List maCodeVoList; + @ApiModelProperty(value = "往来单位id") + private Long unitId; + + @ApiModelProperty(value = "工程id") + private Long projectId; + + @ApiModelProperty(value = "领料人") + private String leasePerson; + + @ApiModelProperty(value = "联系方式") + private String phone; + + @ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型") + private Integer monthOrder; + + @ApiModelProperty(value = "发布批次") + private String publishTask; + public LeaseApplyDetails(Long id, Long parentId, Long typeId, BigDecimal preNum, BigDecimal auditNum, BigDecimal alNum, String status, Long companyId) { this.id = id; this.parentId = parentId; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java index 45f110df..1add9fe3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java @@ -112,4 +112,33 @@ public interface LeaseTaskMapper { * @return */ List selectPublishDetails(LeaseApplyInfo leaseApplyInfo); + + /** + * 根据taskId查询领用申请详情 + * @param parentId + * @return + */ + List selectLeaseApplyDetailsById(Long parentId); + + /** + * 领用申请发布详情保存 + * @param applyDetails + * @return + */ + int addPublish(LeaseApplyDetails applyDetails); + + /** + * 领用申请发布详情修改 + * @param applyDetails + * @return + */ + int updatePublish(LeaseApplyDetails applyDetails); + + /** + * 根据当前年月查询最大序号 + * @param year + * @param month + * @return + */ + int getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java index cf5a26e0..77903b3c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java @@ -107,5 +107,12 @@ public interface ILeaseTaskService { * @return */ LeaseApplyRequestVo getDetailsById(LeaseApplyInfo leaseApplyInfo); + + /** + * 发布数据保存 + * @param leaseApplyRequestVo + * @return + */ + AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 31d47f5d..1c05204d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -596,4 +596,80 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { throw new RuntimeException("Failed to select lease apply info", e); } } + + /** + * 发布数据保存 + * @param leaseApplyRequestVo + * @return + */ + @Override + public AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo) { + if (leaseApplyRequestVo == null || leaseApplyRequestVo.getLeaseApplyInfo() == null + || CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) { + return AjaxResult.error("参数不能为空"); + } + try { + int result = 0; + LeaseApplyInfo leaseApplyInfo = leaseApplyRequestVo.getLeaseApplyInfo(); + List leaseApplyDetailsList = leaseApplyRequestVo.getLeaseApplyDetailsList(); + Long parentId = leaseApplyDetailsList.get(0).getParentId(); + int thisMonthMaxOrder = mapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth()); + for (LeaseApplyDetails applyDetails : leaseApplyDetailsList) { + // 根据parentId及typeId更新lease_apply_details表的发布数量 + result = mapper.updatePublish(applyDetails); + if (result == 0) { + return AjaxResult.error("发布失败,请联系管理员"); + } + applyDetails.setUnitId(leaseApplyInfo.getUnitId()); + applyDetails.setProjectId(leaseApplyInfo.getProjectId()); + applyDetails.setLeasePerson(leaseApplyInfo.getLeasePerson() != null ? leaseApplyInfo.getLeasePerson() : ""); + applyDetails.setPhone(leaseApplyInfo.getPhone() != null ? leaseApplyInfo.getPhone() : ""); + applyDetails.setCreateBy(SecurityUtils.getUserId().toString()); + applyDetails.setCreateTime(DateUtils.getNowDate()); + applyDetails.setMonthOrder(thisMonthMaxOrder + 1); + String publishTask = genderPublishTask(thisMonthMaxOrder); + applyDetails.setPublishTask(publishTask); + result = mapper.addPublish(applyDetails); + if (result == 0) { + return AjaxResult.error("发布失败,请联系管理员"); + } + } + List leaseApplyDetails = mapper.selectLeaseApplyDetailsById(parentId); + boolean allMatch = true; + if (!CollectionUtils.isEmpty(leaseApplyDetails)) { + for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) { + if (leaseApplyDetail.getPreNum().compareTo(leaseApplyDetail.getPublishNum()) != 0) { + allMatch = false; + break; + } + } + } + if (allMatch) { + TmTask tmTask = new TmTask(); + tmTask.setTaskId(leaseApplyInfo.getTaskId()); + tmTask.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus()); + result = tmTaskMapper.updateTmTask(tmTask); + if (result == 0) { + return AjaxResult.error("发布失败,请联系管理员"); + } + } + return AjaxResult.success("发布成功"); + } catch (Exception e) { + log.error(e.getMessage()); + return AjaxResult.error("发布失败,请联系管理员"); + } + } + + /** + * 生成发布批次任务 + * @param thisMonthMaxOrder + * @return + */ + private String genderPublishTask(int thisMonthMaxOrder) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date nowDate = DateUtils.getNowDate(); + String format = dateFormat.format(nowDate); + String result = format.replace("-", ""); + return MaterialConstants.LEASE_PUBLISH + result + String.format("-%03d", thisMonthMaxOrder + 1); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 2d5fc734..a79193f8 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -262,6 +262,44 @@ + + insert into lease_publish_details + + parent_id, + type_id, + new_type, + num, + lease_person, + phone, + create_by, + create_time, + update_by, + update_time, + remark, + unit_id, + project_id, + month_order, + publish_task, + + + #{parentId}, + #{typeId}, + #{newTypeId}, + #{num}, + #{leasePerson}, + #{phone}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{unitId}, + #{projectId}, + #{monthOrder}, + #{publishTask}, + + + update lease_apply_info @@ -611,6 +649,14 @@ where task_Id = #{taskId} + + update lease_apply_details + + publish_num = IFNULL(publish_num, 0) + #{num}, + + where parent_id = #{parentId} and type_id = #{typeId} + + + + + + From 5e2309f41256eb4790895b3aaed6b58bcbee8284 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 5 Mar 2025 13:27:10 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseApplyInfo.java | 6 +++ .../lease/mapper/LeaseApplyDetailsMapper.java | 7 ++++ .../ma/controller/MachineController.java | 12 ++++++ .../material/ma/mapper/MachineMapper.java | 8 ++++ .../material/ma/service/IMachineService.java | 9 ++++ .../ma/service/impl/MachineServiceImpl.java | 41 +++++++++++++++++++ .../lease/LeaseApplyDetailsMapper.xml | 30 ++++++++++++++ .../mapper/material/ma/MachineMapper.xml | 9 +++- 8 files changed, 121 insertions(+), 1 deletion(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 895caa19..40b8f902 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -274,4 +274,10 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "所属记录") private Integer recordId; + + @ApiModelProperty(value = "设备编码") + private String maCode; + + @ApiModelProperty(value = "设备id") + private Long maId; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index 4c593eb7..78440da0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -126,4 +126,11 @@ public interface LeaseApplyDetailsMapper { * @return */ int updateBackDetailsOutNum(LeaseOutDetails leaseOutDetails); + + /** + * 根据机具id查询领料任务详细 + * @param maId + * @return + */ + List selectByMaId(Long maId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index 3a059161..f5cd9105 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -157,4 +157,16 @@ public class MachineController extends BaseController { return error("系统错误, " + e.getMessage()); } } + + /** + * 根据标签信息查询出库单 + * @param leaseApplyInfo + * @return + */ + @ApiOperation(value = "获取领料出库单详细信息") + //@RequiresPermissions("lease:info:query") + @GetMapping(value = "/getInfoByMaId") + public AjaxResult getInfoByMaId(LeaseApplyInfo leaseApplyInfo) { + return success(machineService.getInfoByMaId(leaseApplyInfo)); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java index 2183de00..07175a97 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.ma.mapper; import java.util.List; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeaseOutDetails; import com.bonus.material.ma.domain.Machine; import com.bonus.material.ma.domain.Type; @@ -112,4 +113,11 @@ public interface MachineMapper * @return */ List getElectronicLabel(Machine machine); + + /** + * 根据标签信息查询出库单 + * @param leaseApplyInfo + * @return + */ + Long selectMaId(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java index 839e2952..e99c9d49 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java @@ -2,7 +2,9 @@ package com.bonus.material.ma.service; import java.util.List; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; import com.bonus.material.ma.domain.Machine; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.vo.MachineVo; @@ -83,4 +85,11 @@ public interface IMachineService * @return */ List getElectronicLabel(Machine machine); + + /** + * 根据标签信息查询出库单 + * @param leaseApplyInfo + * @return + */ + LeaseApplyRequestVo getInfoByMaId(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 17e3075a..96909ef0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -3,11 +3,17 @@ package com.bonus.material.ma.service.impl; import java.util.ArrayList; import java.util.List; import java.util.Map; + import com.alibaba.nacos.common.utils.CollectionUtils; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.enums.HttpCodeEnum; import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; +import com.bonus.material.lease.domain.vo.LeaseOutVo; +import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper; +import com.bonus.material.lease.mapper.LeaseApplyInfoMapper; import com.bonus.material.ma.domain.Type; import com.bonus.material.ma.domain.vo.MachineVo; import com.bonus.material.purchase.config.RemoteConfig; @@ -40,6 +46,12 @@ public class MachineServiceImpl implements IMachineService @Resource private ScrapApplyDetailsMapper scrapApplyDetailsMapper; + @Resource + private LeaseApplyInfoMapper leaseApplyInfoMapper; + + @Resource + private LeaseApplyDetailsMapper leaseApplyDetailsMapper; + /** * 查询机具设备管理 * @@ -187,4 +199,33 @@ public class MachineServiceImpl implements IMachineService public List getElectronicLabel(Machine machine) { return machineMapper.getElectronicLabel(machine); } + + /** + * 根据标签信息查询出库单 + * @param leaseApplyInfo + * @return + */ + @Override + public LeaseApplyRequestVo getInfoByMaId(LeaseApplyInfo leaseApplyInfo) { + try { + LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo(); + // 根据maCode查询maId + Long maId = machineMapper.selectMaId(leaseApplyInfo); + // 获取领料单详情 + List details = leaseApplyDetailsMapper.selectByMaId(maId); + if (CollectionUtils.isNotEmpty(details)) { + leaseApplyRequestVo.setLeaseOutVoList(details); + Long id = details.get(0).getId(); + leaseApplyInfo.setId(id); + } + LeaseApplyInfo optionalInfo = leaseApplyInfoMapper.selectLeaseApplyInfoById(leaseApplyInfo); + if (optionalInfo != null) { + leaseApplyRequestVo.setLeaseApplyInfo(optionalInfo); + } + return leaseApplyRequestVo; + } catch (Exception e) { + // 记录异常日志 + throw new RuntimeException("Failed to select lease apply info", e); + } + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index f71c7090..1bf0d718 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -383,4 +383,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY lod.create_time DESC + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 82536cd6..36d761f9 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -421,7 +421,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.check_man as checkMan, mm.inspect_man as inspectMan, mm.phone, - mm.inspect_status as inspectStatus, + '合格' as inspectStatus, mm.ma_vender as maVender, mm.ex_code as exCode, mm.ex_url as exUrl, @@ -431,9 +431,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt on mt.type_id=mm.type_id LEFT JOIN ma_type mt2 on mt2.type_id=mt.parent_id WHERE + mm.ma_status = '2' and mm.ma_code like concat('%', #{maCode}, '%') + + delete from ma_machine where ma_code = #{maCode} and type_id = #{typeId} and ma_status = '0' From 43c2c01c7be099a5b9bdd25c9f49b79c5fb297c2 Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 5 Mar 2025 14:32:17 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/material/ma/domain/Machine.java | 2 +- .../material/ma/mapper/MachineMapper.java | 7 +++++++ .../ma/service/impl/MachineServiceImpl.java | 21 ++++++++++++++++++- .../mapper/material/ma/MachineMapper.xml | 20 +++++++++++++++++- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java index df10da9d..598933ec 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java @@ -179,6 +179,6 @@ public class Machine extends BaseEntity @ApiModelProperty("检测报告地址") private String exUrl; - @ApiModelProperty("是否为机具") + @ApiModelProperty("是否为机具 (0 代表机具)") private Integer isJj; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java index 07175a97..51e46213 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java @@ -120,4 +120,11 @@ public interface MachineMapper * @return */ Long selectMaId(LeaseApplyInfo leaseApplyInfo); + + /** + * 查询机具信息 + * @param dto + * @return + */ + Machine selectHouse(Machine dto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 96909ef0..0e7b559d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -195,9 +195,28 @@ public class MachineServiceImpl implements IMachineService return AjaxResult.success(typeList); } + /** + * 查询电子标签信息 + * @param machine + * @return + */ @Override public List getElectronicLabel(Machine machine) { - return machineMapper.getElectronicLabel(machine); + List list = machineMapper.getElectronicLabel(machine); + if (CollectionUtils.isNotEmpty(list)) { + for (Machine dto : list) { + // 根据typeId查询信息 + Machine info = machineMapper.selectHouse(dto); + if (info != null) { + if ("机具库".equals(info.getOwnHouse())) { + dto.setIsJj(0); + } else { + dto.setIsJj(1); + } + } + } + } + return list; } /** diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index 36d761f9..c19748ba 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -425,7 +425,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.ma_vender as maVender, mm.ex_code as exCode, mm.ex_url as exUrl, - mm.is_jj as isJj + mm.is_jj as isJj, + mm.type_id as typeId FROM ma_machine mm LEFT JOIN ma_type mt on mt.type_id=mm.type_id @@ -441,6 +442,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE ma_code = #{maCode} + + delete from ma_machine where ma_code = #{maCode} and type_id = #{typeId} and ma_status = '0' From cce535a7c18f5594058eb0e0b8cc76ea51d3ddcb Mon Sep 17 00:00:00 2001 From: mashuai Date: Wed, 5 Mar 2025 17:10:17 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/biz/domain/lease/LeaseApplyInfo.java | 3 +++ .../common/biz/domain/lease/LeaseOutDetails.java | 3 +++ .../lease/service/impl/LeaseTaskServiceImpl.java | 4 +--- .../material/ma/controller/MachineController.java | 15 +++++++++++++++ .../bonus/material/ma/mapper/MachineMapper.java | 7 +++++++ .../material/ma/service/IMachineService.java | 7 +++++++ .../ma/service/impl/MachineServiceImpl.java | 10 ++++++++++ .../material/lease/LeaseOutDetailsMapper.xml | 6 ++++++ .../mapper/material/lease/LeaseTaskMapper.xml | 6 ++++++ .../mapper/material/ma/MachineMapper.xml | 15 +++++++++++++++ 10 files changed, 73 insertions(+), 3 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 40b8f902..395b7f3d 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -280,4 +280,7 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "设备id") private Long maId; + + @ApiModelProperty(value = "发布批次") + private String publishTask; } diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java index 17eb88e1..04a3a14b 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java @@ -99,4 +99,7 @@ public class LeaseOutDetails extends BaseEntity { /** 类型名称 */ private String typeModelName; + + @ApiModelProperty(value = "发布批次") + private String publishTask; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 34eff77b..d7949c49 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -625,10 +625,8 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { @Override public LeaseApplyRequestVo getDetailsById(LeaseApplyInfo leaseApplyInfo) { try { - /*LeaseApplyInfo applyInfo = new LeaseApplyInfo(); - leaseApplyInfo.setId(leaseApplyInfo.getId()); Long userId = SecurityUtils.getUserId(); - applyInfo.setUserId(userId);*/ + leaseApplyInfo.setUserId(userId); Optional optionalInfo = Optional.ofNullable(mapper.selectLeaseApplyInfoById(leaseApplyInfo)); LeaseApplyRequestVo leaseApplyRequestVo = new LeaseApplyRequestVo(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java index f5cd9105..df98fb02 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/MachineController.java @@ -158,6 +158,21 @@ public class MachineController extends BaseController { } } + /** + * 电子标签编码查询 + * @param machine + * @return + */ + @ApiOperation(value = "电子标签编码查询") + @GetMapping("/getByMaCode") + public AjaxResult getByMaCode(Machine machine) { + try { + return success(machineService.getByMaCode(machine)); + } catch (Exception e) { + return error("系统错误, " + e.getMessage()); + } + } + /** * 根据标签信息查询出库单 * @param leaseApplyInfo diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java index 51e46213..f7e4cf7a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/MachineMapper.java @@ -127,4 +127,11 @@ public interface MachineMapper * @return */ Machine selectHouse(Machine dto); + + /** + * 电子标签编码查询 + * @param machine + * @return + */ + List getByMaCode(Machine machine); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java index e99c9d49..b99b21d4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/IMachineService.java @@ -92,4 +92,11 @@ public interface IMachineService * @return */ LeaseApplyRequestVo getInfoByMaId(LeaseApplyInfo leaseApplyInfo); + + /** + * 电子标签编码查询 + * @param machine + * @return + */ + List getByMaCode(Machine machine); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index 0e7b559d..baad93c1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -247,4 +247,14 @@ public class MachineServiceImpl implements IMachineService throw new RuntimeException("Failed to select lease apply info", e); } } + + /** + * 电子标签编码查询 + * @param machine + * @return + */ + @Override + public List getByMaCode(Machine machine) { + return machineMapper.getByMaCode(machine); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml index 9973a0c6..729b3fd0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseOutDetailsMapper.xml @@ -107,6 +107,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" car_code, + + publish_task, + create_time, update_time @@ -141,6 +144,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{carCode}, + + #{publishTask}, + NOW(), NOW() diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index abf22b39..d2762af0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -732,6 +732,9 @@ GROUP BY mt.type_id ) AS subquery0 ON subquery0.type_id = mt.type_id + + JOIN ma_type_keeper mtk ON mtk.type_id = lad.type_id AND mtk.user_id = #{userId} + WHERE lad.parent_id = #{id} @@ -769,6 +772,9 @@ and sda.dict_type = 'lease_task_status' left join ma_type mt on lad.type_id = mt.type_id and mt.del_flag = '0' left join ma_type mt1 on mt.parent_id = mt1.type_id and mt1.del_flag = '0' + + JOIN ma_type_keeper mtk ON mtk.type_id = lad.type_id AND mtk.user_id = #{userId} + where tt.task_type = '19' and tt.task_status in (1, 2, 3) and lai.task_id = #{taskId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml index c19748ba..3ab36d09 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/MachineMapper.xml @@ -459,6 +459,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.type_id = #{typeId} + + delete from ma_machine where ma_code = #{maCode} and type_id = #{typeId} and ma_status = '0' From 49cf24d31a1111fba3cacdf934d16d0bb90221bb Mon Sep 17 00:00:00 2001 From: zfh <15856818120@163.com> Date: Thu, 6 Mar 2025 08:59:23 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=8A=A0=E4=B8=8A=E4=BC=9A=E7=AD=BE?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/lease/LeaseApplyInfo.java | 7 ++ .../service/impl/LeaseTaskServiceImpl.java | 94 +++++++++++-------- .../ma/service/impl/DirectRotationImpl.java | 10 +- .../work/domain/SysWorkflowConfig.java | 5 + .../material/work/domain/SysWorkflowNode.java | 5 + .../work/domain/SysWorkflowRecordHistory.java | 5 + .../SysWorkflowRecordHistoryMapper.java | 2 + .../impl/SysWorkflowNodeServiceImpl.java | 69 +++++++++----- .../SysWorkflowRecordHistoryServiceImpl.java | 87 ++++++++++------- .../mapper/material/lease/LeaseTaskMapper.xml | 7 +- .../material/work/DirectAuditMapper.xml | 2 +- .../material/work/SysWorkflowConfigMapper.xml | 2 + .../material/work/SysWorkflowNodeMapper.xml | 4 +- .../work/SysWorkflowRecordhistoryMapper.xml | 10 +- 14 files changed, 201 insertions(+), 108 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 395b7f3d..1b4ef9e7 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -269,6 +269,9 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "本流程节点id") private Integer nodeId; + @ApiModelProperty(value = "下个流程节点id") + private Integer nextNodeId; + @ApiModelProperty(value = "流程配置值") private String configValue; @@ -281,6 +284,10 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "设备id") private Long maId; + @ApiModelProperty(value = "所属记录") + private Integer nodeSignType; + + @ApiModelProperty(value = "发布批次") private String publishTask; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index d7949c49..4cd40c23 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -379,53 +379,67 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { leaseApplyInfo.setUserId(userId == 0 ? null : userId); log.info("用户id为{}",userId); List list = mapper.selectAuditLeaseApplyInfoList(leaseApplyInfo); - if (!CollectionUtils.isEmpty(list)) { - String keyWord = leaseApplyInfo.getKeyWord(); - // 如果关键字不为空,进行过滤 - if (!StringUtils.isBlank(keyWord)) { - list = list.stream() - .filter(item -> containsKeyword(item, keyWord)) - .collect(Collectors.toList()); + try { + if (!CollectionUtils.isEmpty(list)) { + String keyWord = leaseApplyInfo.getKeyWord(); + // 如果关键字不为空,进行过滤 + if (!StringUtils.isBlank(keyWord)) { + list = list.stream() + .filter(item -> containsKeyword(item, keyWord)) + .collect(Collectors.toList()); + } } - } - for (LeaseApplyInfo leaseApplyInfoNew : list) { - //获取当前节点,并根据当前节点获取审核人审核的角色信息 - if (leaseApplyInfoNew.getNodeId()!=null){ - log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); - String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); - leaseApplyInfoNew.setConfigValue(configValue); - //判断当前节点是否审核 - SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory(); - sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); - sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); - List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); - //判断是或签还是会签0:或签 1:会签 - if (0==leaseApplyInfoNew.getLeaseSignType().intValue()){ - //当前节点已经审核需要修改节点值 - if (SysWorkflowRecordHistoryList.get(0)!=null){ - String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); - leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); - leaseApplyInfoNew.setConfigValue(configValueNew); + for (LeaseApplyInfo leaseApplyInfoNew : list) { + //获取当前节点,并根据当前节点获取审核人审核的角色信息 + if (leaseApplyInfoNew.getNodeId()!=null){ + log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); + SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId()); + leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); + if (sysWorkflowRecordHistory.getNodeSort()==1){ + leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); } - }else { - String[] ConfigValue = configValue.split(","); - for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { - if (sysWorkflowRecordHistoryNew!=null){ - // 过滤数组元素 - List filteredList = Arrays.stream(ConfigValue) - .filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) - .collect(Collectors.toList()); - leaseApplyInfoNew.setConfigValue(filteredList.toString()); - //判断是否这个节点的所有人都审核 - if (filteredList.size()==0){ - String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); - leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); - leaseApplyInfoNew.setConfigValue(configValueNew); + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(configValue); + //判断当前节点是否审核 + sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); + List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==leaseApplyInfoNew.getNodeSignType()){ + //当前节点已经审核需要修改节点值 + if (SysWorkflowRecordHistoryList.get(0)!=null){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + } + }else { + String[] ConfigValue = configValue.split(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : SysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + leaseApplyInfoNew.setConfigValue(filteredList.toString()); + } + } + //判断是否这个节点的所有人都审核 + if (filteredList.size()==0){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); + leaseApplyInfoNew.setConfigValue(configValueNew); + }else { + if (SysWorkflowRecordHistoryList.size()>0){ + leaseApplyInfoNew.setNodeId(leaseApplyInfoNew.getNodeId()); + leaseApplyInfoNew.setConfigValue(filteredList.toString()); } } } } } + }catch (Exception e){ + log.info("查询失败",e.getMessage()); } return list; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java index ba38ecb0..bccbe0f6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/DirectRotationImpl.java @@ -14,6 +14,7 @@ import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; import com.bonus.material.work.mapper.SysWorkflowRecordMapper; +import com.bonus.material.work.service.SysWorkflowRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -44,6 +45,9 @@ public class DirectRotationImpl implements DirectRotationService { @Resource(name = "workSiteDirectManageService") private WorkSiteDirectManageService workSiteDirectManageService; + @Resource + private SysWorkflowRecordService sysWorkflowRecordService; + @Override public List getUseringData(SltAgreementInfo sltAgreementInfo) { return mapper.getUseringData(sltAgreementInfo); @@ -103,7 +107,8 @@ public class DirectRotationImpl implements DirectRotationService { } else { return AjaxResult.error("保存失败"); } - initAuditDir(id,code); + sysWorkflowRecordService.addSysWorkflowRecord(id,code,TM_TASK_DIRECT.getTaskTypeId()); + //initAuditDir(id,code); return AjaxResult.success("保存成功"); @@ -116,7 +121,7 @@ public class DirectRotationImpl implements DirectRotationService { wf.setTaskId(id); wf.setTaskType(TM_TASK_DIRECT.getTaskTypeId()); wf.setTaskCode(code); - wf.setWorkflowId(16); + wf.setWorkflowId(15); wfMapper.addSysWorkflowRecord(wf); //2 生成直转审核人 SysWorkflowRecordHistory his = new SysWorkflowRecordHistory(); @@ -128,6 +133,7 @@ public class DirectRotationImpl implements DirectRotationService { his.setCreateBy(SecurityUtils.getUsername()); his.setCreateTime(new Date()); hisMapper.addSysWorkflowRecordHistory(his) ; + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java index de892a78..71b6f26a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowConfig.java @@ -40,4 +40,9 @@ public class SysWorkflowConfig { * 创建人 */ private String keyWord; + + /** + * 角色信息 + */ + private String roleIds; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java index f30509f7..98271abc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowNode.java @@ -92,4 +92,9 @@ public class SysWorkflowNode { */ private Integer nodeId; private String nodeLabel; + + /** + * 角色信息 + */ + private String roleIds; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java index 5ef6e7e3..4e5790ee 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/domain/SysWorkflowRecordHistory.java @@ -61,4 +61,9 @@ public class SysWorkflowRecordHistory { * 所属流程类型ID */ private Integer typeId; + + /** + * 流程节点顺序 + */ + private Integer nodeSort; } 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 65606661..2d3cc22f 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 @@ -11,4 +11,6 @@ public interface SysWorkflowRecordHistoryMapper { int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); List seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory); + + SysWorkflowRecordHistory getWorkflowRecordHistoryByRecordId(Integer recordId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java index 0d8bd23b..95efe6f3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowNodeServiceImpl.java @@ -15,8 +15,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; -import java.util.Optional; +import java.util.stream.Collectors; @Service public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { @@ -55,8 +56,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode); SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig(); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + if (sysWorkflowNode.getNodeSignConfig()==0){ + sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds()); + } //新增审核详情表信息 sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; @@ -90,8 +94,11 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig); sysWorkflowConfig.setNodeId(sysWorkflowNode.getId()); - sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType()); + sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignConfig()); sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues()); + if (sysWorkflowNode.getNodeSignConfig()==0){ + sysWorkflowConfig.setRoleIds(sysWorkflowNode.getRoleIds()); + } //新增审核详情表信息 sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig); return count; @@ -106,42 +113,54 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService { sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId()); sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId()); List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); - if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){ + if (sysWorkflowRecordHistoryList.size()>0){ //判断是或签还是会签0:或签 1:会签 if (0==SysWorkflowNode.getNodeSignType()){ SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept()); SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime()); SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark()); }else { - String[] ConfigValue =SysWorkflowNode.getConfigValues().split(","); + String[] configValue = SysWorkflowNode.getConfigValues().split(","); + List filteredList = Arrays.stream(configValue).collect(Collectors.toList()); // 过滤数组元素 for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { - /*List filteredList = Arrays.stream(ConfigValue) - .filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) .collect(Collectors.toList()); - //判断是不是所有人都审核完成 - if(filteredList.size()==0){ - - }*/ - //查看当前人是否审核 - if(userId.toString().equals(sysWorkflowRecordHistoryNew.getCreateBy())){ - SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); - SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); - SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); } - //查看别人审核是否有驳回的 - if (sysWorkflowRecordHistoryNew.getIsAccept().equals(2)){ - SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept()); - SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime()); - SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark()); + //获取所有的审核状态 + List isAcceptList =sysWorkflowRecordHistoryList.stream() + .map(SysWorkflowRecordHistory::getIsAccept) + .collect(Collectors.toList()); + //判断是否有人是驳回 + if(isAcceptList.contains(2)){ + //获取驳回信息 + List sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream() + .filter(value ->value != null && 2==(value.getIsAccept())) + .collect(Collectors.toList()); + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark()); + }else { + //获取当前人的审核信息 + List sysWorkflowRecordHistoryListNew = sysWorkflowRecordHistoryList.stream() + .filter(value ->value != null && userId.toString().equals(value.getCreateBy())) + .collect(Collectors.toList()); + //判断当前人是否是这个节点的审核人 + if (!sysWorkflowRecordHistoryListNew.isEmpty()){ + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryListNew.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryListNew.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryListNew.get(0).getRemark()); + }else { + SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept()); + SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime()); + SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark()); } } - - } } } - - + } return sysWorkflowNodeList; } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java index b82e1af9..94866ca9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java @@ -11,10 +11,7 @@ import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowType; import com.bonus.material.work.domain.dto.SysWorkflowAuditDto; -import com.bonus.material.work.mapper.SysWorkflowNodeMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordMapper; -import com.bonus.material.work.mapper.SysWorkflowTypeMapper; +import com.bonus.material.work.mapper.*; import com.bonus.material.work.service.SysWorkflowRecordHistoryService; import com.bonus.material.work.service.SysWorkflowRecordService; import lombok.extern.slf4j.Slf4j; @@ -22,7 +19,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; @Slf4j @Service @@ -35,7 +34,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis private ISltAgreementReduceService sltAgreementReduceService; @Resource - private SysWorkflowTypeMapper sysWorkflowTypeMapper; + private SysWorkflowConfigMapper sysWorkflowConfigMapper; @Resource private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; @@ -80,36 +79,55 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis } //判断是否是最后一级 if (sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1).getId().equals(sysWorkflowRecordHistory.getNodeId())){ - SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); - sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); - sysWorkflowRecord.setWorkflowStatus(2); - sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord); - System.out.println("-------------节点更新任务信息为完成-------------"); - SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId()); - if (sysWorkflowRecodeInfo == null) { - throw new ServiceException("任务类型为空"); + //判断最后节点是否所有人都审核完成 + sysWorkflowRecordHistory.setRecordId(sysWorkflowRecordHistory.getRecordId()); + sysWorkflowRecordHistory.setNodeId(sysWorkflowRecordHistory.getNodeId()); + //获取这个节点所有审核信息 + List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //获取该节点需要审核人员信息 + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId()); + String[] ConfigValue = configValueNew.split(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew!=null){ + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + //判断是否这个节点的所有人都审核 + if (filteredList.size()==0){ + SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); + sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); + sysWorkflowRecord.setWorkflowStatus(2); + sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord); + System.out.println("-------------节点更新任务信息为完成-------------"); + SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId()); + if (sysWorkflowRecodeInfo == null) { + throw new ServiceException("任务类型为空"); + } + // 根据任务类型修改业务状态 + switch (sysWorkflowRecodeInfo.getTaskType()) { + // 领料任务:2 + case 2: + //修改业务状态 + TmTask tmTask = new TmTask(); + tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue()); + tmTask.setTaskStatus(1); + tmTaskMapper.updateTmTask(tmTask); + System.out.println("-------------执行了最后业务办理领料-------------"); + break; + // 费用减免:13 + case 13: + sltAgreementReduceService.audit(sysWorkflowRecodeInfo); + System.out.println("-------------执行了最后业务办理费用减免-------------"); + break; + // 工地直转16 + case 16: + break; + } + } + } } - // 根据任务类型修改业务状态 - switch (sysWorkflowRecodeInfo.getTaskType()) { - // 领料任务:2 - case 2: - //修改业务状态 - TmTask tmTask = new TmTask(); - tmTask.setTaskId(sysWorkflowRecordHistory.getTaskId().longValue()); - tmTask.setTaskStatus(1); - tmTaskMapper.updateTmTask(tmTask); - System.out.println("-------------执行了最后业务办理领料-------------"); - break; - // 费用减免:13 - case 13: - sltAgreementReduceService.audit(sysWorkflowRecodeInfo); - System.out.println("-------------执行了最后业务办理费用减免-------------"); - break; - // 工地直转16 - case 16: - break; - } - } }else { SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); @@ -119,4 +137,5 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis } return 0; } + } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index d2762af0..da48682a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -38,7 +38,8 @@ - + + @@ -505,9 +506,9 @@ lai.dept_audit_remark, lai.direct_audit_by, lai.direct_audit_time, lai.direct_audit_remark, lai.create_by, lai.create_time, lai.update_by, lai.update_time, lai.remark, lai.company_id, lai.direct_id, lai.lease_type, lai.estimate_lease_time, lai.cost_bearing_party, lai.lease_sign_url, - lai.lease_sign_type,tt.task_id as taskId,swn.node_sign_type as leaseSignType, + tt.task_id as taskId,swn.node_sign_type as nodeSignType, lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, swr.workflow_status as taskStatus,bai.agreement_code, - swrs.next_node_id,swrs.record_id, + swrs.node_id,swrs.next_node_id,swrs.record_id, case tt.task_status when 0 then '待审核' when 1 then '待审核' diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml index f0f96fb1..dcebb3d5 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml @@ -18,7 +18,7 @@ bpl1.pro_name AS leaseProName, dai.lease_man as leaseMan , swr.workflow_status as flowStatus, - swr.id as flowId + swr.task_id as flowId FROM direct_apply_info dai LEFT JOIN bm_agreement_info bai ON dai.back_agreement_id = bai.agreement_id diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml index 49074699..546d37ca 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowConfigMapper.xml @@ -12,12 +12,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" config_type, config_value, is_enable, + roleIds, #{nodeId}, #{configType}, #{configValue}, #{isEnable}, + #{roleIds}, diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml index fe0d5adf..73888d9a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml @@ -58,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort, swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId, - swrh.create_by as createBy,swn.is_enable as isEnable,sec.config_value as configValues, + swrh.create_by as createBy,swn.is_enable as isEnable, GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues, swr.id as recordId from sys_workflow_node swn diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml index d462c8ac..c5a6d696 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowRecordhistoryMapper.xml @@ -28,8 +28,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + From c67af6e590c080e0bf0b2e5184a2cdb6e361fa60 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 6 Mar 2025 10:26:16 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LeaseApplyInfoController.java | 5 +- .../lease/mapper/LeaseApplyDetailsMapper.java | 8 + .../lease/mapper/LeaseApplyInfoMapper.java | 7 + .../lease/service/ILeaseApplyInfoService.java | 3 +- .../impl/LeaseApplyInfoServiceImpl.java | 201 +++++++++++++++++- .../impl/LeaseOutDetailsServiceImpl.java | 20 ++ .../lease/LeaseApplyDetailsMapper.xml | 26 +++ .../material/lease/LeaseApplyInfoMapper.xml | 44 ++++ .../mapper/material/task/TmTaskMapper.xml | 3 + 9 files changed, 310 insertions(+), 7 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index b934e9c2..6678296a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -73,8 +73,9 @@ public class LeaseApplyInfoController extends BaseController { //@RequiresPermissions("lease:info:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@NotNull(message = "领料任务ID不能为空") @PathVariable("id") Long id, - @RequestParam(value = "keyWord", required = false) String keyWord) { - return success(leaseApplyInfoService.selectLeaseApplyInfoById(id, keyWord)); + @RequestParam(value = "keyWord", required = false) String keyWord, + @RequestParam(value = "publishTask", required = false) String publishTask) { + return success(leaseApplyInfoService.selectLeaseApplyInfoById(id, keyWord, publishTask)); } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index 78440da0..3dfc236a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -133,4 +133,12 @@ public interface LeaseApplyDetailsMapper { * @return */ List selectByMaId(Long maId); + + /** + * 根据领料任务id查询领料任务详细 + * @param publishTask + * @return + */ + List getDetailsPublish(String publishTask); + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java index bcb23871..92a54f0f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyInfoMapper.java @@ -73,4 +73,11 @@ public interface LeaseApplyInfoMapper { /** 设置发料单位 防止代码冲突 **/ String getSendUnit(LeaseApplyInfo leaseApplyInfo); + + /** + * 查询领用出库数据 + * @param leaseApplyInfo + * @return + */ + List selectPublishList(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java index 149ba088..d60f1e7f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java @@ -24,9 +24,10 @@ public interface ILeaseApplyInfoService { * * @param id 领料任务主键 * @param keyword keyword 关键字 + * @param publishTask 发布批次 * @return 领料任务 */ - LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword); + LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword, String publishTask); /** * 查询领料任务列表 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 91d8d122..e9cf8e72 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -80,7 +80,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { * @return 领料任务 */ @Override - public LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword) { + public LeaseApplyRequestVo selectLeaseApplyInfoById(Long id, String keyword, String publishTask) { try { LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo(); leaseApplyInfo.setId(id); @@ -125,6 +125,23 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } }); + // 走单独的领用详情查询 + if (StringUtils.isNotBlank(publishTask)) { + LeaseApplyRequestVo info = new LeaseApplyRequestVo(); + // 根据领用批次查询领用详情 + List details = leaseApplyDetailsMapper.getDetailsPublish(publishTask); + if (!CollectionUtils.isEmpty(details)) { + for (LeaseApplyDetails detail : details) { + if (detail.getOutNum().compareTo(detail.getAlNum()) == 0) { + detail.setStatus("1"); + } else { + detail.setStatus("0"); + } + } + info.setLeaseApplyDetailsList(details); + } + return info; + } return leaseApplyRequestVo; } catch (Exception e) { @@ -145,16 +162,29 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { public List selectLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) { leaseApplyInfo.setUserId(SecurityUtils.getUserId()); List list = leaseApplyInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo); - if (!CollectionUtils.isEmpty(list)) { + // 如果statusList包含3、4、5,则为领料出库查询,需查询领用出库数据,进行拼接 + if (leaseApplyInfo.getStatusList() != null && leaseApplyInfo.getStatusList().contains(3) + && leaseApplyInfo.getStatusList().contains(4) && leaseApplyInfo.getStatusList().contains(5)) { + // 查询领用出库数据 + List leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo); + if (!CollectionUtils.isEmpty(leaseApplyOutList)) { + list.addAll(leaseApplyOutList); + } + } + // 使用 Stream API 进行降序排序 + List sortedList = list.stream() + .sorted(Comparator.comparing(LeaseApplyInfo::getCreateTime).reversed()) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(sortedList)) { String keyWord = leaseApplyInfo.getKeyWord(); // 如果关键字不为空,进行过滤 if (!StringUtils.isBlank(keyWord)) { - list = list.stream() + sortedList = sortedList.stream() .filter(item -> containsKeyword(item, keyWord)) .collect(Collectors.toList()); } } - return list; + return sortedList; } /** @@ -183,6 +213,59 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { */ @Override public AjaxResult insertLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo) { + /*int result = 0; + if (null == leaseApplyRequestVo.getLeaseApplyInfo()) { + return AjaxResult.error("请先填写领料任务信息"); + } + if (CollectionUtil.isEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) { + return AjaxResult.error("请先添加领料任务物资明细"); + } + leaseApplyRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate()); + leaseApplyRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getUsername()); + try { + // 获取 LeaseApplyDetails 列表 + List leaseApplyDetailsList = leaseApplyRequestVo.getLeaseApplyDetailsList(); + for (LeaseApplyDetails applyDetails : leaseApplyDetailsList) { + if (applyDetails.getCompanyId() == null) { + throw new RuntimeException("未知所属公司领料任务,无法操作!"); + } + } + // 按 companyId 进行分组 + Map> groupedByCompanyId = leaseApplyDetailsList.stream() + .collect(Collectors.groupingBy(LeaseApplyDetails::getCompanyId)); + for (Map.Entry> entry : groupedByCompanyId.entrySet()) { + Long key = entry.getKey(); + List details = entry.getValue(); + TmTaskTypeEnum splitType = null; + String taskTypeLabel = null; + // 机具领料任务 + if (key == 101) { + splitType = TmTaskTypeEnum.TM_TASK_JJ_LEASE; + taskTypeLabel = MaterialConstants.JJ_LEASE_TASK_TYPE_LABEL; + // 安全工器具领料任务 + } else if (key == 102) { + splitType = TmTaskTypeEnum.TM_TASK_SAFE_LEASE; + taskTypeLabel = MaterialConstants.AQ_LEASE_TASK_TYPE_LABEL; + // 宏源领料任务 + } else if (key == 309) { + splitType = TmTaskTypeEnum.TM_TASK_HY_LEASE; + taskTypeLabel = MaterialConstants.HY_LEASE_TASK_TYPE_LABEL; + } else { + throw new RuntimeException("未知所属公司领料任务,无法操作!"); + } + result += processLeaseTask(leaseApplyRequestVo, splitType, taskTypeLabel); + if (result > 0) { + return insertPurchaseCheckDetails(details, leaseApplyRequestVo.getLeaseApplyInfo().getId()); + } else { + return AjaxResult.error("新增任务失败,lease_apply_info表插入0条"); + } + } + } catch (DataAccessException e) { + throw new RuntimeException("数据库操作失败:" + e.getMessage()); + } catch (Exception e) { + throw new RuntimeException("新增任务失败:" + e.getMessage()); + } + return AjaxResult.error("新增任务失败");*/ if (null == leaseApplyRequestVo.getLeaseApplyInfo()) { return AjaxResult.error("请先填写领料任务信息"); } @@ -236,6 +319,54 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } } + /** + * 处理任务 + * @param leaseApplyRequestVo + * @param splitType + * @param taskTypeLabel + * @return + */ + /*private int processLeaseTask(LeaseApplyRequestVo leaseApplyRequestVo, TmTaskTypeEnum splitType, String taskTypeLabel) { + int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), + TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId()); + String taskCode = genderTaskCode(thisMonthMaxOrder, taskTypeLabel); + + TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId(), + LeaseTaskStatusEnum.LEASE_TASK_TO_PUBLISHED.getStatus(), + leaseApplyRequestVo.getLeaseApplyInfo().getCompanyId(), thisMonthMaxOrder + 1, taskCode); + tmTask.setCreateTime(DateUtils.getNowDate()); + tmTask.setCreateBy(SecurityUtils.getUsername()); + tmTask.setSplitType(splitType.getTaskTypeId()); + tmTaskMapper.insertTmTask(tmTask); + + TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), leaseApplyRequestVo.getLeaseApplyInfo().getAgreementId()); + tmTaskAgreement.setCreateTime(DateUtils.getNowDate()); + tmTaskAgreement.setCreateBy(SecurityUtils.getUsername()); + tmTaskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement); + + leaseApplyRequestVo.getLeaseApplyInfo().setTaskId(tmTask.getTaskId()); + leaseApplyRequestVo.getLeaseApplyInfo().setCode(taskCode); + + // 设置审批人为默认的董班长 --防止代码冲突 + Long peopleId = leaseApplyInfoMapper.getDirectAuditBy(); + leaseApplyRequestVo.getLeaseApplyInfo().setDirectAuditBy(peopleId); + + int count = leaseApplyInfoMapper.insertLeaseApplyInfo(leaseApplyRequestVo.getLeaseApplyInfo()); + + if (!CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos())) { + leaseApplyRequestVo.getLeaseApplyInfo().getBmFileInfos().forEach(bmFileInfo -> { + bmFileInfo.setTaskType(2); + bmFileInfo.setTaskId(tmTask.getTaskId()); + bmFileInfo.setModelId(leaseApplyRequestVo.getLeaseApplyInfo().getId()); + bmFileInfo.setFileType(5L); + bmFileInfo.setCreateBy(SecurityUtils.getUsername()); + bmFileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + }); + } + return count; + }*/ + /** * 发布任务 * @@ -301,6 +432,12 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } } + /** + * 插入领料任务详情数据 + * @param leaseApplyDetailsList + * @param parentId + * @return + */ private AjaxResult insertPurchaseCheckDetails(List leaseApplyDetailsList, Long parentId) { if (!CollectionUtils.isEmpty(leaseApplyDetailsList)) { for (LeaseApplyDetails details : leaseApplyDetailsList) { @@ -325,6 +462,13 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { * @param thisMonthMaxOrder 当月最大单号 * @return 任务对象 */ + /*private static String genderTaskCode(Integer thisMonthMaxOrder, String taskType) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date nowDate = DateUtils.getNowDate(); + String format = dateFormat.format(nowDate); + String result = format.replace("-", ""); + return taskType + result + String.format("-%03d", thisMonthMaxOrder + 1); + }*/ private static String genderTaskCode(Integer thisMonthMaxOrder) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date nowDate = DateUtils.getNowDate(); @@ -340,6 +484,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { * @return 结果 */ @Override + @Transactional(rollbackFor = Exception.class) public boolean updateLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo) { try { // 提取到局部变量中,减少重复代码 @@ -385,6 +530,54 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } catch (Exception e) { throw new ServiceException("未知异常: " + e.getMessage()); } + /*try { + int result = 0; + // 提取到局部变量中,减少重复代码 + LeaseApplyInfo leaseApplyInfo = leaseApplyRequestVo.getLeaseApplyInfo(); + if (leaseApplyInfo != null && leaseApplyInfo.getId() != null) { + // 去除创建一个新的数组对象,直接复用 + Long[] ids = {leaseApplyInfo.getId()}; + result = leaseApplyInfoMapper.deleteLeaseApplyInfoByIds(ids); + if (result == 0) { + throw new RuntimeException("删除主要任务失败"); + } + if (CollectionUtil.isNotEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) { + // 业务逻辑代码 + result = leaseApplyDetailsMapper.deleteLeaseApplyDetailsByParentIds(ids); + if (result == 0) { + throw new RuntimeException("删除详情任务失败"); + } + } + // 查询是否存在文件 + BmFileInfo fileInfo = new BmFileInfo(); + fileInfo.setTaskId(leaseApplyInfo.getTaskId()); + fileInfo.setModelId(leaseApplyInfo.getId()); + fileInfo.setTaskType(2); + fileInfo.setFileType(5L); + List bmFileInfos = bmFileInfoMapper.selectBmFileInfoList(fileInfo); + // 删除原有数据 + if (!CollectionUtils.isEmpty(bmFileInfos)) { + result = bmFileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo); + if (result == 0) { + throw new RuntimeException("删除文件失败"); + } + } + // 重新走新增逻辑 + AjaxResult ajaxResult = insertLeaseApplyInfo(leaseApplyRequestVo); + if (!ajaxResult.isSuccess()) { + System.err.println(ajaxResult.get("msg")); + throw new RuntimeException("修改新增数据异常"); + } + return true; + } + return false; + } catch (DataAccessException dae) { + throw new ServiceException("数据访问异常: " + dae.getMessage()); + } catch (IllegalArgumentException iae) { + throw new ServiceException("非法参数异常: " + iae.getMessage()); + } catch (Exception e) { + throw new ServiceException("未知异常: " + e.getMessage()); + }*/ } /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index 8993fa7d..09ff3a82 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -347,6 +347,26 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { private int updateTaskStatus(LeaseOutDetails record) { int res = 0; + // 领用任务单独判断 + if (StringUtils.isNotBlank(record.getPublishTask())) { + // 根据领用批次查询领用详情 + boolean isFinished = true; + List details = leaseApplyDetailsMapper.getDetailsPublish(record.getPublishTask()); + if (!CollectionUtils.isEmpty(details)) { + for (LeaseApplyDetails bean : details) { + if (bean.getAlNum().compareTo(bean.getNum()) != 0) { + isFinished = false; + break; + } + } + } + if (isFinished) { + String taskId = leaseApplyInfoMapper.getTaskId(record.getParentId()); + // 领用任务状态改为已完成 + res = tmTaskMapper.updateTaskStatus(taskId, LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus()); + } + return res; + } // 进行状态判断 List leaseApplyDetailsList = leaseApplyDetailsMapper.getByParentId(record.getParentId()); int i = 0; diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index 1bf0d718..6c477b35 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -413,4 +413,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY lod.type_id, mm.ma_code ORDER BY lod.create_time DESC + + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index 9c9584be..b416c282 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -247,4 +247,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dept sd on su.dept_id = sd.dept_id and sd.del_flag = 0 where su.user_id = #{directAuditBy} and su.del_flag = 0 + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml index c83910f6..b044eba1 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml @@ -16,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pre_task_id, task_type, + split_type, task_status, `code`, month_order, @@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{preTaskId}, #{taskType}, + #{splitType}, #{taskStatus}, #{code}, #{monthOrder}, From 825e65fe0dbab7c1dea9a06bb38f89285177d3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 6 Mar 2025 11:01:00 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E9=A2=86=E7=94=A8=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E5=8A=A0=E4=B8=8A=E4=BC=9A=E7=AD=BE?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java | 2 +- .../bonus/material/lease/service/impl/LeaseTaskServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java index 1b4ef9e7..51cbc158 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseApplyInfo.java @@ -284,7 +284,7 @@ public class LeaseApplyInfo extends BaseEntity{ @ApiModelProperty(value = "设备id") private Long maId; - @ApiModelProperty(value = "所属记录") + @ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签") private Integer nodeSignType; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 4cd40c23..510f11d7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -395,7 +395,7 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId()); leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); - if (sysWorkflowRecordHistory.getNodeSort()==1){ + if (1==leaseApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){ leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); } String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); From 0d53867d46086a7cabc22a3d643d7a286b707039 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 6 Mar 2025 14:37:32 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LeaseApplyInfoServiceImpl.java | 13 +++++++++++-- .../service/impl/LeaseOutDetailsServiceImpl.java | 8 ++++++-- .../material/task/mapper/TmTaskAgreementMapper.java | 7 +++++++ .../mapper/material/back/BackApplyInfoMapper.xml | 5 ++--- .../material/lease/LeaseApplyDetailsMapper.xml | 3 ++- .../mapper/material/lease/LeaseApplyInfoMapper.xml | 4 ---- .../mapper/material/task/TmTaskAgreementMapper.xml | 8 ++++++++ 7 files changed, 36 insertions(+), 12 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index e9cf8e72..6b69e5e9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -133,9 +133,9 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { if (!CollectionUtils.isEmpty(details)) { for (LeaseApplyDetails detail : details) { if (detail.getOutNum().compareTo(detail.getAlNum()) == 0) { - detail.setStatus("1"); + detail.setStatus("2"); } else { - detail.setStatus("0"); + detail.setStatus("1"); } } info.setLeaseApplyDetailsList(details); @@ -168,6 +168,15 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { // 查询领用出库数据 List leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo); if (!CollectionUtils.isEmpty(leaseApplyOutList)) { + for (LeaseApplyInfo applyInfo : leaseApplyOutList) { + if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) { + applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus()); + applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName()); + } else { + applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus()); + applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName()); + } + } list.addAll(leaseApplyOutList); } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index 09ff3a82..eee7a1d8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -354,7 +354,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { List details = leaseApplyDetailsMapper.getDetailsPublish(record.getPublishTask()); if (!CollectionUtils.isEmpty(details)) { for (LeaseApplyDetails bean : details) { - if (bean.getAlNum().compareTo(bean.getNum()) != 0) { + if (bean.getAlNum().compareTo(bean.getPreNum()) != 0) { isFinished = false; break; } @@ -443,7 +443,11 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { sltAgreementInfo.setNum(num.add(outNum)); res = sltAgreementInfoMapper.updSltInfo(sltAgreementInfo); } else { - String agreementId = tmTaskAgreementMapper.getAgreementId(taskId); + String agreementId = " "; + agreementId = tmTaskAgreementMapper.getAgreementId(taskId); + if (StringUtils.isBlank(agreementId)) { + agreementId = tmTaskAgreementMapper.selectAgreementId(record.getPublishTask()); + } String protocol = bmAgreementInfoMapper.getProtocol(agreementId); Type maType = typeMapper.getMaType(record.getTypeId()); if (StringUtils.isEmpty(protocol)) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskAgreementMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskAgreementMapper.java index 6158bbb5..c43ba6fc 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskAgreementMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskAgreementMapper.java @@ -71,4 +71,11 @@ public interface TmTaskAgreementMapper { * @return */ Long selectAgreementIdByTaskId(Long taskId); + + /** + * 根据发布任务ID获取协议ID + * @param publishTask + * @return + */ + String selectAgreementId(String publishTask); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 5bbe05b2..0c758b71 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -113,9 +113,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt1.del_flag = '0' LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id AND mt2.del_flag = '0' - LEFT JOIN lease_apply_info lai ON lod.parent_id = lai.id - LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id - LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id + LEFT JOIN slt_agreement_info sai on lod.type_id = sai.type_id + LEFT JOIN bm_agreement_info ba ON sai.agreement_id = ba.agreement_id WHERE 1 = 1 and mm.ma_status = '2' and mm.type_id = #{typeId} AND ba.unit_id = #{unitId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index 6c477b35..9127dd77 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -422,7 +422,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.type_name AS typeName, mt.unit_name AS unitName, lpd.new_type AS typeId, - IFNULL( lpd.num, 0 ) AS outNum, + IFNULL( lpd.num, 0 ) AS preNum, + IFNULL( lpd.num, 0 ) - IFNULL( SUM( lod.out_num ), 0 ) AS outNum, IFNULL( SUM( lod.out_num ), 0 ) AS alNum, lpd.publish_task AS publishTask FROM diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml index b416c282..7699ca89 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyInfoMapper.xml @@ -263,8 +263,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bu.unit_name AS leaseUnit, bp.pro_name AS leaseProject, bai.agreement_code AS agreementCode, - tt.task_status AS taskStatus, - sda.dict_label AS taskStatusName, IFNULL( sum( lpd.num ), 0 ) AS preCountNum, IFNULL( sum( lod.out_num ), 0 ) AS alNum, GROUP_CONCAT( mt1.type_name ) AS maTypeNames, @@ -278,8 +276,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN bm_unit bu ON bu.unit_id = lpd.unit_id LEFT JOIN bm_project bp ON bp.pro_id = lpd.project_id LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit - LEFT JOIN sys_dict_data sda ON tt.task_status = sda.dict_value - AND sda.dict_type = 'lease_task_status' LEFT JOIN ma_type mt ON lpd.new_type = mt.type_id AND mt.del_flag = '0' LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml index d5777b67..1357a930 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml @@ -104,4 +104,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file From 4295427b2ea219bc2cb3a80543850a50059d2666 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 6 Mar 2025 15:23:58 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E9=A2=86=E6=96=99=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/lease/mapper/LeaseApplyDetailsMapper.java | 3 ++- .../lease/service/impl/LeaseApplyInfoServiceImpl.java | 2 +- .../lease/service/impl/LeaseOutDetailsServiceImpl.java | 2 +- .../mapper/material/lease/LeaseApplyDetailsMapper.xml | 4 ++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index 3dfc236a..e9151db3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -136,9 +136,10 @@ public interface LeaseApplyDetailsMapper { /** * 根据领料任务id查询领料任务详细 + * @param keyWord * @param publishTask * @return */ - List getDetailsPublish(String publishTask); + List getDetailsPublish(@Param("keyWord") String keyWord, @Param("publishTask") String publishTask); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 6b69e5e9..10caf241 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -129,7 +129,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { if (StringUtils.isNotBlank(publishTask)) { LeaseApplyRequestVo info = new LeaseApplyRequestVo(); // 根据领用批次查询领用详情 - List details = leaseApplyDetailsMapper.getDetailsPublish(publishTask); + List details = leaseApplyDetailsMapper.getDetailsPublish(keyword,publishTask); if (!CollectionUtils.isEmpty(details)) { for (LeaseApplyDetails detail : details) { if (detail.getOutNum().compareTo(detail.getAlNum()) == 0) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index eee7a1d8..ddadac5e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -351,7 +351,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { if (StringUtils.isNotBlank(record.getPublishTask())) { // 根据领用批次查询领用详情 boolean isFinished = true; - List details = leaseApplyDetailsMapper.getDetailsPublish(record.getPublishTask()); + List details = leaseApplyDetailsMapper.getDetailsPublish(null, record.getPublishTask()); if (!CollectionUtils.isEmpty(details)) { for (LeaseApplyDetails bean : details) { if (bean.getAlNum().compareTo(bean.getPreNum()) != 0) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index 9127dd77..92fa6ba7 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -436,6 +436,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND lpd.publish_task = lod.publish_task WHERE lpd.publish_task = #{publishTask} + + AND (mt1.type_name LIKE CONCAT(CONCAT('%', #{keyWord}), '%') + OR mt.type_name LIKE CONCAT(CONCAT('%', #{keyWord}), '%')) + GROUP BY lpd.new_type From 886ae3c8d482a96722cc4ddd213a2b1d76e719b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 6 Mar 2025 16:45:40 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E7=9B=B4=E8=BD=AC=E5=92=8C=E5=87=8F?= =?UTF-8?q?=E5=85=8D=E5=AE=A1=E6=A0=B8=E9=80=BB=E8=BE=91=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LeaseTaskServiceImpl.java | 15 ++-- .../material/ma/domain/DirectApplyInfo.java | 15 ++++ .../impl/DerateRecordQueryServiceImpl.java | 79 ++++++++++++++++++- .../settlement/domain/SltAgreementInfo.java | 3 +- .../settlement/domain/SltAgreementReduce.java | 15 ++++ .../controller/DirectAuditController.java | 17 +--- .../work/mapper/SysWorkflowNodeMapper.java | 2 + .../work/service/impl/DirectAuditImpl.java | 76 ++++++++++++++---- .../SysWorkflowRecordHistoryServiceImpl.java | 3 +- .../record/DerateRecordQueryMapper.xml | 14 ++-- .../material/work/DirectAuditMapper.xml | 14 +++- .../material/work/SysWorkflowNodeMapper.xml | 4 + 12 files changed, 208 insertions(+), 49 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 510f11d7..572ecb9a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -28,13 +28,11 @@ import com.bonus.material.task.domain.TmTask; import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; +import com.bonus.material.work.domain.SysWorkflowNode; import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; import com.bonus.material.work.domain.SysWorkflowType; -import com.bonus.material.work.mapper.SysWorkflowConfigMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordMapper; -import com.bonus.material.work.mapper.SysWorkflowTypeMapper; +import com.bonus.material.work.mapper.*; import com.bonus.material.work.service.SysWorkflowRecordService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; @@ -82,6 +80,11 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { @Resource private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; + + @Resource + private SysWorkflowNodeMapper sysWorkflowNodeMapper; + + /** * 新增领用任务 * @@ -395,17 +398,19 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService { log.info("当前节点为{}",leaseApplyInfoNew.getNodeId()); SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(leaseApplyInfoNew.getRecordId()); leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); + //设置当前节点 if (1==leaseApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){ leaseApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); } String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(leaseApplyInfoNew.getNodeId()); + SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(leaseApplyInfoNew.getNodeId()); leaseApplyInfoNew.setConfigValue(configValue); //判断当前节点是否审核 sysWorkflowRecordHistory.setRecordId(leaseApplyInfoNew.getRecordId()); sysWorkflowRecordHistory.setNodeId(leaseApplyInfoNew.getNodeId()); List SysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); //判断是或签还是会签0:或签 1:会签 - if (0==leaseApplyInfoNew.getNodeSignType()){ + if (0==sysWorkflowNode.getNodeSignType()){ //当前节点已经审核需要修改节点值 if (SysWorkflowRecordHistoryList.get(0)!=null){ String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(SysWorkflowRecordHistoryList.get(0).getNextNodeId()); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyInfo.java index 794e88ec..042168a8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/DirectApplyInfo.java @@ -2,6 +2,7 @@ package com.bonus.material.ma.domain; import com.bonus.common.core.web.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.springframework.format.annotation.DateTimeFormat; @@ -158,4 +159,18 @@ public class DirectApplyInfo extends BaseEntity { private String flowId; + @ApiModelProperty(value = "本流程节点id") + private Integer nodeId; + + @ApiModelProperty(value = "下个流程节点id") + private Integer nextNodeId; + + @ApiModelProperty(value = "流程配置值") + private String configValue; + + @ApiModelProperty(value = "所属记录") + private Integer recordId; + + @ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签") + private Integer nodeSignType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/record/service/impl/DerateRecordQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/record/service/impl/DerateRecordQueryServiceImpl.java index 1595f541..939348ab 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/record/service/impl/DerateRecordQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/record/service/impl/DerateRecordQueryServiceImpl.java @@ -1,28 +1,50 @@ package com.bonus.material.record.service.impl; import com.bonus.common.biz.domain.BmFileInfo; +import com.bonus.common.core.exception.ServiceException; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.ma.domain.DirectApplyInfo; import com.bonus.material.record.mapper.DerateRecordQueryMapper; import com.bonus.material.record.mapper.SltRecordQueryMapper; import com.bonus.material.record.service.IDerateReocrdQueryService; import com.bonus.material.record.service.ISltReocrdQueryService; import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.settlement.domain.SltAgreementReduce; +import com.bonus.material.work.domain.SysWorkflowNode; +import com.bonus.material.work.domain.SysWorkflowRecordHistory; +import com.bonus.material.work.mapper.SysWorkflowConfigMapper; +import com.bonus.material.work.mapper.SysWorkflowNodeMapper; +import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @description 减免记录查询 * @author hay * @date 2025/2/19 10:47 */ +@Slf4j @Service public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService { @Resource private DerateRecordQueryMapper mapper; + @Resource + private SysWorkflowNodeMapper sysWorkflowNodeMapper; + + @Resource + private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; + + + @Resource + private SysWorkflowConfigMapper sysWorkflowConfigMapper; + + @Override public List getList(SltAgreementInfo bean) { return mapper.getList(bean); @@ -32,7 +54,62 @@ public class DerateRecordQueryServiceImpl implements IDerateReocrdQueryService { public List getAuditList(SltAgreementInfo bean) { Long userId = SecurityUtils.getUserId(); bean.setUserId(userId); - return mapper.getAuditList(bean); + List sltAgreementReduceList = mapper.getAuditList(bean); + try { + for (SltAgreementReduce sltAgreementReduceNew : sltAgreementReduceList) { + log.info("当前节点为{}",sltAgreementReduceNew.getNodeId()); + SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(sltAgreementReduceNew.getRecordId()); + sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); + //设置当前节点 + if (1==sltAgreementReduceNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){ + sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); + } + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(sltAgreementReduceNew.getNodeId()); + SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(sltAgreementReduceNew.getNodeId()); + sltAgreementReduceNew.setConfigValue(configValue); + //判断当前节点是否审核 + sysWorkflowRecordHistory.setRecordId(sltAgreementReduceNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(sltAgreementReduceNew.getNodeId()); + List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==sysWorkflowNode.getNodeSignType()){ + //当前节点已经审核需要修改节点值 + if (sysWorkflowRecordHistoryList.get(0)!=null){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + sltAgreementReduceNew.setConfigValue(configValueNew); + } + }else { + String[] ConfigValue = configValue.split(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew != null) { + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + sltAgreementReduceNew.setConfigValue(filteredList.toString()); + } + } + //判断是否这个节点的所有人都审核 + if (filteredList.size() == 0) { + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + sltAgreementReduceNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + sltAgreementReduceNew.setConfigValue(configValueNew); + } else { + if (sysWorkflowRecordHistoryList.size() > 0) { + sltAgreementReduceNew.setNodeId(sltAgreementReduceNew.getNodeId()); + sltAgreementReduceNew.setConfigValue(filteredList.toString()); + } + } + } + } + + }catch (Exception e){ + log.info("查询结果出错{}",e.getMessage()); + throw new ServiceException("查询结果出错"); + } + return sltAgreementReduceList; } @Override diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java index b5bd0461..033714b5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementInfo.java @@ -228,8 +228,7 @@ public class SltAgreementInfo extends BaseEntity { private BigDecimal scrapCost; private BigDecimal loseCost; private BigDecimal reductionCost; + //结算费用 private BigDecimal totalCostAll; - - } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementReduce.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementReduce.java index 6aaf7882..266eecc8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementReduce.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/settlement/domain/SltAgreementReduce.java @@ -134,4 +134,19 @@ public class SltAgreementReduce extends BaseEntity { private Integer proId; private String projectName; + + @ApiModelProperty(value = "本流程节点id") + private Integer nodeId; + + @ApiModelProperty(value = "下个流程节点id") + private Integer nextNodeId; + + @ApiModelProperty(value = "流程配置值") + private String configValue; + + @ApiModelProperty(value = "所属记录") + private Integer recordId; + + @ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签") + private Integer nodeSignType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java index 0b33f9d1..66fe2fe2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java @@ -1,22 +1,10 @@ package com.bonus.material.work.controller; -import cn.hutool.core.convert.Convert; -import com.bonus.common.biz.config.ListPagingUtil; -import com.bonus.common.biz.domain.lease.LeaseApplyInfo; -import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; -import com.bonus.common.log.annotation.SysLog; -import com.bonus.common.log.enums.OperaType; import com.bonus.common.security.utils.SecurityUtils; -import com.bonus.material.common.annotation.PreventRepeatSubmit; -import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo; -import com.bonus.material.lease.service.ILeaseTaskService; import com.bonus.material.ma.domain.DirectApplyInfo; -import com.bonus.material.ma.domain.DirectApplyInfoDetails; -import com.bonus.material.ma.domain.Type; -import com.bonus.material.settlement.domain.SltAgreementInfo; import com.bonus.material.work.domain.DirectAudit; import com.bonus.material.work.service.IDirectAuditService; import io.swagger.annotations.Api; @@ -24,7 +12,6 @@ import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; @@ -61,7 +48,7 @@ public class DirectAuditController extends BaseController { - @ApiOperation(value = "查看审批详情") +/* @ApiOperation(value = "查看审批详情") @GetMapping("/getAuditInfo") public AjaxResult getAuditInfo(DirectAudit du) { try { @@ -69,7 +56,7 @@ public class DirectAuditController extends BaseController { } catch (Exception e) { return AjaxResult.success(new DirectApplyInfo()); } - } + }*/ /** * 审核直转申请 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowNodeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowNodeMapper.java index e62c7267..f98b05f1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowNodeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/mapper/SysWorkflowNodeMapper.java @@ -16,4 +16,6 @@ public interface SysWorkflowNodeMapper { int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode); List listByTaskId(SysWorkflowNode sysWorkflowNode); + + SysWorkflowNode selectSysWorkflowNodeById(Integer nodeId); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/DirectAuditImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/DirectAuditImpl.java index a3614105..94ae476f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/DirectAuditImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/DirectAuditImpl.java @@ -7,24 +7,15 @@ import com.bonus.material.ma.domain.DirectApplyInfo; import com.bonus.material.work.domain.DirectAudit; import com.bonus.material.work.domain.SysWorkflowNode; -import com.bonus.material.work.domain.SysWorkflowRecord; import com.bonus.material.work.domain.SysWorkflowRecordHistory; -import com.bonus.material.work.mapper.DirectAuditMapper; -import com.bonus.material.work.mapper.SysWorkflowNodeMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordHistoryMapper; -import com.bonus.material.work.mapper.SysWorkflowRecordMapper; +import com.bonus.material.work.mapper.*; import com.bonus.material.work.service.IDirectAuditService; import lombok.extern.slf4j.Slf4j; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -40,17 +31,68 @@ public class DirectAuditImpl implements IDirectAuditService { private DirectAuditMapper mapper; @Resource - private SysWorkflowNodeMapper wfnMapper; + private SysWorkflowNodeMapper sysWorkflowNodeMapper; @Resource - private SysWorkflowRecordHistoryMapper hisMapper; + private SysWorkflowRecordHistoryMapper sysWorkflowRecordHistoryMapper; + @Resource - private SysWorkflowRecordMapper wfrMapper; + private SysWorkflowConfigMapper sysWorkflowConfigMapper; @Override public List getList(DirectApplyInfo directApplyInfo) { - return mapper.getList(directApplyInfo); + + List directApplyInfoList = mapper.getList(directApplyInfo); + for (DirectApplyInfo directApplyInfoNew : directApplyInfoList) { + log.info("当前节点为{}",directApplyInfoNew.getNodeId()); + SysWorkflowRecordHistory sysWorkflowRecordHistory = sysWorkflowRecordHistoryMapper.getWorkflowRecordHistoryByRecordId(directApplyInfoNew.getRecordId()); + directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNodeId()); + //设置当前节点 + if (1==directApplyInfoNew.getNodeSignType() && sysWorkflowRecordHistory.getNodeSort()==1){ + directApplyInfoNew.setNodeId(sysWorkflowRecordHistory.getNextNodeId()); + } + String configValue = sysWorkflowConfigMapper.selectConfigValueByNodeId(directApplyInfoNew.getNodeId()); + SysWorkflowNode sysWorkflowNode = sysWorkflowNodeMapper.selectSysWorkflowNodeById(directApplyInfoNew.getNodeId()); + directApplyInfoNew.setConfigValue(configValue); + //判断当前节点是否审核 + sysWorkflowRecordHistory.setRecordId(directApplyInfoNew.getRecordId()); + sysWorkflowRecordHistory.setNodeId(directApplyInfoNew.getNodeId()); + List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); + //判断是或签还是会签0:或签 1:会签 + if (0==sysWorkflowNode.getNodeSignType()){ + //当前节点已经审核需要修改节点值 + if (sysWorkflowRecordHistoryList.get(0)!=null){ + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + directApplyInfoNew.setConfigValue(configValueNew); + } + }else { + String[] ConfigValue = configValue.split(","); + List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); + for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { + if (sysWorkflowRecordHistoryNew != null) { + // 过滤数组元素 + filteredList = filteredList.stream() + .filter(value -> value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) + .collect(Collectors.toList()); + directApplyInfoNew.setConfigValue(filteredList.toString()); + } + } + //判断是否这个节点的所有人都审核 + if (filteredList.size() == 0) { + String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + directApplyInfoNew.setNodeId(sysWorkflowRecordHistoryList.get(0).getNextNodeId()); + directApplyInfoNew.setConfigValue(configValueNew); + } else { + if (sysWorkflowRecordHistoryList.size() > 0) { + directApplyInfoNew.setNodeId(directApplyInfoNew.getNodeId()); + directApplyInfoNew.setConfigValue(filteredList.toString()); + } + } + } + } + return directApplyInfoList; } @@ -102,7 +144,7 @@ public class DirectAuditImpl implements IDirectAuditService { String isAccept = audit.getIsAccept(); String remark = audit.getRemark(); - List nodes = wfnMapper.selectSysWorkflowNodeList(node); + List nodes = sysWorkflowNodeMapper.selectSysWorkflowNodeList(node); int flowId = audit.getFlowId(); if(nodes !=null && nodes.size()>0){ @@ -134,7 +176,7 @@ public class DirectAuditImpl implements IDirectAuditService { his.setCreateBy(SecurityUtils.getUsername()); his.setCreateTime(new Date()); his.setRemark(remark); - hisMapper.addSysWorkflowRecordHistory(his) ; + sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(his) ; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java index 94866ca9..17a10864 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/service/impl/SysWorkflowRecordHistoryServiceImpl.java @@ -86,6 +86,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis List sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory); //获取该节点需要审核人员信息 String configValueNew = sysWorkflowConfigMapper.selectConfigValueByNodeId(sysWorkflowRecordHistory.getNodeId()); + sysWorkflowNode = sysWorkflowNodeList.get(sysWorkflowNodeList.size()-1); String[] ConfigValue = configValueNew.split(","); List filteredList = Arrays.stream(ConfigValue).collect(Collectors.toList()); for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) { @@ -95,7 +96,7 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis .filter(value ->value != null && !value.equals(sysWorkflowRecordHistoryNew.getCreateBy())) .collect(Collectors.toList()); //判断是否这个节点的所有人都审核 - if (filteredList.size()==0){ + if ((filteredList.size()==0&& sysWorkflowNode.getNodeSignType()==1 )||sysWorkflowNode.getNodeSignType()==0){ SysWorkflowRecord sysWorkflowRecord = new SysWorkflowRecord(); sysWorkflowRecord.setTaskId(sysWorkflowRecordHistory.getTaskId()); sysWorkflowRecord.setWorkflowStatus(2); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/record/DerateRecordQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/record/DerateRecordQueryMapper.xml index 1e983ab4..7976f3ae 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/record/DerateRecordQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/record/DerateRecordQueryMapper.xml @@ -120,15 +120,19 @@ - \ No newline at end of file + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml index dcebb3d5..42c05e82 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/DirectAuditMapper.xml @@ -4,7 +4,7 @@ diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml index 73888d9a..18d5400c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/work/SysWorkflowNodeMapper.xml @@ -83,6 +83,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY swn.id + From c01b57d40a85dfd70282772c27571e9e89ac069a Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 6 Mar 2025 17:21:53 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lease/controller/LeaseApplyInfoController.java | 2 +- .../com/bonus/material/lease/domain/vo/LeaseOutVo.java | 3 +++ .../material/lease/mapper/LeaseApplyDetailsMapper.java | 2 +- .../material/lease/service/ILeaseApplyInfoService.java | 3 ++- .../lease/service/impl/LeaseApplyInfoServiceImpl.java | 8 +++++++- .../main/java/com/bonus/material/ma/domain/Machine.java | 3 +++ .../material/ma/service/impl/MachineServiceImpl.java | 6 ++++++ .../mapper/material/lease/LeaseApplyDetailsMapper.xml | 4 +--- 8 files changed, 24 insertions(+), 7 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java index 6678296a..0397de97 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseApplyInfoController.java @@ -122,7 +122,7 @@ public class LeaseApplyInfoController extends BaseController { @PostMapping("/exportInfo") public void exportInfo(HttpServletResponse response, LeaseApplyInfo leaseApplyInfo) { LeaseApplyRequestVo leaseApplyRequestVo = leaseApplyInfoService.getInfo(leaseApplyInfo.getId()); - leaseApplyInfoService.exportInfo(leaseApplyRequestVo, response); + leaseApplyInfoService.exportInfo(leaseApplyInfo, leaseApplyRequestVo, response); } @ApiOperation(value = "导出领料任务详情") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutVo.java index a5bdeecc..5c8d4040 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/domain/vo/LeaseOutVo.java @@ -21,6 +21,9 @@ public class LeaseOutVo { @ApiModelProperty("任务id") private Long taskId; + @ApiModelProperty("机具id") + private Long maId; + @ApiModelProperty("机具名称") private String typeName; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index e9151db3..2691fae9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -132,7 +132,7 @@ public interface LeaseApplyDetailsMapper { * @param maId * @return */ - List selectByMaId(Long maId); + List selectByMaId(@Param("maId") Long maId); /** * 根据领料任务id查询领料任务详细 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java index d60f1e7f..ea78b725 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseApplyInfoService.java @@ -111,10 +111,11 @@ public interface ILeaseApplyInfoService { /** * 导出领料出库详细 + * @param leaseApplyInfo * @param leaseApplyRequestVo * @param response */ - void exportInfo(LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response); + void exportInfo(LeaseApplyInfo leaseApplyInfo, LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response); /** * 根据id查询内部领料任务详情 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 10caf241..dfa2db03 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -704,7 +704,7 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { } @Override - public void exportInfo(LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response) { + public void exportInfo(LeaseApplyInfo leaseApplyInfo, LeaseApplyRequestVo leaseApplyRequestVo, HttpServletResponse response) { try { String fileName = "施工机具设备出库检验记录表"; String projectName = ""; @@ -714,6 +714,12 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { projectName ="领用工程:" + leaseApplyRequestVo.getLeaseApplyInfo().getLeaseProject(); unit ="使用单位:" + leaseApplyRequestVo.getLeaseApplyInfo().getLeaseUnit(); list = leaseApplyRequestVo.getLeaseOutVoList(); + if (leaseApplyInfo.getMaId() != null) { + // 过滤出list中和leaseApplyInfo.getMaId()相等的元素 + list = list.stream() + .filter(item -> item.getMaId().equals(leaseApplyInfo.getMaId())) + .collect(Collectors.toList()); + } } expOutExcel(response,list,fileName,projectName,unit); } catch (Exception e) { diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java index 598933ec..46411378 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/domain/Machine.java @@ -23,6 +23,9 @@ public class Machine extends BaseEntity { private static final long serialVersionUID = 1L; + /** 主键id */ + private Long id; + /** 机具ID */ private Long maId; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java index baad93c1..4ed26b2d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/MachineServiceImpl.java @@ -214,6 +214,12 @@ public class MachineServiceImpl implements IMachineService dto.setIsJj(1); } } + // 获取领料单详情 + List details = leaseApplyDetailsMapper.selectByMaId(dto.getMaId()); + if (CollectionUtils.isNotEmpty(details)) { + Long id = details.get(0).getId(); + dto.setId(id); + } } } return list; diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index 92fa6ba7..762391c3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -297,6 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.type_name AS typeModelName, mt.unit_name AS unit, lod.out_num AS num, + lod.ma_id AS maId, mm.ma_code AS maCode, mt.rated_load AS ratedLoad, mt.test_load AS testLoad, @@ -406,9 +407,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id LEFT JOIN lease_apply_details lad ON lod.type_id = lad.type_id LEFT JOIN purchase_check_details pcd ON lod.type_id = pcd.type_id - - JOIN ma_type_keeper mtk ON mtk.type_id = lod.type_id AND mtk.user_id = #{userId} - WHERE lod.ma_id = #{maId} GROUP BY lod.type_id, mm.ma_code ORDER BY lod.create_time DESC From da6c7bc0fbcd6e80f85deb514200d4c8ddec4116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 6 Mar 2025 17:52:12 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E7=9B=B4=E8=BD=AC=E5=92=8C=E5=87=8F?= =?UTF-8?q?=E5=85=8D=E5=AE=A1=E6=A0=B8=E9=80=BB=E8=BE=91=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/controller/SysWorkflowTypeController.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/SysWorkflowTypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/SysWorkflowTypeController.java index c1eba864..a3f90dee 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/SysWorkflowTypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/SysWorkflowTypeController.java @@ -20,7 +20,7 @@ public class SysWorkflowTypeController extends BaseController { @Resource - private SysWorkflowTypeService sysWorkflowTypeServicel; + private SysWorkflowTypeService sysWorkflowTypeService; /** * 审批类型列表 @@ -31,7 +31,7 @@ public class SysWorkflowTypeController extends BaseController { { try { startPage(); - List list = sysWorkflowTypeServicel.selectSysWorkflowTypeList(sysWorkflowType); + List list = sysWorkflowTypeService.selectSysWorkflowTypeList(sysWorkflowType); return getDataTable(list); }catch (Exception e){ return getDataTableError(null); @@ -46,7 +46,7 @@ public class SysWorkflowTypeController extends BaseController { public AjaxResult add(@RequestBody SysWorkflowType sysWorkflowType) { try { - sysWorkflowTypeServicel.addSysWorkflowType(sysWorkflowType); + sysWorkflowTypeService.addSysWorkflowType(sysWorkflowType); return new AjaxResult(200,"新增成功!"); }catch (Exception e){ return error(); @@ -61,7 +61,7 @@ public class SysWorkflowTypeController extends BaseController { public AjaxResult delete(@RequestBody SysWorkflowType sysWorkflowType) { try { - sysWorkflowTypeServicel.deleteSysWorkflowType(sysWorkflowType); + sysWorkflowTypeService.deleteSysWorkflowType(sysWorkflowType); return new AjaxResult(200,"删除成功!"); }catch (Exception e){ return error(); @@ -76,7 +76,7 @@ public class SysWorkflowTypeController extends BaseController { public AjaxResult update(@RequestBody SysWorkflowType sysWorkflowType) { try { - sysWorkflowTypeServicel.updateSysWorkflowType(sysWorkflowType); + sysWorkflowTypeService.updateSysWorkflowType(sysWorkflowType); return new AjaxResult(200,"修改成功!"); }catch (Exception e){ return error(); From 24e508ec172f306797bb5da9b9ef5575df0a9730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 6 Mar 2025 17:57:03 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E7=9B=B4=E8=BD=AC=E5=92=8C=E5=87=8F?= =?UTF-8?q?=E5=85=8D=E5=AE=A1=E6=A0=B8=E9=80=BB=E8=BE=91=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/work/controller/DirectAuditController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java index 66fe2fe2..bdb48c79 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/work/controller/DirectAuditController.java @@ -61,7 +61,7 @@ public class DirectAuditController extends BaseController { /** * 审核直转申请 */ - @ApiOperation(value = "审核直转申请") + /* @ApiOperation(value = "审核直转申请") @PostMapping("/auditDir") public AjaxResult auditDir(@RequestBody DirectAudit audit) { try { @@ -70,5 +70,5 @@ public class DirectAuditController extends BaseController { return AjaxResult.error("保存失败"); } } - +*/ } From 5c2d2f6119815b8d578f6a5dd74db7c997a645f9 Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 6 Mar 2025 18:20:39 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/biz/aspect/StoreLogAspect.java | 1 + .../common/biz/domain/lease/LeaseOutDetails.java | 3 +++ .../bonus/material/basic/domain/OutRecordInfo.java | 9 +++++++++ .../service/impl/LeaseOutDetailsServiceImpl.java | 2 ++ .../material/ma/controller/TypeController.java | 11 +++++++++++ .../com/bonus/material/ma/mapper/TypeMapper.java | 7 +++++++ .../bonus/material/ma/service/ITypeService.java | 7 +++++++ .../material/ma/service/impl/TypeServiceImpl.java | 11 +++++++++++ .../mapper/material/basic/ComplexQueryMapper.xml | 14 +++++++++++--- .../resources/mapper/material/ma/TypeMapper.xml | 9 +++++++++ 10 files changed, 71 insertions(+), 3 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java index 9ea70a1b..2376ada6 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/aspect/StoreLogAspect.java @@ -144,6 +144,7 @@ public class StoreLogAspect { bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType())); bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName()); bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum()); + bmStorageLog.setAgreementId(leaseOutDetails.getAgreementId()); //数量类型设备 if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) { bmStorageLog.setOutNum(leaseOutDetails.getInputNum()); diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java index 04a3a14b..d9af335b 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/lease/LeaseOutDetails.java @@ -102,4 +102,7 @@ public class LeaseOutDetails extends BaseEntity { @ApiModelProperty(value = "发布批次") private String publishTask; + + @ApiModelProperty(value = "协议id") + private Long agreementId; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/OutRecordInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/OutRecordInfo.java index c5e34c6d..1d53dc27 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/OutRecordInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/OutRecordInfo.java @@ -98,4 +98,13 @@ public class OutRecordInfo { @ApiModelProperty(value = "装备管理方式") private String manageType; + + @ApiModelProperty(value = "三级ID") + private Integer thirdTypeId; + + @ApiModelProperty(value = "二级ID") + private Integer secondTypeId; + + @ApiModelProperty(value = "一级ID") + private Integer firstTypeId; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index ddadac5e..0390062e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -442,6 +442,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { BigDecimal outNum = record.getOutNum(); sltAgreementInfo.setNum(num.add(outNum)); res = sltAgreementInfoMapper.updSltInfo(sltAgreementInfo); + record.setAgreementId(sltAgreementInfo.getAgreementId()); } else { String agreementId = " "; agreementId = tmTaskAgreementMapper.getAgreementId(taskId); @@ -462,6 +463,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { } } res = sltAgreementInfoMapper.insSltInfo(record, agreementId, maType); + record.setAgreementId(Long.valueOf(agreementId)); } return res; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java index c547c702..229466a5 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/controller/TypeController.java @@ -120,6 +120,17 @@ public class TypeController extends BaseController { } } + /** + * 查询一级列表 + * @param maTypeVo + * @return + */ + @ApiOperation(value = "查询一级列表") + @GetMapping("/getListLevel") + public AjaxResult getListLevel(MaTypeVo maTypeVo) { + return typeService.getListLevel(maTypeVo); + } + /** * 根据物资仓库ID查询施工类型 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java index cbe2d2ce..b6ca8868 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/mapper/TypeMapper.java @@ -189,4 +189,11 @@ public interface TypeMapper { * @return */ List selectMaTypeThreeLists(Long agreementId); + + /** + * 查询一级列表 + * @param maTypeVo + * @return + */ + List getListLevel(MaTypeVo maTypeVo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java index 3fd9e583..7ba9a874 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/ITypeService.java @@ -130,4 +130,11 @@ public interface ITypeService { * @return */ List getEquipmentThreeTypes(Long typeId, Long agreementId); + + /** + * 查询一级列表 + * @param maTypeVo + * @return + */ + AjaxResult getListLevel(MaTypeVo maTypeVo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java index f9b50eaa..cee4c3c4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/ma/service/impl/TypeServiceImpl.java @@ -183,6 +183,17 @@ public class TypeServiceImpl implements ITypeService { return list; } + /** + * 查询一级列表 + * @param maTypeVo + * @return + */ + @Override + public AjaxResult getListLevel(MaTypeVo maTypeVo) { + List maTypeVos = typeMapper.getListLevel(maTypeVo); + return AjaxResult.success(maTypeVos); + } + @Override public List selectMaTypeListByHouseId(Long houseId) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index e4773d9c..7a4cdc1c 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -321,11 +321,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN bs.out_type = '2' THEN '二维码' WHEN bs.out_type = '3' THEN '标准箱' ELSE '未知入库方式' - END AS outStyle + END AS outStyle, + mt3.type_id as firstTypeId, + mt2.type_id as secondTypeId FROM bm_storage_log bs - LEFT JOIN tm_task_agreement tta ON tta.task_id = bs.task_id - LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id + LEFT JOIN bm_agreement_info bai ON bai.agreement_id = bs.agreement_id LEFT JOIN bm_project bpl ON bpl.pro_id = bai.project_id LEFT JOIN sys_dept sd on sd.dept_id = bpl.imp_unit LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id @@ -333,6 +334,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt.del_flag = '0' LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' + LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id + AND mt2.del_flag = '0' + LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id + AND mt3.del_flag = '0' LEFT JOIN tm_task tt ON bs.task_id = tt.task_id WHERE bs.out_num != 0 @@ -358,6 +363,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bs.type_model_name like CONCAT('%',#{typeModelName},'%') + + and mt3.type_id = #{firstTypeId} + AND bs.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml index 7c383c08..45549938 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/ma/TypeMapper.xml @@ -918,4 +918,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE sai.agreement_id = #{agreementId} AND sai.STATUS = '0') + +