瀏覽代碼

连条内转钢材到异地库

txf 3 年之前
父節點
當前提交
4119f93a86
共有 17 個文件被更改,包括 145 次插入123 次删除
  1. 5 5
      src/main/java/com/steerinfo/dil/controller/TmstruckLeaveFactoryResultController.java
  2. 10 0
      src/main/java/com/steerinfo/dil/controller/TmstruckLoadResultController.java
  3. 7 0
      src/main/java/com/steerinfo/dil/controller/TmstruckReceiptResultController.java
  4. 5 1
      src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java
  5. 3 3
      src/main/java/com/steerinfo/dil/service/ITmstruckLoadResultService.java
  6. 3 0
      src/main/java/com/steerinfo/dil/service/ITmstruckReceiptResultService.java
  7. 8 3
      src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java
  8. 1 7
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java
  9. 37 66
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java
  10. 2 2
      src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java
  11. 25 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckReceiptResultServiceImpl.java
  12. 4 2
      src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java
  13. 19 28
      src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java
  14. 1 1
      src/main/java/com/steerinfo/dil/service/impl/UtilsServiceImpl.java
  15. 1 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.xml
  16. 4 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml
  17. 10 3
      src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

+ 5 - 5
src/main/java/com/steerinfo/dil/controller/TmstruckLeaveFactoryResultController.java

@@ -118,12 +118,12 @@ public class TmstruckLeaveFactoryResultController extends BaseRESTfulController
         //执行查询语句找出运输类型进行判断,是否为出厂 4 已完成计皮
         Integer i = tmstruckLeaveFactoryResultService.selectTransportRoute(nu);
        //中交新路接口
-        Map<String, Object> parem=tmstruckLeaveFactoryResultService.getTruckFactoryResult("WYSDD2021091000000002");
-        parem.put("turnOf","0");
-        routeService.saveRoute(parem);
+//        Map<String, Object> parem=tmstruckLeaveFactoryResultService.getTruckFactoryResult("WYSDD2021091000000002");
+//        parem.put("turnOf","0");
+//        routeService.saveRoute(parem);
 //        if (i == 4) {
-            int leaveFactory=tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
-            return  success(leaveFactory);
+        int leaveFactory=tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
+        return  success(leaveFactory);
 //        }else
 //            return  failed();
 

+ 10 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckLoadResultController.java

@@ -353,4 +353,14 @@ public class TmstruckLoadResultController extends BaseRESTfulController {
         List<Map<String, Object>> date = tmstruckLoadResultService.selectLoadResultByResultId(resultId);
         return success(date);
     }
+
+    @ApiOperation(value="新增达州站-厂内装车实绩 ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "resultId", value = "装车作业实绩ID", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/addDaZhouToDaGangLoadResult")
+    public RESTfulResult addDaZhouToDaGangLoadResult(@RequestBody(required = false)Map<String, Object> map){
+        int i = tmstruckLoadResultService.addDaZhouToDaGangLoadResult(map);
+        return success(i);
+    }
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckReceiptResultController.java

@@ -93,4 +93,11 @@ public class TmstruckReceiptResultController extends BaseRESTfulController {
         return success(pageList);
     }
 
+
+    @ApiOperation(value="新增钢材到异地库达州站驻港人员确定收货")
+    @PostMapping("/addSteelNzReceiptResult")
+    public RESTfulResult addSteelNzReceiptResult(@RequestBody(required = false) Map<String, Object> map) {
+        int i = tmstruckReceiptResultService.addSteelNzReceiptResult(map);
+        return success(i);
+    }
 }

