瀏覽代碼

12-22 01:16

txf 3 年之前
父節點
當前提交
58359751a1

+ 1 - 1
pom.xml

@@ -147,7 +147,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>DIL_VERSION</param>
+                        <param>TMSTRUCK_UNLOAD_RESULT</param>
 <!--                        <param>TMSTRUCK_LOAD_RESULT</param>-->
 <!--                        <param>TMSTRUCK_LEAVE_FACTORY_RESULT</param>-->
 <!--                        <param>TMSTRUCK_UNLOAD_RESULT</param>-->

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

@@ -87,7 +87,7 @@ public interface TmstruckLoadResultMapper extends IBaseMapper<TmstruckLoadResult
     TangXiaoFeng
      */
     //通过物资ID和总实绩Id查询唯一的装车实绩Id
-    Integer getLoadResultIdByMIdAndTotalId(@Param("resultTotalId") Integer resultTotalId, @Param("materialId") Integer materialId);
+    Map<String, Object> getLoadResultIdByMIdAndTotalId(@Param("resultTotalId") Integer resultTotalId, @Param("materialId") Integer materialId);
 
     //通过物资ID和订单Id查询唯一的装车实绩Id
     Integer getLoadIdByOrderIdAndMId(Map<String, Object> map);

+ 7 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.java

@@ -29,8 +29,11 @@ public interface TmstruckMeasureCommissionMapper extends IBaseMapper<TmstruckMea
      * from zhangXuan
      */
 
+    //通过订单ID查询收货单位ID
+    Integer getReceiveIdByOrderId(BigDecimal orderId);
+
     //通过订单ID查询发货单位ID
-    Integer getSupplierIdByOrderId(BigDecimal orderId);
+    Integer getShipperIdByOrderId(BigDecimal orderId);
 
     //销售查询计毛
     Map<String, Object> selectMakesureGrossForSaleByOrderNumber(Map<String, Object> map);
@@ -61,4 +64,7 @@ public interface TmstruckMeasureCommissionMapper extends IBaseMapper<TmstruckMea
 
     //销售计量委托(达兴)
     Map<String, Object> saleDXMeasure(Map<String, Object> map);
+
+    //零星物资进厂计量委托
+    Map<String, Object> sporadicDXMeasure(Map<String, Object> map);
 }

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

@@ -89,7 +89,7 @@ public class RulesServiceImpl implements IRulesService {
     public int calculateWeighbridge(Map<String, Object> map){
         //物资类型:无法计算汽车衡 返回所有1
         if(map != null){
-            return 1;
+            return 18;
         }
         List<Integer> calculateList = queryTruckCalculate(map);
         //暂时不考虑优先级 随机进行取值

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

@@ -204,11 +204,11 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
         map.put("resultTotalId", resultTotalId.intValue());
         //通过总实绩ID与物资ID查找 装车实绩主键ID
-        Integer resultId = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), materialId.intValue());
+        Map<String, Object> resultIdMap = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), materialId.intValue());
         TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
         tmstruckLoadResult.setStatus(new BigDecimal(0)); // 添加状态0:正常
         //编辑装车实绩主键ID对应的各个字段
-        tmstruckLoadResult.setResultId(new BigDecimal(resultId));
+        tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(resultIdMap.get("resultId")));
         // 获取扫描实绩最小Id  添加扫描开始时间
         map.put("materialId", materialId);
         Map<String, Object> scanMap = tmstruckLoadResultMapper.getMinScanIdByOrderNum(map);
@@ -243,8 +243,8 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
 
     /**
      * PDA新增销售钢渣、水渣、危化品装车实绩
-     * loadStartTime 装车开始时间   resultMeasuredTonnage 计量吨位
-     * warehouseName  仓库名称      orderNumber 运输订单号   insertUpdateRemark 备注
+     * loadStartTime 装车开始时间
+     * warehouseId  仓库Id      orderNumber 运输订单号   insertUpdateRemark 备注
      * @param map
      * @return
      */
@@ -252,12 +252,12 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         //通过运输订单号 查询 总实绩ID、订单类型
         Map<String,Object> orderMap = tmstruckEnfactoryResultMapper.selectTotalResultIdByCpAndOn(map);
         BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
-        Integer orderType = tmstruckLoadResultMapper.selectOrderTypeByOrderNumber((String) map.get("orderNumber"));
         //查询装车实绩ID
