Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

hejiahui vor 2 Jahren
Ursprung
Commit
fe8e719b11
24 geänderte Dateien mit 609 neuen und 108 gelöschten Zeilen
  1. 52 2
      src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java
  2. 11 8
      src/main/java/com/steerinfo/dil/controller/TmstruckEnfactoryResultController.java
  3. 13 12
      src/main/java/com/steerinfo/dil/controller/TmstruckLeaveFactoryResultController.java
  4. 13 0
      src/main/java/com/steerinfo/dil/controller/TmstruckTotalResultController.java
  5. 2 0
      src/main/java/com/steerinfo/dil/feign/OmsFeign.java
  6. 6 0
      src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java
  7. 6 0
      src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java
  8. 2 0
      src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java
  9. 3 0
      src/main/java/com/steerinfo/dil/service/IStatisticalReportService.java
  10. 1 0
      src/main/java/com/steerinfo/dil/service/ITmstruckTotalResultService.java
  11. 5 1
      src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java
  12. 12 3
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java
  13. 1 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java
  14. 65 57
      src/main/java/com/steerinfo/dil/service/impl/TmstruckSelfMachineService.java
  15. 75 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckTotalResultServiceImpl.java
  16. 9 3
      src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java
  17. 5 1
      src/main/java/com/steerinfo/dil/service/impl/UtilsServiceImpl.java
  18. 2 0
      src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java
  19. 3 0
      src/main/resources/application-prod.yml
  20. 286 13
      src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml
  21. 6 5
      src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml
  22. 19 0
      src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml
  23. 11 1
      src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml
  24. 1 1
      src/main/resources/log4j.properties

