From a9f55fb1ab24f43fee70b16e1a8c58a33fc59fa6 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期二, 13 五月 2025 18:12:14 +0800
Subject: [PATCH] 钣金工单计划管理:新增 查看上下阶需求接口

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBomOrderDetailService.java         |    2 +
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java            |    6 +++
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml                |   36 +++++++++++++++--
 aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java        |   14 +++++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java |    5 ++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlateOrderPlanManager.java                               |    1 
 6 files changed, 59 insertions(+), 5 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java
index 1721706..f99af31 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlateOrderPlanManagerController.java
@@ -6,8 +6,11 @@
 import com.aps.common.security.annotation.RequiresPermissions;
 import com.aps.core.domain.ApsPlateOrderPlanDate;
 import com.aps.core.domain.ApsPlateOrderPlanManager;
+import com.aps.core.domain.ApsPlatePlan;
 import com.aps.core.domain.ApsPlateStandardRequire;
 import com.aps.core.service.IApsPlateOrderPlanManagerService;
+import com.aps.core.service.IApsPlateStandardRequireBomOrderDetailService;
+import jakarta.annotation.Resource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,6 +29,8 @@
     @Autowired
     private IApsPlateOrderPlanManagerService iapPlateOrderPlanManagerService;
 
+    @Resource
+    private IApsPlateStandardRequireBomOrderDetailService requireBomOrderDetailService;
     /**
      * 鏌ヨ閽i噾宸ュ崟璁″垝
      */
@@ -60,4 +65,13 @@
         return AjaxResult.success();
     }
 
+    /*@RequiresPermissions("ApsPlatOrderPlanManager:list")*/
+    @PostMapping("/upAndDownList")
+    public TableDataInfo upAndDownList(@RequestBody ApsPlateOrderPlanManager apsPlateOrderPlanManager)
+    {
+
+        List<ApsPlatePlan> list = requireBomOrderDetailService.selectRequireUpAndDownLevel(apsPlateOrderPlanManager.getRequireId());
+        return getDataTable(list);
+    }
+
 }
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 a481f6d..e190310 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
@@ -22,6 +22,7 @@
 
     /** 宸ュ崟ID */
     @Excel(name = "宸ュ崟ID")
+    @JsonFormat(shape = JsonFormat.Shape.STRING)
     private Long id;
 
     /** 闇�姹侷D */
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
index 53c9204..a54bd67 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireBomOrderDetailMapper.java
@@ -1,5 +1,6 @@
 package com.aps.core.mapper;
 
+import com.aps.core.domain.ApsPlatePlan;
 import com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -65,4 +66,9 @@
     int deleteLastPatch(String batchNumber);
 
     int batchInsert(List<ApsPlateStandardRequireBomOrderDetail> list);
+
+    /**
+     * 鏍规嵁闇�姹侷D鏌ヨ鍏朵笂闃跺強涓嬮樁鏁版嵁
+     * */
+    List<ApsPlatePlan> selectRequireUpAndDownLevel(Long requireId);
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBomOrderDetailService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBomOrderDetailService.java
index 480f095..2c07940 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBomOrderDetailService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlateStandardRequireBomOrderDetailService.java
@@ -66,4 +66,6 @@
     void savePlastPlanAndBomOrderDetail(ApsPlateStandardRequire require, ApsPlatePlan platePlan, BigDecimal subtract
             , BigDecimal stock, BigDecimal netRequirement, List<ApsPlateStandardRequireBomOrderDetail> orderDetailsList
     );
+
+    List<ApsPlatePlan> selectRequireUpAndDownLevel(Long requireId);
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
index 3f81161..f360c6f 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlateStandardRequireBomOrderDetailServiceImpl.java
@@ -129,4 +129,9 @@
         orderDetailsList.add(bomOrderDetail);
         apsPlateStandardRequireBomOrderDetailMapper.insertApsPlateStandardRequireBomOrderDetail(bomOrderDetail);
     }
