Parcourir la source

修改内转计量

zx il y a 3 ans
Parent
commit
eb2182bf0f

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

@@ -91,4 +91,6 @@ public interface TmstruckMeasureCommissionMapper extends IBaseMapper<TmstruckMea
 
     //查询零星订单发货单位ID
     Integer getPtLxSendUnitIdByOrderId(BigDecimal orderId);
+
+   List<Map<String,Object>> getMaterialIdAndCalculateId(Map<String,Object> map);
 }

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

@@ -80,4 +80,9 @@ public interface UtilsMapper {
 
     //通过运输订单id查找运输订单类型
     BigDecimal getOrderTypeByOrderId(BigDecimal orderId);
+
+    //根据运输订单id查找是否有多个物资
+    Integer countMaterialByOrderId(BigDecimal orderId);
+
+
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/ITmstruckLoadResultService.java

@@ -36,7 +36,7 @@ public interface ITmstruckLoadResultService{
     int addXSLoadResult(Map<String, Object> map);
 
     //修改销售钢渣、水渣、危化品装车实绩
-    int addXS2LoadResult(Map<String, Object> map);
+    int addXS2LoadResult(Map<String, Object> map) throws Exception;
 
     //修改装车作业
     int updateLoadResult(TmstruckLoadResult tmstruckLoadResult);

+ 21 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -59,6 +59,9 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
     @Autowired
     private TmstruckWeightResultServiceImpl tmstruckWeightResultService;
 
+    @Autowired
+    private  TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
+
     /**
      * 生成销售装车实绩(虚拟装车实绩)
      * @param map
@@ -251,7 +254,8 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
      * @return
      */
     @Transactional
-    public int addXS2LoadResult(Map<String, Object> map){
+    public int addXS2LoadResult(Map<String, Object> map) throws Exception {
+        int j=0;
         //通过运输订单号 查询 总实绩ID、订单类型
         Map<String,Object> orderMap = tmstruckEnfactoryResultMapper.selectTotalResultIdByCpAndOn(map);
         BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
@@ -277,11 +281,23 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
                 tmstruckLoadResult.setLoaderId(new BigDecimal(personnelId));
             }
         }
+        BigDecimal orderType =(BigDecimal) orderMap.get("orderType");
+        BigDecimal orderId=DataChange.dataToBigDecimal("orderId");
+        if (orderType.intValue()==11){
+            //判断是否需要第二次计量
+            //根据运输订单号查找物资
+            Integer materialNum = utilsMapper.countMaterialByOrderId(orderId);
+            if (materialNum>1) {
+                //发送第二次计量委托
+                j += tmstruckMeasureCommissionService.sendMeasureCommssion(map);
+
+            }
+        }
         // 更新装货点
         tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("warehouseId")));
         //更新路段顺序号
         int i = utilsService.updateOrderLineSequence(map);
-        //判断是否为未转货
+        //判断是否为未
         if (map.get("insertUpdateRemark")!=null) {
             String insertUpdateRemark = (String) map.get("insertUpdateRemark");
             if("未装货".equals(insertUpdateRemark)){
@@ -289,9 +305,11 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
             }
             tmstruckLoadResult.setInsertUpdateRemark(insertUpdateRemark);
         }
+        if (j == 0) {
+            throw new Exception("第二次委托发送失败");
+        }
         tmstruckLoadResult.setCaseNumber((String) map.get("caseNumber"));
         i += tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
-
         //推送消息到websocket
         utilsService.pushMesToWebsocket((String) orderMap.get("capacityNumber"), "装货");
         return i;

+ 17 - 2
src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java

@@ -229,6 +229,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         Map<String, Object> measureCommission = null;
         //查询计量委托
         Integer orderType = DataChange.dataToBigDecimal(map.get("orderTypee")).intValue();
