Browse Source

修改采购内转物流针对燃料

txf 3 years ago
parent
commit
b0aab32d04

+ 8 - 9
src/main/java/com/steerinfo/dil/controller/TmstruckLeaveFactoryResultController.java

@@ -16,6 +16,7 @@ import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.File;
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -113,20 +114,18 @@ public class TmstruckLeaveFactoryResultController extends BaseRESTfulController
             @ApiImplicitParam(name = "orderNumber", value = "", required = false, dataType = "String"),
     })
     @PostMapping("/addLeaveFactoryResult")
-    public RESTfulResult addLeaveFactoryResult(@RequestBody(required=false) Map<String,Object> mapValue) throws Exception {
-        String nu=mapValue.get("orderNumber").toString();
-        //执行查询语句找出运输类型进行判断,是否为出厂 4 已完成计皮
-        Integer i = tmstruckLeaveFactoryResultService.selectTransportRoute(nu);
+    public RESTfulResult addLeaveFactoryResult(@RequestBody(required=false) Map<String,Object> mapValue){
        //中交新路接口
 //        Map<String, Object> parem=tmstruckLeaveFactoryResultService.getTruckFactoryResult("WYSDD2021091000000002");
 //        parem.put("turnOf","0");
 //        routeService.saveRoute(parem);
-//        if (i == 4) {
-        int leaveFactory=tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
+        int leaveFactory = 0;
+        try {
+            leaveFactory = tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
+        }catch (Exception e){
+            return failed(e.getMessage());
+        }
         return  success(leaveFactory);
-//        }else
-//            return  failed();
-
     }
 
     @ApiOperation(value="APP查询汽车出厂实绩")

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

@@ -39,7 +39,7 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
     //查询内转厂内物资出厂实绩
     List<Map<String, Object>> getInFactoryOutFactoryResult(Map<String, Object> map);
 
-    //通过总实绩Id
+    //通过总实绩Id查询出厂实绩
     BigDecimal getResultIdByTotalId(Integer resultTotalId);
 
     Map<String, Object> getTruckFactoryResult(String nu);

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

@@ -25,7 +25,7 @@ public interface ITmstruckLeaveFactoryResultService {
     List<Map<String, Object>> getLeaveFactoryResult(Map<String, Object> map);
 
     //更新出厂实绩 通过运输订单号
-    int leaveFactoryByPDA(Map<String, Object> map);
+    int leaveFactoryByPDA(Map<String, Object> map) throws Exception;
 
     //查询运输路线是否为可出厂 路段顺序号为 4:已计皮完成
     Integer selectTransportRoute(String orderNumber);

+ 10 - 6
src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java

@@ -147,7 +147,11 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         //通过运输订单号查询订单类型
         String orderNumber = (String) map.get("orderNumber");
         String substring = orderNumber.substring(0, orderNumber.length() - 1);
-        map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(substring));
+        Map<String, Object> selectMap = tmstruckEnfactoryResultMapper.selectEnFactoryResultId(substring);
+        if(selectMap == null){
+            throw new Exception("该车已进厂!!");
+        }
+        map.putAll(selectMap);
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         BigDecimal lineSqe = DataChange.dataToBigDecimal(map.get("segmentSqe"));
         i += updateEnFactoryResultByPDA(map); //添加进厂实绩
@@ -186,14 +190,14 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                     //更新汽车衡
                     i += tmstruckWeightResultService.updateWeightResult(calculateMap);
                 }
-                checkMeasureCommission += tmstruckMeasureCommissionService.addXSMeasureCommission(map); //添加计皮委托
+                checkMeasureCommission = tmstruckMeasureCommissionService.addXSMeasureCommission(map); //添加计皮委托
                 break;
             case 2:
             case 3:
                 //计算计皮汽车衡并更新计量实绩
                 i += tmstruckWeightResultService.calculateTruckCalculateByOne(map, 1);
                 //焦炭 水渣 等只会有一种物资
-                i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
+                checkMeasureCommission += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
                 break;
             case 5:
             case 6:
@@ -206,18 +210,18 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                 //通过订单ID查询物资Id
                 List<Integer> materialIdList = utilsMapper.getMaterialIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
                 map.put("materialId", materialIdList.get(0));
-                checkMeasureCommission += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
+                checkMeasureCommission = tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
                 break;
             case 10: // 采购内转(老区-厂内) 没有进厂
                 if(lineSqe.intValue() == 1){
                    //计算计皮汽车衡并更新计量实绩
                     map.put("tarePlaceId",15);
                     i += tmstruckWeightResultService.updateWeightResult(map);
-                    i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
+                    checkMeasureCommission = tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
                 }else{
                     map.put("grossPlaceId",18);
                     i += tmstruckWeightResultService.updateWeightResult(map);
-                    i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
+                    checkMeasureCommission = tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计量委托
 
                 }
                 break;

+ 8 - 2
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -144,11 +144,15 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
      * @param map
      * @return
      */
