liyg 2 лет назад
Родитель
Сommit
47ab60303b

+ 62 - 45
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -529,6 +529,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public int dispatchInwardTruckOrderBySale(Map<String, Object> mapValue) {
         int result = 0;
         // 得到列内容
@@ -550,10 +551,55 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(count));
         // 下发状态
         amsSaleOrderMaterial.setIssueStatus(new BigDecimal(2));
-        // 遍历每一个列
-        for (Map<String, Object> map : mapList) {
+        // 新增车序号表
+        result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+        BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+        if(mapList.size()>=1){
             //更新发站
+            Map<String,Object> map=mapList.get(0);
             amsSaleOrderMaterialMapper.updateSendStation(map);
+            /*
+             运输订单
+             */
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            // 运输订单主键
+            omstruckOrder.setOrderId(orderId);
+            // 车序号主键
+            omstruckOrder.setOrderPlanId(saleOrderMaterialId);
+            //添加承运商ID 和 运价ID
+//            Object priceId = map.get("priceId");
+            Object priceId = map.get("priceId");
+            if (priceId != null) {
+                omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
+            }
+            // 承运商id
+            BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 运输线路id
+            BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 车牌号
+            String capacityNumber = (String) map.get("capacityNumber");
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            // 运输订单号
+            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
+            // 运力id
+            omstruckOrder.setCapacityId(capacityId);
+            // 承运商
+            omstruckOrder.setCarrierId(carrierId);
+            // 下发时间
+            omstruckOrder.setOrderIssueTime(new Date());
+            // 运单状态
+            omstruckOrder.setOrderStatus(new BigDecimal(4));
+            // 订单类型
+            omstruckOrder.setOrderType(new BigDecimal(4));
+            // 运输线路id
+            omstruckOrder.setLineId(lineId);
+            omstruckOrder.setInsertTime(new Date());
+            // 新增运输订单
+            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+        }
+        // 遍历每一个列
+        for (Map<String, Object> map : mapList) {
             // 销售订单-物资中间表id
             BigDecimal saleMaterialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
             // 物资id
@@ -566,6 +612,8 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             BigDecimal isSteel = amsSaleOrderMaterialMapper.getIsSteel(lineId);
             // 物资重量
             BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialWeight"));
+            // 物资数量
+            BigDecimal materialNum = DataChange.dataToBigDecimal(map.get("materialNum"));
             // 车牌号
             String capacityNumber = (String) map.get("capacityNumber");
             // 得到运力id
@@ -593,7 +641,8 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             // 车序号主键
             amsSaleTrucknoMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
             // 物资重量
-            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            amsSaleTrucknoMaterial.setMaterialTheoreticalWeight(materialNumber);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNum);
             /*
              定向派单表
              */
@@ -612,37 +661,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
             // 车序号状态
             amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
-            /*
-             运输订单
-             */
-            OmstruckOrder omstruckOrder = new OmstruckOrder();
-            // 运输订单主键
-            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
-            omstruckOrder.setOrderId(orderId);
-            // 车序号主键
-            omstruckOrder.setOrderPlanId(saleOrderMaterialId);
-            //添加承运商ID 和 运价ID
-//            Object priceId = map.get("priceId");
-            Object priceId = map.get("priceId");
-            if (priceId != null) {
-                omstruckOrder.setPriceId(DataChange.dataToBigDecimal(priceId));
-            }
-            omstruckOrder.setCarrierId(carrierId);
-            // 运输订单号
-            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
-            // 运力id
-            omstruckOrder.setCapacityId(capacityId);
-            // 承运商
-            omstruckOrder.setCarrierId(carrierId);
-            // 下发时间
-            omstruckOrder.setOrderIssueTime(new Date());
-            // 运单状态
-            omstruckOrder.setOrderStatus(new BigDecimal(4));
-            // 订单类型
-            omstruckOrder.setOrderType(new BigDecimal(4));
-            // 运输线路id
-            omstruckOrder.setLineId(lineId);
-            omstruckOrder.setInsertTime(new Date());
+
             /*
              运输订单子表
              */
@@ -656,27 +675,25 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             omstruckOrderMaterial.setMaterialId(materialId);
             // 物资重量
             omstruckOrderMaterial.setOrderMaterialWeight(materialNumber);
+            //物资数量
+            omstruckOrderMaterial.setOrderMaterialNumber(materialNum);
             omstruckOrderMaterial.setInsertTime(new Date());
-            // 新增车序号表
-            result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
             // 新增车序号-物资中间表
             result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
             // 新增定向派单表
             result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
-            // 新增运输订单
-            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+
             // 新增运输订单子表
             result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
-            // 调用websocket
-            Map<String,Object> orderIdMap = new HashMap<>();
-            orderIdMap.put("orderId",orderId);
-            pushMesToWebsocket(orderIdMap);
-            // 生成运输执行总实绩
-            result += tmsTruckFeign.addTotalResult(orderIdMap);
             // 车序号累加
             count++;
         }
-
+        // 调用websocket
+        Map<String,Object> orderIdMap = new HashMap<>();
+        orderIdMap.put("orderId",orderId);
+        pushMesToWebsocket(orderIdMap);
+        // 生成运输执行总实绩
+        result += tmsTruckFeign.addTotalResult(orderIdMap);
         return result;
     }