txf 3 vuotta sitten
vanhempi
commit
3a9ab99230

+ 12 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -11,6 +11,7 @@ import com.steerinfo.dil.util.PageListAdd;
 
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -312,10 +313,21 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(pageList);
 
     }
+    @ApiOperation(value="判断一车多单是否还有订单,如果还有就推送消息再给司机")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name ="mapValue",value = "orderId")
+    })
+    @PostMapping("/pushMessageToDriver")
+    public RESTfulResult pushMessageToDriver(@RequestBody Map<String,Object> mapValue){
+
+        omstruckOrderService.pushMessageToDriver(mapValue);
+        return null;
+    }
 
     @ApiOperation(value = "司机接收、拒绝接单")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码/拒绝原因insertUpdateRemark", required = false, dataType = "Map"),
+            @ApiImplicitParam(name = "map", value = "运输订单主键id加同意/拒绝状态码/拒绝原因insertUpdateRemark", required = false, dataType = "Map"),
     })
     @PostMapping("/driverReceiveOrRefuse")
     public RESTfulResult driverReceiveOrRefuse(@RequestBody Map<String, Object> map) {

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

@@ -146,6 +146,7 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
             esFeign.insertIndex(allTruckOrder);
             //删除
             allTruckOrder.remove(allTruckOrder.size() - 1);
+            allTruckOrder.remove(allTruckOrder.size() - 1);
         }
         if (allTruckOrder == null)
             allTruckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
@@ -252,4 +253,11 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         return success(capacityAllOrderList);
     }
 
+    @ApiOperation(value = "根据运单id关闭运输订单")
+    @PostMapping("/closeOrder")
+    public RESTfulResult closeOrder(@RequestParam Integer orderId){
+        int result = omstruckOrderSeparateService.closeOrder(orderId);
+        return success(result);
+    }
+
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -19,4 +19,9 @@ public interface AmsFeign {
     //更改计划子表重量
     @PostMapping("api/v1/ams/amstruckpurplanmaterial/updateMaterial")
     RESTfulResult updateMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+
+    //更改计划子表重量
+    @PostMapping("api/v1/ams/amstrucksporadicorders/addSporadicOrderTimes")
+    RESTfulResult addSporadicOrderTimes(@RequestBody(required = false) Map<String, Object> map);
 }

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

@@ -265,4 +265,11 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     //查看当前订单最大路段顺序号 与当前订单路段顺序号
     Map<String, Object> getMaxLineSeqByOrderId(BigDecimal orderId);
+
+    //通过订单id查询零星订单id,运力id
+    Map<String, Object> getSporadicOrdermapAddOrder(BigDecimal orderId);
+//
+//    //通过订单查询趟次
+//    Integer getSporadicOrderTimes(BigDecimal orderId);
+
 }

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

@@ -85,4 +85,7 @@ public interface OmstruckOrderSeparateMapper {
     //查询订单发货日期(订单类型为2)
     Integer getDeliveryDate(Object orderId);
 
+
+//    int updateTimes(@Param("orderPlanId") BigDecimal orderPlanId, @Param("times")int times);
+
 }

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