-    public int leaveFactoryByPDA(Map<String, Object> map){
+    public int leaveFactoryByPDA(Map<String, Object> map) throws Exception{
         int i = 0;
         String orderNumber = (String) map.get("orderNumber");
         String substring = orderNumber.substring(0, orderNumber.length() - 1);
-        map.putAll(tmstruckLeaveFactoryResultMapper.selectResultId(substring));
+        Map<String, Object> selectMap = tmstruckLeaveFactoryResultMapper.selectResultId(substring);
+        if(selectMap == null){
+            throw new Exception("该车已出厂!!");
+        }
+        map.putAll(selectMap);
         map.put("orderNumber", substring);
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         i += updateLeaveResultByPDA(map); //更新出厂实绩
@@ -180,6 +184,8 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
 //                }
                 break;
             case 10:
+                //判断出厂路段顺序号是否为最后一个 采购订单关闭订单
+                i += utilsService.closeOrderNormally(map);
                 break;
             case 11:
                 break;

+ 13 - 4
src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java

@@ -133,8 +133,10 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         int i = 0;
         map.putAll(tmstruckUnloadResultMapper.selectTotalIdByOrderNo((String) map.get("orderNumber")));
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
+        i += updateUnloadResultBy(map); //更新卸货实绩
         //路段顺序号 + 1
         i += utilsService.updateOrderLineSequence(map);
+        BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
         switch (orderType.intValue()){
             case 1:
                 break;
@@ -149,7 +151,6 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             case 7:
             case 8:
             case 9:
-                i += updateUnloadResultBy(map); //更新卸货实绩
                 //计算计皮汽车衡 (当前无法计算汽车衡)
                 map.put("tarePlaceId", 6);
                 i += tmstruckWeightResultService.updateWeightResult(map);
@@ -157,19 +158,27 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
 //                List<Integer> materialIdList = utilsMapper.getMaterialIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
 //                map.put("materialId", materialIdList.get(0));
                 i += tmstruckReceiptResultService.addReceiptResult(map); //新增完卸车实绩后新增一条收货实绩
-                //计皮委托发送后更新出厂门岗
-                BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
+
                 //计算出厂门岗 (暂时定死)
                 Integer gatepostId = 2;
+                //计皮委托发送后更新出厂门岗
                 i += tmstruckLeaveFactoryResultService.updateLeaveFactoryGatepostId(resultTotalId.intValue(), gatepostId);
                 break;
             case 10:
+                //计算计皮汽车衡 (当前无法计算汽车衡)
+                map.put("tarePlaceId", 18);
+                i += tmstruckWeightResultService.updateWeightResult(map);
+                //计算出厂门岗 (暂时定死)
+                Integer gatepostId2 = 9;
+                //计皮委托发送后更新出厂门岗
+                i += tmstruckLeaveFactoryResultService.updateLeaveFactoryGatepostId(resultTotalId.intValue(), gatepostId2);
+                i += tmstruckReceiptResultService.addReceiptResult(map); //新增完卸车实绩后新增一条收货实绩
                 break;
             case 11:
                 //判断出厂路段顺序号是否为最后一个
                 i += utilsService.closeOrderNormally(map);
             case 12:
-                i += updateUnloadResultBy(map); //更新卸货实绩
+
                 //判断是否还有物资,如果还有物资就执行发送计量委托
                 materialIdIsNorWeight(map);
                 break;

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

@@ -657,6 +657,7 @@
         select * from (select TER.RESULT_ID              "resultId",
                OO.ORDER_ID                "orderId",
                OO.ORDER_TYPE              "orderTypee", --避免与筛选条件重名
+               OO.ORDER_TYPE              "orderType",
                TER.RESULT_TOTAL_ID        "resultTotalId",
                RC.CAPACITY_NUMBER         "capacityNumber",
                TER.SEGMEN_SQE             "segmentSqe", --进厂的路段顺序号

+ 9 - 3
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -767,9 +767,15 @@
 
 <!-- 通过总实绩Id 查询出厂实绩ID   -->
     <select id="getResultIdByTotalId" parameterType="int" resultType="java.math.BigDecimal">
-        select TLFR.RESULT_ID
-        from TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
-        where TLFR.RESULT_TOTAL_ID = #{resultTotalId}
+        select *
+        from (
+                 select TLFR.RESULT_ID
+                 from TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+                 where TLFR.RESULT_TOTAL_ID = #{resultTotalId}
+                   and TLFR.RESULT_OUT_GATE_TIME is null
+                 order by TLFR.SEGMENT_SQE
+             )
+        where rownum = 1
     </select>
     <select id="getTruckFactoryResult" resultType="java.util.Map">
                 

+ 67 - 51
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -955,56 +955,72 @@
  where oo.order_id = #{orderId}
     </select>
     <select id="purchaseXqCgNzDXMeasure" resultType="java.util.Map" parameterType="map">
-                select APO.PURCHASE_ORDER_NO || ',' || APO.EAS_ENTRY_ID "orderSource",
-               OO.ORDER_NUMBER "orderId",
-               RC.CAPACITY_NUMBER "carNumber",
-               RTC.TRUCK_CALCULATE_NUMBER "regionName",
-               RS.SUPPLIER_NAME "provider",
-               RS.SUPPLIER_DUTY_PARAGRAPH "providerNo",
-               RSH.SHIPPER_NAME "receiver",
-               (case
-                 when RSH.SHIPPER_PARTITION_CODE is null then
-                  ' '
-                 else
-                  RSH.SHIPPER_PARTITION_CODE
-               end) "receiverNo",
-               RM.MATERIAL_ID || '' "item",
-               RM.MATERIAL_CODE "goodsNo",
-               CONCAT(RM.MATERIAL_NAME,
-                      CONCAT(RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL)) "goodsName",
-               (case
-                 when OOM.ORDER_MATERIAL_WEIGHT is null then
-                  0
-                 else
-                  OOM.ORDER_MATERIAL_WEIGHT
-               end) || '' "planQuantity"
-          from OMSTRUCK_ORDER OO
-          left join TMSTRUCK_TOTAL_RESULT TTR
-            on TTR.ORDER_ID = OO.ORDER_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_SHIPPER RSH
-            on RSH.SHIPPER_ID = APO.RECEIVE_UNIT_ID
-          left join OMSTRUCK_ORDER_MATERIAL OOM
-            on OO.ORDER_ID = OOM.ORDER_ID
-          left join RMS_MATERIAL RM
-            on RM.MATERIAL_ID = OOM.MATERIAL_ID
-          left join RMS_CAPACITY RC
-            on RC.CAPACITY_ID = OO.CAPACITY_ID
-          left join TMSTRUCK_WEIGHT_RESULT TWR
-            on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
-          left join RMS_TRUCK_CALCULATE RTC
-            on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
-          left join TMSTRUCK_UNLOAD_RESULT TUR
-            on TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-         where OO.ORDER_ID = #{orderId}
+        select *
+        from (
+                 select APO.PURCHASE_ORDER_NO || ',' || APO.EAS_ENTRY_ID                               "orderSource",
+                        OO.ORDER_NUMBER                                                                "orderId",
+                        RC.CAPACITY_NUMBER                                                             "carNumber",
+                        (case when TWR.RESULT_GROSS_PLACE_ID is not null
+                              then (
+                                    select RTC.TRUCK_CALCULATE_NUMBER from RMS_TRUCK_CALCULATE RTC
+                                    where RTC.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
+                                  )
+                              when TWR.RESULT_GROSS_PLACE_ID is null
+                              then (
+                                  select RTC.TRUCK_CALCULATE_NUMBER from RMS_TRUCK_CALCULATE RTC
+                                  where RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
+                                  )
+                            end
+                            )                                                                          "regionName",
+                        RS.SUPPLIER_NAME                                                               "provider",
+                        RS.SUPPLIER_DUTY_PARAGRAPH                                                     "providerNo",
+                        RSH.SHIPPER_NAME                                                               "receiver",
+                        (case
+                             when RSH.SHIPPER_PARTITION_CODE is null then
+                                 ' '
+                             else
+                                 RSH.SHIPPER_PARTITION_CODE
+                            end)                                                                       "receiverNo",
+                        RM.MATERIAL_ID || ''                                                           "item",
+                        RM.MATERIAL_CODE                                                               "goodsNo",
+                        CONCAT(RM.MATERIAL_NAME, CONCAT(RM.MATERIAL_SPECIFICATION, RM.MATERIAL_MODEL)) "goodsName",
+                        (case
+                             when OOM.ORDER_MATERIAL_WEIGHT is null then
+                                 0
+                             else
+                                 OOM.ORDER_MATERIAL_WEIGHT
+                            end) || ''                                                                 "planQuantity"
+
+                 from OMSTRUCK_ORDER OO
+                          left join TMSTRUCK_TOTAL_RESULT TTR
+                                    on TTR.ORDER_ID = OO.ORDER_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_SHIPPER RSH
+                                    on RSH.SHIPPER_ID = APO.RECEIVE_UNIT_ID
+                          left join OMSTRUCK_ORDER_MATERIAL OOM
+                                    on OO.ORDER_ID = OOM.ORDER_ID
+                          left join RMS_MATERIAL RM
+                                    on RM.MATERIAL_ID = OOM.MATERIAL_ID
+                          left join RMS_CAPACITY RC
+                                    on RC.CAPACITY_ID = OO.CAPACITY_ID
+                          left join TMSTRUCK_WEIGHT_RESULT TWR
+                                    on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+
+                          left join TMSTRUCK_UNLOAD_RESULT TUR
+                                    on TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                 where OO.ORDER_ID = #{orderId}
+                   and TWR.RESULT_NET_WEIGHT is null
+                 order by TWR.TARE_SEGMENT_SQE
+             )
+        where rownum = 1
     </select>
 </mapper>