+ 5 - 1
src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.mapper;
 
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
@@ -42,7 +43,7 @@ public interface UtilsMapper {
     BigDecimal queryOrderMesByOrderId(String orderNumber);
 
     //查询当前路段顺序号
-    Integer getLineSequenceByOrderId(BigDecimal orderId);
+    Integer getLineSequenceByOrderId(@Param("orderId") BigDecimal orderId);
 
     //查询订单跟订单物资中间表 查询是否有多个物资Id
     List<Integer> getAllMaterialId(Map<String, Object> map);
@@ -52,4 +53,7 @@ public interface UtilsMapper {
 
     //通过运输订单号查询订单ID
     BigDecimal getOrderIdByOrderNumber(String orderNumber);
+
+    //通过运输订单号查询总实绩ID
+    BigDecimal getTotalIdByOrderNumber(String orderNumber);
 }

+ 3 - 3
src/main/java/com/steerinfo/dil/service/ITmstruckLoadResultService.java

@@ -68,12 +68,12 @@ public interface ITmstruckLoadResultService{
     //内转物流火车装车新增装车实绩
     int addLoadResultForConverted(Map<String,Object> map);
 
-    //销售物流新增装车实绩
-    int addLoadResultForSale(Map<String,Object> map);
-
     //查询所有正在进行进厂排队的销售订单
     List<Map<String, Object>> getSaleOrderOnQueue(Map<String, Object> map);
 
     //修改装车点和装车顺序
     int updateLoadingIdAndLoadSq(Map<String, Object> map);
+
+    //新增达州站-厂内装车实绩
+    int addDaZhouToDaGangLoadResult(Map<String, Object> map);
 }

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

@@ -21,4 +21,7 @@ public interface ITmstruckReceiptResultService{
     //查询所有收货实绩
     List<Map<String, Object>> getReceiveResult(Map<String, Object> map);
 
+    //新增钢材到异地库达州站驻港人员确定收货
+    int addSteelNzReceiptResult(Map<String, Object> map);
+
 }

+ 8 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java

@@ -10,6 +10,7 @@ import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -132,6 +133,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
      * @param map
      * @return
      */
+    @Transactional
     public int enFactoryResultByPDA(Map<String, Object> map){
         int i = 0;
         //通过运输订单号查询订单类型
@@ -160,6 +162,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                     Map<String, Object> mesMap = rulesService.calculateMaterial(mapList);
                     //获取物资ID
                     HashMap<String, Object> calculateMap = new HashMap<>();
+                    calculateMap.put("orderId", map.get("orderId"));
                     calculateMap.put("materialId", mesMap.get("materialId"));
                     calculateMap.put("nature", 1); // 1:进厂秤
                     //计算计皮汽车衡
@@ -168,7 +171,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                     //更新汽车衡
                     i += tmstruckWeightResultService.updateWeightResult(calculateMap);
                 }
-                i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //添加计皮委托
+//                i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //添加计皮委托
                 break;
             case 2:
             case 3:
@@ -182,10 +185,12 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
             case 7:
             case 8:
             case 9:
-                i += updateEnFactoryResultByPDA(map); //添加进厂实绩
+                //计算计毛汽车衡并更新计量实绩 (暂时无法计算汽车衡)  需要写一个单独的方法 先计皮再计毛的
+                map.put("grossPlaceId", 3);
+                i += tmstruckWeightResultService.updateWeightResult(map);
                 i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
                 break;
-            case 10: // 采购内转(老区-厂内)
+            case 10: // 采购内转(老区-厂内) 没有进厂
                 break;
             case 11:
         }

+ 1 - 7
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -140,24 +140,20 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
         String orderNumber = (String) map.get("orderNumber");
         map.putAll(tmstruckLeaveFactoryResultMapper.selectResultId(orderNumber));
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
+        i += updateLeaveResultByPDA(map); //更新出厂实绩
         switch (orderType.intValue()){
             case 1:
-
                 break;
             case 2:
-
                 break;
             case 3:
-
                 break;
             case 4:
-
                 break;
             case 5:
             case 6:
             case 7:
             case 8:
-                i += updateLeaveResultByPDA(map); //更新出厂实绩
                 i += utilsService.updateOrderStatus(map, 2); // 修改运输订单状态 2:已结束
 //                i += utilsService.updateCapacityStatus(map, 0); //修改运力状态 0:空闲中
                 //采购出厂 通过feign调用新增详单
@@ -169,10 +165,8 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 }
                 break;
             case 9:
-
                 break;
             case 10:
-
                 break;
             case 11:
         }

