Browse Source

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API

luobang 2 years ago
parent
commit
c799bd9777

+ 10 - 1
src/main/java/com/steerinfo/dil/controller/TmstruckTimeTaskResultController.java

@@ -74,6 +74,11 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         return success(i);
     }
 
+//    @PostMapping("/genernateInwardTime")
+//    public RESTfulResult genernateInwardTime(@RequestBody(required=false) Map<String,Object> mapValue) throws Exception {
+//        int i = tmstruckTimeTaskResultService.genernateInwardTime(mapValue);
+//        return success(i);
+//    }
 
     @ApiOperation(value="用于计时判断")
     @ApiImplicitParams({
@@ -230,7 +235,8 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
                                           String con,
                                           String userId,
                                           String startTime,
-                                          String endTime
+                                          String endTime,
+                                          Integer orderType
     ){
         if (mapValue==null){
             mapValue=new HashMap<>();
@@ -242,6 +248,9 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         if (userId!=null&&!userId.equals("undifined")&&!userId.equals("")){
             mapValue.put("userId",userId);
         }
+        if (orderType!=null&&!orderType.equals("undifined")&&!orderType.equals("")){
+            mapValue.put("orderType",orderType);
+        }
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
         List<Map<String, Object>> result = tmstruckTimeTaskResultService.getAllTimeTaskResult(mapValue);

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

@@ -113,4 +113,7 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
      * @Description:
      */
     void changeNumber(String orderNumber);
+
+    //根据运输订单号查询当前物资,判断出厂是否需要装货
+    List<String> getMaterial(String orderNumber);
 }

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

@@ -31,7 +31,7 @@ public interface TmstruckTimeTaskResultMapper extends IBaseMapper<TmstruckTimeTa
     //查询所有确认暂停结束时间
     List<Map<String, Object>> getAllTimeout(BigDecimal resultTotalId);
 
-    //查询计时作业
+    //查询计时(计次)作业
     List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map);
 
     //根据运输订单号查找需要用车时长

+ 17 - 6
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -215,12 +215,23 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 }
             }
         }
-        //if(orderType == 13){
-        //    Map<String,Object> loadResultMap = tmstruckLoadResultMapper.getLoadResultMap(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
-        //    if(loadResultMap == null || loadResultMap.get("loadEndTime") == null){
-        //        throw new Exception("该车未扫装货,请提醒司机去扫装货");
-        //    }
-        //}
+        if(orderType == 13 ){
+            //检查物资类型
+            List<String> materials=null;
+            try{
+                materials=tmstruckLeaveFactoryResultMapper.getMaterial(orderNumber);
+            }catch (Exception e){
+                e.printStackTrace();
+                System.out.println("查询物资失败,不检查是否装货,不影响后续执行");
+            }
+            //检查是否装货
+            if(materials!=null && materials.size()>0){
+                Map<String,Object> loadResultMap = tmstruckLoadResultMapper.getLoadResultMap(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
+                if(loadResultMap == null || loadResultMap.get("loadEndTime") == null){
+                    throw new Exception("该车未扫装货,请提醒司机去扫装货");
+                }
+            }
+        }
         map.putAll(mesMap);
         map.putAll(selectMap);
         map.remove("Sqe");

+ 15 - 5
src/main/java/com/steerinfo/dil/service/impl/TmstruckTimeTaskResultServiceImpl.java

@@ -385,13 +385,24 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
                 tmstruckTimeTaskResult.setUpdateUsername(personnelSsoId);
             }
             i += tmstruckTimeTaskResultMapper.updateByPrimaryKeySelective(tmstruckTimeTaskResult);
