diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java index 6ead812e..6910f01e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/service/impl/MaterialLeaseInfoServiceImpl.java @@ -1004,6 +1004,7 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { if (leaseApplyInfo != null && leaseApplyInfo.getId() != null) { leaseApplyInfo.setUpdateTime(DateUtils.getNowDate()); leaseApplyInfo.setUpdateBy(createBy); + leaseApplyInfo.setProjectId(String.valueOf(leaseApplyInfo.getProId())); // 去除创建一个新的数组对象,直接复用 Long id = leaseApplyInfo.getId(); @@ -1040,8 +1041,58 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { }*/ insertPurchaseCheckDetails(createBy, leaseApplyInfo.getTaskId(), leaseApplyRequestVo.getLeaseApplyDetailsList(), leaseApplyInfo.getId(), leaseApplyRequestVo.getLeaseApplyInfo().getIsOut()); } + + //协议进行编辑修改 clz_bm_agreement_info + BmAgreementInfo bmAgreementInfo = new BmAgreementInfo(); + bmAgreementInfo.setProjectId(leaseApplyRequestVo.getLeaseApplyInfo().getProId()); + bmAgreementInfo.setCreateTime(DateUtils.getNowDate()); + bmAgreementInfo.setCreateBy(createBy); + bmAgreementInfo.setSignTime(DateUtils.getNowDate()); + // 先根据班组名称查询此班组是否存在 + BmTeam tbTeam = new BmTeam(); + tbTeam.setTeamName(leaseApplyRequestVo.getLeaseApplyInfo().getTeamName()); + tbTeam.setRelName(StringUtils.isNotBlank(leaseApplyRequestVo.getLeaseApplyInfo().getRelName()) ? leaseApplyRequestVo.getLeaseApplyInfo().getRelName() : null); + tbTeam.setIdCard(StringUtils.isNotBlank(leaseApplyRequestVo.getLeaseApplyInfo().getTeamLeaderIdCard()) ? leaseApplyRequestVo.getLeaseApplyInfo().getTeamLeaderIdCard() : null); + tbTeam.setProjectId(String.valueOf(leaseApplyRequestVo.getLeaseApplyInfo().getProId())); + tbTeam.setRelPhone(StringUtils.isNotBlank(leaseApplyRequestVo.getLeaseApplyInfo().getRelPhone()) ? leaseApplyRequestVo.getLeaseApplyInfo().getRelPhone() : null); + // 班组类型固定传值 + tbTeam.setTypeId(1731L); + BmTeam bmTeam = bmTeamMapper.selectByName(tbTeam); + if (bmTeam == null) { + // 新增班组 + tbTeam.setCreateUser(SecurityUtils.getLoginUser().getUserid().toString()); + int result = bmTeamMapper.insert(tbTeam); + if (result <= 0) { + return false; + } + bmAgreementInfo.setUnitId(tbTeam.getId()); + leaseApplyInfo.setTeamId(String.valueOf(tbTeam.getId())); + } else { + bmAgreementInfo.setUnitId(bmTeam.getId()); + leaseApplyInfo.setTeamId(String.valueOf(bmTeam.getId())); +// bmTeamMapper.update(tbTeam); + } + // 先根据班组和工程id查询,若存在则直接返回,不存在则新增 + BmAgreementInfo info = bmAgreementInfoMapper.queryByTeamIdAndProjectIdCl(bmAgreementInfo); + if (info != null) { + leaseApplyRequestVo.getLeaseApplyInfo().setAgreementId(info.getAgreementId()); + } else { + bmAgreementInfo.setAgreementCode(getAgreementCode()); + int count = bmAgreementInfoMapper.insertBmAgreementInfoClz(bmAgreementInfo); + if (count > 0) { + leaseApplyRequestVo.getLeaseApplyInfo().setAgreementId(bmAgreementInfo.getAgreementId()); + } else { + return false; + } + } + // 修改外层info materialLeaseInfoMapper.updateLeaseApplyInfo(leaseApplyInfo); + + // 修改tm_task_agreement + TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(leaseApplyInfo.getTaskId(), leaseApplyRequestVo.getLeaseApplyInfo().getAgreementId()); + tmTaskAgreementMapper.updateTaskAgreement(tmTaskAgreement); + // 根据任务id修改任务状态 if (leaseApplyRequestVo.getLeaseApplyInfo().getIsOut() == 1) { tmTaskMapper.updateTaskStatus(leaseApplyInfo.getTaskId().toString(), LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus()); 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 c43ba6fc..e8e8305a 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 @@ -78,4 +78,7 @@ public interface TmTaskAgreementMapper { * @return */ String selectAgreementId(String publishTask); + + + void updateTaskAgreement(TmTaskAgreement tmTaskAgreement); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml index ef9201e0..dafcc6f0 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialBackInfoMapper.xml @@ -388,17 +388,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.type_name AS modelCode, mt2.type_name AS typeCode, mt.manage_type AS manageType, - IFNULL( bad.pre_num, 0 ) AS backNum, - mt.unit_name AS unitNames + sum(bcd.back_num) AS backNum, + mt.unit_name AS unitNames, + bcd.remark AS remark FROM - back_apply_details bad - LEFT JOIN ma_type mt ON bad.type_id = mt.type_id - AND mt.`level` = '4' AND mt.del_flag = '0' - LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id - AND mt2.`level` = '3' AND mt2.del_flag = '0' - LEFT JOIN back_apply_info bai ON bad.parent_id = bai.id + back_check_details bcd + LEFT JOIN back_apply_info bai ON bcd.parent_id = bai.id + LEFT JOIN ma_type mt ON mt.type_id = bcd.type_id 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 WHERE - bai.`code` = #{code} + bcd.parent_id = #{parentId} + group by bcd.type_id