Bläddra i källkod

“修改零星”

zx 3 år sedan
förälder
incheckning
edf74a2518

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

@@ -46,7 +46,7 @@ public class AmstruckSporadicOrderController extends BaseRESTfulController {
     ESFeign esFeign;
 
 
-    @ApiOperation(value="新增零星物资进出厂(以及销售钢材退货)")
+    @ApiOperation(value="新增零星物资进出厂(以及销售钢材退货),包括内转精煤")
     @PostMapping("/addSporadicOrders")
     public RESTfulResult addSporadicOrders(@RequestBody Map<String,Object> mapValue) {
         int result = amstruckSporadicOrderService.addSporadicOrders(mapValue);

+ 188 - 66
src/main/java/com/steerinfo/dil/service/impl/AmstruckSporadicOrderServiceImpl.java

@@ -44,82 +44,204 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
     @Autowired
     TmstruckTotalResultMapper tmstruckTotalResultMapper;
 
-
     /**
      * 新增零星物资进出厂(以及销售钢材退货)
      * @param mapValue
      * @return
+     * mapvalue所需值:number(趟次),supplierId(发货单位),receiveId(收货单位),carrierId(承运商),
+     * orderType(订单类型),lineId(运输路径),materialId(物资),orderMaterialNumber(物资件数)
+     * materialPriority(装货优先级)
+     * orderType:15 内转精煤
+     * modifier:zx
      */
     @Transactional
     @Override
     public int addSporadicOrders(Map<String, Object> mapValue) {
         int result = 0;
-        // 新增零星订单表
-        // 发货单位
-        BigDecimal sendUnit = new BigDecimal((Integer) mapValue.get("supplierId"));
-        // 收货单位
-        BigDecimal receiveUnitId = new BigDecimal((Integer) mapValue.get("receiveId"));
-        // 承运商
-        BigDecimal carrierId = new BigDecimal((Integer) mapValue.get("carrierId"));
-        // 得到订单类型
-        BigDecimal orderType = new BigDecimal((Integer) mapValue.get("orderType"));
-        // 得到运输路径
-        BigDecimal lineId = new BigDecimal((Integer) mapValue.get("lineId"));
-        BigDecimal sporadicOrderId = amstruckSporadicOrderMapper.selectSporadicOrderId();
-        AmstruckSporadicOrder amstruckSporadicOrder = new AmstruckSporadicOrder();
-        amstruckSporadicOrder.setSporadicOrderId(sporadicOrderId);
-        amstruckSporadicOrder.setSporadicOrderNo(DataChange.generateEightDigitsNumber("WLXDD",sporadicOrderId.intValue()));
-        amstruckSporadicOrder.setSendUnitId(sendUnit);
-        amstruckSporadicOrder.setReceiveUnitId(receiveUnitId);
-        amstruckSporadicOrder.setCarrierId(carrierId);
-        amstruckSporadicOrder.setIssueStatus(new BigDecimal(0));
-        amstruckSporadicOrder.setInsertTime(new Date());
-        amstruckSporadicOrder.setInsertUsername("admin");
-        amstruckSporadicOrder.setDeleted(new BigDecimal(0));
-        amstruckSporadicOrder.setInsertUpdateRemark("无");
-        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
-        // 新增运输订单表
-        OmstruckOrder omstruckOrder = new OmstruckOrder();
-        BigDecimal orderId = omstruckOrderMapper.selectMaxId();
-        omstruckOrder.setOrderId(orderId);
-        omstruckOrder.setOrderPlanId(sporadicOrderId);
-        omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD",orderId.intValue()));
-        omstruckOrder.setOrderType(orderType);
-        omstruckOrder.setInsertTime(new Date());
-        omstruckOrder.setInsertUsername("admin");
-        omstruckOrder.setInsertUpdateRemark("无");
-        omstruckOrder.setLineId(lineId);
-        //新增总实绩id
-        TmstruckTotalResult tmstruckTotalResult=new TmstruckTotalResult();
-        tmstruckTotalResult.setResultTotalId(tmstruckTotalResultMapper.selectTmstruckTotalResultId());
-        tmstruckTotalResult.setOrderId(omstruckOrder.getOrderId());
-        //新增总实绩
-        result += tmstruckTotalResultMapper.insertSelective(tmstruckTotalResult);
-        result += amstruckSporadicOrderMapper.insertSelective(amstruckSporadicOrder);
-        result += omstruckOrderMapper.insertSelective(omstruckOrder);
-        for (Map<String, Object> map : mapList) {
-            BigDecimal materialId = new BigDecimal((Integer) map.get("materialId"));
-            BigDecimal materialWeight = DataChange.dataToBigDecimal(map.get("orderMaterialWeight"));
-            BigDecimal materialNumber =DataChange.dataToBigDecimal(map.get("orderMaterialNumber"));
-            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
-            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
-            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
-            omstruckOrderMaterial.setOrderId(orderId);
-            omstruckOrderMaterial.setMaterialId(materialId);
-            //设置物资装货优先级
-            omstruckOrderMaterial.setMaterialPriority(DataChange.dataToBigDecimal(map.get("materialPriority")));
-            omstruckOrderMaterial.setInsertUsername("admin");
-            omstruckOrderMaterial.setInsertTime(new Date());
-            if (materialWeight != null) {
-                omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
-            }
-            if (materialNumber != null) {
-                omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
+        //获取趟次
+        Integer number = (Integer) mapValue.get("number");
+        for (int n = 1; n <= number; n++) {
+            // 新增零星订单表
+            // 发货单位
+            BigDecimal sendUnit = new BigDecimal((Integer) mapValue.get("supplierId"));
+            // 收货单位
+            BigDecimal receiveUnitId = new BigDecimal((Integer) mapValue.get("receiveId"));
+            // 承运商
+            BigDecimal carrierId = new BigDecimal((Integer) mapValue.get("carrierId"));
+            // 得到订单类型
+            BigDecimal orderType = new BigDecimal((Integer) mapValue.get("orderType"));
+            // 得到运输路径
+            BigDecimal lineId = new BigDecimal((Integer) mapValue.get("lineId"));
+            BigDecimal sporadicOrderId = amstruckSporadicOrderMapper.selectSporadicOrderId();
+            AmstruckSporadicOrder amstruckSporadicOrder = new AmstruckSporadicOrder();
+            //设置零星物流主键
+            amstruckSporadicOrder.setSporadicOrderId(sporadicOrderId);
+            //设置零星物流编号
+            amstruckSporadicOrder.setSporadicOrderNo(DataChange.generateEightDigitsNumber("WLXDD", sporadicOrderId.intValue()));
+            //设置发货单位
+            amstruckSporadicOrder.setSendUnitId(sendUnit);
+            //设置收货单位
+            amstruckSporadicOrder.setReceiveUnitId(receiveUnitId);
+            //设置承运商
+            amstruckSporadicOrder.setCarrierId(carrierId);
+            //设置下发状态
+            amstruckSporadicOrder.setIssueStatus(new BigDecimal(0));
+            amstruckSporadicOrder.setInsertTime(new Date());
+            amstruckSporadicOrder.setInsertUsername("admin");
+            amstruckSporadicOrder.setDeleted(new BigDecimal(0));
+            amstruckSporadicOrder.setInsertUpdateRemark("无");
+            List<Map<String, Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+            // 新增运输订单表
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+            omstruckOrder.setOrderId(orderId);
+            omstruckOrder.setOrderPlanId(sporadicOrderId);
+            omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue()));
+            omstruckOrder.setOrderType(orderType);
+            omstruckOrder.setInsertTime(new Date());
+            omstruckOrder.setInsertUsername("admin");
+            omstruckOrder.setInsertUpdateRemark("无");
+            omstruckOrder.setLineId(lineId);
+            //新增总实绩id
+            TmstruckTotalResult tmstruckTotalResult = new TmstruckTotalResult();
+            tmstruckTotalResult.setResultTotalId(tmstruckTotalResultMapper.selectTmstruckTotalResultId());
+            tmstruckTotalResult.setOrderId(omstruckOrder.getOrderId());
+            //新增总实绩
+            result += tmstruckTotalResultMapper.insertSelective(tmstruckTotalResult);
+            result += amstruckSporadicOrderMapper.insertSelective(amstruckSporadicOrder);
+            result += omstruckOrderMapper.insertSelective(omstruckOrder);
+            for (Map<String, Object> map : mapList) {
+                BigDecimal materialId = new BigDecimal((Integer) map.get("materialId"));
+                BigDecimal materialWeight = DataChange.dataToBigDecimal(map.get("orderMaterialWeight"));
+                BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("orderMaterialNumber"));
+                OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+                BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+                omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+                omstruckOrderMaterial.setOrderId(orderId);
+                omstruckOrderMaterial.setMaterialId(materialId);
+                //煤炭添加运力
+                if (orderType.intValue() == 15 || orderType.intValue() == 16) {
+                    BigDecimal capacityId = DataChange.dataToBigDecimal(map.get("capacityId"));
+                    omstruckOrder.setOrderId(orderId);
+                    omstruckOrder.setCapacityId(capacityId);
+                    result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+                    //设置物资装货优先级
+                    omstruckOrderMaterial.setMaterialPriority(DataChange.dataToBigDecimal(map.get("materialPriority")));
+                    omstruckOrderMaterial.setInsertUsername("admin");
+                    omstruckOrderMaterial.setInsertTime(new Date());
+                    if (materialWeight != null) {
+                        omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
+                    }
+                    if (materialNumber != null) {
+                        omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
+                    }
+                    result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+                }
             }
-            result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
         }
-        return result;
-    }
+            return result;
+
+        }
+
+
+//    /**
+//     * 新增零星物资出厂煤
+//     * @param map
+//     * @return
+//     * author:zx
+//     */
+//    @Transactional
+//    @Override
+//    public int addSporadicOrdersForCoke(Map<String, Object> map) {
+//        int result = 0;
+//        // 新增零星订单表
+//        // 发货单位
+//        BigDecimal sendUnit = new BigDecimal((Integer) map.get("supplierId"));
+//        // 收货单位
+//        BigDecimal receiveUnitId = new BigDecimal((Integer) map.get("receiveId"));
+//        // 承运商
+//        BigDecimal carrierId = new BigDecimal((Integer) map.get("carrierId"));
+//        // 得到订单类型
+//        BigDecimal orderType = new BigDecimal((Integer) map.get("orderType"));
+//        // 得到运输路径
+//        BigDecimal lineId = new BigDecimal((Integer) map.get("lineId"));
+//        BigDecimal sporadicOrderId = amstruckSporadicOrderMapper.selectSporadicOrderId();
+//        AmstruckSporadicOrder amstruckSporadicOrder = new AmstruckSporadicOrder();
+//        amstruckSporadicOrder.setSporadicOrderId(sporadicOrderId);
+//        amstruckSporadicOrder.setSporadicOrderNo(DataChange.generateEightDigitsNumber("WLXDD", sporadicOrderId.intValue()));
+//        amstruckSporadicOrder.setSendUnitId(sendUnit);
+//        amstruckSporadicOrder.setReceiveUnitId(receiveUnitId);
+//        amstruckSporadicOrder.setCarrierId(carrierId);
+//        amstruckSporadicOrder.setIssueStatus(new BigDecimal(0));
+//        amstruckSporadicOrder.setInsertTime(new Date());
+//        amstruckSporadicOrder.setInsertUsername("admin");
+//        amstruckSporadicOrder.setDeleted(new BigDecimal(0));
+//        amstruckSporadicOrder.setInsertUpdateRemark("无");
+//        List<Map<String, Object>> mapList = (List<Map<String, Object>>) map.get("mapList");
+//        // 新增运输订单表
+//        OmstruckOrder omstruckOrder = new OmstruckOrder();
+//        BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+//        omstruckOrder.setOrderId(orderId);
+//        omstruckOrder.setOrderPlanId(sporadicOrderId);
+//        //生成运输订单
+//        omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue()));
+//        omstruckOrder.setOrderType(orderType);
+//        omstruckOrder.setInsertTime(new Date());
+//        omstruckOrder.setInsertUsername("admin");
+//        omstruckOrder.setInsertUpdateRemark("无");
+//        omstruckOrder.setLineId(lineId);
+//        //新增总实绩id
+//        TmstruckTotalResult tmstruckTotalResult = new TmstruckTotalResult();
+//        tmstruckTotalResult.setResultTotalId(tmstruckTotalResultMapper.selectTmstruckTotalResultId());
+//        tmstruckTotalResult.setOrderId(omstruckOrder.getOrderId());
+//        //新增总实绩
+//        result += tmstruckTotalResultMapper.insertSelective(tmstruckTotalResult);
+//        result += amstruckSporadicOrderMapper.insertSelective(amstruckSporadicOrder);
+//        result += omstruckOrderMapper.insertSelective(omstruckOrder);
+//        for (Map<String, Object> map1 : mapList) {
+//            BigDecimal materialId = new BigDecimal((Integer) map1.get("materialId"));
+//            BigDecimal materialWeight = DataChange.dataToBigDecimal(map1.get("orderMaterialWeight"));
+//            BigDecimal materialNumber = DataChange.dataToBigDecimal(map1.get("orderMaterialNumber"));
+//            BigDecimal capacityId=DataChange.dataToBigDecimal(map1.get("capacityId"));
+//            OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+//            BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+//            omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+//            omstruckOrderMaterial.setOrderId(orderId);
+//            omstruckOrderMaterial.setMaterialId(materialId);
+//            //设置物资装货优先级
+//            omstruckOrderMaterial.setMaterialPriority(DataChange.dataToBigDecimal(map1.get("materialPriority")));
+//            omstruckOrderMaterial.setInsertUsername("admin");
+//            omstruckOrderMaterial.setInsertTime(new Date());
+//            omstruckOrder.setOrderId(orderId);
+//            //新增运力
+//            omstruckOrder.setCapacityId(capacityId);
+//            omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+//            if (materialWeight != null) {
+//                omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
+//            }
+//            if (materialNumber != null) {
+//                omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
+//            }
+//            result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+//        }
+//
+//            return result;
+//    }
+
+   //添加零星物资
+//    @Override
+//    public int addSporadicOrder(Map<String, Object> map) {
+//        Integer orderType =(Integer) map.get("orderType");
+//        switch (orderType){
+//            case 12:addSporadicOrders(map);
+//                     break;
+//            case 13:addSporadicOrders(map);
+//                     break;
+//            case 15: addSporadicOrdersForCoke(map);
+//                     break;
+//        }
+//        return 1;
+//    }
 
     /**
      * 下发零星物资订单
@@ -138,7 +260,7 @@ public class AmstruckSporadicOrderServiceImpl implements IAmstruckSporadicOrderS
             AmstruckSporadicOrder amstruckSporadicOrder=new AmstruckSporadicOrder();
             amstruckSporadicOrder.setSporadicOrderId(DataChange.dataToBigDecimal(map.get("sporadicOrderId")));
             amstruckSporadicOrder.setIssueStatus(new BigDecimal(1));
-            result +=amstruckSporadicOrderMapper.updateByPrimaryKeySelective(amstruckSporadicOrder);
+            result += amstruckSporadicOrderMapper.updateByPrimaryKeySelective(amstruckSporadicOrder);
             result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
         }
         return result;