-            map.put("Time1",Time1);
-            genernateInwardTime(map);
+            if(tmstruckTimeTaskResult.getResultBalanceTime()!=null && tmstruckTimeTaskResult.getResultBalanceTime().intValue()!=0){
+                map.put("Time1",tmstruckTimeTaskResult.getResultBalanceTime());
+            }else{
+                map.put("Time1",Time1);
+            }
             //计算完成
             Map<String, Object> orderMes = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
             BigDecimal orderType =DataChange.dataToBigDecimal(orderMes.get("orderType"));
             if (orderType.intValue()==21) {
-                pushOrderForPause(map);
+                //生成计时计费详单
+                genernateInwardTime(map);
+                pushOrderForPause(map);//包含关闭订单并推单
+            }else if(orderType.intValue()==26){
+                //关闭运输订单
+                map.put("orderStatus", 2);
+                i = utilsMapper.updateOrderStatusByOrderIdOrNum(map);
+                //生成计次计费详单
+                genernateInwardTime(map);
             }
          }
             return i;
@@ -445,7 +456,7 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
         Map<String,Object>mapInfo = tmstruckTimeTaskResultMapper.getRequirementInfo(orderId1);
         Map<String,Object>mapPrice = null;
         try {
-            mapPrice = amsFeign.getInwardPriceBy(mapInfo);
+            mapPrice = amsFeign.getInwardPriceBy(mapInfo);//只查到计时,没有类型id
             if(mapPrice != null){
                 mapPrice.put("orderId",orderId1);
                 mapPrice.putAll(map);
@@ -457,7 +468,6 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
         } catch (Exception e) {
             e.printStackTrace();
         }
-
         return i;
     }
 

+ 10 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1345,4 +1345,14 @@
         set oo.PRINTNUMBER=1
         where oo.ORDER_NUMBER=#{orderNumber}
     </update>
+
+    <select id="getMaterial" resultType="java.lang.String">
+        SELECT
+            DISTINCT RM.MATERIAL_NAME
+        FROM OMSTRUCK_ORDER OO
+           LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM ON OO.ORDER_ID=OOM.ORDER_ID
+           LEFT JOIN RMS_MATERIAL RM ON OOM.MATERIAL_ID=RM.MATERIAL_ID
+           LEFT JOIN RMS_MATERIAL_CHECKLOAD RMC ON RM.MATERIAL_NAME LIKE '%' || RMC.MATERIAL_NAME ||'%'
+        WHERE ORDER_TYPE=13 AND ORDER_STATUS=5 AND RMC.MATERIAL_NAME IS NOT NULL AND OO.ORDER_NUMBER=#{orderNumber}
+    </select>
 </mapper>

+ 15 - 11
src/main/resources/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.xml

@@ -779,6 +779,9 @@
     LEFT JOIN RMS_CAPACITY_TYPE RCT
     ON RCT.CAPACITY_TYPE_ID=AIR.CAPACITY_TYPE_ID
     where TTTR.RESULT_TIME_TYPE = 3 AND TTTR.RESULT_VALUE IS NOT NULL
+    <if test="orderType!=null">
+      AND OO.ORDER_TYPE =#{orderType}
+    </if>
     <if test="con!=null">
       AND RC.CAPACITY_NUMBER LIKE #{con} or RM.MATERIAL_NAME LIKE #{con}
       or RS.SHIPPER_NAME LIKE #{con}
@@ -885,18 +888,19 @@
   <!--获取需求信息-->
   <select id="getRequirementInfo" resultType="java.util.Map" parameterType="decimal">
     select DISTINCT
-           AIR.CAPACITY_TYPE_ID "capacityTypeId" ,
-           AIR.REQUIREMENT_TYPE "requirementType",
-           RCT.CAPACITY_TYPE_NAME "capacityTypeName"
+      AIR.CAPACITY_TYPE_ID "capacityTypeId" ,
+      AIR.REQUIREMENT_TYPE "requirementType",
+      RCT.CAPACITY_TYPE_NAME "capacityTypeName",
+      AIR.insert_update_remark "insertUpdateRemark"
     from OMSTRUCK_ORDER OO
-           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 RMS_CAPACITY_TYPE RCT
-                     ON AIR.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_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 RMS_CAPACITY_TYPE RCT
+         ON AIR.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
     where oo.ORDER_ID = #{orderId1}
     fetch next 1 rows only
   </select>