txf il y a 3 ans
Parent
commit
0966991418

+ 3 - 1
src/main/java/com/steerinfo/dil/feign/OmsFeign.java

@@ -15,6 +15,8 @@ import java.util.Map;
 @FeignClient(value = "dil-oms-dev", url = "${openfeign.OmsFeign.url}")
 public interface OmsFeign {
     @PostMapping("api/v1/oms/omstruckorderseparates/closeInwardOrder")
-    Map<String,Object> closeInwardOrder(@RequestParam("orderId") Integer orderId, @RequestParam("sqe") Integer sqe);
+    Map<String,Object> closeInwardOrder(@RequestParam("orderId") Integer orderId,
+                                        @RequestParam("sqe") Integer sqe,
+                                        @RequestParam("resultNetWeight")String resultNetWeight);
 
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -53,4 +53,7 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     //查询采购内转总厂到老区的订单信息
     Map<String, Object> get20PurOrderMesToKD(String orderNumber);
+
+    //钢材查询下一个未计量的实绩
+    List<Map<String, Object>> getNoNetWeightResultId(BigDecimal resultTotalId);
 }

+ 42 - 2
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -171,7 +171,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             dealWithLxOrder(map, stringObjectMap);
         }
         //推送数据
-        utilsService.pushMesToWebsocket((String) stringObjectMap.get("capacityNumber"), "计量");
+        utilsService.pushMesToWebsocket((String) oneMap.get("capacityNumber"), "计量");
         return map.get("orderNumber") + "成功";
     }
 
@@ -259,6 +259,19 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             }else{
                 map.put("segmentSqe", map.get("grossSegmentSqe")); //毛重路段顺序
             }
+            if(orderType == 1){
+                //如果是钢材订单,获取下一个还没计量的实绩 将毛重数据作为下一个计量实绩的皮重
+                //并且是第二次传入重量才执行
+                List<Map<String, Object>> steelMapList = tmstruckWeightResultMapper.getNoNetWeightResultId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
+                if(steelMapList.size() >= 2){ //当前更新还未提交所以如果是拼装需要查询两个出来 以第二个为准
+                    Map<String, Object> steelMap = steelMapList.get(1);
+                    Object resultNetWeight = map.get("resultNetWeight");
+                    if(resultNetWeight  != null && !"".equals(resultNetWeight)){
+                        updateSteelAssemble(map, steelMap); //更新下一拼实绩
+                        map.put("segmentSqe", steelMap.get("tareSegmentSqe")); // 修改路段顺序号直接到下一皮重路段顺序
+                    }
+                }
+            }
             utilsService.updateOrderLineSequence(map);
         }
         return tmstruckWeightResult;
@@ -402,7 +415,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             Integer resultId = utilsMapper.getUnloadResultByTotalId(DataChange.dataToBigDecimal(oneMap.get("totalId")));
             if(resultId != null){
                 int orderIds = DataChange.dataToBigDecimal(oneMap.get("orderIds")).intValue();
-                omsFeign.closeInwardOrder(orderIds, sqe);
+                omsFeign.closeInwardOrder(orderIds, sqe, (String) resultNetWeight);
             }else {
                 Map<String, Object> threeMap = new HashMap<>(); //用于更新路段顺序号
                 threeMap.put("orderLineSequence", sqe);
@@ -488,6 +501,33 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }
     }
 
+
+
+
+    /**
+     * 修改拼装钢材物资
+     * @param map
+     * @param steelMap
+     */
+    public void updateSteelAssemble(Map<String, Object> map, Map<String, Object> steelMap) throws Exception{
+        //更新实绩
+        TmstruckWeightResult steelWightModel = new TmstruckWeightResult();
+        steelWightModel.setId(DataChange.dataToBigDecimal(steelMap.get("weightTaskResultId"))); //查询出来的主键
+        steelMap.put("resultTareCalculateNumber", map.get("resultCrossCalculateNumber")); //皮重汽车衡即为毛重汽车衡
+        steelMap.put("resultTareWeight", map.get("resultCrossWeight"));//皮重即为毛重
+        steelMap.put("resultTareWeightTime", map.get("resultCrossWeightTime"));//皮重时间即为毛重时间
+        addWeightResult(steelWightModel, steelMap);
+        tmstruckWeightResultMapper.updateByPrimaryKeySelective(steelWightModel);
+    }
+
+
+
+
+/*======================================================================================================================================================================
+============================================================================火运火运火运==================================================================================
+======================================================================================================================================================================*/
+
+
     /**
      * 添加火车计量实绩
      * @param map

+ 14 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -874,4 +874,18 @@
               and OO.ORDER_NUMBER = #{orderNumber}
               and TWR.MATERIAL_ID = #{materialId}
     </select>
+
+    <select id="getNoNetWeightResultId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+        SELECT *
+        FROM (
+                 SELECT TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+                        TWR.TARE_SEGMENT_SQE      "tareSegmentSqe"
+                 FROM TMSTRUCK_WEIGHT_RESULT TWR
+                 WHERE TWR.RESULT_TOTAL_ID = #{resultTotalId}
+                   AND TWR.RESULT_NET_WEIGHT IS NULL
+                 ORDER BY TWR.TARE_SEGMENT_SQE
+             )
+        WHERE ROWNUM &lt;= 2
+    </select>
+
 </mapper>