Selaa lähdekoodia

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS

HUJIANGUO 3 vuotta sitten
vanhempi
commit
ba39f0d96f

+ 17 - 6
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -18,10 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @ author    :TXF
@@ -288,8 +285,22 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
 
     @ApiOperation(value = "查看所有实绩点")
     @PostMapping("/getAllResultLineMes")
-    public RESTfulResult getAllResultLineMes(Integer orderId){
-        return success(omstruckOrderSeparateService.getAllOrderResult(new BigDecimal(orderId)));
+    public RESTfulResult getAllResultLineMes(Integer orderId, String orderNumber){
+        Map<String, Object> map = new HashMap<>();
+        if(orderId != null){
+            map.put("orderId", orderId);
+        }
+        if(orderNumber != null){
+            map.put("orderNumber", orderNumber);
+        }
+        List<Map<String, Object>> allOrderResult = null;
+        try {
+            allOrderResult = omstruckOrderSeparateService.getAllOrderResult(map);
+        } catch (Exception e) {
+            System.out.println(e.getMessage());
+            return failed("查询失败");
+        }
+        return success(allOrderResult);
     }
 
     @ApiOperation(value = "正常关闭运输订单")

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

@@ -310,4 +310,7 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     Map<String, Object> getInwardOrderMessageToApp(Map<String, Object> map);
 
+    //根据运输订单号查找需要用车时长
+    Map<String,Object> selectInwardTimeByOrderId(BigDecimal orderId);
+
 }

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