-        Integer resultId = tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), null);
+        map.putAll(tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), null));
         TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
-        tmstruckLoadResult.setResultId(new BigDecimal(resultId));
+        tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
         tmstruckLoadResult.setStatus(new BigDecimal(0));
+        tmstruckLoadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
         //添加装车开始时间
         Date loadStartTime = new Date((long) map.get("loadStartTime"));
         tmstruckLoadResult.setResultLoadStartTime(loadStartTime);
@@ -267,24 +267,16 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         //计算装车时长 取分钟
         long differentTime = (loadEndTime.getTime() - loadStartTime.getTime() / 60000);
         tmstruckLoadResult.setResultLoadDuration(new BigDecimal(differentTime));
-        //添加计量吨位
-        tmstruckLoadResult.setResultMeasuredTonnage(DataChange.dataToBigDecimal(map.get("resultMeasuredTonnage")));
-        //添加装车标准时长
-        setLoadStandardTimeId((String)map.get("orderNumber"), tmstruckLoadResult);
-        // 更新装车名称
-        Object warehouseName = map.get("warehouseName");
-        if(warehouseName != null){
-            Integer warehouseId = utilsService.queryWarehouseIdByName((String) warehouseName);
-            tmstruckLoadResult.setLoadingId(new BigDecimal(warehouseId));
-        }
+        // 更新装货点
+        tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("warehouseId")));
         tmstruckLoadResult.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
         int i = tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
         //装车成功后计算计毛汽车衡(出厂:2)
         i += tmstruckWeightResultService.calculateTruckCalculateByOne(map, 2);
-        //发送计毛委托
-        map.put("resultTotalId", resultTotalId);
-        map.put("orderTypee", orderType);
-        tmstruckMeasureCommissionService.addMaoMeasureCommission(map);
+        //更新路段顺序号
+        i += utilsService.updateOrderLineSequence(map);
+        //推送消息到websocket
+        utilsService.pushMesToWebsocket((String) map.get("capacityNumber"), "装货");
         return i;
     }
 

+ 51 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java

@@ -72,7 +72,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
     }
 
     /**
-     * 添加计量委托 并发送计量委托
+     * 添加计量委托 并发送采购订单计量委托
      * @param map {orderTypee: 订单类型
      *            resultTotalId:总实绩ID  orderId: 订单ID
      *            总实绩ID }
@@ -82,7 +82,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         int i = addMeasureCommission(map); // 添加计毛委托
         //发送数据给计量系统 必要数据 orderTypee:订单类型  resultTotalId: 总实绩Id   orderId
         //获取当前订单是属于哪个厂区订单
-        Integer receiveId = tmstruckMeasureCommissionMapper.getSupplierIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        Integer receiveId = tmstruckMeasureCommissionMapper.getReceiveIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
         if(receiveId == 1){
             //发送委托给达州钢铁
             i += sendMeasureCommissionMes(map);
@@ -94,6 +94,38 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         return i;
     }
 
+    /**
+     * 发送销售订单计量委托
+     * @param map
+     * @return
+     */
+    public int addXSMeasureCommission(Map<String, Object> map){
+        int i = addMeasureCommission(map); // 添加计毛委托
+        //发送数据给计量系统 必要数据 orderTypee:订单类型  resultTotalId: 总实绩Id   orderId
+        //获取当前订单是属于哪个厂区订单
+        Integer shipperId = tmstruckMeasureCommissionMapper.getShipperIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
+        if(shipperId == 1){
+            //发送委托给达州钢铁
+            i += sendMeasureCommissionMes(map);
+        }
+        if(shipperId == 2) {
+            //发送委托给达兴能源
+            i += sendDXMeasureCommissionMes(map);
+        }
+        return i;
+    }
+
+    /**
+     * 添加零星物资计量委托
+     * @param map
+     * @return
+     */
+    public int addLXMeasureCommission(Map<String, Object> map){
+        int i = addMeasureCommission(map); // 添加计毛委托
+        i += sendDXMeasureCommissionMes(map);
+        return i;
+    }
+
 
     /**
      * 新增计毛、计皮委托
@@ -189,14 +221,30 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 6:
             case 7:
             case 8:
-            case 9:
                 measureCommission =  tmstruckMeasureCommissionMapper.purchaseDXMeasure(map);
                 measureCommission.put("deliveryType", "计重");
                 measureCommission.put("billType", "0");
                 measureCommission.put("crname", "admin");
                 measureCommission.put("ended", "0");
+            case 9:
+                break;
             case 10:
+                break;
             case 11:
+                break;
+            case 12:
+                measureCommission = tmstruckMeasureCommissionMapper.sporadicDXMeasure(map);
+                measureCommission.put("regionName", " "); //无法确定汽车衡
+                measureCommission.put("deliveryType", "计重");
+                measureCommission.put("billType", "2");
+                measureCommission.put("planQuantity", "0");
+                measureCommission.put("crname", "admin");
+                measureCommission.put("orderSource", "0");
+                measureCommission.put("ended", "0");
+                break;
+            case 13:
+            case 14:
+
         }
         /*访问接口发送数据*/
         return sendMesToDXMeasure(measureCommission);

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

