Jelajahi Sumber

钢材订单APP显示BUG修正。

xiaosonghong 2 bulan lalu
induk
melakukan
7ffbb45e65

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -202,6 +202,8 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //通过订单Id查询该订单下所有的物资
     List<Map<String,Object>> getMaterialMes(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
 
+    List<Map<String,Object>> getMaterialMesSteel(@Param("orderId") BigDecimal orderId);
+
     //通过订单Id查询该订单下所有的物资
     List<Map<String,Object>> getMaterialMesForGrossWeight(BigDecimal orderId, String steelJudge);
 

+ 15 - 4
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -639,8 +639,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             }
             //校验是否成功删除,失败则不允许撤单
             if(jsonObject==null || "false".equals(jsonObject.getString("success"))){
-
-                throw new Exception("计量委托删除失败!");
+                System.out.println("计量委托删除失败!");
+                //throw new Exception("计量委托删除失败!");
             }
         }
         BigDecimal orderPlanId = DataChange.dataToBigDecimal(mesMap.get("orderPlanId"));
@@ -2316,7 +2316,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                  mesMap.put("type", "零星退货");
         }
         if (orderType.compareTo(1)==0){
-            List<Map<String, Object>> materialMesNew = omstruckOrderMapper.getMaterialMes(orderId, steelJudge);
+            List<Map<String, Object>> materialMesNew = omstruckOrderMapper.getMaterialMesSteel(orderId);
             //查询继续装的订单
             List<BigDecimal> continueOrderIds = omstruckOrderMapper.selectContinueOrderId(orderId);
             for (BigDecimal continueOrderId : continueOrderIds) {
@@ -2342,7 +2342,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                     }
                 }
             }