+ 37 - 66
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -168,14 +168,19 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
 
     /**
      * PDA新增销售钢材装车实绩  (如果是多种物资【多拼】,通过物资Id和运输订单号来确定唯一的装车实绩进行修改)
-     *  materialOnlyCode 物资唯一编码  orderNumber 运输订单号 resultMeasuredTonnage 物资件数
-     *  insertUpdateRemark 备注  platformName 月台名称
+     *    orderNumber 运输订单号
+     *  insertUpdateRemark 备注  platformName 月台名称  scanText 扫描结果
      * @param map
      * @return
      */
+    @Transactional
     public int addXSLoadResult(Map<String, Object> map){
+        //通过扫描结果截取物资唯一编码
+        String scanText = (String) map.get("scanText");
+        String[] split = scanText.split("-");
+        String materialOnlyCode = split[7];
         //通过物资唯一编码查找物资Id
-        BigDecimal materialId = tmstruckLoadResultMapper.getMaterialIdByMaterialCode((String) map.get("materialOnlyCode"));
+        BigDecimal materialId = tmstruckLoadResultMapper.getMaterialIdByMaterialCode(materialOnlyCode);
         //通过运输订单号查找总实绩ID
         Integer resultTotalId = tmstruckEnfactoryResultMapper.selectTotalResultIdByCpAndOn(map);
         map.put("resultTotalId", resultTotalId);
@@ -185,8 +190,6 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         tmstruckLoadResult.setStatus(new BigDecimal(0)); // 添加状态0:正常
         //编辑装车实绩主键ID对应的各个字段
         tmstruckLoadResult.setResultId(new BigDecimal(resultId));
-        // 新增计量吨位 装车所装的重量
-        tmstruckLoadResult.setResultMeasuredTonnage(DataChange.dataToBigDecimal(map.get("resultMeasuredTonnage")));
         // 获取扫描实绩最小Id  添加扫描开始时间
         map.put("materialId", materialId);
         Map<String, Object> scanMap = tmstruckLoadResultMapper.getMinScanIdByOrderNum(map);
@@ -203,7 +206,8 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         //添加装车标准时长
         setLoadStandardTimeId((String)map.get("orderNumber"), tmstruckLoadResult);
         Object platformName = map.get("platformName");
-        if(platformName != null){  // 如果月台不为空则更新月台
+        if(platformName != null){
+            // 如果月台不为空则更新月台
             Integer platformId = utilsService.queryPlatformIdByName((String) platformName);
             tmstruckLoadResult.setLoadingId(new BigDecimal(platformId));
         }
@@ -213,8 +217,8 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         //更新汽车衡
         i += tmstruckWeightResultService.calculateTruckCalculate(map, resultTotalId);
         //发送计毛委托 订单类型:1
-        map.put("orderTypee", 1);
-        tmstruckMeasureCommissionService.addMaoMeasureCommission(map);
+//        map.put("orderTypee", 1);
+//        tmstruckMeasureCommissionService.addMaoMeasureCommission(map);
         return i;
     }
 
@@ -471,64 +475,6 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         return tmstruckLoadResultMapper.insertSelective(tmstruckLoadResult);
     }
 
