Ver Fonte

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

HUJIANGUO há 3 anos atrás
pai
commit
3c0116a7e2

+ 6 - 2
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -326,8 +326,12 @@ public class OmstruckOrderController extends BaseRESTfulController {
     })
     @PostMapping("/driverReceiveOrRefuse")
     public RESTfulResult driverReceiveOrRefuse(@RequestBody Map<String, Object> map) {
-        int i = omstruckOrderService.driverReceiveOrRefuse(map);
-        return success(i);
+        try {
+            int i = omstruckOrderService.driverReceiveOrRefuse(map);
+            return success(i);
+        } catch (Exception e) {
+            return failed(e.getMessage());
+        }
     }
 
     @ApiOperation(value = "司机APP端调用接口查询数据 4 已下发 5 已接收")

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

@@ -279,6 +279,9 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     //判断是否是钢材
     BigDecimal getIsSteel(BigDecimal lineId);
+
+    //通过定向派单ID查询车序号表中的priceId
+    BigDecimal getPriceIdByDispatchId(BigDecimal dispatchId);
 //
 //    //通过订单查询趟次
 //    Integer getSporadicOrderTimes(BigDecimal orderId);

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

@@ -69,7 +69,7 @@ public interface IOmstruckOrderService {
     int deleteOrder(Map<String, Object> map);
 
     //司机接单\拒绝
-    int driverReceiveOrRefuse(Map<String, Object> map);
+    int driverReceiveOrRefuse(Map<String, Object> map) throws RuntimeException;
 
     //查询所有接单或拒绝接单的订单
     List<Map<String, Object>> getReceiveRefuseOrder(Map<String, Object> map);

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

@@ -331,8 +331,11 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
         // 根据lineId查询是否是钢材
         BigDecimal isSteel = omstruckOrderMapper.getIsSteel(new BigDecimal(lineId));
         BigDecimal dispatchId = DataChange.dataToBigDecimal(mapValue.get("dispatchId"));
+        //通过定向派单ID查询车序号表中的priceId 价格ID
+        BigDecimal priceId = omstruckOrderMapper.getPriceIdByDispatchId(dispatchId);
         String capacityNumber = (String) mapValue.get("capacityNumber");
         OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setPriceId(priceId);
         BigDecimal orderId = omstruckOrderMapper.selectMaxId();
         Map<String,Object> orderIdMap = new HashMap<>();
         orderIdMap.put("orderId",orderId);

+ 6 - 2
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -786,17 +786,21 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      */
     @Override
     @Transactional
-    public synchronized int driverReceiveOrRefuse(Map<String, Object> map) {
+    public synchronized int driverReceiveOrRefuse(Map<String, Object> map) throws RuntimeException {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         OmstruckOrder omstruckOrder = new OmstruckOrder();
         if((Integer) map.get("orderReceiveStatus") == 1) {
             List<Integer> orderIdList = omstruckOrderMapper.getReceiveOrderIdListByCapacityNum((String) map.get("capacityNumber"));
             if (orderIdList.size() > 0) {
-                return 0;
+                throw  new RuntimeException("已有接收的订单!");
             }
             omstruckOrder.setOrderStatus(new BigDecimal(5)); //5 :已接收
             //通过订单ID查询信息
             Map<String, Object> orderMessage = omstruckOrderSeparateMapper.getOrderMessagge(orderId);
+            int orderStatus = DataChange.dataToBigDecimal(orderMessage.get("orderStatus")).intValue();
+            if(orderStatus == 5 || orderStatus == 6) {
+                throw new RuntimeException("订单已被接收或已被拒绝!");
+            }
             //添加各个实绩
             omstruckOrderSeparateService.addAllSonResult(orderMessage);
             //判断订单是否是一车多单

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

@@ -13,7 +13,7 @@ openfeign:
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.162:8083}
   TmsTruckFeign:
-    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
+    url: ${TMSTRUCKFEIGN_URL:localhost:8008}
   AmsFeign:
     url: ${AMSFEIGN_URL:172.16.33.162:8015}
   ImFeign:

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

@@ -3262,4 +3262,14 @@
         on oom.order_id = oo.order_id
         where oo.order_id = #{orderId}
     </select>
+
+<!--  通过定向派单ID查询车序号表中的priceId  -->
+    <select id="getPriceIdByDispatchId" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+        select ASOM.PRICE_ID
+        from AMS_DISPATCH_SALE_ORDER ADSO
+        left join AMS_SALE_ORDER_MATERIAL ASOM
+            on ASOM.SALE_ORDER_MATERIAL_ID = ADSO.SALE_ORDER_MATERIAL_ID
+        where ADSO.DISPATCH_ID  = #{dispatchId}
+    </select>
+
 </mapper>

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

@@ -73,6 +73,7 @@
                OO.ORDER_NUMBER    AS "orderNumber",
                OO.UNLOAD_POINT_ID AS "unloadPointId",
                OO.LINE_ID     "lineId",
+               OO.ORDER_STATUS "orderStatus",
                TTR.RESULT_TOTAL_ID  "resultTotalId"
         FROM OMSTRUCK_ORDER OO
             left join TMSTRUCK_TOTAL_RESULT TTR