diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java index 682bf98c..6fffcb5d 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/controller/TmTaskController.java @@ -278,7 +278,16 @@ public class TmTaskController extends BaseController { if (CollUtil.isEmpty(task.getLeaseApplyInfoList())){ return AjaxResult.error("任务表修改完成,但领料任务明细为空,执行失败!"); } - // 先删除原有的领料任务明细 + + // 根据参数判断是否需要修改工程与往来单位 + if (StringUtils.isNotNull(task.getProjectId()) && StringUtils.isNotNull(task.getUnitId())) { + Integer agreementId = tmTaskService.getAgreementIdByUnit(task); + if (StringUtils.isNotNull(agreementId)) { + task.setAgreementId(agreementId); + tmTaskService.updateAgreementByTask(task); // 修改任务关联的协议 + } + } + for (LeaseApplyInfo leaseApplyInfo : task.getLeaseApplyInfoList()) { if (leaseApplyInfo == null || leaseApplyInfo.getId() == null) { continue; @@ -286,7 +295,7 @@ public class TmTaskController extends BaseController { if (StringUtils.isEmpty(leaseApplyInfo.getLeaseApplyDetails())) { continue; } - // 执行删除 + // 先删除之前的领料明细 tmTaskService.deleteDetailsByParentId(String.valueOf(leaseApplyInfo.getId())); // 删除后,插入新地领料任务明细 if (StringUtils.isNotNull(leaseApplyInfo.getId())) { diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java index b90c37c8..fee2d043 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java @@ -76,10 +76,15 @@ public interface TmTaskMapper { int insertAgreement(TmTask record); + int updateAgreementByTask(TmTask record); + int selectNumByMonth(Date nowDate); TmTask getLeaseListTmTask(TmTask task); + LeaseApplyInfo getLeaseListByLeaseInfo(TmTask task); + + Integer getAgreementIdByUnit(TmTask task); List getLeaseListByLeaseInfo(TmTask task); // LeaseApplyInfo getLeaseListByLeaseInfo(TmTask task); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java index 072bf814..5447b5ae 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/TmTaskService.java @@ -41,6 +41,10 @@ public interface TmTaskService{ int updateByPrimaryKeySelective(TmTask record); + Integer getAgreementIdByUnit(TmTask task); + + int updateAgreementByTask(TmTask record); + int updateByPrimaryKey(TmTask record); int updateBatch(List list); diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java index 0187bdd9..910d6ec4 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java @@ -190,6 +190,24 @@ public class TmTaskServiceImpl implements TmTaskService{ return tmTaskMapper.updateByPrimaryKeySelective(record); } + /** + * @param task 查询条件 + * @return 协议的id + */ + @Override + public Integer getAgreementIdByUnit(TmTask task) { + return tmTaskMapper.getAgreementIdByUnit(task); + } + + /** + * @param record 修改信息 + * @return 结果 + */ + @Override + public int updateAgreementByTask(TmTask record) { + return tmTaskMapper.updateAgreementByTask(record); + } + @Override public int updateByPrimaryKey(TmTask record) { return tmTaskMapper.updateByPrimaryKey(record); diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml index 4dd84da8..0d002086 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml @@ -442,12 +442,17 @@ - INSERT INTO tm_task_agreement ( `task_id`, `agreement_id`, `create_by`, `create_time`, `company_id` ) VALUES(#{id},#{agreementId},#{createBy},NOW(),#{companyId}) + + + update tm_task_agreement set agreement_id = #{agreementId}, update_time = now() + where task_id = #{taskId} + + + select agreement_id from bm_agreement_info + where unit_id = #{unitId} and project_id = #{projectId} + + \ No newline at end of file