+
+    @Override
+    public List<ApsPlatePlan> selectRequireUpAndDownLevel(Long requireId){
+        return apsPlateStandardRequireBomOrderDetailMapper.selectRequireUpAndDownLevel(requireId);
+    }
 }
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
index 979e3c0..815a171 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlateStandardRequireBomOrderDetailMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.aps.core.mapper.ApsPlateStandardRequireBomOrderDetailMapper">
     
-    <resultMap type="ApsPlateStandardRequireBomOrderDetail" id="ApsPlateStandardRequireBomOrderDetailResult">
+    <resultMap type="com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail" id="ApsPlateStandardRequireBomOrderDetailResult">
         <result property="id"    column="id"    />
         <result property="requireId"    column="require_id"    />
         <result property="requireTrackId"    column="require_track_id"    />
@@ -30,7 +30,7 @@
         from aps_plate_standard_require_bom_order_detail
     </sql>
 
-    <select id="selectApsPlateStandardRequireBomOrderDetailList" parameterType="ApsPlateStandardRequireBomOrderDetail" resultMap="ApsPlateStandardRequireBomOrderDetailResult">
+    <select id="selectApsPlateStandardRequireBomOrderDetailList" parameterType="com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail" resultMap="ApsPlateStandardRequireBomOrderDetailResult">
         <include refid="selectApsPlateStandardRequireBomOrderDetailVo"/>
         <where>  
             <if test="requireId != null  and requireId != ''"> and require_id = #{requireId}</if>
@@ -51,7 +51,7 @@
         where id = #{id}
     </select>
 
-    <insert id="insertApsPlateStandardRequireBomOrderDetail" parameterType="ApsPlateStandardRequireBomOrderDetail">
+    <insert id="insertApsPlateStandardRequireBomOrderDetail" parameterType="com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail">
         insert into aps_plate_standard_require_bom_order_detail
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,</if>
@@ -93,7 +93,7 @@
          </trim>
     </insert>
 
-    <update id="updateApsPlateStandardRequireBomOrderDetail" parameterType="ApsPlateStandardRequireBomOrderDetail">
+    <update id="updateApsPlateStandardRequireBomOrderDetail" parameterType="com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail">
         update aps_plate_standard_require_bom_order_detail
         <trim prefix="SET" suffixOverrides=",">
             <if test="requireId != null">require_id = #{requireId},</if>
@@ -130,7 +130,7 @@
         update aps_plate_standard_require_bom_order_detail set del_flag = '1' where batch_number = #{batchNumber}
     </update>
 
-    <insert id="batchInsert" parameterType="ApsPlateStandardRequireBomOrderDetail">
+    <insert id="batchInsert" parameterType="com.aps.core.domain.ApsPlateStandardRequireBomOrderDetail">
         insert into aps_plate_standard_require_bom_order_detail
         (id, require_id,require_track_id, bom_line_id, bom_line_code, doc_no,
          before_prod_amount, deduction_amount, after_prod_amount,
@@ -143,4 +143,30 @@
             )
         </foreach>
     </insert>
+
+
+    <select id="selectRequireUpAndDownLevel" parameterType="Long" resultType="com.aps.core.domain.ApsPlatePlan">
+        with bs as (
+            select id, bom_header_code,bom_line_code,  require_track_id
+            from aps_plate_standard_require
+            where del_flag='0' and id=#{requireId}
+        ) ,cp as (
+            select re.id as reqiure_id, re.bom_header_code,re.bom_line_code,re.bom_line_level,   sd.doc_no,
+                   (case
+                        when re.bom_line_code=bs.bom_header_code then '涓婇樁'
+                        when re.bom_header_code=bs.bom_line_code then '涓嬮樁'
+                       end ) as requirement_type,
+                   pp.document_number,pp.item_number, pp.plan_start_day,pp.plan_end_day,pp.production_quantity
+            from aps_plate_standard_require re
+                     left join aps_plate_standard_require_bom_order_detail sd on re.id=sd.require_id
+                     left join aps_plate_plan pp on sd.doc_no=pp.document_number
+                     left join bs on re.require_track_id=bs.require_track_id
+            where re.del_flag='0'
+              and re.require_track_id in (select bs.require_track_id from bs)
+        )
+        select *
+        from cp
+-- where require_level is not null
+        order by bom_line_level;
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3