-    @Override
-    public int addLoadResultForSale(Map<String, Object> map) {
-        //新增装车实绩
-        TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
-        //新增id
-        tmstruckLoadResult.setResultId(tmstruckLoadResultMapper.selectMaxId());
-        //通过运输订单号查找物资
-        List<Map<String, Object>> materialList = tmstruckLoadResultMapper.selectMaterialIdByOrderNumber(map);
-        for (int i = 0; i < materialList.size(); i++) {
-            Map<String, Object> map3 = materialList.get(i);
-            BigDecimal materialId = (BigDecimal) map3.get("materialId");
-            tmstruckLoadResult.setMaterialId(materialId);
-            if (tmstruckLoadResultMapper.selectMaterialTypeByMaterialId(materialId.intValue())==2) {
-                List list = tmstruckLoadResultMapper.selectResultIdByOrderNumber((String) map.get("orderNumber"));
-                //查询最大id和最小id
-                Integer maxResultId = (Integer) Collections.max(list);
-                Integer minResultId = (Integer) Collections.min(list);
-                //根据最大id查找扫描时间
-                Date startdate = tmstruckLoadResultMapper.selectLoadTimeByResultId(new BigDecimal(minResultId));
-                Integer loaderId = tmstruckLoadResultMapper.selecLoadIdByresultId(minResultId);
-                //根据最小id查找扫描时间
-                Date endDate =  tmstruckLoadResultMapper.selectLoadTimeByResultId(new BigDecimal(maxResultId));
-                tmstruckLoadResult.setResultLoadStartTime(startdate);
-                tmstruckLoadResult.setResultLoadEndTime(endDate);
-                //开始时间
-                long startTime = startdate.getTime();
-                long endTime = endDate.getTime();
-                long time = endTime - startTime;
-                long l = time / 1000;
-                tmstruckLoadResult.setResultLoadDuration(new BigDecimal(l));
-                tmstruckLoadResult.setLoaderId(new BigDecimal(loaderId));
-                //新增出库实绩
-                wmsFeign.insertOutBoundResult(map);
-                //水渣,焦炭装车
-            }else if (tmstruckLoadResultMapper.selectMaterialTypeByMaterialId(materialId.intValue())==7
-                    &&tmstruckLoadResultMapper.selectMaterialTypeByMaterialId(materialId.intValue())==8){
-                //新增水渣,焦炭装车实绩
-                //获取结束时间
-                Integer LoadResultId = (Integer) map.get("loadResultId");
-                Date endTime = (Date) map.get("endTime");
-                //根据主键id设置装车结束时间
-                tmstruckLoadResult.setResultId(new BigDecimal(LoadResultId));
-                tmstruckLoadResult.setResultLoadEndTime(endTime);
-                //获取装车开始时间
-                Date startTime = (Date) map.get("startTime");
-                //开始时间
-                long LoadstartTime = startTime.getTime();
-                long LoadendTime = endTime.getTime();
-                long time = LoadendTime - LoadstartTime;
-                long l = time / 1000;
-                //设置标准时长
-                tmstruckLoadResult.setResultLoadDuration(new BigDecimal(l));
-            }
-
-        }
-        int i=tmstruckLoadResultMapper.insertSelective(tmstruckLoadResult);
-        return i;
-}
 
     /**
      * 查询所有正在排队的销售订单
@@ -565,4 +511,29 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         }
         return i;
     }
+
+
+    /**
+     * 新增内转国产矿进口矿装车实绩
+     * @param map
+     * @return
+     */
+    public int addDaZhouToDaGangLoadResult(Map<String, Object> map){
+        List<Integer> totalResultIdList = (List<Integer>) map.get("totalResultIdList");
+        BigDecimal loadingId = DataChange.dataToBigDecimal(map.get("loadingId"));
+        Date loadTime = new Date((long) map.get("loadTime"));
+        int count = 0;
+        for (Integer totalResultId : totalResultIdList) {
+            TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
+            tmstruckLoadResult.setResultId(tmstruckLoadResultMapper.selectMaxId());
+            tmstruckLoadResult.setResultTotalId(new BigDecimal(totalResultId));
+            tmstruckLoadResult.setLoadingId(loadingId);
+            tmstruckLoadResult.setResultLoadStartTime(loadTime);
+            tmstruckLoadResult.setStatus(new BigDecimal(0));
+            tmstruckLoadResult.setInsertTime(new Date());
+            tmstruckLoadResult.setInsertUsername("admin");
+            count += tmstruckLoadResultMapper.insertSelective(tmstruckLoadResult);
+        }
+        return count;
+    }
 }

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

