From 7097f55c291cc62ab29d9f52caef80f605247e40 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期四, 08 五月 2025 22:01:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm | 4 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java | 14 ++- aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml | 58 +++++++++++++- aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java | 31 +++++++ aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java | 8 ++ aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java | 28 +++++-- aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java | 32 ++++++++ aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java | 3 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java | 20 ++++ 9 files changed, 176 insertions(+), 22 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java index e6bc32c..f878ca4 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlatOrderPlanManagerController.java @@ -1,15 +1,14 @@ package com.aps.core.controller.mainPlan; import com.aps.common.core.web.controller.BaseController; +import com.aps.common.core.web.domain.AjaxResult; import com.aps.common.core.web.page.TableDataInfo; -import com.aps.common.security.annotation.RequiresPermissions; +import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateStandardRequire; import com.aps.core.service.IApsPlateOrderPlanManagerService; 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; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -49,4 +48,11 @@ return list; } + @PutMapping("/planDate") + public AjaxResult list(@RequestBody ApsPlateOrderPlanDate apsPlateOrderPlanDate) + { + iapPlateOrderPlanManagerService.updatePlanDate(apsPlateOrderPlanDate); + return AjaxResult.success(); + } + } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java new file mode 100644 index 0000000..5908bd2 --- /dev/null +++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanDate.java @@ -0,0 +1,31 @@ +package com.aps.core.domain; + +import lombok.Data; + +import java.io.Serial; +import java.sql.Timestamp; +import java.util.List; + +/** + * 閽i噾宸ュ崟璁″垝鏃ユ湡鎵归噺璁剧疆鍙傛暟 + * + * @author sfd + * @date 2025-05-08 + */ +@Data +public class ApsPlateOrderPlanDate +{ + @Serial + private static final long serialVersionUID = 1L; + + /** + * 鏄惁鑷畾涔� + */ + private Boolean isCustom; + + /** 宸ュ崟ID鍒楄〃 */ + private List<Long> planIds; + + /** 鑷畾涔夋棩鏈� */ + private Timestamp customDate; +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java index d88b2d4..c19ae34 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java @@ -9,16 +9,20 @@ import java.util.Date; /** - * 鏍囧噯宸ヨ壓璺嚎Header瀵硅薄 aps_standard_process_route_header + * 閽i噾宸ュ崟璁″垝绠$悊 * - * @author zhl - * @date 2025-05-06 + * @author sfd + * @date 2025-05-08 */ @Data public class ApsPlateOrderPlanManager { @Serial private static final long serialVersionUID = 1L; + + /** 宸ュ崟ID */ + @Excel(name = "宸ュ崟ID") + private Long id; /** 闇�姹侷D */ @Excel(name = "闇�姹侷D") @@ -86,4 +90,14 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "宸ュ崟鍒涘缓鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date orderCreateTime; + + /** 闇�姹傝鍒掑紑宸ユ棩 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "闇�姹傝鍒掑紑宸ユ棩", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date startDay; + + /** 闇�姹傝鍒掑紑瀹屾棩 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "闇�姹傝鍒掑紑瀹屾棩", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date completeDay; } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java new file mode 100644 index 0000000..29774df --- /dev/null +++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanRequireDate.java @@ -0,0 +1,32 @@ +package com.aps.core.domain; + +import com.aps.common.core.web.domain.BaseEntity; +import lombok.Data; + +import java.io.Serial; +import java.sql.Timestamp; +import java.util.List; + +/** + * 閽i噾宸ュ崟璁″垝闇�姹傛棩鏈� + * + * @author sfd + * @date 2025-05-08 + */ +@Data +public class ApsPlateOrderPlanRequireDate extends BaseEntity +{ + @Serial + private static final long serialVersionUID = 1L; + + /** + * 璁″垝ID + */ + private Long id; + + /** 鏈�鏃╁紑宸ユ棩 */ + private Timestamp start; + + /** 鏈�鏃╁畬宸ユ棩 */ + private Timestamp end; +} diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java index 8a8be60..a37dd91 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateOrderPlanManagerMapper.java @@ -1,6 +1,8 @@ package com.aps.core.mapper; +import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; +import com.aps.core.domain.ApsPlateOrderPlanRequireDate; import com.aps.core.domain.ApsPlateStandardRequire; import org.apache.ibatis.annotations.Mapper; @@ -31,4 +33,10 @@ * @return 鏌ヨ閽i噾宸ュ崟闇�姹� */ List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo); + + List<ApsPlateOrderPlanRequireDate> selectPlanRequireIds(List<Long> planIds); + + void updatePlanDateByBatch(ApsPlateOrderPlanRequireDate planRequireDate); + + void updatePlanDateByCustom(ApsPlateOrderPlanDate apsPlateOrderPlanDate); } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java index 32da57d..afb5460 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateOrderPlanManagerService.java @@ -1,5 +1,6 @@ package com.aps.core.service; +import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; import com.aps.core.domain.ApsPlateStandardRequire; @@ -17,4 +18,6 @@ List<ApsPlateOrderPlanManager> selectApsPlanOrderManager(ApsPlateOrderPlanManager apsPlateOrderPlanManager); List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo); + + void updatePlanDate(ApsPlateOrderPlanDate apsPlateOrderPlanDate); } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java index ada802f..db7202a 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateOrderPlanManagerServiceImpl.java @@ -1,29 +1,26 @@ package com.aps.core.service.impl; -import com.aps.common.core.utils.DateUtils; -import com.aps.common.core.utils.uuid.IdUtils; import com.aps.common.security.utils.SecurityUtils; -import com.aps.core.domain.ApsPlant; +import com.aps.core.domain.ApsPlateOrderPlanDate; import com.aps.core.domain.ApsPlateOrderPlanManager; +import com.aps.core.domain.ApsPlateOrderPlanRequireDate; import com.aps.core.domain.ApsPlateStandardRequire; -import com.aps.core.mapper.ApsPlantMapper; import com.aps.core.mapper.ApsPlateOrderPlanManagerMapper; -import com.aps.core.service.IApsPlantService; import com.aps.core.service.IApsPlateOrderPlanManagerService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 閽i噾宸ュ崟璁″垝绠$悊鎺ュ彛 Service涓氬姟灞傚鐞� - * + * * @author ruoyi * @date 2025-04-14 */ @Service -public class ApsPlateOrderPlanManagerServiceImpl implements IApsPlateOrderPlanManagerService -{ +public class ApsPlateOrderPlanManagerServiceImpl implements IApsPlateOrderPlanManagerService { @Autowired private ApsPlateOrderPlanManagerMapper apsPlateOrderPlanManagerMapper; @@ -42,4 +39,19 @@ public List<ApsPlateStandardRequire> selectApsPlanStandardRequire(String workOrderNo) { return apsPlateOrderPlanManagerMapper.selectApsPlanStandardRequire(workOrderNo); } + + @Transactional(rollbackFor = Exception.class) + @Override + public void updatePlanDate(ApsPlateOrderPlanDate apsPlateOrderPlanDate) { + if (apsPlateOrderPlanDate.getIsCustom()){ + apsPlateOrderPlanManagerMapper.updatePlanDateByCustom(apsPlateOrderPlanDate); + }else{ + List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(apsPlateOrderPlanDate.getPlanIds()); + planRequireDates.forEach(planRequireDate -> { + planRequireDate.setUpdateBy(SecurityUtils.getUsername()); + apsPlateOrderPlanManagerMapper.updatePlanDateByBatch(planRequireDate); + }); + } + + } } diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml index ab86a94..a19381d 100644 --- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml +++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanOrderManagerMapper.xml @@ -5,6 +5,7 @@ <mapper namespace="com.aps.core.mapper.ApsPlateOrderPlanManagerMapper"> <resultMap type="ApsPlateOrderPlanManager" id="ApsPlateOrderPlanManagerResult"> + <result property="id" column="id" /> <result property="require_id" column="requireId" /> <result property="requireTrackId" column="require_track_id" /> <result property="workOrderNo" column="doc_no" /> @@ -19,7 +20,9 @@ <result property="planStartDay" column="plan_start_day" /> <result property="planEndDay" column="plan_end_day" /> <result property="unmatchedQuantity" column="unmatched_quantity" /> - <result property="hasDelayRisk" column="has_risk" /> + <result property="hasDelayRisk" column="has_delay_risk" /> + <result property="startDate" column="start_date" /> + <result property="completeDate" column="complete_date" /> </resultMap> <select id="selectApsPlanOrderManager" parameterType="ApsPlateOrderPlanManager" resultMap="ApsPlateOrderPlanManagerResult"> @@ -38,21 +41,25 @@ plan.plan_start_day, plan.plan_end_day, plan.unmatched_quantity, - plan.has_risk + require.has_delay_risk, + plan.id, + require.start_date, + require.complete_date from aps_plate_standard_require_bom_order_detail detail + left join aps_plate_standard_require require on on detail.require_id = require.id left join aps_plate_plan plan on detail.doc_no = plan.document_number <where> <if test="workOrderNo != null and workOrderNo != ''"> and detail.doc_no = #{workOrderNo}</if> <if test="requireId != null and requireId != ''"> and detail.require_id = #{requireId}</if> <if test="mainPartNumber != null and mainPartNumber != ''"> and plan.main_part_number = #{mainPartNumber}</if> - <if test="hasDelayRisk != null and hasDelayRisk != ''"> and plan.has_risk = #{hasDelayRisk}</if> + <if test="hasDelayRisk != null and hasDelayRisk != ''"> and require.has_delay_risk = #{hasDelayRisk}</if> </where> </select> <resultMap type="ApsPlateStandardRequire" id="ApsPlateStandardRequireResult"> <result property="id" column="id" /> - <result property="requireId" column="require_id" /> + <result property="requireTrackId" column="require_track_id" /> <result property="bomLineId" column="bom_line_id" /> <result property="bomLineCode" column="bom_line_code" /> <result property="bomLineLevel" column="bom_line_level" /> @@ -81,7 +88,7 @@ <sql id="selectApsPlateStandardRequireVo"> select require.id, - require.require_id, + require.require_track_id, require.bom_line_id, require.bom_line_code, require.bom_line_level, @@ -118,4 +125,45 @@ </where> </select> + <resultMap type="ApsPlateOrderPlanRequireDate" id="selectPlanRequireIdsResult"> + <result property="id" column="id" /> + <result property="start" column="start_date" /> + <result property="end" column="end_date" /> + </resultMap> + + <select id="selectPlanRequireIds" parameterType="String" resultMap="selectPlanRequireIdsResult"> + select + plan.id, + min(require.start_date) as start_date, + min(require.complete_date) as end_date + from aps_plate_standard_require_bom_order_detail detail + left join aps_plate_standard_require require on on detail.require_id = require.id + left join aps_plate_plan plan on detail.doc_no = plan.document_number + where plan.id in + <foreach collection="planIds" item="planId" open="(" separator="," close=")"> + #{planId} + </foreach> + group by plan.id + </select> + + <update id="updatePlanDateByBatch" parameterType="ApsPlateOrderPlanRequireDate"> + update aps_plate_plan set + plan_start_day = #{planRequireDate.start}, + plan_end_day = #{planRequireDate.end}, + update_by = #{planRequireDate.updateBy}, + update_time = now() + where id = #{planRequireDate.id} + </update> + + <update id="updatePlanDateByCustom" parameterType="ApsPlateOrderPlanDate"> + update aps_plate_plan set + plan_end_day = #{planRequireDate.customDate}, + update_by = #{planRequireDate.updateBy}, + update_time = now() + where id in + <foreach collection="planRequireDate.planIds" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + </mapper> \ No newline at end of file diff --git a/aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm b/aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm index 387771f..6032704 100644 --- a/aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm +++ b/aps-modules/aps-gen/src/main/resources/vm/java/domain.java.vm @@ -25,7 +25,7 @@ #elseif($table.tree) #set($Entity="TreeEntity") #end -@ApiModel("${functionName}瀹炰綋绫�") +@Schema(description = "${functionName}瀹炰綋绫�") public class ${ClassName} extends ${Entity} { private static final long serialVersionUID = 1L; @@ -49,7 +49,7 @@ @Excel(name = "${comment}") #end #end - @ApiModelProperty("$column.columnComment") + @Schema(description = "$column.columnComment") private $column.javaType $column.javaField; #end -- Gitblit v1.9.3