Prechádzať zdrojové kódy

提交钢材长度代码

zyf 2 rokov pred
rodič
commit
b5569d9f30

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

@@ -202,6 +202,9 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     //通过订单Id查询该订单下所有的物资
     List<Map<String,Object>> getMaterialMes(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
 
+    //通过订单Id查询该订单下所有的物资
+    List<Map<String,Object>> getMaterialMesNew(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
+
     //根据运输订单查询车牌号
     String selectCapacityNumber(BigDecimal orderId);
 
@@ -363,4 +366,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     List<Map<String, Object>> getMulInwardMaterials(Map<String, Object> map);
 
+    //查询出订单的钢材长度
+    List<Map<String,Object>> getMaterialId(BigDecimal orderId);
 }

+ 24 - 1
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -2102,7 +2102,30 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                  mesMap=omstruckOrderMapper.getSporadicOrder(map);
                  mesMap.put("type", "零星退货");
         }
-        mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId, steelJudge));
+        if (orderType.compareTo(1)==0){
+            List<Map<String, Object>> materialMesNew = omstruckOrderMapper.getMaterialMes(orderId, steelJudge);
+            List<Map<String, Object>> materialId = omstruckOrderMapper.getMaterialId(orderId);
+            for (Map<String, Object> stringObjectMap : materialMesNew) {
+                for (Map<String, Object> objectMap : materialId) {
+                    BigDecimal materialId2 = DataChange.dataToBigDecimal(stringObjectMap.get("materialId"));
+                    BigDecimal materialId1 = (BigDecimal) objectMap.get("materialId");
+                    if (materialId2.compareTo(materialId1)==0){
+                        //钢材长度
+                        BigDecimal steelmeter = (BigDecimal) objectMap.get("steelmeter");
+                        if (steelmeter!=null&&!("".equals(steelmeter))){
+                            String steelmeter1 = steelmeter.toString();
+                            steelmeter1+="米";
+                            //原来的物资名称
+                            String materialName = (String) stringObjectMap.get("materialName");
+                            stringObjectMap.put("materialName",materialName+" "+steelmeter1);
+                        }
+                    }
+                }
+            }
+            mesMap.put("materialMesList",materialMesNew);
+        }else {
+            mesMap.put("materialMesList", omstruckOrderMapper.getMaterialMes(orderId, steelJudge));
+        }
         return mesMap;
     }
 

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

@@ -2952,6 +2952,65 @@
         ORDER BY RM.MATERIAL_NAME
     </select>
 
+    <!-- 物资信息(NEW) -->
+    <select id="getMaterialMesNew" parameterType="DECIMAL" resultType="java.util.LinkedHashMap">
+        SELECT
+        RM.MATERIAL_NAME
+        <if test="steelJudge != null">
+            || '   ' || RW.WAREHOUSE_NAME ||
+            AMS.STEEL_METER||'米'
+        </if>
+        "materialName",
+        RM.MATERIAL_ID   "materialId",
+        OOM.MATERIAL_PRIORITY "materialPriority",
+        CONCAT(CONCAT(RM.MATERIAL_MODEL, '('), CONCAT(MATERIAL_SPECIFICATION, ')')) "materialMC",
+        (case
+        when OOM.ORDER_MATERIAL_NUMBER is not null
+        then OOM.ORDER_MATERIAL_NUMBER || '件'
+        when OOM.ORDER_MATERIAL_WEIGHT is not null
+        then OOM.ORDER_MATERIAL_WEIGHT  || '吨'
+        end
+        )
+        AS                                                                   "weightNum",
+        (   SELECT
+        LISTAGG ( TWR.RESULT_NET_WEIGHT, '、' ) within GROUP ( ORDER BY TWR.GROSS_SEGMENT_SQE )
+        FROM TMSTRUCK_WEIGHT_RESULT TWR
+        JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+        WHERE TTR.ORDER_ID = #{orderId} and TWR.MATERIAL_ID = OOM.MATERIAL_ID
+        )                                                                    "netWeight"
+        FROM OMSTRUCK_ORDER_MATERIAL OOM
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+        <if test="steelJudge != null">
+            LEFT JOIN RMS_WAREHOUSE RW
+            ON OOM.MATERIAL_PRIORITY = RW.WAREHOUSE_ID
+            LEFT JOIN OMSTRUCK_ORDER OO
+            ON OO.ORDER_ID=OOM.ORDER_ID
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+            ON ASTM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID
+            LEFT JOIN AMS_SALE_MATERIAL AMS
+            ON AMS.SALE_MATERIAL_ID=ASTM.MATERIAL_ID
+        </if>
+        WHERE OOM.ORDER_ID = #{orderId}
+        ORDER BY RM.MATERIAL_NAME
+    </select>
+
+    <!--根据ID查询-->
+    <select id="getMaterialId" resultType="java.util.Map">
+        select
+        distinct
+        AMS.MATERIAL_ID "materialId",
+        AMS.STEEL_METER "steelmeter"
+        from OMSTRUCK_ORDER_MATERIAL OOM
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_ID = OOM.ORDER_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_MATERIAL AMS
+        ON AMS.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        WHERE OOM.ORDER_ID=#{orderId}
+    </select>
     <!-- 内转原料司机接单 -->
     <select id="getInwardOrderMap" parameterType="DECIMAL" resultType="java.util.Map">
         SELECT AIR.REQUIREMENT_NUMBER AS "upNumber",