@@ -16,45 +16,45 @@ spring:
 #feign设置
 openfeign:
   #正式环境
-#  ColumnDataFeign:
-#    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
-#  BmsShipFeign:
-#    url: ${BMSSHIPFEIGN_URL:172.16.33.166:8078}
-#  BmsTruckFeign:
-#    url: ${BMSTRUCKFEIGN_URL:172.16.33.166:8076}
-#  WmshBoundFeign:
-#    url: ${WMSHBOUNDFEIGN_URL:172.16.33.166:8070}
-#  WMSFeign:
-#    url: ${WMSFEIGN_URL:172.16.33.166:8093}
-#  OmsFeign:
-#    url: ${OMSFEIGN_URL:172.16.33.166:8095}
-#  JoinFeign:
-#    url: ${JOINFEIGN_URL:172.16.33.166:8066}
-#  QmsFeign:
-#    url: ${QMSFEIGN_URL:172.16.33.166:8047}
-#  ImFeign:
-#    url: ${IMFEIGN_URL:172.16.33.161:8055}
-
-
-#    测试环境
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   BmsShipFeign:
-    url: ${BMSSHIPFEIGN_URL:172.16.33.162:8007}
+    url: ${BMSSHIPFEIGN_URL:172.16.33.166:8078}
   BmsTruckFeign:
-    url: ${BMSTRUCKFEIGN_URL:172.16.33.162:8009}
+    url: ${BMSTRUCKFEIGN_URL:172.16.33.166:8076}
   WmshBoundFeign:
-    url: ${WMSHBOUNDFEIGN_URL:172.16.33.162:8013}
+    url: ${WMSHBOUNDFEIGN_URL:172.16.33.166:8070}
   WMSFeign:
-    url: ${WMSFEIGN_URL:172.16.33.162:8012}
+    url: ${WMSFEIGN_URL:172.16.33.166:8093}
   OmsFeign:
-    url: ${OMSFEIGN_URL:172.16.33.162:8016}
+    url: ${OMSFEIGN_URL:172.16.33.166:8095}
   JoinFeign:
-    url: ${JOINFEIGN_URL:172.16.33.162:8006}
+    url: ${JOINFEIGN_URL:172.16.33.166:8066}
   QmsFeign:
-    url: ${QMSFEIGN_URL:172.16.33.162:8017}
+    url: ${QMSFEIGN_URL:172.16.33.166:8047}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.162:8018}
+    url: ${IMFEIGN_URL:172.16.33.161:8055}
+
+
+#    测试环境
+#  ColumnDataFeign:
+#    url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8001}
+#  BmsShipFeign:
+#    url: ${BMSSHIPFEIGN_URL:172.16.33.162:8007}
+#  BmsTruckFeign:
+#    url: ${BMSTRUCKFEIGN_URL:172.16.33.162:8009}
+#  WmshBoundFeign:
+#    url: ${WMSHBOUNDFEIGN_URL:172.16.33.162:8013}
+#  WMSFeign:
+#    url: ${WMSFEIGN_URL:172.16.33.162:8012}
+#  OmsFeign:
+#    url: ${OMSFEIGN_URL:172.16.33.162:8016}
+#  JoinFeign:
+#    url: ${JOINFEIGN_URL:172.16.33.162:8006}
+#  QmsFeign:
+#    url: ${QMSFEIGN_URL:172.16.33.162:8017}
+#  ImFeign:
+#    url: ${IMFEIGN_URL:172.16.33.162:8018}
 
 #eureka设置
 eureka:
