Explorar el Código

'进口矿下发多条'

HUJIANGUO hace 3 años
padre
commit
4518372370

+ 11 - 1
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -385,7 +385,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
             mapValue.put("orderStatus", orderStatus);
             count++;
         }
-        if (planId != null) {
+        if (planId != null || !"undefined".equals(planId)) {
             mapValue.put("planId", planId);
             count++;
         }
@@ -496,6 +496,16 @@ public class OmstruckOrderController extends BaseRESTfulController {
         return success(i);
     }
 
+    @ApiOperation(value = "新增采购进口矿订单 ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
+    })
+    @PostMapping("/addInputOrder")
+    public RESTfulResult addInputOrder(@RequestBody(required = false) Map<String, Object> mapValue) {
+        int i = omstruckOrderService.addInputOrder(mapValue);
+        return success(i);
+    }
+
     @ApiOperation(value = "修改分派计划")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),

+ 2 - 1
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -245,5 +245,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> getInwardMap(BigDecimal orderId);
     // 判断是走采购,销售还是内转
     List<Map<String, Object>> getResultListByCapacity(String capacityNumber);
-
+    // 通过卸货点名称查询卸货点id
+    BigDecimal getUnloadPointId(String unloadPoint);
 }

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

@@ -177,4 +177,6 @@ public interface IOmstruckOrderService {
     //通过车牌号查询所有已下发未接收的订单信息
     List<Map<String, Object>> getAllOrderMessagesByCapacityNum(Map<String, Object> map);
 
+    // 新增采购进口矿订单
+    int addInputOrder(Map<String, Object> mapValue);
 }

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

@@ -443,15 +443,15 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Transactional
     public int dispatchOrder(Map<String, Object> mapValue) {
         List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
-        BigDecimal unloadPointId = DataChange.dataToBigDecimal(mapValue.get("unloadPointId"));
+//        BigDecimal unloadPointId = DataChange.dataToBigDecimal(mapValue.get("unloadPointId"));
         int result = 0;
         for (Map<String, Object> map : mapList) {
             Integer orderId = (Integer) map.get("orderId");
             OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(new BigDecimal(orderId));
             //添加卸货点ID
-            if (unloadPointId != null) {
-                omstruckOrder.setUnloadPointId(unloadPointId);
-            }
+//            if (unloadPointId != null || unloadPointId.intValue() != 0) {
+//                omstruckOrder.setUnloadPointId(unloadPointId);
+//            }
             //生成订单下发时间 修改订单表
             omstruckOrder.setOrderIssueTime(new Date());
             //设置状态为已下发:4
@@ -1628,4 +1628,58 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         }
         return  mesMapList;
     }
+
+    /**
+     * 新增进口矿
+     * @param mapValue
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addInputOrder(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        BigDecimal purchaseOrderId = new BigDecimal((Integer) mapValue.get("purchaseOrderId"));
+        BigDecimal materialId = new BigDecimal((Integer) mapValue.get("materialId"));
+        BigDecimal orderType = new BigDecimal((Integer) mapValue.get("orderType"));
+        BigDecimal lineId = new BigDecimal((Integer) mapValue.get("lineId"));
+        int result = 0;
+        for (Map<String, Object> map : mapList) {
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+            String capacityNumber = (String)map.get("capacityNumber");
+            BigDecimal capacityId = omstruckOrderMapper.getCapacityId(capacityNumber);
+            BigDecimal materialWeight = DataChange.dataToBigDecimal(map.get("materialWeight"));
+            String unloadPoint = (String) map.get("unloadPoint");
+            BigDecimal unloadPointId = omstruckOrderMapper.getUnloadPointId(unloadPoint);
+//            Date orderEntryTime = new Date((Long) map.get("orderEntryTime"));
+            // 运输订单
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
+            omstruckOrder.setCapacityId(capacityId);
+            omstruckOrder.setOrderPlanId(purchaseOrderId);
+            omstruckOrder.setOrderType(orderType);
+            omstruckOrder.setOrderStatus(new BigDecimal(3));
+            omstruckOrder.setLineId(lineId);
+            omstruckOrder.setUnloadPointId(unloadPointId);
+//            omstruckOrder.setOrderEntryTime(orderEntryTime);
+            omstruckOrder.setInsertTime(new Date());
+            omstruckOrder.setInsertUsername("admin");
+            // 运输订单子表
+            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+            omstruckOrderMaterial.setOrderId(orderId);
+            omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
+            omstruckOrderMaterial.setMaterialId(materialId);
+            omstruckOrderMaterial.setInsertTime(new Date());
+            omstruckOrderMaterial.setInsertUsername("admin");
+            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+            result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+            //新增实绩总表关联订单 feign 调用truckTms
+            map.put("orderId", omstruckOrder.getOrderId());
+            tmsTruckFeign.addTotalResult(map);
+            amsFeign.updateMaterial(map); //更改运输计划子表 增加已分配重量 减少未分配重量  feign调用ams
+        }
+        return result;
+    }
 }

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

@@ -2308,6 +2308,13 @@
         WHERE ROWNUM = 1
     </select>
 
+    <select id="getUnloadPointId" parameterType="java.lang.String" resultType="DECIMAL">
+        SELECT
+            RW.WAREHOUSE_ID AS "wareHouseId"
+            FROM RMS_WAREHOUSE RW
+            WHERE RW.WAREHOUSE_NAME = #{unloadPoint}
+    </select>
+
     <select id="getCapacityAndDriver" parameterType="java.util.Map" resultType="java.util.Map">
         SELECT *
         FROM (SELECT RC.CAPACITY_NUMBER AS "capacityNumber",