+        BigDecimal orderId=DataChange.dataToBigDecimal(map.get("orderId"));
         switch (orderType){
             case 1:
                 break;
@@ -239,7 +240,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 10:
                 break;
             case 11://纯内转发送计量委托
-                 measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
+                 //查找是否是多拼
+                 Integer materialNu = utilsMapper.countMaterialByOrderId(orderId);
+                 if (materialNu > 1){
+                     List<Map<String, Object>> inwardCommission = tmstruckMeasureCommissionMapper.getMaterialIdAndCalculateId(map);
+                     for (int i=0;i<=inwardCommission.size();i++){
+                         Map<String,Object> map1=new HashMap<>();
+                         map1=inwardCommission.get(i);
+                         BigDecimal materialId =(BigDecimal) map1.get("materialId");
+                         BigDecimal materiaName =(BigDecimal) map1.get("materiaName");
+                         measureCommission=tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
+                     }
+                 }else {
+                     measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
+                 }
                  measureCommission.put("isRelationEAS", false);
                  measureCommission.put("flowTo", "进厂");
                  measureCommission.put("isDel", false);
@@ -305,7 +319,8 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
 
         }
         /*访问接口发送数据*/
-        return sendMesToMeasure(measureCommission);
+        return 1;
+//        return sendMesToMeasure(measureCommission);
 
     }
 

+ 3 - 3
src/main/resources/application-dev.yml

@@ -31,15 +31,15 @@ openfeign:
   WMSFeign:
     url: ${WMSFEIGN_URL:172.16.33.162:8012}
   OmsFeign:
-    url: ${OMSFEIGN_URL:172.16.33.162:8016}
+    url: ${OMSFEIGN_URL:localhost:8016}
   JoinFeign:
-    url: ${JOINFEIGN_URL:172.16.33.162:8006}
+    url: ${JOINFEIGN_URL:localhost:8006}
   QmsFeign:
     url: ${QMSFEIGN_URL:172.16.33.162:8017}
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.166:8055}
   AmsFeign:
-    url: ${AMSFEIGN_URL:172.16.33.162:8015}
+    url: ${AMSFEIGN_URL:localhost:8015}
 
 server:
   port: 8008

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/truckTms
 spring:
   profiles:
-    include: ${SPRING_PROFILES:prod}
+    include: ${SPRING_PROFILES:dev}
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8

+ 38 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -1182,5 +1182,43 @@
         WHERE
             ROWNUM = 1
     </select>
+<!--  查找未计量完成的物资  -->
+    <select id="getMaterialIdAndCalculateId" resultType="java.util.Map" parameterType="java.util.Map">
+        SELECT
+            OO.ORDER_NUMBER "transportNum",
+            RC.CAPACITY_NUMBER "carNum",
+            APO.PURCHASE_ORDER_NO "purchaseOrder",
+            RW.WAREHOUSE_NAME "unloadPlace",
+            TWR.INSERT_UPDATE_REMARK "demo",
+            RM.MATERIAL_ID "materialId",
+            RM.MATERIAL_NAME "materiaName",
+            concat( RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL ) "goodsType",
+            RTC.TRUCK_CALCULATE_NUMBER "steelyardNum"
+        FROM
+            OMSTRUCK_ORDER OO
+                LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                LEFT JOIN AMSTRUCK_INWARD_PLAN AIP ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+                LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP ON ARP.PLAN_ID = AIP.PLAN_ID
+                LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                LEFT JOIN AMS_PURCHASE_ORDER APO ON APO.PURCHASE_ORDER_ID = AIR.PURCHASE_ORDER_ID
+                LEFT JOIN RMS_SUPPLIER RS ON RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                LEFT JOIN RMS_CONSIGNEE RCE ON RCE.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
+                LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
+                LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR ON TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                LEFT JOIN TMSTRUCK_LOAD_RESULT  TLR  ON TLR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+                LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
+                LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM ON OOM.ORDER_ID = OO.ORDER_ID
+                LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+                LEFT JOIN RMS_TRUCK_CALCULATE RTC ON RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
+        WHERE
+            OO.ORDER_ID = #{orderId} AND TLR.RESULT_LOAD_END_TIME IS NOT NULL
+        ORDER BY
+            TWR.TARE_SEGMENT_SQE DESC,
+            TLR.SEGMENT_SQE DESC,
+            OOM.MATERIAL_PRIORITY DESC
+
+    </select>
+
 
 </mapper>

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -183,4 +183,10 @@
         from OMSTRUCK_ORDER OO
         where  OO.ORDER_ID=#{orderId}
     </select>
+     <!-- 根据运输订单id查找是否有多个物资 -->
+    <select id="countMaterialByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+        select count(MATERIAL_ID)
+        from OMSTRUCK_ORDER_MATERIAL OOM
+        where OOM.ORDER_ID=#{orderId}
+    </select>
 </mapper>