@@ -131,9 +131,9 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         switch (orderType.intValue()){
             case 1:
                 if(type == 0) {
-                    measureCommission =  tmstruckMeasureCommissionMapper.selectMakesureTareForSaleByOrderNumber(map);
+//                    measureCommission =  tmstruckMeasureCommissionMapper.selectMakesureTareForSaleByOrderNumber(map);
                 }else {
-                    measureCommission =  tmstruckMeasureCommissionMapper.selectMakesureGrossForSaleByOrderNumber(map);
+//                    measureCommission =  tmstruckMeasureCommissionMapper.selectMakesureGrossForSaleByOrderNumber(map);
                 }
                 break;
             case 2:

+ 25 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckReceiptResultServiceImpl.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.TmstruckReceiptResultMapper;
+import com.steerinfo.dil.mapper.UtilsMapper;
 import com.steerinfo.dil.model.TmstruckReceiptResult;
 import com.steerinfo.dil.service.ITmstruckReceiptResultService;
 import com.steerinfo.dil.util.DataChange;
@@ -31,6 +32,9 @@ public class TmstruckReceiptResultServiceImpl implements ITmstruckReceiptResultS
     @Autowired
     private TmstruckReceiptResultMapper tmstruckReceiptResultMapper;
 
+    @Autowired
+    private UtilsMapper utilsMapper;
+
     /**
      * 查询所有收货实绩
      * @param map
@@ -89,4 +93,25 @@ public class TmstruckReceiptResultServiceImpl implements ITmstruckReceiptResultS
         tmstruckReceiptResult.setInsertTime(new Date());
         return tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
     }
+
+    /**
+     * 新增钢材到异地库达州站驻港人员确定收货
+     * @param map
+     * @return
+     */
+    public int addSteelNzReceiptResult(Map<String, Object> map){
+        String orderNumber = (String) map.get("orderNumber");
+        //通过运输订单号获取总实绩ID
+        BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
+        //获取异地库ID
+        BigDecimal warehouseId =  DataChange.dataToBigDecimal(map.get("warehouseId"));
+        TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
+        tmstruckReceiptResult.setResultId(tmstruckReceiptResultMapper.selectMaxId());
+        tmstruckReceiptResult.setResultTotalId(resultTotalId);
+        tmstruckReceiptResult.setStatus(new BigDecimal(1));
+        tmstruckReceiptResult.setWarehouseId(warehouseId);
+        tmstruckReceiptResult.setInsertTime(new Date());
+        tmstruckReceiptResult.setInsertUsername("admin");
+        return tmstruckReceiptResultMapper.insertSelective(tmstruckReceiptResult);
+    }
 }

+ 4 - 2
src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java

@@ -141,12 +141,14 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             case 6:
             case 7:
             case 8:
+            case 9:
                 i += updateUnloadResultBy(map); //更新卸货实绩
+                //计算计皮汽车衡 (当前无法计算汽车衡)
+                map.put("tarePlaceId", 3);
+                i += tmstruckWeightResultService.updateWeightResult(map);
                 i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //卸货完成后新增一条计皮委托 并发送计皮委托
                 i += tmstruckReceiptResultService.addReceiptResult(map); //新增完卸车实绩后新增一条收货实绩
                 break;
-            case 9:
-                break;
             case 10:
                 break;
             case 11:

+ 19 - 28
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -149,7 +149,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
      * 更新计毛实绩 采集需要的数据
      *  运输订单号
      *  汽车衡编号
-     *  物资名称
+     *  物资ID
      *  毛重
      *  毛重时间
      *  磅单号