@@ -18,9 +18,15 @@ public interface IOmstruckOrderSeparateService {
 
     //根据运输订单id修改运力id
     int updateOmstruckOrder(OmstruckOrder omstruckOrder);
+
+
     List<Map<String,Object>> getUnloadOrderMaterial(Map<String, Object> map);
+
     // 承运商销售分派运输订单给司机
     Integer addSaleTruckOrder(Map<String, Object> mapValue);
+    // 关闭订单
+    int closeOrder(Integer orderId);
+
     //更改趟次
     int updateTimes(BigDecimal orderPlanId, int i);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -182,4 +182,8 @@ public interface IOmstruckOrderService {
 
     // 新增采购进口矿订单
     int addInputOrder(Map<String, Object> mapValue);
+
+    void pushMesToWebsocket(Map<String, Object> map);
+
+    void pushMessageToDriver(Map<String, Object> mapValue);
 }

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

@@ -399,6 +399,20 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public int updateTimes(BigDecimal orderPlanId, int times) {
         return omstruckOrderSeparateMapper.updateTimes(orderPlanId, times);
     }
+    /**
+     * 根据运单id关闭运输订单
+     * @param orderId
+     * @return
+     */
+    @Override
+    public int closeOrder(Integer orderId) {
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(new BigDecimal(orderId));
+        omstruckOrder.setOrderStatus(new BigDecimal(8));
+        int result = omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        return result;
+    }
+
     /**
      * @Author TXF
      * @Date 2021/12/30 16:15
@@ -408,4 +422,10 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public List<Map<String, Object>> getCapacityAllOrder(String capacityNumber){
         return omstruckOrderSeparateMapper.getCapacityAllOrder(capacityNumber);
     }
+
+
+//    @Override
+//    public int updateTimes(BigDecimal orderPlanId, int times) {
+//         return omstruckOrderSeparateMapper.updateTimes(orderPlanId,times);
+//       }
 }

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

@@ -507,6 +507,27 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         System.out.println(s);
     }
 
+    @Override//判断一车多单是否还有订单,如果又就再推送消息给他
+    public void pushMessageToDriver(Map<String, Object> mapValue) {
+        Map<String,Object> mapAddOrder  =omstruckOrderMapper.getSporadicOrdermapAddOrder(new BigDecimal(mapValue.get("orderId").toString()));
+        BigDecimal sporadicOrderTimes = DataChange.dataToBigDecimal(mapAddOrder.get("sporadicOrderTimes"));
+        BigDecimal sporadicOrderId = DataChange.dataToBigDecimal(mapAddOrder.get("sporadicOrderId"));
+        BigDecimal orderId = DataChange.dataToBigDecimal(mapValue.get("orderId"));
+        BigDecimal capacityId = DataChange.dataToBigDecimal(mapAddOrder.get("capacityId"));
+        Map<String, Object> addMapSporadicOrder = new HashMap<>();
+        addMapSporadicOrder.put("sporadicOrderId",sporadicOrderId);
+        addMapSporadicOrder.put("orderId",orderId);
+        List<Map<String,Object>> mapList = new ArrayList<>();
+        Map<String,Object> map=new HashMap<>();
+        map.put("capacityId",capacityId);
+        mapList.add(map);
+        addMapSporadicOrder.put("mapList",mapList);
+        if (sporadicOrderTimes.intValue()>0){
+            //mapvalue需要orderId,零星订单id,maplist放一个运力id
+            amsFeign.addSporadicOrderTimes(addMapSporadicOrder);
+        }
+    }
+
     /**
      * 销售物流,下发订单
      *
@@ -556,9 +577,9 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     public synchronized int driverReceiveOrRefuse(Map<String, Object> map) {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         OmstruckOrder omstruckOrder = new OmstruckOrder();
-        if((Integer) map.get("orderReceiveStatus") == 1){
+        if((Integer) map.get("orderReceiveStatus") == 1) {
             List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
-            if(orderIdList.size() > 0){
+            if (orderIdList.size() > 0) {
                 return 0;
             }
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
@@ -567,18 +588,17 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             //添加各个实绩
             omstruckOrderSeparateService.addAllSonResult(orderMessage);
             //判断订单是否是一车多单
-
-            BigDecimal orderType= (BigDecimal) orderMessage.get("orderType");
-            if (orderType.intValue() == 15||orderType.intValue() == 16){
+            BigDecimal orderType = (BigDecimal) orderMessage.get("orderType");
+            if (orderType.intValue()==15 || orderType.intValue()==16) {
                 //通过订单查询趟次
-               Integer sporadicOrderTimes  =omstruckOrderMapper.getSporadicOrderTimes(orderId);
+                Integer sporadicOrderTimes = omstruckOrderMapper.getSporadicOrderTimes(orderId);
                 //生成作业实绩之后、更改订单数量
-                if (orderMessage.containsKey("orderPlanId")&&sporadicOrderTimes>0){
-                    int state= omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()),sporadicOrderTimes-1);
+                if (orderMessage.containsKey("orderPlanId") && sporadicOrderTimes > 0) {
+                    int state = omstruckOrderSeparateService.updateTimes(new BigDecimal(orderMessage.get("orderPlanId").toString()), sporadicOrderTimes - 1);
+                    System.out.println(state);
                 }
-
             }
-        }else { //其他状态都视为 拒绝接单
+        } else { //其他状态都视为 拒绝接单
             omstruckOrder.setOrderStatus(new BigDecimal(6));
             //添加拒绝原因
             omstruckOrder.setInsertUpdateRemark((String) map.get("insertUpdateRemark"));
@@ -633,7 +653,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     /**
      * 司机接单推送数据
      * 车牌号
-     *
      * @param
      * @return
      */
@@ -814,7 +833,13 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         String carrierSsoId = (String) map.get("carrierSsoId");
         BigDecimal carrierId = omstruckOrderMapper.getCarrierIdBySSO(carrierSsoId);
         map.put("carrierId",carrierId);
-        return omstruckOrderMapper.selectTransportOrderForSale(map);
+        List<Map<String, Object>> mapList = omstruckOrderMapper.selectTransportOrderForSale(map);
+        int count = 1;
+        for (Map<String, Object> stringObjectMap : mapList) {
+            stringObjectMap.put("ROW_ID",count);
+            count ++;
+        }
+        return mapList;
     }
 
     @Override

+ 1 - 1
src/main/resources/application-dev.yml

@@ -11,7 +11,7 @@ spring:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8001}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8008}
   AmsFeign:

+ 1 - 0
src/main/resources/bootstrap.yml

@@ -43,6 +43,7 @@ redis:
     time: 864000000
   database: 0
 
+
 mybatis:
   type-aliases-package: com.steerinfo.dil.model
   mapper-locations: classpath:com/steerinfo/dil/mapper/*.xml

+ 9 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -2991,4 +2991,13 @@
             on RL.LINE_ID = OO.LINE_ID
         where OO.ORDER_ID = #{orderId}
     </select>
+    <select id="getSporadicOrdermapAddOrder" resultType="java.util.Map">
+        select aso.sporadic_order_times "sporadicOrderTimes",
+               aso.SPORADIC_ORDER_ID "sporadicOrderId",
+               oo.CAPACITY_ID "capacityId"
+            from OMSTRUCK_ORDER oo
+            left join  AMSTRUCK_SPORADIC_ORDER  aso
+            on oo.ORDER_PLAN_ID=aso.sporadic_order_id
+        where oo.order_id= #{orderId}
+    </select>
 </mapper>

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

@@ -413,6 +413,9 @@
             <if test="type == 2">
                 and OO.ORDER_TYPE = 14
             </if>
+            <if test="type == 3">
+                and OO.ORDER_TYPE in (15,16)
+            </if>
             <if test="carrierId != null">
                 and ASO.CARRIER_ID = (select rc.carrier_id from rms_carrier rc
                 where rc.carrier_sso_id= #{carrierId})
@@ -498,4 +501,10 @@
           and TO_CHAR(ASOM.SALE_DATE_OF_RECEIPT, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
     </select>
 
+ <!--    修改运输订单趟次-->
+<!--     <update id="updateTimes">-->
+<!--          update AMSTRUCK_SPORADIC_ORDER  set sporadic_order_times =#{times}-->
+<!--          where sporadic_order_id= #{orderPlanId}-->
+<!--      </update>-->
+
 </mapper>