From 6671f69b4d24869f3f321a15f511c2ad61b64c04 Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期一, 19 五月 2025 15:12:48 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev --- aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml | 47 ++++++++++- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java | 16 ++++ aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java | 7 - aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java | 15 ++- aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java | 6 - aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java | 3 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java | 55 +++++++++++++ aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java | 9 ++ aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java | 3 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java | 29 +------ aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java | 17 ++++ aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java | 7 + aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml | 7 + 13 files changed, 176 insertions(+), 45 deletions(-) diff --git a/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java b/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java index 659c1fe..4460773 100644 --- a/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java +++ b/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java @@ -26,6 +26,13 @@ /** + * 鍒ゆ柇鏄惁瀛樺湪閿� + * */ + public boolean existLock(String key,String value){ + return this.redisTemplate.opsForValue().get(key).equals(value); + } + + /** * 鍔犻攣 **/ public Boolean getLock(String key,String value,Long timeoutSeconds){ diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java index 7aa2adc..979cdf9 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java @@ -1,13 +1,11 @@ package com.aps.core.controller.mainPlan; -import com.aps.common.core.domain.R; import com.aps.common.core.web.controller.BaseController; import com.aps.common.core.web.page.PageDomain; -import com.aps.common.core.web.page.TableDataInfo; import com.aps.common.core.web.page.TableSupport; +import com.aps.common.security.annotation.RequiresPermissions; import com.aps.core.domain.ApsPlanTask; import com.aps.core.service.ApsPlanTaskService; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -25,7 +23,7 @@ @Autowired private ApsPlanTaskService apsPlanTaskService; -// @RequiresPermissions("planTask:list") + @RequiresPermissions("planTask:list") @GetMapping("/list") public Page<ApsPlanTask> list(ApsPlanTask task){ PageDomain pageDomain = TableSupport.buildPageRequest(); diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java index b9da482..80fdbaf 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java @@ -138,14 +138,11 @@ /** * 鐢熸垚閽i噾璁″垝 * */ + @PostMapping("/generatorPlan") public AjaxResult generatorPlan() { - String batchNum= requireBatchService.getNewBatchNumber(); - planTaskService.savePlanTask(batchNum); - apsPlateStandardRequireService.generatorPlan(batchNum); - planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); - return success(); + return planTaskService.generatorPlan(); } } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java index 2eb96d4..ba4355e 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java @@ -22,30 +22,6 @@ private Long id; /** - * Bom鈥擮rder鍏崇郴ID - */ - @TableField(value = "bom_order_id") - private Long bomOrderId; - - /** - * 闇�姹侷D - */ - @TableField(value = "require_id") - private Long requireId; - - /** - * 闇�姹傝拷婧疘D - */ - @TableField(value = "require_track_id") - private String requireTrackId; - - /** - * 鏂欏彿 - */ - @TableField(value = "bom_line_code") - private String bomLineCode; - - /** * 璁㈠崟鍙� */ @TableField(value = "doc_no") @@ -54,6 +30,11 @@ /** * 鑷畾涔夎鍒掑畬鎴愭椂闂� */ + @TableField(value = "plan_start_day") + private Date planStartDay; + /** + * 鑷畾涔夎鍒掑畬鎴愭椂闂� + */ @TableField(value = "plan_end_day") private Date planEndDay; diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java b/aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java new file mode 100644 index 0000000..3efba69 --- /dev/null +++ b/aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java @@ -0,0 +1,17 @@ +package com.aps.core.enums; + +public enum REDIS_LOCK_KEY { + + /*閽i噾宸ュ崟璁″垝浠诲姟*/ + PLATE_ORDER_PLAN("PLAN_TASK:PLATE_ORDER_PLAN"); + + private String key; + + public String getKey() { + return key; + } + + REDIS_LOCK_KEY(String key) { + this.key = key; + } +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java index 9ce7388..6238f9c 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java @@ -1,7 +1,11 @@ package com.aps.core.mapper; +import com.aps.core.domain.ApsPlate.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; /** * @author zhl @@ -9,8 +13,13 @@ * @createDate 2025-05-19 10:20:50 * @Entity com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay */ +@Mapper public interface ApsPlateStandardRequireOrderEndDayMapper extends BaseMapper<ApsPlateStandardRequireOrderEndDay> { + Integer batchInsert(List<Long> planIds,String createBy); + Integer batchRemove(List<Long> planIds); + + } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java index 217acc1..ae44ce9 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java @@ -1,5 +1,6 @@ package com.aps.core.service; +import com.aps.common.core.web.domain.AjaxResult; import com.aps.core.domain.ApsPlanTask; import com.aps.core.enums.PLAN_TASK_STATUS; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -20,4 +21,6 @@ void savePlanTask(String batchNum); void updateTaskStatus(String batchNum, PLAN_TASK_STATUS status); + + AjaxResult generatorPlan(); } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java index 45ec7db..c696ef1 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java @@ -3,6 +3,8 @@ import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @author zhl * @description 閽堝琛ㄣ�恆ps_plate_standard_require_order_end_day(闇�姹傝鍒掑畬鎴愭棩鏈熻〃)銆戠殑鏁版嵁搴撴搷浣淪ervice @@ -10,4 +12,5 @@ */ public interface ApsPlateStandardRequireOrderEndDayService extends IService<ApsPlateStandardRequireOrderEndDay> { + int saveBatch(List<Long> planIds); } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java index 36fd10b..383f5f6 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java @@ -1,34 +1,52 @@ package com.aps.core.service.impl; import cn.hutool.core.util.IdUtil; +import com.aps.common.core.domain.R; import com.aps.common.core.utils.DateUtils; +import com.aps.common.core.web.domain.AjaxResult; +import com.aps.common.redis.service.RedisLockUtils; import com.aps.common.security.utils.SecurityUtils; import com.aps.core.enums.PLAN_TASK_STATUS; import com.aps.core.enums.PLAN_TASK_TYPE; +import com.aps.core.enums.REDIS_LOCK_KEY; +import com.aps.core.service.ApsPlate.IApsPlateStandardRequireBatchService; +import com.aps.core.service.ApsPlate.IApsPlateStandardRequireService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.aps.core.domain.ApsPlanTask; import com.aps.core.service.ApsPlanTaskService; import com.aps.core.mapper.ApsPlanTaskMapper; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import static com.aps.common.core.web.domain.AjaxResult.success; +import static com.aps.core.enums.REDIS_LOCK_KEY.PLATE_ORDER_PLAN; /** * @author zhl * @description 閽堝琛ㄣ�恆ps_plan_task(璁″垝鐢熸垚鏃ュ織琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 * @createDate 2025-05-16 14:41:49 */ + +@Slf4j @Service public class ApsPlanTaskServiceImpl extends ServiceImpl<ApsPlanTaskMapper, ApsPlanTask> implements ApsPlanTaskService{ @Autowired ApsPlanTaskMapper mapper; + @Autowired + private IApsPlateStandardRequireService apsPlateStandardRequireService; + @Resource + IApsPlateStandardRequireBatchService requireBatchService; + @Resource + RedisLockUtils redisLockUtils; + + @Override public Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page ,ApsPlanTask task){ LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.like( !task.getTaskType().isEmpty(), ApsPlanTask::getTaskType,task.getTaskType()); @@ -65,6 +83,39 @@ .build(); baseMapper.update(task,queryWrapper); } + + @Override + public AjaxResult generatorPlan() + { + String plateOrderPlanKey = PLATE_ORDER_PLAN.getKey(); + boolean existsLock = redisLockUtils.existLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + if (existsLock){ + return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!"); + } + LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>(); + queryWrapper.eq(ApsPlanTask::getTaskType,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + queryWrapper.eq(ApsPlanTask::getTaskStatus,PLAN_TASK_STATUS.IN_PROCESS.getCode()); + boolean existsDbTask = mapper.exists(queryWrapper); + if (existsDbTask){ + return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!!"); + } + try { + redisLockUtils.getLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode(), 3*60L); + String batchNum= requireBatchService.getNewBatchNumber(); + this.savePlanTask(batchNum); + apsPlateStandardRequireService.generatorPlan(batchNum); + this.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); + log.info("璁″垝浠诲姟鎵ц瀹屾垚!"+batchNum); + return success(); + }catch (Exception e){ + redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + log.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage()); + return AjaxResult.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage()); + }finally { + redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode()); + } + } + } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java index 056b72f..21c6be4 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java @@ -11,6 +11,7 @@ import com.aps.core.service.ApsPlate.IApsPlateOrderPlanManagerService; import com.aps.core.service.ApsPlate.IApsPlateStandardRequireBatchService; import com.aps.core.service.ApsPlate.IApsPlateStandardRequireService; +import com.aps.core.service.ApsPlateStandardRequireOrderEndDayService; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,6 +36,9 @@ IApsPlateStandardRequireBatchService requireBatchService; @Resource ApsPlanTaskService planTaskService; + @Resource + ApsPlateStandardRequireOrderEndDayService orderEndDayService; + /** * 鏌ヨ閽i噾宸ュ崟璁″垝绠$悊 * @@ -69,15 +73,18 @@ apsPlateOrderPlanDate.setUpdateBy(SecurityUtils.getUsername()); apsPlateOrderPlanManagerMapper.updatePlanDateByCustom(apsPlateOrderPlanDate); } else { - List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(apsPlateOrderPlanDate.getPlanIds()); + List<Long> planIds = apsPlateOrderPlanDate.getPlanIds(); + orderEndDayService.saveBatch(planIds); + + /*List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(planIds); planRequireDates.forEach(planRequireDate -> { planRequireDate.setUpdateBy(SecurityUtils.getUsername()); apsPlateOrderPlanManagerMapper.updatePlanDateByBatch(planRequireDate); - }); + });*/ } - String batchNum= requireBatchService.getNewBatchNumber(); +/* String batchNum= requireBatchService.getNewBatchNumber(); planTaskService.savePlanTask(batchNum); apsPlateStandardRequireService.generatorPlan(batchNum); - planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); + planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED);*/ } } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java index b128161..924c909 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java @@ -1,10 +1,15 @@ package com.aps.core.service.impl.ApsPlate; +import com.aps.common.security.utils.SecurityUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay; import com.aps.core.service.ApsPlateStandardRequireOrderEndDayService; import com.aps.core.mapper.ApsPlateStandardRequireOrderEndDayMapper; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * @author zhl @@ -15,6 +20,17 @@ public class ApsPlateStandardRequireOrderEndDayServiceImpl extends ServiceImpl<ApsPlateStandardRequireOrderEndDayMapper, ApsPlateStandardRequireOrderEndDay> implements ApsPlateStandardRequireOrderEndDayService{ + @Resource + ApsPlateStandardRequireOrderEndDayMapper mapper; + + + @Transactional + @Override + public int saveBatch(List<Long> planIds) + { + mapper.batchRemove(planIds); + return mapper.batchInsert(planIds, SecurityUtils.getUsername()); + } } diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml index ece5968..b25cfcc 100644 --- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml +++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml @@ -143,10 +143,13 @@ (rt.standard_time * pl.production_quantity) as process_total_time, rt.process_plan_start_day, rt.process_plan_end_day, - pl.plan_end_day as order_plan_end_day + pl.plan_end_day, + COALESCE(rd.plan_end_day,pl.plan_end_day) as order_plan_end_day from aps_plate_plan as pl left join aps_process_route as rt on pl.document_number = rt.work_order_no - where pl.document_number is not null and rt.work_order_no is not null and pl.plan_end_day is not null + left join aps_plate_standard_require_order_end_day as rd on pl.document_number = rd.doc_no and rd.del_flag =0 + where pl.document_number is not null and rt.work_order_no is not null and + (pl.plan_end_day is not null or rd.plan_end_day is not null ) order by rt.work_order_no asc, rt.process_number desc </select> <update id="removeOtherStat" parameterType="String"> diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml index 4005b20..eeaab37 100644 --- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml +++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml @@ -6,11 +6,9 @@ <resultMap id="BaseResultMap" type="com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay"> <id property="id" column="id" /> - <result property="bomOrderId" column="bom_order_id" /> - <result property="requireId" column="require_id" /> - <result property="requireTrackId" column="require_track_id" /> - <result property="bomLineCode" column="bom_line_code" /> + <result property="docNo" column="doc_no" /> + <result property="planStartDay" column="plan_end_day" /> <result property="planEndDay" column="plan_end_day" /> <result property="orgCode" column="org_code" /> <result property="batchNumber" column="batch_number" /> @@ -26,4 +24,45 @@ plan_end_day,org_code,batch_number,del_flag,create_by, create_time,update_by,update_time </sql> + + <sql id="select_plan_time"> + with a as ( + select snow_next_id() as id, + plan.id as plan_id, + detail.doc_no, + min(require.start_date) as start_date, + min(require.complete_date) as end_date, + detail.org_code, + detail.batch_number + from aps_plate_standard_require_bom_order_detail detail + left join aps_plate_standard_require require on detail.require_id = require.id and require.del_flag = '0' + left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0' + where detail.del_flag = '0' and require.del_flag = '0' and detail.del_flag='0' + and plan.id in + <foreach collection="planIds" item="planId" open="(" separator="," close=")"> + #{planId} + </foreach> + group by plan.id ,detail.doc_no,detail.org_code,detail.batch_number + ) + </sql> + <insert id="batchInsert" parameterType="Long"> + <include refid="select_plan_time" /> + insert into aps_plate_standard_require_order_end_day + (id,plan_id, doc_no, plan_start_day, plan_end_day, org_code, batch_number + , del_flag, create_time, create_by + ) + select a.id, a.plan_id, a.doc_no, a.start_date, a.end_date, a.org_code, a.batch_number, + 0, now(), #{createBy} + from a + + </insert> + <update id="batchRemove" parameterType="Long"> + update aps_plate_standard_require_order_end_day + set del_flag=1 + where plan_id in + <foreach collection="planIds" item="planId" open="(" separator="," close=")"> + #{planId} + </foreach> + </update> + </mapper> -- Gitblit v1.9.3