@@ -46,6 +46,8 @@ public interface OmstruckOrderSeparateMapper {
     //通过订单ID查询总实绩ID
     Integer getTotalIdByOrderId(BigDecimal orderId);
 
+    Integer getTotalIdByOrderIdOrOrderNum(Map<String, Object> map);
+
     //通过总实绩ID和路段顺序号查询进厂实绩数据
     Map<String, Object> getEnFactoryMes(Map<String, Object> map);
 

+ 19 - 7
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -275,12 +275,12 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
      * 查询运输进程,通过实绩ID
      * @Author TXF
      * @Date 2022/2/18 16:46
-     * @param orderId
+     * @param map
      * @return
      **/
-    public List<Map<String, Object>> getAllOrderResult(BigDecimal orderId){
+    public List<Map<String, Object>> getAllOrderResult(Map<String, Object> map){
         //通过订单Id查询总实绩Id
-        Integer resultTotalId = omstruckOrderSeparateMapper.getTotalIdByOrderId(orderId);
+        Integer resultTotalId = omstruckOrderSeparateMapper.getTotalIdByOrderIdOrOrderNum(map);
         //通过总实绩ID查询所有的实绩:包括进厂、出厂、计重、装卸货
         List<Map<String, Object>> allMesList = new ArrayList<>(20);
         allMesList.addAll(omstruckOrderSeparateMapper.getAllEnFactoryResultMesByTotalId(resultTotalId));
@@ -293,9 +293,9 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         allMesList.sort(new Comparator<Map<String, Object>>() {
             @Override
             public int compare(Map<String, Object> o1, Map<String, Object> o2) {
-                BigDecimal segmenSqe1 = DataChange.dataToBigDecimal(o1.get("segmenSqe"));
-                BigDecimal segmenSqe2 = DataChange.dataToBigDecimal(o2.get("segmenSqe"));
-                return segmenSqe1.compareTo(segmenSqe2);
+                BigDecimal b1 = DataChange.dataToBigDecimal(o1.get("segmenSqe"));
+                BigDecimal b2 = DataChange.dataToBigDecimal(o2.get("segmenSqe"));
+                return b1.compareTo(b2);
             }
         });
         return allMesList;
@@ -623,7 +623,19 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     @Override
     public int closeInwardOrder(Integer orderId) {
       int i = omstruckOrderSeparateMapper.closeInwardOrder(orderId);
+        //判断是否需要重新推单
+        //根据运输订单id查找需求日期是否超过一个月
+        Map<String, Object> map1 = omstruckOrderMapper.selectInwardTimeByOrderId(new BigDecimal(orderId));
+        Date dueTime =(Date) map1.get("dueTime");
+        //当前时间小于截至时间
+        long DueTime = dueTime.getTime();
+        //获取当前时间
+        Date date=new Date();
+        long nowTime = date.getTime();
+        if (nowTime < DueTime){
+            //推送
+           i+=addNewTransportOrder(new BigDecimal(orderId));
+        }
       return i;
-
     }
 }

+ 3 - 17
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -162,6 +162,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         }
         int count = 0;
         for (Map<String, Object> capacityMap : driverCapacityIdList) {
+            map.put("carrierId",capacityMap.get("carrierId"));
+            map.put("priceId",capacityMap.get("priceId"));
             //添加运输订单
             OmstruckOrder omstruckOrder = generateOmsTruckOrder(map);
             omstruckOrder.setOrderPlanId(purchaseOrderId);
@@ -301,6 +303,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
                 break;
             case 2:
+            case 3:
                 //获取发运计划id
                 //生成子表主键
                 omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
@@ -317,23 +320,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(materialWeight));
                 omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
                 break;
-            case 3:
-                //获取发运计划id
-                //生成子表主键
-                omstruckOrderMaterial.setOrderMaterialId(omstruckOrderMaterialMapper.selectMaxId());
-                Integer dayPlanId1 = (Integer) map.get("dayPlanId");
-                //设置订单id
-                omstruckOrderMaterial.setOrderId(orderId);
-                //根据发运计划id查找物资id和物资重量
-                map = omstruckOrderMapper.selectMaterialIdAndWeightByDayPlanId(dayPlanId1);
-                BigDecimal materialId1 = (BigDecimal) map.get("materialId");
-                BigDecimal materialWeight1 = (BigDecimal) map.get("materialWeight");
-                //设置物资id
-                omstruckOrderMaterial.setMaterialId(DataChange.dataToBigDecimal(materialId1));
-                //设置物资重量
-                omstruckOrderMaterial.setOrderMaterialWeight(DataChange.dataToBigDecimal(materialWeight1));
-                omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
-                break;
             case 4:
                 break;
             case 5:

+ 14 - 2
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -728,7 +728,7 @@
         on RC.CAPACITY_ID = OO.CAPACITY_ID
         <if test="carrierSSOId != null">
             left join RMS_CARRIER RCA
-            on RCA.CARRIER_ID = RC.CARRIER_ID
+            on RCA.CARRIER_ID = OO.CARRIER_ID
         </if>
         left join OMSTRUCK_ORDER_MATERIAL OOM
         on OOM.ORDER_ID = OO.ORDER_ID
@@ -984,6 +984,7 @@
             RC.CAPACITY_NUMBER = #{capacityNumber}
         </if>
     </update>
+
     <update id="refuseCtrlZ">
         UPDATE OMSTRUCK_ORDER OO
         SET OO.ORDER_STATUS = 4
@@ -3232,5 +3233,16 @@
             AND OO.ORDER_STATUS in (2, 4, 5, 6)
         </if>
     </select>
-
+<!-- 根据运输订单id查找需求日期 -->
+ <select id="selectInwardTimeByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+   select AIR.DUE_DATE  "dueTime"
+   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
+   where OO.ORDER_ID=#{orderId}
+ </select>
 </mapper>

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

@@ -734,5 +734,19 @@
         where "pointDate" is not null
     </select>
 
+    <select id="getTotalIdByOrderIdOrOrderNum" parameterType="map" resultType="java.lang.Integer">
+        select TTR.RESULT_TOTAL_ID
+        from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR on TTR.ORDER_ID = OO.ORDER_ID
+        <where>
+            <if test="orderId != null">
+                and OO.ORDER_ID = #{orderId}
+            </if>
+            <if test="orderNumber != null">
+                and OO.ORDER_NUMBER = #{orderNumber}
+            </if>
+        </where>
+    </select>
+
 
 </mapper>