@@ -159,9 +159,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
     @Transactional
     public int addJiMaoResult(Map<String, Object> map) {
         TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
-        //通过物资名称和物资规格查询物资Id
-        int materialId = tmstruckWeightResultMapper.getMaterialIdByMaterialNameAndSpe(map);
-        map.put("materialId", materialId);
         //通过传来的运输订单号与物资ID查询计重实绩
         map.putAll(tmstruckWeightResultMapper.selectTotalIdByOrderNo(map));
         generateMaoWeightResult(map, tmstruckWeightResult);
@@ -170,6 +167,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         int i = 0;
         switch (orderType.intValue()){
             case 1:
+            case 4:
                 //添加第二次计量常规字段
                 addUpdateRegularField(tmstruckWeightResult);
                 //查询当前计毛是否为最后一拼(针对多拼) (查询是否还有装车实绩没有数据)
@@ -181,32 +179,27 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                     int gatepostId = rulesService.calculateGatepost(map);
                     i += tmstruckLeaveFactoryResultService.updateLeaveFactoryGatepostId(resultTotalId.intValue(), gatepostId);
                 }else {
-                    //如果还有未装车的实绩 则代表还有未装车的物资 计算各个物资装车点 并更新到装车实绩中
-                    //如果是多拼 使用多种物资计算第一个装货的物资和装车点
+                    //如果还有未装车的实绩 则代表还有未装车的物资 计算下一装车物资ID 更新下一物资的计皮实绩
                     Map<String, Object> platIdMap = rulesService.calculateMaterial(list); //获得materialId  loadingId
                     platIdMap.put("orderId", map.get("orderId"));
-                    i += tmstruckLoadResultService.updateLoadingId(platIdMap); //更新装货点
                     //更新下一计量实绩以当前毛重为皮重
                     platIdMap.put("resultTareWeight", map.get("resultGrossWeight"));
                     i += updateWeightResult(platIdMap);
                     //添加仓库排队
-                    platIdMap.put("orderNumber", map.get("orderNumber"));
-                    qmsFeign.addQueueResultByCk(platIdMap);
+//                    platIdMap.put("orderNumber", map.get("orderNumber"));
+//                    qmsFeign.addQueueResultByCk(platIdMap);
                 }
                 break;
             case 2:
             case 3:
                 break;
-            case 4:
-                break;
             case 5:
             case 6:
             case 7:
-            case 8: //采购订单记录计毛为第一次计重 添加磅单号
+            case 8:
+            case 9: //采购订单记录计毛为第一次计重 添加磅单号
                 addInsertRegularField(tmstruckWeightResult); //插入第一次计重时间常规字段
                 break;
-            case 9:
-                break;
             case 10:
                 break;
             case 11:
@@ -231,7 +224,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         tmstruckWeightResult.setWeightTaskResultId(weightTaskResultId);
         //添加毛重
         DecimalFormat df =  new DecimalFormat("0.00");
-        String resultGrossWeight = df.format((double) map.get("resultGrossWeight"));
+        String resultGrossWeight = df.format(DataChange.dataToBigDecimal(map.get("resultGrossWeight")).doubleValue());
         tmstruckWeightResult.setResultGrossWeight(new BigDecimal(resultGrossWeight));
         //添加毛重时间
         long resultGrossWeightTime = (long) map.get("resultGrossWeightTime");
@@ -242,10 +235,13 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             tmstruckWeightResult.setResultNetWeight(resultNetWeight);
         }
         //通过汽车衡编号查询汽车衡ID
-        Integer calculateId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("truckCalculateNumber"));
-        //添加计毛汽车衡
-        if(calculateId != null){
-            tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(calculateId));
+        String truckCalculateNumber = (String) map.get("truckCalculateNumber");
+        if(truckCalculateNumber != null) {
+            Integer calculateId = tmstruckWeightResultMapper.selectTruckCalculateId(truckCalculateNumber);
+            //添加计毛汽车衡
+            if (calculateId != null) {
+                tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(calculateId));
+            }
         }
     }
 
@@ -256,7 +252,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
      * 皮重 resultTareWeight
      * 皮重时间 resultTareWeightTime
      * 净重
-     * 物资名称:materialName   物资规格:materialSpecification  型号:materialModel
      * @param map
      * @return
      */
