aps-common/aps-common-core/src/main/java/com/aps/common/core/config/MyBatisPlusConfig.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; @@ -15,14 +16,16 @@ * å页æä»¶ */ @Bean public PaginationInnerInterceptor paginationInterceptor() { public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor(); // 设置请æ±ç页é¢å¤§äºæå¤§é¡µåæ¯å¦è¿è¡åæ», trueåæ», falseç»§ç» paginationInterceptor.setOverflow(false); // 设置æå¤§å页éå¶æ°é, é»è®¤ 500 æ¡, -1 ä¸åéå¶ paginationInterceptor.setDbType(DbType.MYSQL); paginationInterceptor.setDbType(DbType.POSTGRE_SQL); paginationInterceptor.setMaxLimit(-1L); return paginationInterceptor; interceptor.addInnerInterceptor(paginationInterceptor); return interceptor; } /** aps-common/aps-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1,3 @@ com.aps.common.core.utils.SpringUtils com.aps.common.core.utils.uuid.Sequence com.aps.common.core.utils.uuid.Sequence com.aps.common.core.config.MyBatisPlusConfig aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,35 @@ 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.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; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 计åä»»å¡ç®¡ç * */ @RestController @RequestMapping("/planTask") public class ApsPlanTaskController extends BaseController { @Autowired private ApsPlanTaskService apsPlanTaskService; // @RequiresPermissions("planTask:list") @GetMapping("/list") public Page<ApsPlanTask> list(ApsPlanTask task){ PageDomain pageDomain = TableSupport.buildPageRequest(); Page<ApsPlanTask> page = new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize()); return apsPlanTaskService.pagingList(page, task); } } aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateStandardRequireController.java
@@ -8,7 +8,11 @@ import com.aps.common.log.enums.BusinessType; import com.aps.common.security.annotation.RequiresPermissions; import com.aps.core.domain.ApsPlateStandardRequire; import com.aps.core.enums.PLAN_TASK_STATUS; import com.aps.core.service.ApsPlanTaskService; import com.aps.core.service.IApsPlateStandardRequireBatchService; import com.aps.core.service.IApsPlateStandardRequireService; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -29,6 +33,10 @@ { @Autowired private IApsPlateStandardRequireService apsPlateStandardRequireService; @Resource IApsPlateStandardRequireBatchService requireBatchService; @Resource ApsPlanTaskService planTaskService; /** * æ¥è¯¢é£éå·¥åæ åéæ±å表 @@ -133,7 +141,10 @@ @PostMapping("/generatorPlan") public AjaxResult generatorPlan() { apsPlateStandardRequireService.generatorPlan(); String batchNum= requireBatchService.getNewBatchNumber(); planTaskService.savePlanTask(batchNum); apsPlateStandardRequireService.generatorPlan(batchNum); planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); return success(); } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlanTask.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ package com.aps.core.domain; import com.aps.common.core.web.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; /** * 计åçææ¥å¿è¡¨ * @TableName aps_plan_task */ @ToString @EqualsAndHashCode(callSuper = false) @TableName(value ="aps_plan_task") @Data @Builder public class ApsPlanTask extends BaseEntity implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; /** * 主é®ID */ @TableField(value = "id") @TableId(type = IdType.INPUT) private Long id; /** * 任塿¹æ¬¡å· */ @TableField(value = "batch_num") private String batchNum; /** * ä»»å¡ç±»å */ @TableField(value = "task_type") private String taskType; /** * ä»»å¡ç¶æ */ @TableField(value = "task_status") private String taskStatus; /** * å建人 */ @TableField(value = "create_by") private String createBy; /** * å建æ¶é´ */ @TableField(value = "create_time") private Date createTime; /** * æ´æ°äºº */ @TableField(value = "update_by") private String updateBy; /** * æ´æ°æ¶é´ */ @TableField(value = "update_time") private Date updateTime; /** * å 餿 è®°(0,1) */ @TableField(value = "del_flag") private Integer delFlag; } aps-modules/aps-core/src/main/java/com/aps/core/enums/PLAN_TASK_STATUS.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.aps.core.enums; public enum PLAN_TASK_STATUS { IN_PROCESS("InProgress","è¿è¡ä¸"), FINISHED("Finished","宿"); private String code; private String desc; PLAN_TASK_STATUS(String code ,String desc){ this.code = code; this.desc=desc; } public static PLAN_TASK_TYPE getByCode(String code){ for(PLAN_TASK_TYPE type : PLAN_TASK_TYPE.values()){ if(type.getCode().equals(code)){ return type; } } return null; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } } aps-modules/aps-core/src/main/java/com/aps/core/enums/PLAN_TASK_TYPE.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.aps.core.enums; public enum PLAN_TASK_TYPE { PLATE_PLAN("PlateOrderPlan","çæé£éå·¥å计å"); private String code; private String desc; PLAN_TASK_TYPE(String code ,String desc){ this.code = code; this.desc=desc; } public static PLAN_TASK_TYPE getByCode(String code){ for(PLAN_TASK_TYPE type : PLAN_TASK_TYPE.values()){ if(type.code.equals(code)){ return type; } } return null; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } } aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlanTaskMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package com.aps.core.mapper; import com.aps.core.domain.ApsPlanTask; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; /** * @author zhl * @description é对表ãaps_plan_task(计åçææ¥å¿è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-05-16 14:41:49 * @Entity com.aps.core.domain.ApsPlanTask */ @Mapper public interface ApsPlanTaskMapper extends BaseMapper<ApsPlanTask> { Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page , ApsPlanTask task); } aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.aps.core.service; import com.aps.core.domain.ApsPlanTask; import com.aps.core.enums.PLAN_TASK_STATUS; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * @author zhl * @description é对表ãaps_plan_task(计åçææ¥å¿è¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-05-16 14:41:49 */ public interface ApsPlanTaskService extends IService<ApsPlanTask> { Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page , ApsPlanTask task); void savePlanTask(String batchNum); void updateTaskStatus(String batchNum, PLAN_TASK_STATUS status); } aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireService.java
@@ -69,5 +69,5 @@ public List<ApsPlateStandardRequire> selectPlateSupplyGapList(ApsPlateStandardRequire apsPlateStandardRequire); void generatorPlan(); void generatorPlan(String batchNum); } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ package com.aps.core.service.impl; import cn.hutool.core.util.IdUtil; import com.aps.common.core.utils.DateUtils; 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.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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author zhl * @description é对表ãaps_plan_task(计åçææ¥å¿è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-05-16 14:41:49 */ @Service public class ApsPlanTaskServiceImpl extends ServiceImpl<ApsPlanTaskMapper, ApsPlanTask> implements ApsPlanTaskService{ @Autowired ApsPlanTaskMapper mapper; public Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page ,ApsPlanTask task){ LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.like( !task.getTaskType().isEmpty(), ApsPlanTask::getTaskType,task.getTaskType()); return mapper.selectPage(page, queryWrapper); } /** * å建æ°ç计åä»»å¡ */ @Override public void savePlanTask(String batchNum){ ApsPlanTask task = ApsPlanTask.builder().id(IdUtil.getSnowflakeNextId()) .batchNum(batchNum) .taskStatus(PLAN_TASK_STATUS.IN_PROCESS.getCode()) .taskType(PLAN_TASK_TYPE.PLATE_PLAN.getCode()) .createBy(SecurityUtils.getUsername()) .createTime(DateUtils.getNowDate()) .delFlag(0) .build(); baseMapper.insert(task); } /** * æ ¹æ®æ¹æ¬¡å· æ´æ°ç¶æ * */ @Override public void updateTaskStatus(String batchNum, PLAN_TASK_STATUS status){ LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.like(ApsPlanTask::getBatchNum,batchNum); ApsPlanTask task = ApsPlanTask.builder() .taskStatus(status.getCode()) .updateBy(SecurityUtils.getUsername()) .updateTime(DateUtils.getNowDate()) .build(); baseMapper.update(task,queryWrapper); } } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java
@@ -5,9 +5,13 @@ import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateOrderPlanRequireDate; import com.aps.core.domain.ApsPlateStandardRequire; import com.aps.core.enums.PLAN_TASK_STATUS; import com.aps.core.mapper.ApsPlateOrderPlanManagerMapper; import com.aps.core.service.ApsPlanTaskService; import com.aps.core.service.IApsPlateOrderPlanManagerService; import com.aps.core.service.IApsPlateStandardRequireBatchService; import com.aps.core.service.IApsPlateStandardRequireService; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -27,7 +31,10 @@ @Autowired private IApsPlateStandardRequireService apsPlateStandardRequireService; @Resource IApsPlateStandardRequireBatchService requireBatchService; @Resource ApsPlanTaskService planTaskService; /** * æ¥è¯¢é£éå·¥å计å管ç * @@ -68,6 +75,9 @@ apsPlateOrderPlanManagerMapper.updatePlanDateByBatch(planRequireDate); }); } apsPlateStandardRequireService.generatorPlan(); String batchNum= requireBatchService.getNewBatchNumber(); planTaskService.savePlanTask(batchNum); apsPlateStandardRequireService.generatorPlan(batchNum); planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED); } } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireServiceImpl.java
@@ -163,7 +163,7 @@ @Transactional @Override public void generatorPlan(){ public void generatorPlan(String batchNum){ /*åå§åæ°æ®*/ requireBatchService.initRequireBatch(); @@ -171,8 +171,6 @@ String plantCode="FORTUNA"; /*å®ä¹ä¸»åç±»å为é£é主å*/ String mainOrderType = "main"; /*çææ°æ¹æ¬¡å·*/ String batchNum= requireBatchService.getNewBatchNumber(); /*è·åé£é主åä¿¡æ¯*/ List<ApsPlatePlan> mainPlans = platePlanMapper.selectPlatePlanByPlantMajor(plantCode,mainOrderType); Hashtable<String, ApsMaterialStorageManagement> usedStorage = new Hashtable<>(); aps-modules/aps-core/src/main/resources/mapper/core/ApsPlanTaskMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.aps.core.mapper.ApsPlanTaskMapper"> <resultMap id="BaseResultMap" type="com.aps.core.domain.ApsPlanTask"> <result property="id" column="id" /> <result property="batchNum" column="batch_num" /> <result property="taskType" column="task_type" /> <result property="taskStatus" column="task_status" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> <result property="delFlag" column="del_flag" /> </resultMap> <sql id="Base_Column_List"> id,batch_num,task_type,task_status,create_by,create_time, update_by,update_time,del_flag </sql> <select id="pagingList" resultMap="BaseResultMap"> select * from aps_plan_task </select> </mapper>