+ 52 - 2
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -10,6 +10,7 @@ import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -609,7 +610,7 @@ public class StatisticalReportController extends BaseRESTfulController {
                                     Integer pageSize,
                                     String startTime,
                                     String endTime){
-        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDate);//根据时间段查询数据
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         PageHelper.startPage(pageNum, pageSize);
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getUnLoading(mapValue);
@@ -663,7 +664,8 @@ public class StatisticalReportController extends BaseRESTfulController {
                                           String capacityNo,
                                           String carrierName,
                                           String consigneeName,
-                                          String saler
+                                          String saler,
+                                          String easPrimaryId
     ){
         DataChange.queryDataByDateTimeYestDay(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
         if(carrierSsoId != null){
@@ -689,6 +691,9 @@ public class StatisticalReportController extends BaseRESTfulController {
         if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
             map.put("salers",saler);
         }
+        if (easPrimaryId != null && !"".equals(easPrimaryId) && !"null".equals(easPrimaryId)) {
+            map.put("easPrimaryId",easPrimaryId);
+        }
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getSaleSteelReport(map);
         for (Map<String, Object> stringObjectMap : report) {
@@ -821,4 +826,49 @@ public class StatisticalReportController extends BaseRESTfulController {
     public RESTfulResult getSteelReportDetailsBySmId(@RequestParam BigDecimal saleOrderMaterialId){
         return success(statisticalReportService.getSteelReportDetailsBySmId(saleOrderMaterialId));
     }
+
+    @ApiOperation(value = "待装钢材报表数据")
+    @PostMapping("loadingSaleSteelReport")
+    public RESTfulResult loadingSaleSteelReport(@RequestBody(required=false) Map<String,Object> map,
+                                                String startTime,
+                                                String endTime,
+                                                String carrierSsoId,
+                                                String receiveName,
+                                                String remark,
+                                                String capacityNo,
+                                                String carrierName,
+                                                String consigneeName,
+                                                String saler,
+                                                String easPrimaryId){
+        DataChange.queryDataByDateTimeYestDay(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
+        if(carrierSsoId != null){
+            if(!"null".equals(carrierSsoId) && carrierSsoId != null){
+                map.put("carrierSsoId", carrierSsoId);
+            }
+        }
+        if (receiveName != null && !"null".equals(receiveName)) {
+            map.put("receivName","%" + receiveName + "%");
+        }
+        if (remark != null && !"".equals(remark) && !"null".equals(remark)) {
+            map.put("remark","%" + remark + "%");
+        }
+        if (capacityNo != null && !"".equals(capacityNo) && !"null".equals(capacityNo)) {
+            map.put("capacityNum","%" + capacityNo + "%");
+        }
+        if (carrierName != null && !"".equals(carrierName) && !"null".equals(carrierName)) {
+            map.put("carrierNames","%" + carrierName + "%");
+        }
+        if (consigneeName != null && !"".equals(consigneeName) && !"null".equals(consigneeName)) {
+            map.put("consigneeNames","%" + consigneeName + "%");
+        }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
+            map.put("salers",saler);
+        }
+        if (easPrimaryId != null && !"".equals(easPrimaryId) && !"null".equals(easPrimaryId)) {
+            map.put("easPrimaryId",easPrimaryId);
+        }
+        //分页数据
+        List<Map<String, Object>> report = statisticalReportService.loadingSaleSteelReport(map);
+        return success(report);
+    }
 }

+ 11 - 8
src/main/java/com/steerinfo/dil/controller/TmstruckEnfactoryResultController.java

@@ -18,6 +18,7 @@ import java.text.SimpleDateFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.Callable;
 
 /**
  * TmstruckEnfactoryResult RESTful接口:
@@ -86,14 +87,16 @@ public class TmstruckEnfactoryResultController extends BaseRESTfulController {
             @ApiImplicitParam(name = "mapValue", value = "门岗名称 运输订单号", required = false, dataType = "Map"),
     })
     @PostMapping("/enFactoryResultByPDA")
-    public RESTfulResult enFactoryResultByPDA(@RequestBody(required=false) Map<String,Object> mapValue){
-        int i = 0;
-        try {
-            i = tmstruckEnfactoryResultService.enFactoryResultByPDA(mapValue);
-        } catch (Exception e) {
-            return failed(e.getMessage());
-        }
-        return success(i);
+    public Callable<RESTfulResult> enFactoryResultByPDA(@RequestBody(required=false) Map<String,Object> mapValue){
+        return ()->{
+            try {
+                int i = tmstruckEnfactoryResultService.enFactoryResultByPDA(mapValue);
+                return success(i);
+            } catch (Exception e) {
+                return failed(e.getMessage());
+            }
+        };
+
     }
 
     @ApiOperation(value="通过门禁进厂")

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

@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
 import java.text.SimpleDateFormat;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.Callable;
 
 /**
  * TmstruckLeaveFactoryResult RESTful接口:
@@ -109,18 +110,18 @@ public class TmstruckLeaveFactoryResultController extends BaseRESTfulController
             @ApiImplicitParam(name = "orderNumber", value = "", required = false, dataType = "String"),
     })
     @PostMapping("/addLeaveFactoryResult")
-    public RESTfulResult addLeaveFactoryResult(@RequestBody(required=false) Map<String,Object> mapValue){
-       //中交新路接口
-//        Map<String, Object> parem=tmstruckLeaveFactoryResultService.getTruckFactoryResult("WYSDD2021091000000002");
-//        parem.put("turnOf","0");
-//        routeService.saveRoute(parem);
-        int leaveFactory = 0;
-        try {
-            leaveFactory = tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
-        }catch (Exception e){
-            return failed(e.getMessage());
-        }
-        return  success(leaveFactory);
+    public Callable<RESTfulResult> addLeaveFactoryResult(@RequestBody(required=false) Map<String,Object> mapValue){
+        return  () -> {
+            int leaveFactory = 0;
+            try {
+                leaveFactory = tmstruckLeaveFactoryResultService.leaveFactoryByPDA(mapValue);
+            }catch (Exception e){
+                e.printStackTrace();
+                return failed(e.getMessage());
+            }
+            return  success(leaveFactory);
+        };
+
     }
 
     @ApiOperation(value="APP查询汽车出厂实绩")

+ 13 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckTotalResultController.java

@@ -46,6 +46,19 @@ public class TmstruckTotalResultController extends BaseRESTfulController {
         int i = tmstruckTotalResultService.addTotalResult(orderId);
         return i;
     }
+
+    @ApiOperation(value="继续装补录实绩 ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "订单Id", required = false, dataType = "Map"),
+    })
+    @PostMapping("/copyAllResult")
+    public int copyAllResult(@RequestBody(required=false) Map<String, Object> map){
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        BigDecimal orderIdOld = DataChange.dataToBigDecimal(map.get("orderIdOld"));
+        BigDecimal resultTotalIdOld = DataChange.dataToBigDecimal(map.get("resultTotalIdOld"));
+        int i = tmstruckTotalResultService.copyAllResult(orderId,orderIdOld,resultTotalIdOld);
+        return i;
+    }
     /**
      * 展示计数实绩列表
      *

+ 2 - 0
src/main/java/com/steerinfo/dil/feign/OmsFeign.java

@@ -55,4 +55,6 @@ public interface OmsFeign {
                                         @RequestParam("sqe") Integer sqe,
                                         @RequestParam("resultNetWeight") String resultNetWeight);
 
+    @PostMapping("api/v1/oms/omstruckorders/driverReceiveOrRefuse")
+    Map<String,Object> driverReceiveOrRefuse(@RequestBody Map<String,Object> mapValue);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java

@@ -87,4 +87,10 @@ public interface StatisticalReportMapper {
     String queryAddress(BigDecimal addressid);
 
     String queryCapacityNumber(BigDecimal capacityNumber);
+
+    List<Map<String, Object>> getCarrierFilterList(Map<String, Object> map);
+
+
+    List<Map<String, Object>> loadingSaleSteelReport(Map<String, Object> map);
+
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -120,4 +120,10 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     //更新路段顺序号
     void updateToRoadId(BigDecimal orderlinesequence,BigDecimal orderId);
+
+   List<TmstruckWeightResult> selectByTotalId(Map<String,Object> map);
+
+    int copyQmsResult(Map<String, Object> updateMap);
+
+    int updateOmstruckStatus(Map<String, Object> updateMap);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java

@@ -136,4 +136,6 @@ public interface UtilsMapper {
     //通过仓库id
     String queryWarehouseName(BigDecimal warehouseId);
 
+    String getRequireRemark(BigDecimal orderId);
+
 }

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

@@ -83,5 +83,8 @@ public interface IStatisticalReportService {
 
     //获取车牌号
     String getcapacityNumber(BigDecimal capacitynumber);
+
+
+    List<Map<String, Object>> loadingSaleSteelReport(Map<String, Object> map);
 }
 

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

@@ -12,6 +12,7 @@ import java.util.Map;
 public interface ITmstruckTotalResultService {
 
     public int addTotalResult(BigDecimal orderId);
+    int copyAllResult(BigDecimal orderId,BigDecimal orderIdOld,BigDecimal resultTotalIdOld);
     //查询计数作业
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     //查询包月作业

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

@@ -319,5 +319,9 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         return s;
     }
 
-
+    @Override
+    public List<Map<String, Object>> loadingSaleSteelReport(Map<String, Object> map) {
+        List<Map<String, Object>> saleSteelReport = statisticalReportMapper.loadingSaleSteelReport(map);
+        return saleSteelReport;
+    }
 }

+ 12 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -171,6 +171,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
      * @return
      */
     @Transactional(rollbackFor = Exception.class)
+    @Override
     public int leaveFactoryByPDA(Map<String, Object> map) throws Exception{
         int i = 0;
         String orderNumber = (String) map.get("orderNumber");
@@ -191,7 +192,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
             BigDecimal segmentSqe = DataChange.dataToBigDecimal(selectMap.get("segmentSqe"));
             BigDecimal orderSegmentSqe = DataChange.dataToBigDecimal(mesMap.get("orderSegmentSqe"));
             //如果当前路段顺序号 +1 不等于出厂路段顺序号 则不允许出厂
-            if(segmentSqe.intValue() != (orderSegmentSqe.intValue() + 1)){
+            if(segmentSqe.intValue() != (orderSegmentSqe.intValue() + 1) && orderType != 1){
                 throw  new Exception("该车作业环节未全部完成!");
             }
         }
@@ -261,7 +262,11 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                     parem.put("turnOf","0");
                     otmsFeign.createTotalResult(parem);
                     // 调用结算
-                    bmsTruckFeign.addDetailsOrder(orderId);
+                    try {
+                        bmsTruckFeign.addDetailsOrder(orderId);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                 }catch (Exception ex){
                     System.out.println(ex.getMessage());
                 }
@@ -280,7 +285,11 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 if (closeStatus != null && DataChange.dataToBigDecimal(closeStatus).intValue() == 0) {
                     amsFeign.dispatchTruckOrderByCarrier(mapValue);
                 }
-                bmsTruckFeign.addDetailsOrder(orderId);
+                try {
+                    bmsTruckFeign.addDetailsOrder(orderId);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
                 break;
             case 4:
                 i += utilsService.closeOrderNormally(map);

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

@@ -653,7 +653,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         }else{
             System.out.println("委托发送失败:" + jsonData);
         }
-        return 0;
+        return 1;
     }
 
 

+ 65 - 57
src/main/java/com/steerinfo/dil/service/impl/TmstruckSelfMachineService.java

@@ -51,73 +51,81 @@ public class TmstruckSelfMachineService implements ITmstruckSelfMachineService {
 
     @Override
     public Map<String, Object> getDeliveryOrder(String orderNumber) {
-        //1.根据运输订单号查询主干信息
-        Map<String,Object> map = tmstruckLeaveFactoryResultMapper.getDeliveryOrder(orderNumber);
-        //备注信息的查找以及修改
-        String note=tmstruckLeaveFactoryResultMapper.querynote(orderNumber);
-        Date date=tmstruckLeaveFactoryResultMapper.queryDate(orderNumber);
-        if (date!=null&&!("".equals(date))){
-            map.put("note",note);
-        }else {
-            String regex="\\d{1,2}\\.\\d{1,2}";
-            Pattern pattern=Pattern.compile(regex);
-            Matcher matcher=pattern.matcher(note);
-            StringBuffer stringBuffer=new StringBuffer();
-            stringBuffer.append(note);
-            String partOfNote = tmstruckLeaveFactoryResultMapper.querypartOfNote(orderNumber);
-            while (matcher.find()){
-                String group = matcher.group();
-                /*note=note.replace(group,partOfNote);*/
-                note=matcher.replaceAll(partOfNote);
+        Map<String,Object> map=new HashMap<>();
+        try {
+            //1.根据运输订单号查询主干信息
+            map = tmstruckLeaveFactoryResultMapper.getDeliveryOrder(orderNumber);
+            //备注信息的查找以及修改
+            String note=tmstruckLeaveFactoryResultMapper.querynote(orderNumber);
+            Date date=tmstruckLeaveFactoryResultMapper.queryDate(orderNumber);
+            if (date!=null&&!("".equals(date))){
+                map.put("note",note);
+            }else {
+                if(note!=null&&!("".equals(note))){
+                    String regex="\\d{1,2}\\.\\d{1,2}";
+                    Pattern pattern=Pattern.compile(regex);
+                    Matcher matcher=pattern.matcher(note);
+                    StringBuffer stringBuffer=new StringBuffer();
+                    stringBuffer.append(note);
+                    String partOfNote = tmstruckLeaveFactoryResultMapper.querypartOfNote(orderNumber);
+                    while (matcher.find()){
+                        String group = matcher.group();
+                        /*note=note.replace(group,partOfNote);*/
+                        note=matcher.replaceAll(partOfNote);
+                    }
+
+                }else {
+                    map.put("note","");
+                }
             }
-            map.put("note",note);
-        }
-        map.put("orderNumber",orderNumber);
-        if(map !=null){
-            List<Map<String, Object>> deliveryOrderMaterialList = tmstruckLeaveFactoryResultMapper.getDeliveryOrderMaterial(orderNumber);
-            //判断为棒材还是线材
-            for (Map<String,Object> map1:deliveryOrderMaterialList){
-                BigDecimal materialid = (BigDecimal) map1.get("materialId");
-                String materialName =(String) map1.get("materialName");
-                map.put("materialName",materialName);
-                BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber);
-                map1.put("materialNumber",Bigdecimal1);
-                //判断是实重还是理重的标志
-                BigDecimal isPoundSale = (BigDecimal) map1.get("isPoundSale");
-                //判断是否为盘螺materialName.contains("盘螺")||materialName.contains("盘元")
-                if (isPoundSale !=null && isPoundSale.compareTo(BigDecimal.valueOf(0))==0){
-                    //根据运输订单号查找实绩重量
-                    List<Map<String, Object>> netWeightlist = tmstruckLeaveFactoryResultMapper.getNetWeightByOrder(map);
-                    for (Map<String, Object> stringObjectMap : netWeightlist) {
-                        BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
-                        if(materialid1 !=null&&!("".equals(materialid1))){
-                            if (materialid.compareTo(materialid1) == 0) {
-                                BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
-                                if (nowNetWeight != null) {
-                                    map1.put("materialWeight", nowNetWeight);
+            map.put("orderNumber",orderNumber);
+            if(map !=null){
+                List<Map<String, Object>> deliveryOrderMaterialList = tmstruckLeaveFactoryResultMapper.getDeliveryOrderMaterial(orderNumber);
+                //判断为棒材还是线材
+                for (Map<String,Object> map1:deliveryOrderMaterialList){
+                    BigDecimal materialid = (BigDecimal) map1.get("materialId");
+                    String materialName =(String) map1.get("materialName");
+                    map.put("materialName",materialName);
+                    BigDecimal Bigdecimal1 = tmstruckLeaveFactoryResultMapper.queryNumber(materialid, orderNumber);
+                    map1.put("materialNumber",Bigdecimal1);
+                    //判断是实重还是理重的标志
+                    BigDecimal isPoundSale = (BigDecimal) map1.get("isPoundSale");
+                    //判断是否为盘螺materialName.contains("盘螺")||materialName.contains("盘元")
+                    if (isPoundSale !=null && isPoundSale.compareTo(BigDecimal.valueOf(0))==0){
+                        //根据运输订单号查找实绩重量
+                        List<Map<String, Object>> netWeightlist = tmstruckLeaveFactoryResultMapper.getNetWeightByOrder(map);
+                        for (Map<String, Object> stringObjectMap : netWeightlist) {
+                            BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
+                            if(materialid1 !=null&&!("".equals(materialid1))){
+                                if (materialid.compareTo(materialid1) == 0) {
+                                    BigDecimal nowNetWeight = (BigDecimal) stringObjectMap.get("nowNetWeight");
+                                    if (nowNetWeight != null) {
+                                        map1.put("materialWeight", nowNetWeight);
+                                    }
                                 }
+                            }else {
+                                map1.put("materialWeight", "");
                             }
-                        }else {
-                            map1.put("materialWeight", "");
                         }
-                    }
-                }else {
-                    //获取物资理重
-                    List<Map<String, Object>> theoryWeightlist = tmstruckLeaveFactoryResultMapper.getTheoryWeight(map);
-                    for (Map<String, Object> stringObjectMap : theoryWeightlist) {
-                        BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
-                        if (materialid.compareTo(materialid1) == 0){
-                            BigDecimal theoryWeight=(BigDecimal) stringObjectMap.get("theoreticalWeight");
-                            if (theoryWeight != null){
-                                map1.put("materialWeight",theoryWeight);
+                    }else {
+                        //获取物资理重
+                        List<Map<String, Object>> theoryWeightlist = tmstruckLeaveFactoryResultMapper.getTheoryWeight(map);
+                        for (Map<String, Object> stringObjectMap : theoryWeightlist) {
+                            BigDecimal materialid1 = (BigDecimal) stringObjectMap.get("materialid");
+                            if (materialid.compareTo(materialid1) == 0){
+                                BigDecimal theoryWeight=(BigDecimal) stringObjectMap.get("theoreticalWeight");
+                                if (theoryWeight != null){
+                                    map1.put("materialWeight",theoryWeight);
+                                }
                             }
                         }
                     }
                 }
+                map.put("deliveryOrderMaterialList",deliveryOrderMaterialList);
             }
-            map.put("deliveryOrderMaterialList",deliveryOrderMaterialList);
+        }catch (Exception e){
+            System.out.println("e"+e.getMessage());
         }
-
         return map;
     }
 

+ 75 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckTotalResultServiceImpl.java

@@ -1,13 +1,21 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.OmsFeign;
+import com.steerinfo.dil.feign.QmsFeign;
+import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
 import com.steerinfo.dil.mapper.TmstruckTotalResultMapper;
+import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
+import com.steerinfo.dil.model.TmstruckEnfactoryResult;
 import com.steerinfo.dil.model.TmstruckTotalResult;
+import com.steerinfo.dil.model.TmstruckWeightResult;
 import com.steerinfo.dil.service.ITmstruckTotalResultService;
 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;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -22,6 +30,15 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
     @Autowired
     private TmstruckTotalResultMapper tmstruckTotalResultMapper;
 
+    @Autowired
+    private OmsFeign omsFeign;
+
+    @Autowired
+    TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
+
+    @Autowired
+    TmstruckWeightResultMapper tmstruckWeightResultMapper;
+
     /**
      * 新增实绩总表
      * 运输订单ID
@@ -39,6 +56,64 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
         return maxId.intValue();
 
     }
+
+    public int copyAllResult(BigDecimal orderId,BigDecimal orderIdOld,BigDecimal resultTotalIdOld){
+        //总实绩
+        TmstruckTotalResult tmstruckTotalResult = new TmstruckTotalResult();
+        BigDecimal maxId = tmstruckTotalResultMapper.selectMaxId();
+        tmstruckTotalResult.setResultTotalId(maxId);
+        tmstruckTotalResult.setOrderId(orderId);
+        tmstruckTotalResult.setInsertTime(new Date());
+        tmstruckTotalResult.setInsertUsername("admin");
+        tmstruckTotalResultMapper.insertSelective(tmstruckTotalResult);
+        //处理旧实绩
+        Map<String,Object> serachMap=new HashMap<>();
+        serachMap.put("resultTotalId",resultTotalIdOld);
+        List<TmstruckEnfactoryResult> enOlds = tmstruckEnfactoryResultMapper.selectByParameters(serachMap);
+        if( enOlds !=null && enOlds.size()>0){
+            //已经进厂则迁移旧的实绩
+            //接单,生成所有路段实绩
+            Map<String,Object> map=new HashMap<>();
+            map.put("orderId",orderId);
+            map.put("orderReceiveStatus",1);
+            map.put("capacityNumber","capacityNumber");
+            omsFeign.driverReceiveOrRefuse(map);
+            //进厂
+            serachMap.put("resultTotalId",maxId);
+            TmstruckEnfactoryResult tmstruckEnfactoryResult=tmstruckEnfactoryResultMapper.selectByParameters(serachMap).get(0);
+            TmstruckEnfactoryResult tmstruckEnfactoryResult1=enOlds.get(0);
+            tmstruckEnfactoryResult1.setResultId(tmstruckEnfactoryResult.getResultId());
+            tmstruckEnfactoryResult1.setResultTotalId(tmstruckEnfactoryResult.getResultTotalId());
+            tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult1);
+            //计皮
+            serachMap.put("resultTotalId",maxId);
+            TmstruckWeightResult tmstruckWeightResult=tmstruckWeightResultMapper.selectByTotalId(serachMap).get(0);
+            serachMap.put("switch","1");
+            serachMap.put("resultTotalId",resultTotalIdOld);
+            List<TmstruckWeightResult> olds = tmstruckWeightResultMapper.selectByTotalId(serachMap);
+            if(olds!=null && olds.size()>0){
+                TmstruckWeightResult tmstruckWeightResult1=olds.get(0);
+                tmstruckWeightResult.setResultTareWeightTime(tmstruckWeightResult1.getResultTareWeightTime());
+                tmstruckWeightResult.setResultTareWeight(tmstruckWeightResult1.getResultTareWeight());
+                tmstruckWeightResult.setResultTarePlaceId(tmstruckWeightResult1.getResultTarePlaceId());
+                tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
+                Map<String,Object> orderMap=new HashMap<>();
+                orderMap.put("orderId",orderId);
+                orderMap.put("seq",2);
+                tmstruckWeightResultMapper.updateOmstruckStatus(orderMap);
+            }else{
+                Map<String,Object> orderMap=new HashMap<>();
+                orderMap.put("orderId",orderId);
+                orderMap.put("seq",0);
+                tmstruckWeightResultMapper.updateOmstruckStatus(orderMap);
+            }
+            //迁移排队实绩
+            serachMap.put("resultTotalId",maxId);
+            serachMap.put("resultTotalIdOld",resultTotalIdOld);
+            tmstruckWeightResultMapper.copyQmsResult(serachMap);
+        }
+        return maxId.intValue();
+    }
     /**
      * 展示计数实绩列表
      * @param map

+ 9 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java

@@ -154,6 +154,8 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         int orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
         //判断是不是内转
         if(orderType == 11 || orderType == 15 || orderType == 16 || orderType == 25){
+            //根据运输订单id查询需求里面的备注
+            String requireRemark = utilsMapper.getRequireRemark(DataChange.dataToBigDecimal(mesMap.get("orderId")));
             //如果是内转新增卸货实绩
             Integer sqe = utilsMapper.getLineSequenceByOrderNumber((String) map.get("orderNumber"));
             sqe = sqe == null ? 1 : sqe +1;
@@ -167,8 +169,12 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             //如果没有净重更新路段顺序号需要继续回皮 有就结束订单
             if(netWeight == 0 && orderType != 25){
                 mesMap.put("orderLineSequence",sqe);
-                utilsService.updateOrderLineSqeByOrderNumber(mesMap);
-            }else {
+                if(requireRemark != null && "不需要过磅".equals(requireRemark)) {
+                    omsFeign.closeInwardOrder(DataChange.dataToBigDecimal(mesMap.get("orderId")).intValue(), sqe, null);
+                }else{
+                    utilsService.updateOrderLineSqeByOrderNumber(mesMap);
+                }
+            } else {
                 omsFeign.closeInwardOrder(DataChange.dataToBigDecimal(mesMap.get("orderId")).intValue(), sqe, null);
             }
             //卸货成功后推送消息给websocket
@@ -177,7 +183,7 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             BigDecimal orderId = DataChange.dataToBigDecimal(mesMap.get("orderId"));
             Map<String,Object>  remarkMap=tmstruckTimeTaskResultMapper.selectInwardDueTimeByOrderId(orderId);
             String remark =(String) remarkMap.get("remark");
-            if (remark.contains("计时") && orderType != 25){
+            if (remark != null && remark.contains("计时") && orderType != 25){
                  map.put("inwardTypes",3);
                  tmstruckTimeTaskResultService.addTimeTaskResult(map);
             }

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

@@ -184,7 +184,11 @@ public class UtilsServiceImpl implements IUtilsService {
         HashMap<Object, Object> sendMap = new HashMap<>();
         //将消息实体放入list中存到map中
         sendMap.put("messages", list);
-        imFeign.sendToUser(sendMap);
+        try {
+            imFeign.sendToUser(sendMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     public int randomGetValue(List<Integer> dataList){

+ 2 - 0
src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java

@@ -31,6 +31,7 @@ public class HTTPRequestUtils {
 
         //创建httpclient对象
         CloseableHttpClient client = HttpClients.createDefault();
+
         //创建post方式请求对象
         HttpPost httpPost = new HttpPost(url);
 
@@ -39,6 +40,7 @@ public class HTTPRequestUtils {
         s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
         //设置参数到请求对象中
         httpPost.setEntity(s);
+
         System.out.println("请求地址:" + url);
         System.out.println(json);
 //        System.out.println("请求参数:"+nvps.toString());

+ 3 - 0
src/main/resources/application-prod.yml

@@ -7,6 +7,9 @@ spring:
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dil-tms-truck-dev
+  mvc:
+    async:
+      request-timeout: 10000
   #Redis相关配置
   redis:
     host: 172.16.33.166

+ 286 - 13
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -86,7 +86,7 @@
                             on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
                        left join RMS_CONSIGNEE RCON
                             on RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
-              where OO.ORDER_STATUS in (5, 8, 9, 1, 2)
+              where OO.ORDER_STATUS in (5,2)
                 and OO.ORDER_TYPE = #{orderTypee}
                 <if test="oneDate != null">
                     and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= TWR.RESULT_TARE_WEIGHT_TIME
@@ -239,8 +239,7 @@
         on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
         left join RMS_CONSIGNEE RCON
         on RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
-
-        where OO.ORDER_STATUS in (5, 8, 9, 1, 2)
+        where OO.ORDER_STATUS in (5, 2)
         and OO.ORDER_TYPE = #{orderTypee}
         <if test="oneDate != null">
             and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= TWR.RESULT_TARE_WEIGHT_TIME
@@ -550,6 +549,7 @@
                 on RCA.CARRIER_ID = RC.CARRIER_ID
         </if>
         where OO.ORDER_TYPE = 12
+        and OO.ORDER_STATUS IN (2,5)
         <if test="carrierSsoId != null">
             and RCA.CARRIER_SSO_ID = #{carrierSsoId}
         </if>
@@ -644,6 +644,7 @@
             on RCA.CARRIER_ID = RC.CARRIER_ID
         </if>
         where OO.ORDER_TYPE = 13
+        and oo.ORDER_STATUS in (2,5)
         <if test="carrierSsoId != null">
             and RCA.CARRIER_SSO_ID = #{carrierSsoId}
         </if>
@@ -718,11 +719,13 @@
            twr4.result_tare_weight       "tareWeightSecond",
            twr4.result_tare_weight_time  "tareWeightTimeSecond",
            twr4.result_net_weight        "netWeightSecond",
+           twr4.RESULT_POUND_NO          "poundNo",
            rtc4.truck_calculate_number   "tareTruckCalculateSecond",
            tlfr2.result_out_gate_time    "outGatepostTimeSecond",
            tlfr2.result_out_gate_time    "resultOutGateTime",
            tlfr2.result_out_mode         "outModeSecond",
-           rg4.gatepost_name             "gatepostNameSecond"
+           rg4.gatepost_name             "gatepostNameSecond",
+           apo.EAS_ENTRY_ID              "easPrimaryId"
       from omstruck_order oo
       left join omstruck_order_material oom
         on oom.order_id = oo.order_id
@@ -1050,14 +1053,15 @@
         ON RM.MATERIAL_ID = OOM.MATERIAL_ID
         LEFT JOIN RMS_WAREHOUSE RW
         ON RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
-        WHERE TUR.RESULT_END_TIME IS NOT NULL
+        WHERE TWR.RESULT_NET_WEIGHT IS NOT NULL
         AND OO.ORDER_TYPE = 11
+        AND  OO.ORDER_STATUS = 2
         <if test="oneDate != null">
-            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = TUR.RESULT_END_TIME
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,TWR.RESULT_TARE_WEIGHT_TIME)
         </if>
         <if test="startDate != null">
-            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= TUR.RESULT_END_TIME
-            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= TUR.RESULT_END_TIME
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,TWR.RESULT_TARE_WEIGHT_TIME)
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= GREATEST(TWR.RESULT_GROSS_WEIGHT_TIME,TWR.RESULT_TARE_WEIGHT_TIME)
         </if>
 		GROUP BY MATERIAL_NAME, WAREHOUSE_NAME
 		)
@@ -1279,6 +1283,7 @@
     <select id="getCapacityByDefend" resultType="java.util.Map" parameterType="java.util.Map">
         select distinct * from(
         select rc.CAPACITY_NUMBER "capacityNumber",
+        rc.CAPACITY_TEL "capacityTel",
         oo.ORDER_NUMBER "orderNumber",
         ter.RESULT_ENTRY_GATE_TIME "resultEntryGateTime",
         rg1.GATEPOST_NAME "gatepostName1",
@@ -1402,7 +1407,7 @@
         <if test="index!=null">
             and ( (instr(rs.supplier_name, #{index}) > 0) or  (instr(rm.material_name , #{index}) > 0)
             or  (instr(rc.capacity_number , #{index}) > 0)   or  (instr(rce.consignee_company_name , #{index}) > 0)
-            or  (instr( RC.CARRIER_NAME , #{index}) > 0)  or     (instr(RL.LINE_NAME , #{index}) > 0))
+            or  (instr( RC.CARRIER_NAME , #{index}) > 0) )
         </if>
         <if test="oneDate != null">
             and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = TWR.RESULT_TARE_WEIGHT_TIME
@@ -1763,6 +1768,8 @@
         from OMSTRUCK_ORDER OO
         left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
         left join TMSTRUCK_WEIGHT_RESULT TWR on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+        left join TMSTRUCK_UNLOAD_RESULT tur on  tur.RESULT_TOTAL_ID = ttr.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         left join RMS_CAPACITY RC on OO.CAPACITY_ID = RC.CAPACITY_ID
         left join RMS_TRUCK_CALCULATE RTC1 on RTC1.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
         left join RMS_TRUCK_CALCULATE RTC2 on RTC2.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
@@ -1773,14 +1780,15 @@
         left join RMS_SHIPPER RS on AIR.REQUIREMENT_SHIPPER_ID = RS.SHIPPER_ID
         left join AMSTRUCK_REQUIREMENT_MATERIAL ARM on AIR.REQUIREMENT_ID = ARM.REQUIREMENT_ID
         left join RMS_MATERIAL RM on ARM.MATERIAL_ID = RM.MATERIAL_ID
-        left join RMS_WAREHOUSE RW1 on ARM.REQUIREMENT_UNLOAD_UNIT_ID = RW1.WAREHOUSE_ID
-        left join RMS_WAREHOUSE RW2 on ARM.REQUIREMENT_PLATFORM_ID = RW2.WAREHOUSE_ID
+        left join RMS_WAREHOUSE RW1 on TUR.RESULT_UNLOAD_PLACE_ID = RW1.WAREHOUSE_ID
+        left join RMS_WAREHOUSE RW2 on TLR.LOADING_ID = RW2.WAREHOUSE_ID
         left join RMS_MATERIAL_TYPE RMT ON RMT.MATERIAL_TYPE_ID = RM.MATERIAL_TYPE_ID
         LEFT JOIN RMS_TRANS_RANGE RTR ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         <where>
             TWR.RESULT_NET_WEIGHT IS NOT NULL
             AND  OO.ORDER_STATUS = 2
             AND OO.ORDER_TYPE = 11
+            AND AIR.INSERT_UPDATE_REMARK not like '%计时且过计量%'
             <if test="orgCode!=null">
                 AND OO.OPTIONER_CODE=#{orgCode}
             </if>
@@ -1794,7 +1802,7 @@
             <if test="index!=null">
                 and ((instr(RC.CAPACITY_NUMBER, #{index}) > 0) or (instr(RW1.WAREHOUSE_NAME, #{index}) > 0)
                 or (instr(RW2.WAREHOUSE_NAME, #{index}) > 0) or (instr(RM.MATERIAL_NAME , #{index}) > 0)
-                or (instr( RC2.CARRIER_NAME, #{index}) > 0) or (instr(RL.LINE_NAME, #{index}) > 0))
+                or (instr( RC2.CARRIER_NAME, #{index}) > 0) )
             </if>
             )
         </where>
@@ -1907,7 +1915,11 @@
                     RM.MATERIAL_ID  "materialId",
                     RM.MATERIAL_NAME  "materialName",
                     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe",
-                    R_CARRIER.CARRIER_ABBREVIATION "carrierName",
+                    (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+                        THEN '自提'
+                        ELSE R_CARRIER.CARRIER_ABBREVIATION
+                        END)
+                     "carrierName",
                     OO.ORDER_NUMBER "orderNo",
                     RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
                     RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
@@ -1935,7 +1947,11 @@
                     NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
                     OO.CAN_WORK     "canwork",
                     OO.ORDER_STATUS              "carStatus",
+                    RSA.AREA_NAME "areaName",
+                    TAR.INSERT_TIME "arrivalTime",
+                    TRR.INSERT_TIME "receiptTime",
                     DECODE(OO.PRINTNUMBER,1,'已打印','未打印') "isPrintDelivery",
+                    decode(TSR.RESULT_ID,null,'未发送','已发送')  "smsResultId",
                     DECODE(ASO.SALE_ORDER_STATUS,1,'销售订单已上报',
                                                  2,'销售已提交',
                                                  4,'财务已审批',
@@ -1947,6 +1963,8 @@
                               ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
                     LEFT JOIN RMS_SHIPPER RS
                               ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                    LEFT JOIN RMS_SALE_AREA RSA
+                    ON RSA.AREA_ID=RC.AREA_ID
                     LEFT JOIN RMS_SALER RSR
                               ON RSR.SALER_ID = ASO.SALER_ID
                     LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
@@ -1986,6 +2004,8 @@
                               ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
                     LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
                               ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                    LEFT JOIN TMSTRUCK_SMS_RUSULT TSR
+                              ON TSR.TOTAL_RESULT_ID = TTR.RESULT_TOTAL_ID
                     WHERE ASO.SALE_TYPE = 1
                           AND ASO.DELETED = 0
                           and ASM.SALE_MATERIAL_ID IS NOT NULL
@@ -2005,15 +2025,64 @@
                     <if test="salers != null">
                         and RSR.SALER_NAME = #{salers}
                     </if>
+                    <if test="easPrimaryId != null">
+                        and ASM.EAS_PRIMARY_ID = #{easPrimaryId}
+                    </if>
                     <if test="capacityNum != null">
                         and  RCA.CAPACITY_NUMBER like #{capacityNum}
                     </if>
+                    <if test="capacityList != null">
+                        and <foreach collection="capacityList" item="item" open="(" separator="or" close=")">
+                        RCA.CAPACITY_NUMBER like '%${item}%'
+                    </foreach>
+                    </if>
                     <if test="consigneeNames != null">
                         and RC.CONSIGNEE_COMPANY_NAME like #{consigneeNames}
                     </if>
+                    <if test="consigneeNameList != null">
+                      and <foreach collection="consigneeNameList" item="item" open="(" separator="or" close=")">
+                         RC.CONSIGNEE_COMPANY_NAME like '%${item}%'
+                    </foreach>
+                    </if>
                     <if test="carrierNames != null">
                         and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
                     </if>
+                    <if test="carrierList != null ">
+                        and <foreach collection="carrierList" item="item" open="(" separator="or" close=")">
+                          <if test="item == null">
+                              R_CARRIER.CARRIER_ABBREVIATION is null
+                          </if>
+                        <if test="item != null">
+                            R_CARRIER.CARRIER_ABBREVIATION like '%${item}%'
+                        </if>
+                    </foreach>
+                    </if>
+                    <if test="materialNameList != null">
+                        and <foreach collection="materialNameList" item="item" open="(" separator="or" close=")">
+                        RM.MATERIAL_NAME like '%${item}%'
+                    </foreach>
+                    </if>
+                    <if test="saleAreaList != null">
+                        and <foreach collection="saleAreaList" item="item" open="(" separator="or" close=")">
+                        RSA.AREA_NAME like '%${item}%'
+                    </foreach>
+                    </if>
+                    <if test="orderStatusList != null">
+                        and <foreach collection="orderStatusList" item="item" open="(" separator="or" close=")">
+                        DECODE(OO.ORDER_STATUS ,2,'作业已完成',4,'物流公司已派单',5,'司机已接单',0,'未派发',7,'已关闭',8,'已关闭') like '%${item}%'
+                    </foreach>
+                    </if>
+                    <if test="addressPlaceList != null">
+                        and <foreach collection="addressPlaceList" item="item" open="(" separator="or" close=")">
+                        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS like '%${item}%'
+                    </foreach>
+                    </if>
+                    <if test="materialSpeList != null">
+                        and <foreach collection="materialSpeList" item="item" open="(" separator="or" close=")">
+                        RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL like '%${item}%'
+                    </foreach>
+                    </if>
                     order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
                      )
     </select>
@@ -2421,4 +2490,208 @@
         select CAPACITY_NUMBER from RMS_CAPACITY
         where CAPACITY_ID=#{capacitynumber}
     </select>
+    <select id="getCarrierFilterList" resultType="java.util.Map" parameterType="map">
+        SELECT * FROM (
+        SELECT distinct
+        R_CARRIER.CARRIER_ABBREVIATION "value",
+        R_CARRIER.CARRIER_ABBREVIATION "text",
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER R_CARRIER
+        ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+        WHERE ASO.SALE_TYPE = 1
+        AND ASO.DELETED = 0
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd') &lt; = to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+            and to_date(#{endDate}, 'yyyy-mm-dd') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd'),'yyyy-mm-dd')
+        </if>
+        order by ASO.SALE_ORDER_ID DESC
+        )
+    </select>
+    <select id="loadingSaleSteelReport" resultType="java.util.Map" parameterType="map">
+        SELECT * FROM (
+        SELECT distinct OO.ORDER_ID "orderId",
+        ASO.SALE_ORDER_ID "saleOrderId",
+        to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd') "orderTime",
+        ASO.SALE_NUMBER "saleOrderNo",
+        ASM.SALE_MATERIAL_ID "saleMaterialId",
+        ASM.MATERIAL_NUMBER "materialNum",
+        ASM.MATERIAL_NUMBER "materialNumber",
+        ASO.SALE_REMARK "saleRemark",
+        ASM.EAS_PRIMARY_ID "closeEntryId",
+        ASM.DELETED "deletedStatus",
+        decode(ASM.DELETED,0,'关闭','审核') "entryStatus",
+        RC.CONSIGNEE_COMPANY_NAME "consigneeName",
+        RC.CONSIGNEE_COMPANY_NAME "receiveName",
+        ASO.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+        ASM.IS_POUND_SALE   "isPoundSale",
+        ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+        RS.SHIPPER_NAME "shipperName",
+        RCA.CAPACITY_NUMBER "capacityNo",
+        NVL(OO.CAPACITY_ID,0)  "capacityIds",
+        OO.CAPACITY_ID "capacityId",
+        ASOM.SALE_ORDER_MATERIAL_TRUCK_NO "truckNo",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+        ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+        OO.ORDER_LINE_SEQUENCE "lineSequence",
+        ASO.SALE_ORDER_ISSELF_MENTION "isSelfMention",
+        RSR.SALER_NAME "saler",
+        RSR.SALER_NAME "salerName",
+        RM.MATERIAL_ID  "materialId",
+        RM.MATERIAL_NAME  "materialName",
+        RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe",
+        ASM.STEEL_METER "steelMeters",
+        RM.MATERIAL_SPECIFICATION "materialSpecification",
+        RM.MATERIAL_MODEL "materialModel",
+        R_CARRIER.CARRIER_ABBREVIATION "carrierName",
+        OO.ORDER_NUMBER "orderNo",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+        RRP.PLACE_ID "placeId",
+        RRP.ADDRESS_DELIVERY_ADDRESS "place",
+        RRA.ADDRESS_ID "shipperAddressId",
+        RRA.ADDRESS_PROVINCE "addressProvince",
+        RRA.ADDRESS_PROVINCE "province",
+        RRA.ADDRESS_DISTRICT "district",
+        RRA.ADDRESS_TOWN "town",
+        RRA.ADDRESS_DISTRICT "addressDistrict",
+        RRA.ADDRESS_TOWN "addressTown",
+        OO.ORDER_LINE_SEQUENCE "lineSqe",
+        OO.DRIVER_TEL "capacityTel",
+        TWR.RESULT_GROSS_WEIGHT "grossWeight",
+        TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
+        TWR.RESULT_TARE_WEIGHT       "tareWeight",
+        TWR.RESULT_TARE_WEIGHT_TIME  "tareWeightTime",
+        TWR.RESULT_NET_WEIGHT        "netWeight",
+        TLR.RESULT_LOAD_END_TIME     "loadTime",
+        TLFR.RESULT_OUT_GATE_TIME    "outGateTime",
+        TER.RESULT_ENTRY_GATE_TIME   "entryGateTime",
+        ASOM.SALE_DATE_OF_RECEIPT   "saleDateReceipt",
+        R_CARRIER.CARRIER_ID        "carrierId",
+        OO.CAPACITYIDS "capacityNumbers",
+        NVL(R_CARRIER.CARRIER_ID,0) "carrierIds",
+        OO.CAN_WORK     "canwork",
+        OO.ORDER_STATUS              "carStatus",
+        RSA.AREA_NAME "areaName",
+        RSA.AREA_NAME "saleArea",
+        DECODE(ASO.SALE_ORDER_STATUS,1,'销售订单已上报',
+        2,'销售已提交',
+        4,'财务已审批',
+        0,'销售订单未上报') "saleOrderStatus",
+        DECODE(OO.ORDER_STATUS ,2,'作业已完成',4,'物流公司已派单',5,'司机已接单',0,'未派发',7,'已关闭',8,'已关闭')
+        "orderStatus"
+        FROM AMS_SALE_ORDER ASO
+        LEFT JOIN RMS_CONSIGNEE RC
+        ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+        LEFT JOIN RMS_SHIPPER RS
+        ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+        LEFT JOIN RMS_SALE_AREA RSA
+        ON RSA.AREA_ID=RC.AREA_ID
+        LEFT JOIN RMS_SALER RSR
+        ON RSR.SALER_ID = ASO.SALER_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER R_CARRIER
+        ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_MATERIAL ASM
+        ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        AND NVL(OO.ORDER_TYPE,0) in (0,1)
+        LEFT JOIN RMS_CAPACITY RCA
+        ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
+        ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
+        ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        AND TLR.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+        ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE ASO.SALE_TYPE = 1
+        <if test="entryIdList == null">
+            AND ASO.DELETED = 0
+            and ASM.SALE_MATERIAL_ID IS NOT NULL
+            AND TWR.RESULT_NET_WEIGHT IS NULL
+            AND ASOM.SALE_DATE_OF_RECEIPT  &lt; sysdate
+            AND ASOM.SALE_DATE_OF_RECEIPT  > sysdate -1
+            AND ASO.INSERT_UPDATE_REMARK != '物流上传金蝶成功'
+        </if>
+        <if test="remark != null" >
+            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION LIKE #{remark}
+        </if>
+        <if test="salers != null">
+            and RSR.SALER_NAME = #{salers}
+        </if>
+        <if test="easPrimaryId != null">
+            and ASM.EAS_PRIMARY_ID = #{easPrimaryId}
+        </if>
+        <if test="capacityNum != null">
+            and  RCA.CAPACITY_NUMBER like #{capacityNum}
+        </if>
+        <if test="capacityList != null">
+            and <foreach collection="capacityList" item="item" open="(" separator="or" close=")">
+            RCA.CAPACITY_NUMBER like '%${item}%'
+        </foreach>
+        </if>
+        <if test="consigneeNames != null">
+            and RC.CONSIGNEE_COMPANY_NAME like #{consigneeNames}
+        </if>
+        <if test="consigneeNameList != null">
+            and <foreach collection="consigneeNameList" item="item" open="(" separator="or" close=")">
+            RC.CONSIGNEE_COMPANY_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="carrierNames != null">
+            and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
+        </if>
+        <if test="carrierList != null ">
+            and <foreach collection="carrierList" item="item" open="(" separator="or" close=")">
+            <if test="item == null">
+                R_CARRIER.CARRIER_ABBREVIATION is null
+            </if>
+            <if test="item != null">
+                R_CARRIER.CARRIER_ABBREVIATION like '%${item}%'
+            </if>
+        </foreach>
+        </if>
+        <if test="materialNameList != null">
+            and <foreach collection="materialNameList" item="item" open="(" separator="or" close=")">
+            RM.MATERIAL_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="saleAreaList != null">
+            and <foreach collection="saleAreaList" item="item" open="(" separator="or" close=")">
+            RSA.AREA_NAME like '%${item}%'
+        </foreach>
+        </if>
+        <if test="entryIdList != null">
+            and <foreach collection="entryIdList" item="item" open="(" separator="or" close=")">
+            ASM.EAS_PRIMARY_ID like '%${item}'
+        </foreach>
+        </if>
+        order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
+        )
+    </select>
+
 </mapper>

+ 6 - 5
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -1078,6 +1078,7 @@
         left join RMS_SHIPPER rsh
         on rsh.SHIPPER_ID = aso.SHIPPER_ID
         where oo.order_number =#{orderNumber}
+        and oo.order_status=5
     </select>
 
     <select id="getDeliveryOrderMaterial" parameterType="java.lang.String" resultType="java.util.LinkedHashMap">
@@ -1323,7 +1324,7 @@
           on asom.sale_order_material_id = oo.order_plan_id
           left join AMS_SALE_ORDER aso
           on aso.SALE_ORDER_ID =  asom.sale_order_id
-         where oo.order_number = #{orderNumber}
+         where oo.order_number = #{orderNumber} and oo.order_status=5
     </select>
     <select id="queryDate" resultType="java.util.Date">
         select WOR.INSERT_TIME
@@ -1340,7 +1341,7 @@
         ||'.'||
         extract(DAY from OO.INSERT_TIME +1) "partOfNote"
         from OMSTRUCK_ORDER OO
-        where OO.ORDER_NUMBER=#{orderNumber}
+        where OO.ORDER_NUMBER=#{orderNumber} and oo.order_status=5
     </select>
     <select id="queryNumber" resultType="java.math.BigDecimal">
         select oom.order_material_number  "materialNumber"
@@ -1348,18 +1349,18 @@
         left join omstruck_order_material oom
         on oom.order_id = oo.order_id
         where oom.Material_Id=#{materialid}
-        and oo.order_number=#{orderNumber}
+        and oo.order_number=#{orderNumber} and oo.order_status=5
     </select>
     <select id="queryNumber1" resultType="java.util.Map">
         select oo.PRINTNUMBER "printnumber"
         from OMSTRUCK_ORDER oo
-        where oo.ORDER_NUMBER=#{orderNumber}
+        where oo.ORDER_NUMBER=#{orderNumber} and OO.ORDER_STATUS=5
     </select>
 
     <update id="changeNumber">
         update OMSTRUCK_ORDER oo
         set oo.PRINTNUMBER=1
-        where oo.ORDER_NUMBER=#{orderNumber}
+        where oo.ORDER_NUMBER=#{orderNumber} and OO.ORDER_STATUS=5
     </update>
 
     <select id="getMaterial" resultType="java.lang.String">

+ 19 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -2855,4 +2855,23 @@
         set oo.ORDER_LINE_SEQUENCE=#{orderlinesequence}
         where oo.ORDER_ID=#{orderId}
     </update>
+
+    <select id="selectByTotalId" resultMap="BaseResultMap">
+        <include refid="select"/>
+        WHERE RESULT_TOTAL_ID=#{resultTotalId}
+        <if test="switch != null">
+            AND RESULT_TARE_WEIGHT IS NOT NULL AND RESULT_NET_WEIGHT IS NULL
+        </if>
+        ORDER BY TARE_SEGMENT_SQE
+    </select>
+    <update id="copyQmsResult">
+        update QMS_QUEUE_RESULT
+        SET RESULT_TOTAL_ID=#{resultTotalId}
+        WHERE RESULT_TOTAL_ID=#{resultTotalIdOld}
+    </update>
+    <update id="updateOmstruckStatus">
+        update OMSTRUCK_ORDER
+        SET ORDER_LINE_SEQUENCE=#{seq}
+        WHERE ORDER_ID=#{orderId}
+    </update>
 </mapper>

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

@@ -213,7 +213,7 @@
             on TTR.ORDER_ID = OO.ORDER_ID
         left join RMS_CAPACITY RC
             on OO.CAPACITY_ID = RC.CAPACITY_ID
-        where  OO.order_Number=#{orderNumber}
+        where  OO.order_Number=#{orderNumber} AND OO.ORDER_STATUS=5
     </select>
 
     <select id="getLineSequenceByOrderNumber" parameterType="string" resultType="java.lang.Integer">
@@ -376,4 +376,14 @@
        from RMS_WAREHOUSE rw
        where  rw.WAREHOUSE_ID=#{warehouseId}
     </select>
+    <select id="getRequireRemark" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+        SELECT AIR.INSERT_UPDATE_REMARK FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+        ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+        ON ARP.PLAN_ID = AIP.PLAN_ID
+        LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+        ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/log4j.properties

@@ -1,5 +1,5 @@
 ## LOG4J配置
-log4j.rootCategory=INFO, stdout,file, RUNNING,errorfile
+log4j.rootCategory=INFO,file, RUNNING,errorfile
 ## 控制台输出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout