diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java index bddc3eaf..836f3f7f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/clz/mapper/MaterialLeaseInfoMapper.java @@ -357,4 +357,11 @@ public interface MaterialLeaseInfoMapper { * @return */ List getList(@Param("id") Long id, @Param("typeId") Long typeId); + + /** + * 根据任务id查询领料任务ID + * @param ids + * @return + */ + List getTaskIds(Long[] ids); } 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 d151aa92..efe051a2 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 @@ -1176,7 +1176,22 @@ public class MaterialLeaseInfoServiceImpl implements MaterialLeaseInfoService { */ @Override public int deleteLeaseApplyInfoByIds(Long[] ids) { - int result = materialLeaseInfoMapper.deleteLeaseApplyInfoByIds(ids); + int result = 0; + // 根据ids查询任务id + List taskIds = materialLeaseInfoMapper.getTaskIds(ids); + if (!CollectionUtils.isEmpty(taskIds)) { + // 根据任务id删除任务表数据 + result = tmTaskMapper.deleteTaskByIds(taskIds); + if (result < 1) { + throw new ServiceException("删除任务信息失败"); + } + // 根据任务id删除任务协议表数据 + result = tmTaskMapper.deleteAgreementId(taskIds); + if (result < 1) { + throw new ServiceException("删除任务协议信息失败"); + } + } + result = materialLeaseInfoMapper.deleteLeaseApplyInfoByIds(ids); if (result > 0) { // 删除lease_apply_details表数据 result += materialLeaseInfoMapper.deleteLeaseApplyDetailsByParentIds(ids); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java index 5186f812..a2bd61d3 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java @@ -145,4 +145,18 @@ public interface TmTaskMapper { * @return */ List selectLeaseApplyInfoByTaskNo(String code); + + /** + * 批量删除任务 + * @param taskIds + * @return + */ + int deleteTaskByIds(@Param("taskIds") List taskIds); + + /** + * 批量删除协议id + * @param taskIds + * @return + */ + int deleteAgreementId(@Param("taskIds") List taskIds); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml index e222378e..dc94eb6f 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialLeaseInfoMapper.xml @@ -1202,4 +1202,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND su.sign_type IS NOT NULL AND su.sign_url IS NOT NULL + \ 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 7892892b..c87a25ba 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 @@ -139,6 +139,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + delete from tm_task where task_id in + + #{taskId} + + + + + delete from tm_task_agreement where task_id in + + #{taskId} + + +