From 55261bd7507309e99f0a32e90f47fb82c98e7213 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com>
Date: Fri, 15 Oct 2021 16:13:32 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=EF=BC=8C=E8=B4=A8?=
 =?UTF-8?q?=E9=87=8F=E5=BE=85=E5=8A=9E=E4=BA=8B=E9=A1=B9=E6=A0=B9=E6=8D=AE?=
 =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8D=95=E5=8E=BB=E7=AD=9B=E9=80=89=E5=B7=A5?=
 =?UTF-8?q?=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../anomaly/controller/ReportController.java  |  4 +-
 .../main/resources/mapper/ReportMapper.xml    | 63 ++++++++++---------
 .../resources/mapper/ReportDataMapper.xml     | 15 +++--
 .../meapi/controller/ShopOrderController.java |  8 +++
 .../mesnac/meapi/mapper/ShopOrderMapper.java  |  2 +
 .../meapi/service/ShopOrderService.java       |  2 +
 .../service/impl/ShopOrderServiceImpl.java    |  8 +++
 .../main/resources/mapper/ShopOrderMapper.xml | 10 +++
 8 files changed, 76 insertions(+), 36 deletions(-)

diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java
index 0a435849..3bac7345 100644
--- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java
+++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java
@@ -127,8 +127,8 @@ public class ReportController {
      * @param paramMap
      * @return
      */
-    @PostMapping("/shopOrderSchedule")
-    public R shopOrderSchedule(@RequestBody(required = false) Map paramMap){
+    @GetMapping("/shopOrderSchedule")
+    public R shopOrderSchedule(@RequestParam(required = false) Map paramMap){
         try{
             List<Map<String, Object>> result = reportService.shopOrderSchedule(paramMap);
             return R.ok(result);
diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml
index 0ed5078e..748dee83 100644
--- a/anomaly/src/main/resources/mapper/ReportMapper.xml
+++ b/anomaly/src/main/resources/mapper/ReportMapper.xml
@@ -26,11 +26,11 @@
             <if test="param.status != null and param.status != ''">
                 AND STATUS = #{param.status}
             </if>
-            <if test="param.startDateTime != null">
-                AND REQUEST_DATE_TIME &gt;=  TO_DATE(#{param.startDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+            <if test="param.startDateTime != null and param.startDateTime != ''">
+                AND REQUEST_DATE_TIME &gt;=  TO_DATE(#{param.startDateTime}, 'YYYY-MM-DD') - 8/24
             </if>
-            <if test="param.endDateTime != null">
-                AND REQUEST_DATE_TIME &lt;= TO_DATE(#{param.endDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+            <if test="param.endDateTime != null and param.endDateTime != ''">
+                AND REQUEST_DATE_TIME &lt;= TO_DATE(#{param.endDateTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
             </if>
             <if test="param.param != null and param.param != ''">
                 AND PARAM LIKE '%${param.param}%'
@@ -107,17 +107,17 @@
                         AND S2.STATUS != '405'
                     </if>
                 </if>
-                <if test="param.startDateTime != null">
-                    AND ZSD.ACTUAL_START_DATE &gt;= TO_DATE(#{param.startDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+                <if test="param.startDateTime != null and param.startDateTime != ''">
+                    AND ZSD.ACTUAL_START_DATE &gt;= TO_DATE(#{param.startDateTime}, 'YYYY-MM-DD') - 8/24
                 </if>
-                <if test="param.endDateTime != null">
-                    AND ZSD.ACTUAL_START_DATE &lt;= TO_DATE(#{param.endDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+                <if test="param.endDateTime != null and param.endDateTime != ''">
+                    AND ZSD.ACTUAL_START_DATE &lt;= TO_DATE(#{param.endDateTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
                 </if>
-                <if test="param.completeStartDateTime != null">
-                    AND ZSD.ACTUAL_COMPLETE_DATE &gt;= TO_DATE(#{param.completeStartDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+                <if test="param.completeStartDateTime != null and param.completeStartDateTime != ''">
+                    AND ZSD.ACTUAL_COMPLETE_DATE &gt;= TO_DATE(#{param.completeStartDateTime}, 'YYYY-MM-DD') - 8/24
                 </if>
-                <if test="param.completeEndDateTime != null">
-                    AND ZSD.ACTUAL_COMPLETE_DATE &lt;= TO_DATE(#{param.endDateTime}, 'YYYY-MM-DD HH24:MI:SS')
+                <if test="param.completeEndDateTime != null and param.completeEndDateTime != ''">
+                    AND ZSD.ACTUAL_COMPLETE_DATE &lt;= TO_DATE(#{param.completeEndDateTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
                 </if>
             </if>
         </where>
@@ -203,14 +203,17 @@
             <if test="param.resource != null and param.resource != ''">
                 AND (R.RESRCE LIKE '%${param.resource}%' OR R.DESCRIPTION LIKE '%${param.resource}%')
             </if>
+            <if test="param.startDateTime != null and param.startDateTime != ''">
+                AND ZRRT.ACTUAL_START_DATE &gt;= TO_DATE(#{param.startDateTime},'YYYY-MM-DD') - 8/24
+            </if>
+            <if test="param.endDateTime != null and param.endDateTime != ''">
+                AND ZRRT.ACTUAL_START_DATE &lt;= TO_DATE(#{param.endDateTime}|| '15:59:59','YYYY-MM-DD HH24:MI:SS')
+            </if>
         </where>
     </select>
 
-
-
-
     <select id="findInspectionTask" resultType="java.util.HashMap" parameterType="java.util.HashMap">
-        SELECT 	WT.DESCRIPTION  WORK_CENTER_DESCRIPTION, C2.VALUE ITEM_NUMBER, C3.VALUE PRODUCT_MODEL,IM.ITEM ITEM, IT.DESCRIPTION ITEM_DESCRIPTION,
+        SELECT 	WT.DESCRIPTION  WORK_CENTER_DESCRIPTION, C2.VALUE ITEM_NUMBER,SO.SHOP_ORDER, C3.VALUE PRODUCT_MODEL,IM.ITEM ITEM, IT.DESCRIPTION ITEM_DESCRIPTION,
                 ZT.SFC, ZT.OPERATION, OT.DESCRIPTION OPERATION_DESCRIPTION, ZT.RESRCE, RS.DESCRIPTION RESOURCE_DESCRIPTION, ZT.TASK_NO, ZT.CATEGORY,
                 ZT."RESULT", ZT.CREATE_USER, ZNU.FULL_NAME, ZT.MODIFIED_DATE_TIME
         FROM Z_INSPECTION_TASK ZT
@@ -239,6 +242,9 @@
         <if test="model != null and model != ''" >
             AND C3.VALUE LIKE '%'||#{model}||'%'
         </if>
+        <if test="shopOrder != null and shopOrder != ''">
+            AND SO.SHOP_ORDER = #{shopOrder}
+        </if>
         <if test="operation != null and operation != ''" >
             AND ZT.OPERATION = #{operation}
         </if>
@@ -249,7 +255,7 @@
             AND ZT.RESULT = #{result}
         </if>
         <if test="startFromDate != null and startFromDate != ''" >
-            AND ZT.MODIFIED_DATE_TIME >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD')
+            AND ZT.MODIFIED_DATE_TIME >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD') - 8/24
         </if>
         <if test="startToDate != null and startToDate != ''" >
             AND ZT.MODIFIED_DATE_TIME &lt;= TO_DATE(#{startToDate}|| '23:59:59', 'YYYY-MM-DD HH24:MI:SS')
@@ -262,6 +268,7 @@
                 dflt2.DATA_TAG DISCOVER,
                 i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
                 COALESCE(itemNumber.VALUE,zab.ITEM_NUMBER) ITEM_NUMBER,
+               zab.SHOP_ORDER,
                 mapNo.VALUE MAP_NO,zab.PB_DESCRIPTION PB_DESCRIPTION,zsd.EMPLOYEE_DESCRIPTION OPERATOR,
                CASE WHEN zab."TYPE" = 'Z' THEN '质量异常'
                     WHEN zab."TYPE" = 'Q' THEN '其他异常'
@@ -342,11 +349,11 @@
             <if test="createdUser != null and createdUser != ''">
                 AND (zab.CREATED_USER = #{createdUser} OR znu.FULL_NAME = #{createdUser})
             </if>
-            <if test="startDateTime != null">
-                AND zab.CREATED_DATE_TIME &gt;= TO_DATE(#{startDateTime},'YYYY-MM-DD')
+            <if test="startDateTime != null and startDateTime != ''">
+                AND zab.CREATED_DATE_TIME &gt;= TO_DATE(#{startDateTime},'YYYY-MM-DD') - 8/24
             </if>
-            <if test="endDateTime != null">
-                AND zab.CREATED_DATE_TIME &lt;= TO_DATE(#{endDateTime},'YYYY-MM-DD')
+            <if test="endDateTime != null and endDateTime != ''">
+                AND zab.CREATED_DATE_TIME &lt;= TO_DATE(#{endDateTime}|| '15:59:59','YYYY-MM-DD HH24:MI:SS')
             </if>
         </where>
         GROUP BY zab.CREATED_DATE_TIME ,zab.ABNORMAL_NO ,
@@ -465,15 +472,15 @@
     </select>
 
     <select id="shopOrderSchedule" parameterType="java.util.HashMap" resultType="java.util.HashMap">
-    SELECT wct.DESCRIPTION WORK_CENTER_DESCRIPTION,cf.VALUE ITEM_NUMBER,
+    SELECT ROWNUM SEQ,wct.DESCRIPTION WORK_CENTER_DESCRIPTION,cf.VALUE ITEM_NUMBER,
            COALESCE(dflt.DATA_TAG,cf2.VALUE) PRODUCT_CATEGORY,
-           zsd.SHOP_ORDER,it.DESCRIPTION ITEM_DESCRIPTION,zsd.PLANNED_START_DATE,
+           zsd.SHOP_ORDER,it.DESCRIPTION ITEM_DESCRIPTION,zsd.PLANNED_START_DATE,zsd.PLANNED_START_DATE PREDICT_COMP_DATE,
            zsd.PLANNED_COMP_DATE ,zsd.ACTUAL_START_DATE ,zsd.ACTUAL_COMPLETE_DATE,ot.DESCRIPTION  CURRENT_OPERATION_DESCRIPTION,
            ot2.DESCRIPTION OPERATION_DESCRIPTION,
            CASE WHEN zab.HANDLE IS NOT NULL THEN '是'
                 ELSE '否'
                 END IS_ANOMALY,
-           CASE WHEN zsd.PLANNED_COMP_DATE IS NOT NULL THEN  TO_CHAR(TO_NUMBER(zsd.PLANNED_COMP_DATE + 8/24 - SYSDATE),'FM9999990.000')
+           CASE WHEN zsd.PLANNED_COMP_DATE IS NOT NULL AND zsd.ACTUAL_COMPLETE_DATE IS NULL THEN  TO_CHAR(TO_NUMBER(zsd.PLANNED_COMP_DATE + 8/24 - SYSDATE),'FM9999990.000')
            ELSE ''
            END  SURPLUS_DAY,
            CASE WHEN zsd.ACTUAL_START_DATE IS NOT NULL AND cf3.VALUE IS NOT NULL  AND cf3.VALUE != 0 AND zsd.ACTUAL_COMPLETE_DATE IS NULL
@@ -523,11 +530,11 @@
             <if test="shopOrder != null and shopOrder != ''">
                 AND so.SHOP_ORDER LIKE '%${shopOrder}%'
             </if>
-            <if test="startDateTime != null">
-                AND zsd.PLANNED_COMP_DATE &gt;= TO_DATE(#{startDateTime},'YYYY-MM-DD')
+            <if test="startDateTime != null and startDateTime != ''">
+                AND zsd.PLANNED_COMP_DATE &gt;= TO_DATE(#{startDateTime},'YYYY-MM-DD')-8/24
             </if>
-            <if test="endDateTime != null">
-                AND zsd.PLANNED_COMP_DATE &lt;= TO_DATE(#{endDateTime},'YYYY-MM-DD')
+            <if test="endDateTime != null and endDateTime != ''">
+                AND zsd.PLANNED_COMP_DATE &lt;= TO_DATE(#{endDateTime}|| '15:59:59','YYYY-MM-DD HH24:MI:SS')
             </if>
         </where>
     </select>
diff --git a/common/src/main/resources/mapper/ReportDataMapper.xml b/common/src/main/resources/mapper/ReportDataMapper.xml
index 92c6baae..c7142d2c 100644
--- a/common/src/main/resources/mapper/ReportDataMapper.xml
+++ b/common/src/main/resources/mapper/ReportDataMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="com.foreverwin.mesnac.common.mapper.ReportDataMapper">
 
     <select id="findInspectionTask" resultType="java.util.HashMap" parameterType="java.util.HashMap">
-        SELECT 	WT.DESCRIPTION  WORK_CENTER_DESCRIPTION, C2.VALUE ITEM_NUMBER, C3.VALUE PRODUCT_MODEL,IM.ITEM ITEM, IT.DESCRIPTION ITEM_DESCRIPTION,
+        SELECT 	WT.DESCRIPTION  WORK_CENTER_DESCRIPTION, C2.VALUE ITEM_NUMBER,SO.SHOP_ORDER, C3.VALUE PRODUCT_MODEL,IM.ITEM ITEM, IT.DESCRIPTION ITEM_DESCRIPTION,
                 ZT.SFC, ZT.OPERATION, OT.DESCRIPTION OPERATION_DESCRIPTION, ZT.RESRCE, RS.DESCRIPTION RESOURCE_DESCRIPTION, ZT.TASK_NO, ZT.CATEGORY,
                 ZT."RESULT", ZT.CREATE_USER, ZNU.FULL_NAME, ZT.MODIFIED_DATE_TIME, ROWNUM SEQ,
         CASE WHEN ZT."RESULT" = 'OK' THEN N'合格' WHEN ZT."RESULT" = 'NG' THEN N'不合格' ELSE N'--' END RESULT_DESC,
@@ -24,7 +24,7 @@
         LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZT.CREATE_USER
         WHERE ZT.SITE = #{site}
         <if test="workCenter != null and workCenter != ''" >
-            AND WC.WORK_CENTER = #{workCenter}
+            AND (WC.WORK_CENTER = #{workCenter} OR WT.DESCRIPTION = #{workCenter})
         </if>
         <if test="category != null and category != ''" >
             AND ZT.CATEGORY = #{category}
@@ -32,6 +32,9 @@
         <if test="itemNumber != null and itemNumber != ''" >
             AND C2.VALUE LIKE '%'||#{itemNumber}||'%'
         </if>
+        <if test="shopOrder != null and shopOrder != ''">
+            AND SO.SHOP_ORDER = #{shopOrder}
+        </if>
         <if test="model != null and model != ''" >
             AND C3.VALUE LIKE '%'||#{model}||'%'
         </if>
@@ -551,7 +554,7 @@
     </select>
 
     <select id="findInspectionDetailPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
-        SELECT DATE_TIME,sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,sum(DISPATCH_QTY) DISPATCH_QTY,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION_DESC,CATEGORY,EMPLOYEE_DESCRIPTION,COMMENTS,DESCRIPTION WORK_CENTER_DESCRIPTION FROM
+        SELECT DATE_TIME,sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,sum(DISPATCH_QTY) DISPATCH_QTY,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION_DESC,CATEGORY,EMPLOYEE_DESCRIPTION,COMMENTS,DESCRIPTION WORK_CENTER_DESCRIPTION,SHOP_ORDER FROM
         (
         SELECT  CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='OK' THEN 0
         WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN TO_NUMBER(zab.NC_QTY)
@@ -560,7 +563,7 @@
          CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='OK' THEN zsd.DISPATCH_QTY
                 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN 0
                 ELSE 0 END OK_QTY,zsd.DISPATCH_QTY,
-        zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.STEP_ID,zit.CATEGORY,zit.COMMENTS,ZABD.PRINCIPAL_USER DUTY_USER,ZABD.DUTY_DEPART
+        zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.STEP_ID,zit.CATEGORY,zit.COMMENTS,ZABD.PRINCIPAL_USER DUTY_USER,ZABD.DUTY_DEPART,SO.SHOP_ORDER
          FROM Z_INSPECTION_TASK zit
         JOIN OPERATION O ON O.OPERATION = zit.OPERATION AND O.SITE = zit.SITE AND o.CURRENT_REVISION='true'
         LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh'
@@ -595,10 +598,10 @@
         <if test="shopOrder != null and shopOrder != ''" >
             AND SO.SHOP_ORDER = #{shopOrder}
         </if>
-        GROUP BY ZABD.PRINCIPAL_USER,zsd.DISPATCH_QTY,ZABD.DUTY_DEPART,zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID,CFA.VALUE,CFB.VALUE, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY,zit.CREATED_DATE_TIME, ZNU.FULL_NAME,WT.DESCRIPTION,I.ITEM,IT.DESCRIPTION,O.OPERATION,OT.DESCRIPTION,ZSD.EMPLOYEE,ZSD.EMPLOYEE_DESCRIPTION,zit.COMMENTS,zit.CATEGORY
+        GROUP BY ZABD.PRINCIPAL_USER,zsd.DISPATCH_QTY,ZABD.DUTY_DEPART,zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID,CFA.VALUE,CFB.VALUE, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY,zit.CREATED_DATE_TIME, ZNU.FULL_NAME,WT.DESCRIPTION,I.ITEM,IT.DESCRIPTION,O.OPERATION,OT.DESCRIPTION,ZSD.EMPLOYEE,ZSD.EMPLOYEE_DESCRIPTION,zit.COMMENTS,zit.CATEGORY,SO.SHOP_ORDER
         )
         WHERE SEQ='1'
-        GROUP BY DATE_TIME,DESCRIPTION,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION,OPERATION_DESC,CATEGORY,EMPLOYEE,EMPLOYEE_DESCRIPTION,COMMENTS
+        GROUP BY DATE_TIME,DESCRIPTION,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION,OPERATION_DESC,CATEGORY,EMPLOYEE,EMPLOYEE_DESCRIPTION,COMMENTS,SHOP_ORDER
     </select>
     <select id="findSectionPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
         SELECT  "SECTION","MONTH",sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,round(sum(OK_QTY)*100/sum(DISPATCH_QTY),2)||'% ' OK_RATE FROM
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
index 51d49705..5fd6ecce 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ShopOrderController.java
@@ -88,6 +88,14 @@ public class ShopOrderController {
       return R.ok(shopOrderService.findByShopOrderBo(shopOrder));
     }
 
+    /**
+     * 查出只有异常的工单
+     */
+    @GetMapping("/findAbnormalShopOrder")
+    public R findAbnormalShopOrder(ShopOrder shopOrder){
+        return R.ok(shopOrderService.findAbnormalShopOrder(shopOrder));
+    }
+
 
 }
 
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java
index 1a9298c3..9ce3e186 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/ShopOrderMapper.java
@@ -24,4 +24,6 @@ public interface ShopOrderMapper extends BaseMapper<ShopOrder> {
     ShopOrderDto findByShopOrderBo(@Param("handle")String handle);
 
     List<ShopOrder> findBomCommentByShopOrder(@Param("site")String site,@Param("shopOrder")String shopOrder);
+
+    List<ShopOrder> findAbnormalShopOrder(ShopOrder shopOrder);
 }
\ No newline at end of file
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
index ea0ef5d5..a9e924f3 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/ShopOrderService.java
@@ -36,5 +36,7 @@ public interface ShopOrderService extends IService<ShopOrder> {
 
     ShopOrderDto findByShopOrderBo(String handle);
 
+    List<ShopOrder> findAbnormalShopOrder(ShopOrder shopOrder);
+
 
 }
\ No newline at end of file
diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
index fb81c8b9..13ce5eee 100644
--- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
+++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/ShopOrderServiceImpl.java
@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -63,5 +64,12 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
         return null;
     }
 
+    @Override
+    public List<ShopOrder> findAbnormalShopOrder(ShopOrder shopOrder) {
+        String site = CommonMethods.getSite();
+        shopOrder.setSite(site);
+        return shopOrderMapper.findAbnormalShopOrder(shopOrder);
+    }
+
 
 }
\ No newline at end of file
diff --git a/meapi/src/main/resources/mapper/ShopOrderMapper.xml b/meapi/src/main/resources/mapper/ShopOrderMapper.xml
index 6aec022a..e0e4574a 100644
--- a/meapi/src/main/resources/mapper/ShopOrderMapper.xml
+++ b/meapi/src/main/resources/mapper/ShopOrderMapper.xml
@@ -1033,4 +1033,14 @@
             </if>
         </where>
     </select>
+
+    <select id="findAbnormalShopOrder" parameterType="com.foreverwin.mesnac.meapi.model.ShopOrder" resultMap="BaseResultMap">
+        SELECT so.SHOP_ORDER,i.ITEM PLANNED_ITEM_BO,so.QTY_TO_BUILD,so.PLANNED_START_DATE
+        FROM SHOP_ORDER so
+        INNER JOIN Z_ABNORMAL_BILL zab ON zab.SHOP_ORDER = so.SHOP_ORDER
+        INNER JOIN ITEM i ON i.HANDLE = so.PLANNED_ITEM_BO
+        <where>
+            so.SITE = #{site}
+        </where>
+    </select>
 </mapper>

From 4ec4866f56f53a2f16fa61deb2446ac3567912b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com>
Date: Mon, 18 Oct 2021 10:53:10 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=94=9F=E4=BA=A7?=
 =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E8=A1=A8=E6=A0=B9=E6=8D=AESFC=E3=80=81STEP?=
 =?UTF-8?q?=5FID=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 anomaly/src/main/resources/mapper/ReportMapper.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml
index 748dee83..8dd8091c 100644
--- a/anomaly/src/main/resources/mapper/ReportMapper.xml
+++ b/anomaly/src/main/resources/mapper/ReportMapper.xml
@@ -537,5 +537,6 @@
                 AND zsd.PLANNED_COMP_DATE &lt;= TO_DATE(#{endDateTime}|| '15:59:59','YYYY-MM-DD HH24:MI:SS')
             </if>
         </where>
+        ORDER BY zsd.SFC,zsd.STEP_ID
     </select>
 </mapper>
\ No newline at end of file