@@ -264,9 +259,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
     @Transactional
     public int addJiPiResult(Map<String, Object> map) {
         TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
-        //通过物资名称和物资规格查询物资Id
-        int materialId = tmstruckWeightResultMapper.getMaterialIdByMaterialNameAndSpe(map);
-        map.put("materialId", materialId);
         //通过传来的运输订单号 与 物资ID查询计重实绩ID
         map.putAll(tmstruckWeightResultMapper.selectTotalIdByOrderNo(map));
         generatePiWeightResult(map, tmstruckWeightResult);
@@ -274,6 +266,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         switch (orderType.intValue()){
             case 1:
+            case 4:
                 //销售订单计皮为第一次计重
                 addInsertRegularField(tmstruckWeightResult);// 添加插入常规字段 就是第一次计重时间;
                 //查询还未装车的物资
@@ -284,7 +277,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                     i += tmstruckLoadResultService.updateLoadingId(mesMap); //更新装货点
                     //添加仓库排队
                     mesMap.put("orderNumber", map.get("orderNumber"));
-                    qmsFeign.addQueueResultByCk(mesMap);
+//                    qmsFeign.addQueueResultByCk(mesMap);
                 }else {
                     //如果是多拼 使用多种物资计算第一个装货的物资和装车点
                     Map<String, Object> platIdMap = rulesService.calculateMaterial(mapList); //获得materialId  loadingId
@@ -292,7 +285,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                     i += tmstruckLoadResultService.updateLoadingId(platIdMap); //更新装货点
                     //添加仓库排队
                     platIdMap.put("orderNumber", map.get("orderNumber"));
-                    qmsFeign.addQueueResultByCk(platIdMap);
+//                    qmsFeign.addQueueResultByCk(platIdMap);
                 }
                 break;
             case 2:
@@ -301,8 +294,6 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                 addInsertRegularField(tmstruckWeightResult);// 添加插入常规字段 就是第一次计重时间;
                 //焦炭、水渣只有一种物资  装货点是通过发运计划的时候填写的
                 break;
-            case 4:
-                break;
             case 5:
             case 6:
             case 7:
@@ -364,7 +355,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
      */
     public int updateWeightResult(Map<String, Object> map){
         TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
-        //通过物资ID和运输订单Id修改查找计量实绩ID
+        //通过(物资ID)和运输订单Id修改查找计量实绩ID
         Integer id = tmstruckWeightResultMapper.getWeightIdByMaterialIdAndOrderId(map);
         tmstruckWeightResult.setId(new BigDecimal(id));
         if(map.get("tarePlaceId") != null){ //如果皮重汽车衡不为空 更新皮重汽车衡

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

@@ -86,7 +86,7 @@ public class UtilsServiceImpl implements IUtilsService {
         Integer lineSequence = getLineSequenceByOrderId(orderId);
         Map<String, Object> mesMap = new HashMap<>();
         mesMap.put("orderId", orderId);
-        mesMap.put("orderLineSequence", lineSequence + 1);
+        mesMap.put("orderLineSequence", lineSequence == null? 1 : lineSequence + 1);
         return utilsMapper.updateLineSeqByOrderIdOrNum(mesMap);
     }
 

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

@@ -752,7 +752,7 @@
                  WHERE OO.ORDER_NUMBER = #{orderNumber}
                    and WOR.MATERIAL_ID = #{materialId}
                    and WOSR.RESULT_CHECK = 0
-                 ORDER BY WOSR.RESULT_ID
+                 ORDER BY WOSR.RESULT_LOAD_TIME
 
              )
         where rownum = 1

+ 4 - 1
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -1334,7 +1334,10 @@
             on OO.ORDER_ID = TTR.ORDER_ID
         left join TMSTRUCK_WEIGHT_RESULT TWR
             on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
-        where OO.ORDER_ID = #{orderId} and TWR.MATERIAL_ID = #{materialId}
+        where OO.ORDER_ID = #{orderId}
+          <if test="materialId != null">
+              and TWR.MATERIAL_ID = #{materialId}
+          </if>
 </select>
 
 <!--    通过运输订单号和查询订单Id 和物资ID (针对单拼)  -->

+ 10 - 3
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -71,9 +71,6 @@
               <if test="orderId != null">
                   ORDER_ID = #{orderId}
               </if>
-              <if test="orderNumber != null">
-                  and OO.ORDER_NUMBER = #{orderNumber}
-              </if>
         </where>
     </select>
 
@@ -99,4 +96,14 @@
         from OMSTRUCK_ORDER OO
         where OO.ORDER_NUMBER = #{orderNumber}
     </select>
+
+<!--    通过运输订单号查询总实绩ID  -->
+    <select id="getTotalIdByOrderNumber" parameterType="string" resultType="java.math.BigDecimal">
+        select
+            TTR.RESULT_TOTAL_ID
+        from OMSTRUCK_ORDER OO
+                 left join TMSTRUCK_TOTAL_RESULT TTR
+            on OO.ORDER_ID = TTR.ORDER_ID
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
 </mapper>