txf 3 éve
szülő
commit
62ec74dcb4

+ 1 - 1
pom.xml

@@ -110,7 +110,7 @@
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
 <!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>-->
-                    <param>RMS_PWAREHOUSE_GRID</param>
+                    <param>OMSTRUCK_ORDER</param>
                     </tables>
                 </configuration>
                 <executions>

+ 38 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -0,0 +1,38 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.OmstruckOrderSeparateMapper;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/12/3 15:07
+ */
+
+@RestController
+@RequestMapping("/${api.version}/omstruckorderseparates")
+public class OmstruckOrderSeparateController extends BaseRESTfulController {
+
+    @Autowired
+    private OmstruckOrderSeparateMapper omstruckOrderSeparateMapper;
+
+    @Autowired
+    private TmsTruckFeign tmsTruckFeign;
+
+    @PostMapping("/getOrderMes")
+    public RESTfulResult getMes(@RequestBody(required = false) Map<String, Object> map){
+        Integer integer = tmsTruckFeign.addTotalResult(map);
+        return success(integer);
+    }
+}

+ 1 - 1
src/main/java/com/steerinfo/dil/feign/TmsTruckFeign.java

@@ -20,7 +20,7 @@ public interface TmsTruckFeign {
 
     //添加总实绩 map:订单Id
     @PostMapping("api/v1/truckTms/tmstrucktotalresults/addTotalResult")
-    RESTfulResult addTotalResult(@RequestBody(required = false) Map<String, Object> map);
+    Integer addTotalResult(@RequestBody(required = false) Map<String, Object> map);
 
     //生成进厂作业实绩: 总实绩Id
     @PostMapping("api/v1/truckTms/tmstruckenfactoryresults/addEnFactoryResult")

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

@@ -0,0 +1,27 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.OmstruckOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 运输订单第二个 mapper
+ * @ author    :TXF
+ * @ time      :2021/12/3 13:10
+ */
+@Mapper
+public interface OmstruckOrderSeparateMapper {
+    //通过订单Id 查询关联的线路子表顺序
+    List<Map<String, Object>> getLineMesByOrderId(Integer orderId);
+
+    //通过运输订单Id更改订单状态
+    int updateOrderStatusByOrderNum(Map<String, Object> map);
+
+    //通过运输订单Id查询订单所有信息
+    Map<String, Object> getOmstruckOrderResult(BigDecimal orderId);
+
+
+}

+ 2 - 2
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -57,9 +57,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     private BigDecimal orderCommunicationDuration;
 
     /**
-     * 运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8:关闭(ORDER_STATUS,DECIMAL,38)
+     * 运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭(ORDER_STATUS,DECIMAL,38)
      */
-    @ApiModelProperty(value="运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8:关闭",required=false)
+    @ApiModelProperty(value="运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭",required=false)
     private BigDecimal orderStatus;
 
     /**

+ 10 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderSeparateService.java

@@ -0,0 +1,10 @@
+package com.steerinfo.dil.service;
+
+/**
+ * 运输订单第二个 service
+ * @ author    :TXF
+ * @ time      :2021/12/3 13:14
+ */
+
+public interface IOmstruckOrderSeparateService {
+}

+ 76 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -0,0 +1,76 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderSeparateMapper;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.service.IOmstruckOrderSeparateService;
+import com.steerinfo.dil.util.DataChange;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 运输订单第二个 impl
+ * @ author    :TXF
+ * @ time      :2021/12/3 13:14
+ */
+
+@Service
+public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateService {
+
+    @Autowired
+    private OmstruckOrderSeparateMapper omstruckOrderSeparateMapper;
+
+    @Autowired
+    private OmstruckOrderMapper omstruckOrderMapper;
+
+    @Autowired
+    private OmstruckOrderServiceImpl omstruckOrderService;
+
+    @Autowired
+    private TmsTruckFeign tmsTruckFeign;
+
+    //通过线路子表路线图生成各实绩
+    public int addAllSonResult(Integer resultTotalId, Integer lineId){
+        //通过订单Id 查询关联的线路子表顺序
+
+        return 0;
+    }
+
+
+    /**
+     * 添加退货实绩关闭当前订单
+     * @param map
+     * @return
+     */
+    public int returnOrderCloseOrder(Map<String, Object> map){
+        //通过运输订单ID关闭运输订单(修改状态为退货关闭:9)
+        map.put("orderStatus", 9);
+        int i = omstruckOrderSeparateMapper.updateOrderStatusByOrderNum(map);
+        //查询之前订单所有的信息
+        Map<String, Object> orderMap = omstruckOrderSeparateMapper.getOmstruckOrderResult(DataChange.dataToBigDecimal(map.get("orderId")));
+        //添加新运输订单 运输订单号
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        BigDecimal newOrderId = omstruckOrderMapper.selectMaxId();
+        omstruckOrder.setOrderId(newOrderId);
+        omstruckOrder.setOrderType(DataChange.dataToBigDecimal(map.get("orderType")));
+        omstruckOrder.setLineId(DataChange.dataToBigDecimal(map.get("lineId")));
+        omstruckOrder.setOrderPlanId(DataChange.dataToBigDecimal(orderMap.get("orderPlanId")));
+        omstruckOrder.setOrderStatus(new BigDecimal(1)); //执行中
+        omstruckOrder.setCapacityId(DataChange.dataToBigDecimal(map.get("capacityId")));
+        omstruckOrder.setOrderNumber((String) map.get("orderNumber") + "-1");
+        //添加运输订单子表
+        Map<String, Object> mesMap = new HashMap<>();
+        mesMap.put("orderId", newOrderId);
+        omstruckOrderService.addOrderMaterial(orderMap, newOrderId);
+        //添加总实绩
+        Integer totalId = tmsTruckFeign.addTotalResult(mesMap);
+
+
+        return 0;
+    }
+}

+ 12 - 4
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -564,17 +564,18 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         Map<String, Object> map = omstruckOrderMapper.getResultTotalIdByOrderNumAndId(numMap);
         //通过运输订单ID查询运输订单子表有几种物资 :物资ID
         List<Integer> materialIdList = omstruckOrderMapper.getMaterialIdListByOrderId(orderId);
-        //生成进厂实绩
+
         Integer orderType = DataChange.dataToBigDecimal(map.get("orderType")).intValue();
         if(orderType != 1)
             //先默认给个门岗
             map.put("gatepostId", 1); //如果不是销售订单
-        tmsTruckFeign.addEnFactoryResult(map);
-        //生成出厂实绩
-        tmsTruckFeign.addLeaveFactory(map);
         switch (orderType) {
             case 1:
             case 4:
+                //生成进厂实绩
+                tmsTruckFeign.addEnFactoryResult(map);
+                //生成出厂实绩
+                tmsTruckFeign.addLeaveFactory(map);
                 //如果有多种物资 就添加多条装车实绩和计量实绩
                 for (Integer materialId : materialIdList) {
                     map.put("materialId", materialId);
@@ -584,6 +585,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 break;
             case 2:
             case 3:
+                tmsTruckFeign.addEnFactoryResult(map);
+                //生成出厂实绩
+                tmsTruckFeign.addLeaveFactory(map);
                 map.put("materialId", materialIdList.get(0)); //只会存在一种物资
                 tmsTruckFeign.addWeightResult(map);
                 tmsTruckFeign.addLoadResult(map);
@@ -592,6 +596,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             case 6:
             case 7:
             case 8:
+                //生成进厂实绩
+                tmsTruckFeign.addEnFactoryResult(map);
+                //生成出厂实绩
+                tmsTruckFeign.addLeaveFactory(map);
                 map.put("materialId", materialIdList.get(0)); //只会存在一种物资
                 map.put("isdeduct", 1);
                 tmsTruckFeign.addWeightResult(map);

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

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.OmstruckOrderSeparateMapper">
+    <!--通过订单Id 查询关联的线路子表顺序-->
+    <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.Map">
+        select RLS.SEGMENT_SQE "segmentSqe",
+               RLS.SEGMENT_START_NODE_ID "type"
+        from RMS_LINE_SEGEMNT RLS
+        where RLS.LINE_ID = (select OO.LINE_ID from OMSTRUCK_ORDER OO where OO.ORDER_ID = #{orderId})
+        order by "segmentSqe"
+    </select>
+
+<!--  通过运输订单Id查询运输信息  -->
+    <select id="getOmstruckOrderResult" parameterType="java.math.BigDecimal" resultType="java.util.Map">
+        select OO.ORDER_NUMBER "orderNumber",
+               OO.ORDER_TYPE "orderType",
+               OO.CAPACITY_ID "capacityId",
+               OO.ORDER_PLAN_ID "orderPlanId",
+               OOM.MATERIAL_ID "materialId",
+               OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
+               OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber"
+        from OMSTRUCK_ORDER OO
+            left join OMSTRUCK_ORDER_MATERIAL OOM
+                on OOM.ORDER_ID = OO.ORDER_ID
+        where OO.ORDER_ID = #{orderId}
+    </select>
+
+<!--  通过运输订单号改变订单状态  -->
+    <update id="updateOrderStatusByOrderNum" parameterType="map">
+        update OMSTRUCK_ORDER OO
+        set  OO.ORDER_STATUS = #{orderStatus}
+        where OO.ORDER_ID = #{orderId}
+    </update>
+</mapper>