-            mesMap.put("materialMesList",materialMesNew);
+            List<String> list = new ArrayList<>();
+            List<Map<String, Object>> materialMesfilter = new ArrayList<>();
+            //过滤掉重复数据
+            for (Map<String, Object> stringObjectMap : materialMesNew) {
+                String str = DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId")).toString() + DataChange.dataToBigDecimal(stringObjectMap.get("materialId")).toString();
+                if(list.contains(str) && DataChange.dataToBigDecimal(stringObjectMap.get("saleMaterialId")).longValue() > 0){
+                    continue;
+                }
+                list.add(str);
+                materialMesfilter.add(stringObjectMap);
+            }
+            mesMap.put("materialMesList", materialMesfilter);
         } else if(orderType.compareTo(4)==0){
             List<Map<String, Object>> materialMesNew = omstruckOrderMapper.getMaterialMes(orderId, steelJudge);
             for(Map<String,Object> stringObjectMap :materialMesNew) {

+ 143 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2983,6 +2983,77 @@
         ORDER BY RM.MATERIAL_NAME
     </select>
 
+    <!--物资信息钢材-->
+    <select id="getMaterialMesSteel" parameterType="DECIMAL" resultType="java.util.LinkedHashMap">
+        SELECT
+                RM.MATERIAL_NAME || (
+                CASE
+                    WHEN OOM.MATERIAL_LUNO IS NOT NULL
+                        THEN '-' || oom.MATERIAL_LUNO
+                    END
+                )
+                || '   ' || (
+                    CASE
+                        WHEN ams.DELETED IS NOT NULL
+                            THEN '取消装货'
+                        ELSE decode(OOM.MATERIAL_PRIORITY, 71, '', RW.WAREHOUSE_NAME)
+                        END
+                    )
+                                                                                            "materialName",
+                RM.MATERIAL_ID "materialId",
+                OOM.MATERIAL_PRIORITY "materialPriority",
+                OOM.ORDER_MATERIAL_NUMBER "materialNumber",
+                OOM.SALE_MATERIAL_ID "saleMaterialId",
+                CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
+                (CASE
+                     WHEN OOM.ORDER_MATERIAL_NUMBER IS NOT NULL
+                         THEN OOM.ORDER_MATERIAL_NUMBER || '件/支'
+                    END
+                    ) || (
+                    CASE
+                        WHEN (CASE
+                                  WHEN
+                                              ams.IS_POUND_SALE = 0
+                                          AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                      THEN TWB.BATCH_NET_WEIGHT
+                                  WHEN ams.IS_POUND_SALE = 1
+                                      AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                      THEN ams.MATERIAL_WEIGHT
+                                  ELSE ams.MATERIAL_WEIGHT
+                            END) IS NOT NULL
+                            THEN '-' || (CASE
+                                             WHEN
+                                                         ams.IS_POUND_SALE = 0
+                                                     AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                                 THEN TWB.BATCH_NET_WEIGHT
+                                             WHEN ams.IS_POUND_SALE = 1
+                                                 AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                                 THEN ams.MATERIAL_WEIGHT
+                                             ELSE ams.MATERIAL_WEIGHT
+                            END) || '吨'
+                        END
+                    )
+                    AS "weightNum"
+        FROM
+            OMSTRUCK_ORDER_MATERIAL OOM
+                LEFT JOIN RMS_MATERIAL RM
+                          ON
+                              RM.MATERIAL_ID = OOM.MATERIAL_ID
+                LEFT JOIN RMS_WAREHOUSE RW
+                          ON
+                              OOM.MATERIAL_PRIORITY = RW.WAREHOUSE_ID
+                LEFT JOIN AMS_SALE_MATERIAL ams
+                          ON
+                              ams.SALE_MATERIAL_ID = OOM.SALE_MATERIAL_ID
+                LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+                          ON
+                              TWB.WEIGHT_BATCH_ID = ams.WEIGHT_BATCH_ID
+        WHERE
+            OOM.ORDER_ID = #{orderId}
+        ORDER BY
+            RM.MATERIAL_NAME
+    </select>
+
 
     <!-- 物资信息(特供给已完成物资总数)-->
     <select id="getMaterialMesForGrossWeight"  resultType="java.util.LinkedHashMap">
@@ -4508,6 +4579,7 @@
         SELECT DILV.VERSION_VALUE FROM DIL_VERSION DILV
         WHERE DILV.VERSION_ID = 7
     </select>
+    <!--
     <select id="materialMesNewContinue" resultType="java.util.Map">
         SELECT
         RM.MATERIAL_NAME
@@ -4565,6 +4637,77 @@
         and  OO.order_ID  = #{orderId}
         ORDER BY RM.MATERIAL_NAME
     </select>
+    -->
+
+    <select id="materialMesNewContinue" resultType="java.util.Map">
+        SELECT
+                RM.MATERIAL_NAME
+                || '   ' || (
+                    CASE
+                        WHEN ams.DELETED IS NOT NULL
+                            THEN '取消装货'
+                        ELSE decode(oom.MATERIAL_PRIORITY, 71, '', RW.WAREHOUSE_NAME)
+                        END
+                    )
+                                                                                            "materialName",
+                RM.MATERIAL_ID "materialId",
+                OOM.MATERIAL_PRIORITY "materialPriority",
+                OOM.SALE_MATERIAL_ID "saleMaterialId",
+                CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
+                (CASE
+                     WHEN OOM.ORDER_MATERIAL_NUMBER IS NOT NULL
+                         THEN OOM.ORDER_MATERIAL_NUMBER || '件/支'
+                    END
+                    ) || (
+                    CASE
+                        WHEN (CASE
+                                  WHEN
+                                              ams.IS_POUND_SALE = 0
+                                          AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                      THEN TWB.BATCH_NET_WEIGHT
+                                  WHEN ams.IS_POUND_SALE = 1
+                                      AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                      THEN ams.MATERIAL_WEIGHT
+                                  ELSE ams.MATERIAL_WEIGHT
+                            END) IS NOT NULL
+                            THEN '-' || (CASE
+                                             WHEN
+                                                         ams.IS_POUND_SALE = 0
+                                                     AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                                 THEN TWB.BATCH_NET_WEIGHT
+                                             WHEN ams.IS_POUND_SALE = 1
+                                                 AND TWB.BATCH_NET_WEIGHT IS NOT NULL
+                                                 THEN ams.MATERIAL_WEIGHT
+                                             ELSE ams.MATERIAL_WEIGHT
+                            END) || '吨'
+                        END
+                    ) || '-(八点前装的)'
+                    AS "weightNum"
+        FROM
+            OMSTRUCK_ORDER_MATERIAL OOM
+                LEFT JOIN OMSTRUCK_ORDER OO
+                          ON
+                              OO.ORDER_ID = OOM.ORDER_ID
+                LEFT JOIN RMS_MATERIAL RM
+                          ON
+                              RM.MATERIAL_ID = OOM.MATERIAL_ID
+                LEFT JOIN RMS_WAREHOUSE RW
+                          ON
+                              OOM.MATERIAL_PRIORITY = RW.WAREHOUSE_ID
+                LEFT JOIN AMS_SALE_MATERIAL ams
+                          ON
+                              ams.SALE_MATERIAL_ID = oom.SALE_MATERIAL_ID
+                LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
+                          ON
+                              TWB.WEIGHT_BATCH_ID = ams.WEIGHT_BATCH_ID
+        WHERE
+            OO.ORDER_STATUS = 2
+          AND OO.order_ID = #{orderId}
+          AND ams.DELETED IS NULL
+        ORDER BY
+            RM.MATERIAL_NAME
+    </select>
+
     <select id="selectContinueOrderId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
         SELECT OO.ORDER_ID FROM OMSTRUCK_ORDER OO
         WHERE