Przeglądaj źródła

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS

luobang 2 lat temu
rodzic
commit
6b36634036

+ 4 - 0
src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java

@@ -50,6 +50,10 @@ public interface TmsTruckFeign {
     @PostMapping("api/v1/truckTms/tmstruckmeasurecommissions/sendMeasureCommission")
     Map<String, Object> sendMeasureCommission(@RequestBody(required = false) Map<String, Object> map);
 
+    //发送零星退货委托,运输订单号,车牌号
+    @PostMapping("api/v1/truckTms/tmstruckmeasurecommissions/addSporadicOddMeasureCommission")
+    Map<String, Object> addSporadicOddMeasureCommission(@RequestBody(required = false) Map<String, Object> map);
+
     //新增计时作业实绩
     @PostMapping("api/v1/truckTms/tmstrucktimetaskresults/addTimeTaskResult")
     RESTfulResult addTimeTaskResult(@RequestBody(required = false) Map<String, Object> map);

+ 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);
 }

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

@@ -904,6 +904,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             }else if(orderType!=21&&orderType!=25){
                 //添加各个实绩
                 omstruckOrderSeparateService.addAllSonResult(orderMessage);
+                if (orderType==19){
+                    Map<String,Object> sporadicMap=new HashMap<>();
+                    sporadicMap.put("orderNumber",orderMessage.get("orderNumber"));
+                    String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
+                    sporadicMap.put("capacityNumber",capacityNumber);
+                    //是否发送空委托标志
+                    sporadicMap.put("firstMC",1);
+                    Map<String, Object> stringObjectMap = tmsTruckFeign.addSporadicOddMeasureCommission(sporadicMap);
+                    System.out.println(stringObjectMap);
+                    if (DataChange.dataToBigDecimal(stringObjectMap.get("data")).intValue()==0){
+                        throw new RuntimeException("委托发送失败!");
+                    }
+                }
             }
             //判断订单是否是一车多单
             if (orderType ==12 || orderType ==13 || orderType ==14 || orderType ==19) {
@@ -2102,7 +2115,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",

+ 1 - 1
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -12,7 +12,7 @@
 
     <!--通过订单Id 查询关联的线路子表顺序-->
     <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.LinkedHashMap">
-        select RLS.SEGMENT_SQE           "segmentSqe",
+        select  RLS.SEGMENT_SQE           "segmentSqe",
                RLS.SEGMENT_START_NODE_ID "type",
                RL.LINK_NAME              "linkName",
                RLI.LINE_TYPE             "lineType"