@@ -124,9 +124,9 @@ mybatis:
 
 server:
   #正式环境
-#  port: 8088
+  port: 8088
   #测试环境
-  port: 8008
+#  port: 8008
 
 
 

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

@@ -628,7 +628,8 @@
     <!--  通过车牌号并且状态不为2 或 运输订单 或运输订单ID  查询关联的实绩总表ID -->
     <select id="selectTotalResultIdByCpAndOn" parameterType="java.util.Map" resultType="java.util.Map">
         select TTR.RESULT_TOTAL_ID "resultTotalId",
-               RC.CAPACITY_NUMBER "capacityNumber"
+               RC.CAPACITY_NUMBER "capacityNumber",
+               OO.ORDER_TYPE       "orderType"
         from OMSTRUCK_ORDER OO
         left join TMSTRUCK_TOTAL_RESULT TTR
         on TTR.ORDER_ID = OO.ORDER_ID

+ 3 - 2
src/main/resources/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.xml

@@ -1099,8 +1099,9 @@
     </select>
 
 <!--  通过物资ID和总实绩Id查询唯一的装车实绩Id  -->
-    <select id="getLoadResultIdByMIdAndTotalId" parameterType="int" resultType="java.lang.Integer">
-        select TLR.RESULT_ID
+    <select id="getLoadResultIdByMIdAndTotalId" parameterType="int" resultType="java.util.Map">
+        select TLR.RESULT_ID "resultId",
+               TLR.SEGMENT_SQE "segmentSqe"
         from TMSTRUCK_LOAD_RESULT TLR
         <where>
             TLR.RESULT_TOTAL_ID = #{resultTotalId}

+ 45 - 3
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -833,8 +833,8 @@
         where OO.ORDER_ID = #{orderId}
     </select>
 
-<!--   通过订单ID查询货单位ID -->
-    <select id="getSupplierIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+<!--   通过订单ID查询货单位ID -->
+    <select id="getReceiveIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
         select APO.RECEIVE_UNIT_ID
         from OMSTRUCK_ORDER OO
         left join AMS_PURCHASE_ORDER APO
@@ -897,7 +897,49 @@
                 <if test="weightTaskResultId != null">
                     and TWR.WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
                 </if>
-                and ASM.MATERIAL_ID = TWR.MATERIAL_ID
+                and ASM.MATERIAL_ID = #{materialId}
                 and rownum = 1
     </select>
+<!--  通过订单ID查询发货单位ID  -->
+    <select id="getShipperIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+        select ASO.SHIPPER_ID
+        from OMSTRUCK_ORDER OO
+        left join AMS_SALE_ORDER_MATERIAL ASOM
+            on ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        left join AMS_SALE_ORDER ASO
+            on ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        where OO.ORDER_ID = #{orderId}
+    </select>
+
+<!--  零星物资进厂计量委托  -->
+    <select id="sporadicDXMeasure" parameterType="map" resultType="java.util.Map">
+        select oo.order_number            "orderId",
+               oom.material_id            "item",
+               rc.capacity_number         "carNumber",
+               rm.material_code           "goodsNo",
+               rm.material_name           "goodsName",
+               rs.supplier_name           "provider",
+               (case
+                    when RS.SUPPLIER_DUTY_PARAGRAPH is null
+                        then ' '
+                    else RS.SUPPLIER_DUTY_PARAGRAPH
+                   end
+                   )                      "providerNo",
+               rce.consignee_company_name "receiver",
+               rce.CONSIGNEE_CODE          "receiverNo"
+        from omstruck_order oo
+                 left join omstruck_order_material oom
+                           on oom.order_id = oo.order_id
+                 left join rms_capacity rc
+                           on rc.capacity_id = oo.capacity_id
+                 left join rms_material rm
+                           on rm.material_id = oom.material_id
+                 left join amstruck_sporadic_order aso
+                           on aso.sporadic_order_id = oo.order_plan_id
+                 left join rms_supplier rs
+                           on rs.supplier_id = aso.send_unit_id
+                 left join rms_consignee rce
+                           on rce.consignee_id = aso.receive_unit_id
+        where oo.order_id = #{orderId} and oom.material_id = #{materialId}
+    </select>
 </mapper>