Browse Source

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-TMS-TRUCK-API

luobang 2 years ago
parent
commit
c1cfd39b42
18 changed files with 693 additions and 76 deletions
  1. 350 7
      src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java
  2. 12 0
      src/main/java/com/steerinfo/dil/controller/TmstruckLoadResultController.java
  3. 17 9
      src/main/java/com/steerinfo/dil/controller/TmstruckMeasureCommissionController.java
  4. 3 0
      src/main/java/com/steerinfo/dil/mapper/StatisticalReportMapper.java
  5. 2 1
      src/main/java/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.java
  6. 3 0
      src/main/java/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.java
  7. 3 0
      src/main/java/com/steerinfo/dil/service/IStatisticalReportService.java
  8. 4 0
      src/main/java/com/steerinfo/dil/service/ITmstruckLoadResultService.java
  9. 6 0
      src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java
  10. 26 4
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java
  11. 58 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java
  12. 11 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckTimeTaskResultServiceImpl.java
  13. 34 0
      src/main/java/com/steerinfo/dil/util/newFileTool.java
  14. 109 4
      src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml
  15. 2 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml
  16. 26 0
      src/main/resources/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.xml
  17. 11 46
      src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml
  18. 16 2
      src/main/resources/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.xml

+ 350 - 7
src/main/java/com/steerinfo/dil/controller/StatisticalReportController.java

