txf 3 rokov pred
rodič
commit
e46c4a3ec4

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

+ 5 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -54,7 +54,11 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
     //查询采购内转总厂到老区的订单信息
     Map<String, Object> get20PurOrderMesToKD(String orderNumber);
 
-    //计量联动删除方法
+
     int linkageDeleteTransportOrder(@Param("orderNumber") String orderNumber);
 
+    //钢材查询下一个未计量的实绩
+    List<Map<String, Object>> getNoNetWeightResultId(BigDecimal resultTotalId);
+
+
 }

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

@@ -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
@@ -608,6 +648,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         KDWebServiceServiceImpl.sendMesToKD(map);
     }
 
+
     /**
      * 计量联动删除方法
      * @param mapList

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

@@ -880,4 +880,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>