@@ -114,7 +114,9 @@ public class StatisticalReportController extends BaseRESTfulController {
             mapValue.put("orderField","materialCode");
             mapValue.put("orderField","materialCode");
             mapValue.put("orderType","desc");
             mapValue.put("orderType","desc");
         }
         }
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getAllSaleReport(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getAllSaleReport(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData5(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData5(apiId, null, report);
@@ -239,7 +241,9 @@ public class StatisticalReportController extends BaseRESTfulController {
         if (con!=null&&!"null".equals(con)){
         if (con!=null&&!"null".equals(con)){
             mapValue.put("con","%"+con+"%");
             mapValue.put("con","%"+con+"%");
         }
         }
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getSporadicSuppliesReport1(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getSporadicSuppliesReport1(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, report);
@@ -285,7 +289,9 @@ public class StatisticalReportController extends BaseRESTfulController {
         if (userIds!=null){
         if (userIds!=null){
             mapValue.put("userIds",userIds);
             mapValue.put("userIds",userIds);
         }
         }
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getSporadicSuppliesReport2(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getSporadicSuppliesReport2(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, report);
@@ -337,7 +343,9 @@ public class StatisticalReportController extends BaseRESTfulController {
         if(con != null && !"null".equals(con)){
         if(con != null && !"null".equals(con)){
             mapValue.put("con","%" + con + "%");
             mapValue.put("con","%" + con + "%");
         }
         }
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getLXInwardReport(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getLXInwardReport(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
@@ -630,7 +638,9 @@ public class StatisticalReportController extends BaseRESTfulController {
                                     String startTime,
                                     String startTime,
                                     String endTime){
                                     String endTime){
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getLoading(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getLoading(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
@@ -647,7 +657,9 @@ public class StatisticalReportController extends BaseRESTfulController {
                                     String startTime,
                                     String startTime,
                                     String endTime){
                                     String endTime){
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getLoaderResult(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getLoaderResult(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
@@ -663,7 +675,9 @@ public class StatisticalReportController extends BaseRESTfulController {
                                     String startTime,
                                     String startTime,
                                     String endTime){
                                     String endTime){
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
-        PageHelper.startPage(pageNum, pageSize);
+        if(mapValue.get("isExcel")==null){
+            PageHelper.startPage(pageNum, pageSize);
+        }
         //分页数据
         //分页数据
         List<Map<String, Object>> report = statisticalReportService.getUnLoading(mapValue);
         List<Map<String, Object>> report = statisticalReportService.getUnLoading(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, report);
@@ -804,6 +818,335 @@ public class StatisticalReportController extends BaseRESTfulController {
         return success(report);
         return success(report);
     }
     }
 
 
+    @ApiOperation(value="查询销售统计报表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(423)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getSaleSteelSpellingReport")
+    public RESTfulResult getSaleSteelSpellingReport(@RequestBody(required=false) Map<String,Object> map
+    ){
+        String startTime = (String)map.get("startTime");
+        String endTime = (String) map.get("endTime");
+        //分页数据
+        List<Map<String, Object>> report = statisticalReportService.getSaleSteelSpellingReport(map);
+        //初始化Map的值
+        Map<String,Object> map1=new HashMap<>();
+        map1.put("pinZhuang",null);
+        map1.put("chongQinSpellingData",0);
+        map1.put("chengDuSpellingData",0);
+        map1.put("gongChengSpellingData",0);
+        map1.put("chaungDongSpellingData",0);
+        map1.put("AllSpellingData",0);
+        Map<String,Object> map2=new HashMap<>();
+        map2.put("pinZhuang",null);
+        map2.put("chongQinSpellingData",0);
+        map2.put("chengDuSpellingData",0);
+        map2.put("gongChengSpellingData",0);
+        map2.put("chaungDongSpellingData",0);
+        map2.put("AllSpellingData",0);
+        Map<String,Object> map3=new HashMap<>();
+        map3.put("pinZhuang",null);
+        map3.put("chongQinSpellingData",0);
+        map3.put("chengDuSpellingData",0);
+        map3.put("gongChengSpellingData",0);
+        map3.put("chaungDongSpellingData",0);
+        map3.put("AllSpellingData",0);
+        Map<String,Object> map4=new HashMap<>();
+        map4.put("pinZhuang",null);
+        map4.put("chongQinSpellingData",0);
+        map4.put("chengDuSpellingData",0);
+        map4.put("gongChengSpellingData",0);
+        map4.put("chaungDongSpellingData",0);
+        map4.put("AllSpellingData",0);
+        Map<String,Object> map5=new HashMap<>();
+        map5.put("pinZhuang",null);
+        map5.put("chongQinSpellingData",0);
+        map5.put("chengDuSpellingData",0);
+        map5.put("gongChengSpellingData",0);
+        map5.put("chaungDongSpellingData",0);
+        map5.put("AllSpellingData",0);
+        Map<String,Object> map6=new HashMap<>();
+        map6.put("pinZhuang",null);
+        map6.put("chongQinSpellingData",0);
+        map6.put("chengDuSpellingData",0);
+        map6.put("gongChengSpellingData",0);
+        map6.put("chaungDongSpellingData",0);
+        map6.put("AllSpellingData",0);
+        Map<String,Object> map7=new HashMap<>();
+        map7.put("pinZhuang",null);
+        map7.put("chongQinSpellingData",0);
+        map7.put("chengDuSpellingData",0);
+        map7.put("gongChengSpellingData",0);
+        map7.put("chaungDongSpellingData",0);
+        map7.put("AllSpellingData",0);
+        //35个数据
+        List<Map<String,Object>> spellingData=new LinkedList<>();
+        //初始化list集合的值
+        spellingData.add(map1);
+        spellingData.add(map2);
+        spellingData.add(map3);
+        spellingData.add(map4);
+        spellingData.add(map5);
+        spellingData.add(map6);
+        spellingData.add(map7);
+        spellingData.get(0).put("pinZhuang","一拼");
+        spellingData.get(1).put("pinZhuang","二拼");
+        spellingData.get(2).put("pinZhuang","三拼");
+        spellingData.get(3).put("pinZhuang","四拼");
+        spellingData.get(4).put("pinZhuang","五拼");
+        spellingData.get(5).put("pinZhuang","六拼");
+        spellingData.get(6).put("pinZhuang","合计");
+        for (Map<String, Object> stringObjectMap : report) {
+            int flag=0;
+            String areaName = (String) stringObjectMap.get("areaName");
+            //销售订单号
+            if (areaName==null){
+                continue;
+            }
+            BigDecimal spellingNum =  DataChange.dataToBigDecimal(stringObjectMap.get("spellingNum"));
+            if (spellingNum.compareTo(BigDecimal.valueOf(1))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(0).get("chongQinSpellingData");
+                    if (spellingData.get(0).get("chongQinSpellingData")!=null){
+                        spellingData.get(0).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(0).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(0).get("chengDuSpellingData");
+                    if (spellingData.get(0).get("chengDuSpellingData")!=null){
+                        spellingData.get(0).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(0).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(0).get("gongChengSpellingData");
+                    if (spellingData.get(0).get("gongChengSpellingData")!=null){
+                        spellingData.get(0).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(0).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(0).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(0).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(0).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(0).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(0).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(0).put("AllSpellingData",1);
+                }
+            }else if (spellingNum.compareTo(BigDecimal.valueOf(2))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(1).get("chongQinSpellingData");
+                    if (oneSpellingData!=null){
+                        spellingData.get(1).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(1).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(1).get("chengDuSpellingData");
+                    if (oneSpellingData1!=null){
+                        spellingData.get(1).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(1).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(1).get("gongChengSpellingData");
+                    if (oneSpellingData2!=null){
+                        spellingData.get(1).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(1).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(1).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(1).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(1).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(1).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(1).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(1).put("AllSpellingData",1);
+                }
+            }else if (spellingNum.compareTo(BigDecimal.valueOf(3))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(2).get("chongQinSpellingData");
+                    if (oneSpellingData!=null){
+                        spellingData.get(2).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(2).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(2).get("chengDuSpellingData");
+                    if (oneSpellingData1!=null){
+                        spellingData.get(2).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(2).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(2).get("gongChengSpellingData");
+                    if (oneSpellingData2!=null){
+                        spellingData.get(2).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(2).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(2).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(2).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(2).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(2).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(2).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(2).put("AllSpellingData",1);
+                }
+            }else if (spellingNum.compareTo(BigDecimal.valueOf(4))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(3).get("chongQinSpellingData");
+                    if (oneSpellingData!=null){
+                        spellingData.get(3).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(3).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(3).get("chengDuSpellingData");
+                    if (oneSpellingData1!=null){
+                        spellingData.get(3).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(3).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(3).get("gongChengSpellingData");
+                    if (oneSpellingData2!=null){
+                        spellingData.get(3).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(3).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(3).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(3).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(3).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(3).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(3).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(3).put("AllSpellingData",1);
+                }
+            }else if (spellingNum.compareTo(BigDecimal.valueOf(5))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(4).get("chongQinSpellingData");
+                    if (oneSpellingData!=null){
+                        spellingData.get(4).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(4).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(4).get("chengDuSpellingData");
+                    if (oneSpellingData1!=null){
+                        spellingData.get(4).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(4).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(4).get("gongChengSpellingData");
+                    if (oneSpellingData2!=null){
+                        spellingData.get(4).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(4).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(4).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(4).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(4).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(4).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(4).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(4).put("AllSpellingData",1);
+                }
+            }else if (spellingNum.compareTo(BigDecimal.valueOf(6))==0){
+                if (areaName.equals("钢材重庆组")){
+                    Integer oneSpellingData = (Integer) spellingData.get(5).get("chongQinSpellingData");
+                    if (oneSpellingData!=null){
+                        spellingData.get(5).put("chongQinSpellingData",oneSpellingData+1);
+                    }else {
+                        spellingData.get(5).put("chongQinSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材成都组")){
+                    Integer oneSpellingData1 = (Integer) spellingData.get(5).get("chengDuSpellingData");
+                    if (oneSpellingData1!=null){
+                        spellingData.get(5).put("chengDuSpellingData",oneSpellingData1+1);
+                    }else {
+                        spellingData.get(5).put("chengDuSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材工程组")){
+                    Integer oneSpellingData2 = (Integer) spellingData.get(5).get("gongChengSpellingData");
+                    if (oneSpellingData2!=null){
+                        spellingData.get(5).put("gongChengSpellingData",oneSpellingData2+1);
+                    }else {
+                        spellingData.get(5).put("gongChengSpellingData",1);
+                    }
+                }else if (areaName.equals("钢材南充组")||areaName.equals("钢材达州组")||areaName.equals("钢材万州组")){
+                    Integer oneSpellingData3 = (Integer) spellingData.get(5).get("chaungDongSpellingData");
+                    if (oneSpellingData3!=null){
+                        spellingData.get(5).put("chaungDongSpellingData",oneSpellingData3+1);
+                    }else {
+                        spellingData.get(5).put("chaungDongSpellingData",1);
+                    }
+                }
+                Integer oneSpellingData4 = (Integer) spellingData.get(5).get("AllSpellingData");
+                if (oneSpellingData4!=null){
+                    spellingData.get(5).put("AllSpellingData",oneSpellingData4+1);
+                }else {
+                    spellingData.get(5).put("AllSpellingData",1);
+                }
+            }
+        }
+        //每一列的合计
+        int oneData=0;
+        int twoData=0;
+        int threeData=0;
+        int fourData=0;
+        int fiveData=0;
+        for (int i = 0; i < spellingData.size(); i++) {
+            oneData+=(int) spellingData.get(i).get("chongQinSpellingData");
+            twoData+=(int) spellingData.get(i).get("chengDuSpellingData");
+            threeData+=(int) spellingData.get(i).get("gongChengSpellingData");
+            fourData+=(int) spellingData.get(i).get("chaungDongSpellingData");
+            fiveData+=(int) spellingData.get(i).get("AllSpellingData");
+        }
+        spellingData.get(6).put("chongQinSpellingData",oneData);
+        spellingData.get(6).put("chengDuSpellingData",twoData);
+        spellingData.get(6).put("gongChengSpellingData",threeData);
+        spellingData.get(6).put("chaungDongSpellingData",fourData);
+        spellingData.get(6).put("AllSpellingData",fiveData);
+        return success(spellingData);
+    }
+
     @ApiOperation(value="查询销售统计报表")
     @ApiOperation(value="查询销售统计报表")
     @ApiImplicitParams({
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),

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

@@ -403,4 +403,16 @@ public class TmstruckLoadResultController extends BaseRESTfulController {
         }
         }
         return failed("装货失败");
         return failed("装货失败");
     }
     }
+
+    @ApiOperation(value = "根据运输订单号修改装/卸点、卸货物资、装机备注等:后台管理")
+    @PostMapping("/selectLoadingIdRemark")
+    public RESTfulResult selectLoadingIdRemark(@RequestBody(required=false) Map<String, Object> map){
+        return success(tmstruckLoadResultService.selectLoadingIdRemark(map));
+    }
+
+    @ApiOperation(value = "根据运输订单号修改装/卸点、卸货物资、装机备注等:后台管理")
+    @PostMapping("/updateLoadingIdRemark")
+    public RESTfulResult updateLoadingIdRemark(@RequestBody(required=false) Map<String, Object> map){
+        return success(tmstruckLoadResultService.updateLoadingIdRemark(map));
+    }
 }
 }

+ 17 - 9
src/main/java/com/steerinfo/dil/controller/TmstruckMeasureCommissionController.java

@@ -2,7 +2,10 @@ package com.steerinfo.dil.controller;
 import com.steerinfo.dil.service.ITmstruckMeasureCommissionService;
 import com.steerinfo.dil.service.ITmstruckMeasureCommissionService;
 
 
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -35,17 +38,22 @@ public class TmstruckMeasureCommissionController extends BaseRESTfulController {
     @Autowired
     @Autowired
     ITmstruckMeasureCommissionService tmstruckMeasureCommissionService;
     ITmstruckMeasureCommissionService tmstruckMeasureCommissionService;
 
 
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
     @ApiOperation(value="查询计量委托 ")
     @ApiOperation(value="查询计量委托 ")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "resultId", value = "装车作业实绩ID", required = false, dataType = "Integer"),
-    })
-    @PostMapping("/getAllMeasureCommission/{type}")
-    public RESTfulResult getAllMeasureCommission(@PathVariable("type") Integer type, Integer orderType){
-        HashMap<String, Object> mapValue = new HashMap<>();
-        mapValue.put("type", type);
-        mapValue.put("orderType", orderType);
+    @PostMapping("/getAllMeasureCommission")
+    public RESTfulResult getAllMeasureCommission(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                String con){
+        mapValue.put("con", con);
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
         List<Map<String, Object>> allMeasureCommission = tmstruckMeasureCommissionService.getAllMeasureCommission(mapValue);
         List<Map<String, Object>> allMeasureCommission = tmstruckMeasureCommissionService.getAllMeasureCommission(mapValue);
-        return success(allMeasureCommission);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,allMeasureCommission);
+        return success(pageList);
     }
     }
 
 
     @ApiOperation(value="发送计量委托给达兴能源 ")
     @ApiOperation(value="发送计量委托给达兴能源 ")

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

@@ -78,6 +78,9 @@ public interface StatisticalReportMapper {
     //查询销售钢材统计报表
     //查询销售钢材统计报表
     List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue);
     List<Map<String, Object>> getSaleSteelReport(Map<String, Object> mapValue);
 
 
+    //查询销售钢材统计报表
+    List<Map<String, Object>> getSaleSteelSpellingReport(Map<String, Object> mapValue);
+
     //根据计费详单的需求修改后的钢材统计报表
     //根据计费详单的需求修改后的钢材统计报表
     List<Map<String, Object>> getSaleSteelReportNew(Map<String, Object> mapValue);
     List<Map<String, Object>> getSaleSteelReportNew(Map<String, Object> mapValue);
 
 

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

@@ -140,6 +140,7 @@ public interface TmstruckLoadResultMapper extends IBaseMapper<TmstruckLoadResult
 
 
     Map<String, Object> getLoadResultMap(BigDecimal resultTotalId);
     Map<String, Object> getLoadResultMap(BigDecimal resultTotalId);
 
 
-
+    //查询装卸信息
+    Map<String, Object> selectLoadingIdRemark(Map<String, Object> map);
 
 
 }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.java

@@ -34,6 +34,9 @@ public interface TmstruckTimeTaskResultMapper extends IBaseMapper<TmstruckTimeTa
     //查询计时(计次)作业
     //查询计时(计次)作业
     List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map);
     List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map);
 
 
+    //删除错误计时实绩
+    int deleteErrorTimeTaskResult();
+
     //根据运输订单号查找需要用车时长
     //根据运输订单号查找需要用车时长
     Map<String,Object>  selectInwardDueTimeByOrderId(BigDecimal orderId);
     Map<String,Object>  selectInwardDueTimeByOrderId(BigDecimal orderId);
 
 

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

@@ -21,6 +21,9 @@ public interface IStatisticalReportService {
     //查询销售统计报表
     //查询销售统计报表
     List<Map<String, Object>> getAllSaleReport(Map<String, Object> map);
     List<Map<String, Object>> getAllSaleReport(Map<String, Object> map);
 
 
+    //查询销售拼装报表
+    List<Map<String, Object>> getSaleSteelSpellingReport(Map<String, Object> map);
+
     //查询销售统计报表
     //查询销售统计报表
     List<Map<String, Object>> getAllSaleReportNum(Map<String, Object> map);
     List<Map<String, Object>> getAllSaleReportNum(Map<String, Object> map);
 
 

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

@@ -90,4 +90,8 @@ public interface ITmstruckLoadResultService{
     //插入装货
     //插入装货
     int addLoad1(Map<String,Object> map);
     int addLoad1(Map<String,Object> map);
 
 
+    Map<String, Object> selectLoadingIdRemark(Map<String, Object> mapval);
+
+    int updateLoadingIdRemark(Map<String,Object> map);
+
 }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/impl/StatisticalReportImpl.java

@@ -254,6 +254,12 @@ public class StatisticalReportImpl implements IStatisticalReportService {
         return saleSteelReport;
         return saleSteelReport;
     }
     }
 
 
+    @Override
+    public List<Map<String, Object>> getSaleSteelSpellingReport(Map<String, Object> mapValue) {
+        List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelSpellingReport(mapValue);
+        return saleSteelReport;
+    }
+
     @Override
     @Override
     public List<Map<String, Object>> getSaleSteelReportNew(Map<String, Object> mapValue) {
     public List<Map<String, Object>> getSaleSteelReportNew(Map<String, Object> mapValue) {
         List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelReportNew(mapValue);
         List<Map<String, Object>> saleSteelReport = statisticalReportMapper.getSaleSteelReportNew(mapValue);

+ 26 - 4
src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java

@@ -4,10 +4,7 @@ import com.steerinfo.dil.feign.OmsFeign;
 import com.steerinfo.dil.feign.WMSFeign;
 import com.steerinfo.dil.feign.WMSFeign;
 import com.steerinfo.dil.feign.WmshBoundFeign;
 import com.steerinfo.dil.feign.WmshBoundFeign;
 import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.mapper.*;
-import com.steerinfo.dil.model.TmstruckEnfactoryResult;
-import com.steerinfo.dil.model.TmstruckLeaveFactoryResult;
-import com.steerinfo.dil.model.TmstruckLoadResult;
-import com.steerinfo.dil.model.TmstruckWeightResult;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.ITmstruckLoadResultService;
 import com.steerinfo.dil.service.ITmstruckLoadResultService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -793,4 +790,29 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         }
         }
         return 0;
         return 0;
     }
     }
+
+    @Override
+    public Map<String, Object> selectLoadingIdRemark(Map<String, Object> map) {
+        //查询装卸货信息(装载机(CAPACITY_REMARK),修改备注(INSERT_UPDATE_REMARK),装货点,卸货点,卸货物资)
+        return tmstruckLoadResultMapper.selectLoadingIdRemark(map);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int updateLoadingIdRemark(Map<String, Object> map) {
+        //更新装货
+        TmstruckLoadResult tmstruckLoadResult=new TmstruckLoadResult();
+        tmstruckLoadResult.setResultId(DataChange.dataToBigDecimal(map.get("loadResultId")));
+        tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("loadingId")));
+        tmstruckLoadResult.setCapacityRemark((String)map.get("capacityRemark"));
+        tmstruckLoadResult.setInsertUpdateRemark((String)map.get("insertUpdateRemark"));
+        //更新卸货unloadResultId
+        TmstruckUnloadResult tmstruckUnloadResult=new TmstruckUnloadResult();
+        tmstruckUnloadResult.setResultId(DataChange.dataToBigDecimal(map.get("unloadResultId")));
+        tmstruckUnloadResult.setResultUnloadPlaceId(DataChange.dataToBigDecimal(map.get("unloadingId")));
+        tmstruckUnloadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
+        tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
+        tmstruckUnloadResultMapper.updateByPrimaryKeySelective(tmstruckUnloadResult);
+        return 0;
+    }
 }
 }

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

@@ -12,6 +12,7 @@ import com.steerinfo.dil.service.ITmstruckMeasureCommissionService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.HTTPRequestUtils;
 import com.steerinfo.dil.util.HTTPRequestUtils;
 import com.steerinfo.dil.util.getRequestUtils;
 import com.steerinfo.dil.util.getRequestUtils;
+import com.steerinfo.dil.util.newFileTool;
 import io.swagger.models.auth.In;
 import io.swagger.models.auth.In;
 import org.apache.http.ParseException;
 import org.apache.http.ParseException;
 import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.formula.functions.T;
@@ -126,6 +127,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 } catch (ParseException e) {
                 } catch (ParseException e) {
                     e.printStackTrace();
                     e.printStackTrace();
                 }
                 }
+                //写入文件
+                try{
+                    new Thread( new Runnable() {
+                        public void run(){
+                            try {
+                                newFileTool.newFile(sendUrl+":"+json.toJSONString(),"委托发送报文");
+                            } catch (IOException e) {
+                                e.printStackTrace();
+                            }
+                        }
+                    }).start();
+                }catch (Exception e) {
+                    e.printStackTrace();
+                }
                 System.out.println(sendUrl);
                 System.out.println(sendUrl);
                 System.out.println("装货点已发送" + json);
                 System.out.println("装货点已发送" + json);
                 MeasureJsonData measureJsonData = new MeasureJsonData();
                 MeasureJsonData measureJsonData = new MeasureJsonData();
@@ -153,7 +168,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
      */
      */
     @Override
     @Override
     public List<Map<String, Object>> getAllMeasureCommission(Map<String, Object> map) {
     public List<Map<String, Object>> getAllMeasureCommission(Map<String, Object> map) {
-        return null;
+        return tmstruckMeasureCommissionMapper.getMeasureCommission(map);
     }
     }
 
 
     /**
     /**
@@ -649,6 +664,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         } catch (IOException e) {
         } catch (IOException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
+        //写入文件
+        try{
+            new Thread( new Runnable() {
+                public void run(){
+                    try {
+                        newFileTool.newFile(daGangUrl+":"+jsonObject.toJSONString(),"委托发送报文");
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
         if(!"null".equals(jsonData)){
         if(!"null".equals(jsonData)){
             System.out.println(jsonData);
             System.out.println(jsonData);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
@@ -745,6 +774,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         } catch (IOException e) {
         } catch (IOException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
+        //写入文件
+        try{
+            new Thread( new Runnable() {
+                public void run(){
+                    try {
+                        newFileTool.newFile(daXingUrl+":"+jsonObject.toJSONString(),"委托发送报文");
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
         if(!"null".equals(jsonData)){
         if(!"null".equals(jsonData)){
             System.out.println(jsonData);
             System.out.println(jsonData);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
@@ -936,6 +979,20 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
         } catch (IOException e) {
         } catch (IOException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
+        //写入文件
+        try{
+            new Thread( new Runnable() {
+                public void run(){
+                    try {
+                        newFileTool.newFile(liuPiUrl+":"+jsonObject.toJSONString(),"委托发送报文");
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
         if(!"null".equals(jsonData)){
         if(!"null".equals(jsonData)){
             System.out.println(jsonData);
             System.out.println(jsonData);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
             HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);

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

@@ -281,7 +281,17 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
      */
      */
     @Override
     @Override
     public List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map) {
     public List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map) {
-        return tmstruckTimeTaskResultMapper.getAllTimeTaskResult(map);
+        List<Map<String, Object>> result=null;
+        try{
+            result = tmstruckTimeTaskResultMapper.getAllTimeTaskResult(map);
+        }catch (Exception e){
+            int i=3;
+            while (i-->0 && tmstruckTimeTaskResultMapper.deleteErrorTimeTaskResult() > 0){
+                //查询错误则删除错误计时数据,返回0或者执行3次后结束
+            }
+            result = tmstruckTimeTaskResultMapper.getAllTimeTaskResult(map);
+        }
+        return result;
     }
     }
 
 
     /**
     /**

+ 34 - 0
src/main/java/com/steerinfo/dil/util/newFileTool.java

@@ -0,0 +1,34 @@
+package com.steerinfo.dil.util;
+
+import org.apache.commons.lang.time.FastDateFormat;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Date;
+
+public class newFileTool {
+
+    public static int newFile(String jsonString,String type) throws IOException {
+        //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        FastDateFormat format = FastDateFormat.getInstance("yyyy-MM-dd");
+        String date  = format.format(new Date());
+        File file = new File("/shared/" + date + "-" + type + ".txt");
+        //File file = new File("/shared/test.txt");
+        FileWriter fileWriter = new FileWriter(file,true);
+        FastDateFormat format1 = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");
+        fileWriter.append("\n");
+        fileWriter.append(format1.format(new Date()) + "-----------------------");
+        fileWriter.append("\n");
+        fileWriter.append(jsonString);
+        fileWriter.append("\n");
+        fileWriter.append(format1.format(new Date()) + "-----------------------");
+        fileWriter.append("\n");
+        fileWriter.flush();
+        fileWriter.close();
+        System.out.println(file);
+        System.out.println("文件存储完成");
+        return 1;
+    }
+
+}

+ 109 - 4
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -358,6 +358,7 @@
         ASM.SALE_WAREHOUSE "saleWarehouse",
         ASM.SALE_WAREHOUSE "saleWarehouse",
         ASM.MATERIAL_NUMBER "materialNum",
         ASM.MATERIAL_NUMBER "materialNum",
         TLR.CASE_NUMBER "caseNumber",
         TLR.CASE_NUMBER "caseNumber",
+        TLR.CAPACITY_REMARK "capacityRemark",
         RC2.CARRIER_NAME "carrierName",
         RC2.CARRIER_NAME "carrierName",
         TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
         TAR.RESULT_ARRIVAL_ADDRESS "arrivalAddress",
         TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
         TRR.RESULT_ARRIVAL_ADDRESS "receiptAddress",
@@ -1961,8 +1962,15 @@
                     OO.ORDER_NUMBER "orderNo",
                     OO.ORDER_NUMBER "orderNo",
                     ACTP.PRICE_VALUE AS "priceValue",
                     ACTP.PRICE_VALUE AS "priceValue",
                     BDO.DETAILS_AMOUNT AS "detailsAmount",
                     BDO.DETAILS_AMOUNT AS "detailsAmount",
-                    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
-                    RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+                    (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
+                    THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                    RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+                    || ';旧地址:' || RRA_HISTORY.ADDRESS_PROVINCE || RRA_HISTORY.ADDRESS_DISTRICT ||
+                    RRA_HISTORY.ADDRESS_TOWN || RRP_HISTORY.ADDRESS_DELIVERY_ADDRESS
+                    ELSE
+                        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+                        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+                    END) "addressPlace",
                     RRP.PLACE_ID "placeId",
                     RRP.PLACE_ID "placeId",
                     RRP.ADDRESS_DELIVERY_ADDRESS "place",
                     RRP.ADDRESS_DELIVERY_ADDRESS "place",
                     RRA.ADDRESS_ID "shipperAddressId",
                     RRA.ADDRESS_ID "shipperAddressId",
@@ -2074,6 +2082,10 @@
                               ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
                               ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
                     LEFT JOIN RMS_RECEIVE_ADDRESS RRA
                     LEFT JOIN RMS_RECEIVE_ADDRESS RRA
                               ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
                               ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+                    LEFT JOIN RMS_RECEIVE_PLACE RRP_HISTORY
+                        ON RRP_HISTORY.PLACE_ID = ASOM.HISTORY_SHIPPING_ADDRESS_ID
+                    LEFT JOIN RMS_RECEIVE_ADDRESS RRA_HISTORY
+                        ON RRA_HISTORY.ADDRESS_ID = RRP_HISTORY.ADDRESS_ID
                     LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
                     LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
                               ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
                               ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
                     LEFT JOIN RMS_CARRIER R_CARRIER
                     LEFT JOIN RMS_CARRIER R_CARRIER
@@ -2253,6 +2265,79 @@
                      )
                      )
     </select>
     </select>
 
 
+    <select id="getSaleSteelSpellingReport" resultType="java.util.Map" parameterType="java.util.Map">
+        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",
+        (SELECT COUNT(A_SM.SALE_MATERIAL_ID) FROM OMSTRUCK_ORDER O_O
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL A_SOM
+        ON O_O.ORDER_PLAN_ID = A_SOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL A_STM
+        ON A_STM.SALE_ORDER_MATERIAL_ID = A_SOM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_SALE_MATERIAL A_SM
+        ON A_SM.SALE_MATERIAL_ID = A_STM.MATERIAL_ID
+        WHERE O_O.ORDER_ID=OO.ORDER_ID
+        ) "spellingNum",
+        RSA.AREA_NAME "areaName"
+        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 BMSTRUCK_DETAILS_ORDER BDO
+        ON BDO.WEIGHT_TASK_RESULT_ID = TWR.WEIGHT_TASK_RESULT_ID
+        LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
+        ON actp.PRICE_ID = OO.PRICE_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
+        ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_ARRIVAL_RESULT TAR
+        ON TAR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        LEFT JOIN TMStRUCK_RECEIPT_RESULT TRR
+        ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+        WHERE ASO.SALE_TYPE = 1
+        AND ASO.DELETED = 0
+        and ASM.SALE_MATERIAL_ID IS NOT NULL
+        <if test="startTime != null">
+            and to_date(#{startTime},'yyyy-mm-dd hh24:mi:ss') &lt;=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+            and to_date(#{endTime}, 'yyyy-mm-dd hh24:mi:ss') >=  to_date(to_char(ASOM.SALE_DATE_OF_RECEIPT-1,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
+        </if>
+        order by ASO.SALE_ORDER_ID  DESC,
+        OO.ORDER_ID DESC
+    </select>
+
     <select id="getSaleSteelReportNew" resultType="java.util.Map" parameterType="java.util.Map">
     <select id="getSaleSteelReportNew" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT * FROM (
         SELECT * FROM (
         SELECT distinct OO.ORDER_ID "orderId",
         SELECT distinct OO.ORDER_ID "orderId",
@@ -2296,9 +2381,15 @@
             ELSE TO_CHAR(ACTP2.PRICE_VALUE,'9999999990.99')
             ELSE TO_CHAR(ACTP2.PRICE_VALUE,'9999999990.99')
         END) AS "priceValue",
         END) AS "priceValue",
         TO_CHAR(BDO.DETAILS_AMOUNT,'9999999990.99') "detailsAmount",
         TO_CHAR(BDO.DETAILS_AMOUNT,'9999999990.99') "detailsAmount",
+        (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
+        THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+        || ';旧地址:' || RRA_HISTORY.ADDRESS_PROVINCE || RRA_HISTORY.ADDRESS_DISTRICT ||
+        RRA_HISTORY.ADDRESS_TOWN || RRP_HISTORY.ADDRESS_DELIVERY_ADDRESS
+        ELSE
         RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
         RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
-          "addressPlace",
+        END) "addressPlace",
         --卸货城市
         --卸货城市
         RRA3.ADDRESS_PROVINCE || RRA3.ADDRESS_DISTRICT ||
         RRA3.ADDRESS_PROVINCE || RRA3.ADDRESS_DISTRICT ||
         RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS "actualAddress",
         RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS "actualAddress",
@@ -2368,6 +2459,10 @@
         ON ASOM.ACTUALLY_ADDRESS_ID = RRP3.PLACE_ID
         ON ASOM.ACTUALLY_ADDRESS_ID = RRP3.PLACE_ID
         LEFT JOIN RMS_RECEIVE_ADDRESS RRA3
         LEFT JOIN RMS_RECEIVE_ADDRESS RRA3
         ON RRA3.ADDRESS_ID = RRP3.ADDRESS_ID
         ON RRA3.ADDRESS_ID = RRP3.ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP_HISTORY
+        ON RRP_HISTORY.PLACE_ID = ASOM.HISTORY_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA_HISTORY
+        ON RRA_HISTORY.ADDRESS_ID = RRP_HISTORY.ADDRESS_ID
         LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
         LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
         ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         LEFT JOIN RMS_CARRIER R_CARRIER
         LEFT JOIN RMS_CARRIER R_CARRIER
@@ -2571,9 +2666,15 @@
         OO.ORDER_NUMBER "orderNo",
         OO.ORDER_NUMBER "orderNo",
         TO_CHAR(ACTP.PRICE_VALUE,'9999999990.99') AS "priceValue",
         TO_CHAR(ACTP.PRICE_VALUE,'9999999990.99') AS "priceValue",
         TO_CHAR(BDO.DETAILS_AMOUNT,'9999999990.99') "detailsAmount",
         TO_CHAR(BDO.DETAILS_AMOUNT,'9999999990.99') "detailsAmount",
+        (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
+        THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
+        RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
+        || ';旧地址:' || RRA_HISTORY.ADDRESS_PROVINCE || RRA_HISTORY.ADDRESS_DISTRICT ||
+        RRA_HISTORY.ADDRESS_TOWN || RRP_HISTORY.ADDRESS_DELIVERY_ADDRESS
+        ELSE
         RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
         RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
         RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
-        "addressPlace",
+        END) "addressPlace",
         --卸货城市
         --卸货城市
         RRA3.ADDRESS_PROVINCE || RRA3.ADDRESS_DISTRICT ||
         RRA3.ADDRESS_PROVINCE || RRA3.ADDRESS_DISTRICT ||
         RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS  "actualAddress",
         RRA3.ADDRESS_TOWN|| RRP3.ADDRESS_DELIVERY_ADDRESS  "actualAddress",
@@ -2643,6 +2744,10 @@
         ON ASOM.ACTUALLY_ADDRESS_ID = RRP3.PLACE_ID
         ON ASOM.ACTUALLY_ADDRESS_ID = RRP3.PLACE_ID
         LEFT JOIN RMS_RECEIVE_ADDRESS RRA3
         LEFT JOIN RMS_RECEIVE_ADDRESS RRA3
         ON RRA3.ADDRESS_ID = RRP3.ADDRESS_ID
         ON RRA3.ADDRESS_ID = RRP3.ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_PLACE RRP_HISTORY
+        ON RRP_HISTORY.PLACE_ID = ASOM.HISTORY_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA_HISTORY
+        ON RRA_HISTORY.ADDRESS_ID = RRP_HISTORY.ADDRESS_ID
         LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
         LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
         ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
         LEFT JOIN RMS_CARRIER R_CARRIER
         LEFT JOIN RMS_CARRIER R_CARRIER

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

@@ -1355,7 +1355,8 @@
                  LEFT JOIN AMS_SALE_MATERIAL ASM
                  LEFT JOIN AMS_SALE_MATERIAL ASM
                            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
                            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
         where  ASM.MATERIAL_ID=#{materialid}
         where  ASM.MATERIAL_ID=#{materialid}
-          and OO.order_number=#{orderNumber} and oo.order_status=5
+          and OO.order_number=#{orderNumber} and oo.order_status in (2,5)
+            FETCH NEXT 1 ROW ONLY
     </select>
     </select>
     <!--select oom.order_material_number  "materialNumber"
     <!--select oom.order_material_number  "materialNumber"
         from omstruck_order oo
         from omstruck_order oo

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

@@ -1811,5 +1811,31 @@
            LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
            LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
     WHERE	TLFR.RESULT_OUT_MODE = '未装货出厂' AND TTR.ORDER_ID = #{orderId}
     WHERE	TLFR.RESULT_OUT_MODE = '未装货出厂' AND TTR.ORDER_ID = #{orderId}
   </select>
   </select>
+  <select id="selectLoadingIdRemark" resultType="java.util.Map">
+    SELECT OO.ORDER_ID         "orderId",
+           OO.ORDER_NUMBER "orderNumber",
+           RC.CAPACITY_NUMBER   "capacityNumber",
+           TTR.RESULT_TOTAL_ID "resultTotalId",
+           TLR.RESULT_ID       "loadResultId",
+           TLR.LOADING_ID "loadingId",
+           RWL.WAREHOUSE_NAME "loadingName",
+           TLR.CAPACITY_REMARK "capacityRemark",
+           TLR.INSERT_UPDATE_REMARK "insertUpdateRemark",
+           TUR.RESULT_ID       "unloadResultId",
+           TUR.RESULT_UNLOAD_PLACE_ID "unloadingId",
+           RWU.WAREHOUSE_NAME "unloadingName",
+           TUR.MATERIAL_ID "materialId",
+           RM.MATERIAL_NAME "materialName"
+    FROM OMSTRUCK_ORDER OO
+           LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID = TTR.ORDER_ID
+           LEFT JOIN TMSTRUCK_LOAD_RESULT TLR ON TTR.RESULT_TOTAL_ID = TLR.RESULT_TOTAL_ID
+           LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR ON TTR.RESULT_TOTAL_ID = TUR.RESULT_TOTAL_ID
+           LEFT JOIN RMS_CAPACITY RC ON OO.CAPACITY_ID = RC.CAPACITY_ID
+           LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = TUR.MATERIAL_ID
+           LEFT JOIN RMS_WAREHOUSE RWL ON RWL.WAREHOUSE_ID = TLR.LOADING_ID
+           LEFT JOIN RMS_WAREHOUSE RWU ON RWU.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
+    WHERE OO.ORDER_NUMBER = #{orderNumber}
+    FETCH NEXT 1 ROWS ONLY
+  </select>
 
 
 </mapper>
 </mapper>

+ 11 - 46
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -355,65 +355,30 @@
     <select id="getMeasureCommission" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     <select id="getMeasureCommission" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
         select
         select
         TMC.COMMSSION_ID "commssionId",
         TMC.COMMSSION_ID "commssionId",
-        <if test="orderTypee = 3">
-            APO.PURCHASE_ORDER_NO "purchaseOrderNo",
-            RS3.SUPPLIER_NAME "supplierName",
-        </if>
-        <if test="orderTypee = 1">
-            ASO.SALE_NUMBER "saleNumber",
-            RS1.SHIPPER_NAME "shipperName",
-        </if>
-        RCON.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
         RM.MATERIAL_NAME "materialName",
         RM.MATERIAL_NAME "materialName",
         OO.ORDER_NUMBER "orderNumber",
         OO.ORDER_NUMBER "orderNumber",
         RC.CAPACITY_NUMBER "capacityNumber",
         RC.CAPACITY_NUMBER "capacityNumber",
-        RTC.TRUCK_CALCULATE_NUMBER "truckCalculateNumber",
-        OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
-        OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber",
-        TMC.COMMSSION_TYPE "commssionType",
-
+        TWR .RESULT_TARE_WEIGHT "resultTareWeight",
+        TWR .RESULT_TARE_WEIGHT_TIME "resultTareWeightTime",
+        TWR.RESULT_GROSS_WEIGHT "resultGrossWeight",
+        TWR.RESULT_GROSS_WEIGHT_TIME "resultGrossWeightTime",
+        TWR . RESULT_NET_WEIGHT "resultNetWeight",
         TMC.INSERT_TIME "insertTime"
         TMC.INSERT_TIME "insertTime"
         from TMSTRUCK_MEASURE_COMMISSION TMC
         from TMSTRUCK_MEASURE_COMMISSION TMC
         left join TMSTRUCK_TOTAL_RESULT TTR
         left join TMSTRUCK_TOTAL_RESULT TTR
         on TMC.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         on TMC.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         left join OMSTRUCK_ORDER OO
         left join OMSTRUCK_ORDER OO
         on OO.ORDER_ID = TTR.ORDER_ID
         on OO.ORDER_ID = TTR.ORDER_ID
-        <if test="orderTypee = 3">
-            left join AMS_PURCHASE_ORDER APO
-            on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
-            left join RMS_SUPPLIER RS3 -- 发货单位
-            on RS3.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
-            left join RMS_CONSIGNEE RCON -- 收货单位
-            on RCON.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
-        </if>
-        <if test="orderTypee = 1">
-            left join AMS_SALE_ORDER ASO
-            on ASO.SALE_ORDER_ID = OO.ORDER_PLAN_ID
-            left join RMS_SHIPPER RS1 -- 发货单位
-            on RS1.SHIPPER_ID = ASO.SHIPPER_ID
-            left join RMS_CONSIGNEE RCON -- 收货单位
-            on RCON.CONSIGNEE_ID = ASO.RECEIVE_ID
-        </if>
-        <if test="type == 0">--计皮
-            left join TMSTRUCK_WEIGHT_RESULT TWR
-            on TWR.RESULT_TOTAL_ID = TMC.RESULT_TOTAL_ID
-            left join RMS_TRUCK_CALCULATE RTC
-            on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
-        </if>
-        <if test="type == 1">--计毛
-            left join TMSTRUCK_WEIGHT_RESULT TWR
-            on TWR.RESULT_TOTAL_ID = TMC.RESULT_TOTAL_ID
-            left join RMS_TRUCK_CALCULATE RTC
-            on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
-        </if>
+        left join TMSTRUCK_WEIGHT_RESULT TWR
+        on TWR.RESULT_TOTAL_ID = TMC.RESULT_TOTAL_ID
         left join RMS_CAPACITY RC
         left join RMS_CAPACITY RC
         on RC.CAPACITY_ID = OO.CAPACITY_ID
         on RC.CAPACITY_ID = OO.CAPACITY_ID
-        left join OMSTRUCK_ORDER_MATERIAL OOM
-        on OOM.ORDER_ID = OO.ORDER_ID
         left join RMS_MATERIAL RM
         left join RMS_MATERIAL RM
-        on RM.MATERIAL_ID = OOM.MATERIAL_ID
-        where TMC.COMMSSION_TYPE = #{type} and TTR.RESULT_TOTAL_ID = #{resultTotalId}
+        on RM.MATERIAL_ID = TWR.MATERIAL_ID
         <where>
         <where>
+            <if test="con != null and con !=''.toString()">
+                OO.ORDER_NUMBER  || RC.CAPACITY_NUMBER LIKE CONCAT('%',CONCAT(#{con},'%'))
+            </if>
             <if test="purchaseOrderNo != null">
             <if test="purchaseOrderNo != null">
                 <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
                 <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
                     "purchaseOrderNo" like '%${item}%'
                     "purchaseOrderNo" like '%${item}%'

+ 16 - 2
src/main/resources/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.xml

@@ -653,7 +653,7 @@
     </foreach>
     </foreach>
   </delete>
   </delete>
 
 
-  <!-- 友情提示!!!-->
+    <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <!--  通过运输订单号查询总实绩ID -->
   <!--  通过运输订单号查询总实绩ID -->
   <select id="getResultTotalIdByOrderNum" resultType="java.util.Map">
   <select id="getResultTotalIdByOrderNum" resultType="java.util.Map">
@@ -961,5 +961,19 @@
     ORDER BY TTTR.RESULT_TIME DESC
     ORDER BY TTTR.RESULT_TIME DESC
     FETCH NEXT 1 ROWS ONLY
     FETCH NEXT 1 ROWS ONLY
   </select>
   </select>
-
+  <delete id="deleteErrorTimeTaskResult">
+    DELETE FROM TMSTRUCK_TIME_TASK_RESULT
+    WHERE TIME_TASK_RESULT_ID IN
+    (
+      SELECT MIN(TIME_TASK_RESULT_ID)
+      FROM TMSTRUCK_TIME_TASK_RESULT
+      WHERE RESULT_TOTAL_ID IN
+          (
+            SELECT RESULT_TOTAL_ID
+            FROM TMSTRUCK_TIME_TASK_RESULT WHERE RESULT_TIME_TYPE = 3
+            GROUP BY RESULT_TOTAL_ID HAVING COUNT(TIME_TASK_RESULT_ID) > 1
+          )
+      GROUP BY RESULT_TOTAL_ID
+    )
+  </delete>
 </mapper>
 </mapper>