zx 3 years ago
parent
commit
4517731bf4
18 changed files with 289 additions and 68 deletions
  1. 42 3
      src/main/java/com/steerinfo/dil/controller/TmstruckTimeTaskResultController.java
  2. 3 0
      src/main/java/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.java
  3. 17 0
      src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java
  4. 6 0
      src/main/java/com/steerinfo/dil/service/ITmstruckTimeTaskResultService.java
  5. 1 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java
  6. 2 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java
  7. 2 1
      src/main/java/com/steerinfo/dil/service/impl/TmstruckLoadResultServiceImpl.java
  8. 2 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java
  9. 76 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckTimeTaskResultServiceImpl.java
  10. 1 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java
  11. 1 0
      src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java
  12. 2 2
      src/main/resources/application-dev.yml
  13. 1 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckLoadResultMapper.xml
  14. 66 55
      src/main/resources/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.xml
  15. 1 2
      src/main/resources/com/steerinfo/dil/mapper/TmstruckTotalResultMapper.xml
  16. 1 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckUnloadResultMapper.xml
  17. 1 1
      src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml
  18. 64 0
      src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

+ 42 - 3
src/main/java/com/steerinfo/dil/controller/TmstruckTimeTaskResultController.java

@@ -52,6 +52,24 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         return success(i);
     }
 
+    @ApiOperation(value="用于计时新增")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输订单号", required = false, dataType = "Map"),
+    })
+    @PostMapping("/addTimeTaskResult")
+    public RESTfulResult addTimeTaskResult(@RequestBody(required=false) Map<String,Object> mapValue) throws Exception {
+        int i=0;
+        try {
+            i=tmstruckTimeTaskResultService.addTimeTaskResult(mapValue);
+        } catch (Exception e) {
+            return failed(e.getMessage());
+        }
+        return success(i);
+    }
+
+
+
+
     @ApiOperation(value="用车单位确认开始")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "运输订单号", required = false, dataType = "Map"),
@@ -112,6 +130,17 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         return success(i);
     }
 
+//
+//    @ApiOperation(value="计时修改")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "mapValue", value = "运输订单号", required = false, dataType = "Map"),
+//    })
+//    @PostMapping("/updateTimeTaskResult")
+//    public RESTfulResult updateTimeTaskResult(@RequestBody(required=false) Map<String,Object> mapValue){
+//        int i = tmstruckTimeTaskResultService.updateTimeTaskResult(mapValue);
+//        return success(i);
+//    }
+
     @ApiOperation(value="用车单位确认结束")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "运输订单号", required = false, dataType = "Map"),
@@ -122,10 +151,10 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         return success(i);
     }
 
-    @ApiOperation(value="查询计皮实绩")
+    @ApiOperation(value="查询计时作业")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
-            @ApiImplicitParam(name = "apiId(363)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId(456)", 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"),
@@ -135,8 +164,15 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
                                           Integer apiId,
                                           Integer pageNum,
                                           Integer pageSize,
-                                          String con
+                                          String con,
+                                          String orgCode
     ){
+        if (con!=null&&!con.equals("undifined")&&!con.equals("")){
+            mapValue.put("con","%" + con + "%");
+        }
+        if (orgCode!=null&&!orgCode.equals("undifined")&&!con.equals("")){
+            mapValue.put("userId",orgCode);
+        }
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
         List<Map<String, Object>> result = tmstruckTimeTaskResultService.getAllTimeTaskResult(mapValue);
@@ -144,4 +180,7 @@ public class TmstruckTimeTaskResultController extends BaseRESTfulController {
         return success(pageList);
     }
 
+
+
+
 }

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

@@ -31,4 +31,7 @@ public interface TmstruckTimeTaskResultMapper extends IBaseMapper<TmstruckTimeTa
     //查询计时作业
     List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map);
 
+    //根据运输订单id查找实绩中是否含有已经计时结束的实绩
+    int CountTimeTaskByOrderId(BigDecimal orderId);
+
 }

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

@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import javax.management.monitor.StringMonitor;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
@@ -60,6 +61,8 @@ public interface UtilsMapper {
     //通过运输订单号查询总实绩ID
     BigDecimal getTotalIdByOrderNumber(String orderNumber);
 
+
+
     //通过总实绩ID查找订单类型
     Map<String, Object> getOrderTypeByTotalId(BigDecimal resultTotalId);
 
@@ -92,4 +95,18 @@ public interface UtilsMapper {
 
     //通过车牌号查询运力ID
     BigDecimal getCapacityIdByNum(String capacityNumber);
+
+    //通过运输订单id查找计时作业实绩
+    Map<String,Object> timeTaskResult(BigDecimal orderId);
+
+    //根据运输订单id查找订单类型
+   Map<String,Object> getTimeStatus(Map<String,Object> map);
+
+
+
+    //根据运输订单id查找两次计时作业实绩
+   Map<String,Object> FristTimeTask(Map<String,Object> map);
+
+   //通过运输订单id查找计时是否开始
+    BigDecimal getTime(BigDecimal orderId);
 }

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

@@ -48,4 +48,10 @@ public interface ITmstruckTimeTaskResultService {
 
     //查询计时作业
     List<Map<String, Object>> getAllTimeTaskResult(Map<String, Object> map);
+
+    //新增作业实绩
+    int addTimeTaskResult(Map<String,Object> map) throws Exception;
+
+    //修改计时作业
+//    int updateTimeTaskResult(Map<String,Object> map);
 }

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

@@ -157,7 +157,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         String capacityNumber = (String) mesMap.get("capacityNumber");
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("totalId"));
         Integer orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
-        if(orderType == 11){
+        if(orderType == 11||orderType == 22){
             //内转订单类型  没有生成实绩 直接新增
             Integer sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
             sqe = sqe + 1;

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

@@ -143,6 +143,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
             case 20:
                 return tmstruckEnfactoryResultMapper.getCgNzOutFactory(map);
             case 11:
+            case 22:
                 return tmstruckLeaveFactoryResultMapper.getInFactoryOutFactoryResult(map); //apiId:361
             case 12:
             case 13:
@@ -171,7 +172,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
         Map<String, Object> mesMap = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
         Integer orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
         String capacityNumber = (String) mesMap.get("capacityNumber");
-        if(orderType == 11){
+        if(orderType == 11||orderType == 22){
             //内转订单类型 没有生成实绩 直接新增
             Integer sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
             sqe = sqe + 1;

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

@@ -107,6 +107,7 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
             case 20:
                 return tmstruckLoadResultMapper.getImportedDomesticNzLoadResult(map); //apiId = 353
             case 11:
+            case 22:
                 return tmstruckLoadResultMapper.getInFactoryLoadResult(map); //apiId = 359
             case 12:
             case 13:
@@ -264,7 +265,7 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
         String capacityNumber = (String) mesMap.get("capacityNumber");
         BigDecimal orderType = DataChange.dataToBigDecimal(mesMap.get("orderType"));
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("totalId"));
-        if(orderType.intValue() == 11){
+        if(orderType.intValue() == 11||orderType.intValue() == 22){
             Integer sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
             sqe = sqe + 1;
             map.put("resultId",tmstruckLoadResultMapper.selectMaxId());

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

@@ -250,6 +250,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                 measureCommission.put("packagesNum", 0);
                 break;
             case 11:
+            case 22:
                 //纯内转发送计量委托
                 measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
                 if(measureCommission == null){
@@ -511,6 +512,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 8:
             case 10:
             case 11:
+            case 22:
             case 17:
             case 18:
                 i+=addMaoMeasureCommission(map);

+ 76 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckTimeTaskResultServiceImpl.java

@@ -1,15 +1,18 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.TmstruckTimeTaskResultMapper;
+import com.steerinfo.dil.mapper.UtilsMapper;
 import com.steerinfo.dil.model.TmstruckTimeTaskResult;
 import com.steerinfo.dil.service.ITmstruckTimeTaskResultService;
 
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,6 +34,10 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
 
     @Autowired
     private TmstruckTimeTaskResultMapper tmstruckTimeTaskResultMapper;
+    @Autowired
+    private UtilsMapper utilsMapper;
+    @Autowired
+    private UtilsServiceImpl utilsService;
 
 
     /**
@@ -187,5 +194,74 @@ public class TmstruckTimeTaskResultServiceImpl implements ITmstruckTimeTaskResul
         return tmstruckTimeTaskResultMapper.getAllTimeTaskResult(map);
     }
 
+    /**
+     * 添加计时作业实绩
+     * @param map
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int addTimeTaskResult(Map<String, Object> map) throws Exception {
+        int i=0;
+        Date resultTime2 = null;
+        Date resultTime1;
+        String orderNumber =(String)map.get("orderNumber");
+        BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
+        TmstruckTimeTaskResult tmstruckTimeTaskResult=new TmstruckTimeTaskResult();
+        BigDecimal orderId = utilsMapper.getOrderIdByOrderNumber(orderNumber);
+        map.put("orderId",orderId);
+        //根据运输订单id查找实绩中是否已经含有计时结束的实绩,如果有则抛出异常
+        int countEndTimeNum = tmstruckTimeTaskResultMapper.CountTimeTaskByOrderId(orderId);
+        if (countEndTimeNum>=1){
+            throw new Exception("请勿重复计时");
+        }
+        //根据运输订单号判断是否计时开始
+        BigDecimal Time = utilsMapper.getTime(orderId);
+        if (Time==null) {
+            tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
+            tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
+            //获取计时开始的订单类型
+            BigDecimal inwardType = DataChange.dataToBigDecimal(map.get("inwardType"));
+            tmstruckTimeTaskResult.setResultTimeType(inwardType);
+            tmstruckTimeTaskResult.setResultTime(new Date());
+            tmstruckTimeTaskResult.setInsertTime(new Date());
+            //新增第一条计时实绩
+            i += tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
+        }else {
+            //已经有计时开始时间
+            //新增第二条实绩,计时结束
+            tmstruckTimeTaskResult.setResultTotalId(DataChange.dataToBigDecimal(resultTotalId));
+            //获取计时结束的订单类型
+            tmstruckTimeTaskResult.setTimeTaskResultId(tmstruckTimeTaskResultMapper.selectMaxId());
+            tmstruckTimeTaskResult.setResultTime(new Date());
+            tmstruckTimeTaskResult.setResultTimeType(new BigDecimal(3));
+            i += tmstruckTimeTaskResultMapper.insertSelective(tmstruckTimeTaskResult);
+            //此时获取他的上一条实绩生成计时时间
+        }
+        //判断如果计时结束则生成作业时长,根据运输订单号查找作业是否结束
+        Map<String,Object> timeStatus = utilsMapper.getTimeStatus(map);
+        //首先判断计时是否开始,如果计时开始则生成计时结束实绩
+        //通过运输订单id和实绩结束状态查找时间实绩id
+        resultTime1 =(Date) timeStatus.get("resultTime");
+        Map<String, Object> timeTask = utilsMapper.FristTimeTask(map);
+        //获取计时开始时间
+        if (resultTime1!=null&&timeTask!=null) {//生成计时结束时间得同时.生成作业时长
+            BigDecimal timeTaskresultId = DataChange.dataToBigDecimal(timeTask.get("timeResultId"));
+            map.put("timeTaskresultId",timeTaskresultId);
+            Map<String, Object> timeMaps = utilsMapper.FristTimeTask(map);
+            resultTime2 = (Date) timeMaps.get("resultTime");
+            BigDecimal timeResultId = (BigDecimal) timeMaps.get("timeResultId");
+            long dateTime = resultTime2.getTime() - resultTime1.getTime();
+            tmstruckTimeTaskResult.setTimeTaskResultId(timeResultId);
+            tmstruckTimeTaskResult.setResultValue(new BigDecimal(dateTime / 3600000));
+            tmstruckTimeTaskResult.setResultUomId(new BigDecimal(900));
+            tmstruckTimeTaskResult.setUpdateTime(new Date());
+             i+=tmstruckTimeTaskResultMapper.updateByPrimaryKeySelective(tmstruckTimeTaskResult);
+            map.put("orderStatus", 2);
+            utilsMapper.updateOrderStatusByOrderIdOrNum(map);
+        }
+        return i;
+    }
+
 
 }

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

@@ -117,6 +117,7 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             case 20:
                 return tmstruckUnloadResultMapper.getImportedDomesticNzUnload2Result(map); //apiId:356
             case 11:
+            case 22:
                 return tmstruckUnloadResultMapper.getInFactoryUnloadResult(map); //apiId:360
             case 12:
             case 13:

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

@@ -132,6 +132,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             case 20:
                 return tmstruckWeightResultMapper.getImportedDomesticNzJiMao2Result(map); // apiID:354
             case 11:
+            case 22:
                 return tmstruckWeightResultMapper.getInFactoryJiLiangResult(map);       //apiId: 358
             case 12:
             case 13:

+ 2 - 2
src/main/resources/application-dev.yml

@@ -33,13 +33,13 @@ openfeign:
   OmsFeign:
     url: ${OMSFEIGN_URL:172.16.33.162:8016}
   JoinFeign:
-    url: ${JOINFEIGN_URL:172.16.33.162:8006}
+    url: ${JOINFEIGN_URL:localhost:8006}
   QmsFeign:
     url: ${QMSFEIGN_URL:172.16.33.162:8017}
   ImFeign:
     url: ${IMFEIGN_URL:172.16.33.166:8055}
   AmsFeign:
-    url: ${AMSFEIGN_URL:172.16.33.162:8015}
+    url: ${AMSFEIGN_URL:localhost:8015}
 
 server:
   port: 8008

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

@@ -1438,7 +1438,7 @@
     ON RC.CAPACITY_ID = OO.CAPACITY_ID
     LEFT JOIN RMS_WAREHOUSE RW
     ON RW.WAREHOUSE_ID = TLR.LOADING_ID
-    WHERE OO.ORDER_TYPE = 11
+    WHERE OO.ORDER_TYPE = #{orderTypee}
     AND TLR.RESULT_LOAD_START_TIME IS NOT NULL
     )
     <where>

+ 66 - 55
src/main/resources/com/steerinfo/dil/mapper/TmstruckTimeTaskResultMapper.xml

@@ -654,61 +654,62 @@
 
   <!-- 查询计时作业 -->
   <select id="getAllTimeTaskResult" resultType="java.util.Map">
-    SELECT *
-    FROM (
-           SELECT
-                  TTTR.TIME_TASK_RESULT_ID  "timeTaskResultId",
-                  TTTR.INSERT_TIME      "insertTime",
-                  OO.ORDER_NUMBER "orderNumber",
-                  RC.CAPACITY_NUMBER "capacityNumber",
-                  RCD.DRIVER_NAME "driverName",
-                  RCT.CAPACITY_TYPE_NAME "capacityTypeName",
-                  RM.MATERIAL_NAME "materialName",
-                  RS.SHIPPER_NAME "shipperName",
-                  (
-                      SELECT TTTR2.RESULT_TIME
-                      FROM TMSTRUCK_TIME_TASK_RESULT TTTR2
-                      WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
-                            AND TTTR2.RESULT_TIME_TYPE = 1
-                      ) "startTime",
-                  TTTR.RESULT_TIME "endTime",
-                  TTTR.RESULT_VALUE "timingTime",
-                  (
-                      SELECT FLOOR (SUM(TTTR3.RESULT_VALUE) / 60000)
-                      FROM TMSTRUCK_TIME_TASK_RESULT TTTR3
-                      WHERE TTTR3.RESULT_TIME_TYPE = 7
-                        AND TTTR3.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
-                    ) "allTimeout"
-
-           FROM TMSTRUCK_TIME_TASK_RESULT TTTR
-                  LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
-                            ON TTR.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
-                  LEFT JOIN OMSTRUCK_ORDER OO
-                            ON OO.ORDER_ID = TTR.ORDER_ID
-                  LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
-                            ON OOM.ORDER_ID = OO.ORDER_ID
-                  LEFT JOIN RMS_MATERIAL RM
-                            ON RM.MATERIAL_ID = OOM.MATERIAL_ID
-
-                  LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
-                            ON AIP.PLAN_ID = OO.ORDER_PLAN_ID AND OO.ORDER_TYPE = 11
-                  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
-                  LEFT JOIN RMS_SHIPPER RS
-                            ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
-
-                  LEFT JOIN RMS_DRIVER_CAPACITY RDC
-                            ON RDC.DRIVER_CAPACITY_ID = OO.DRIVER_CAPACITY_ID
-                  LEFT JOIN RMS_CAPACITY RC
-                            ON RC.CAPACITY_ID = RDC.CAPACITY_ID
-                  LEFT JOIN RMS_CAR_DRIVER RCD
-                            ON RCD.DRIVER_ID = RDC.DRIVER_ID
-                  LEFT JOIN RMS_CAPACITY_TYPE RCT
-                            ON RCT.CAPACITY_TYPE_ID = RC.CAPACITY_TYPE_ID
-                  WHERE RESULT_TIME_TYPE = 3
-        )
+        select RC.CAPACITY_NUMBER "capacityNumber",
+               OO.ORDER_NUMBER "orderNumber",
+               CONCAT(TTTR.RESULT_VALUE,RUOM.UNIT_OF_MEASURE_NAME)  AS "resultTime",
+               RCT.CAPACITY_TYPE_NAME "capacityTypeName",
+               TTTR.INSERT_TIME "insertTime",
+           (
+           SELECT TTTR2.RESULT_TIME
+           FROM TMSTRUCK_TIME_TASK_RESULT TTTR2
+           WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
+          AND TTTR2.RESULT_TIME_TYPE = 1
+         ) "startTime",
+        (
+         SELECT TTTR2.RESULT_TIME
+         FROM TMSTRUCK_TIME_TASK_RESULT TTTR2
+         WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
+         AND TTTR2.RESULT_TIME_TYPE = 3
+         ) "endTime",
+          RM.MATERIAL_NAME "materialName",
+          RS.SHIPPER_NAME "shipperName",
+          RW.WAREHOUSE_NAME "unloadPointName",
+          RW2.WAREHOUSE_NAME "loadPointName"
+        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
+        LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
+        ON ARM.REQUIREMENT_ID=AIR.REQUIREMENT_ID
+         LEFT JOIN RMS_WAREHOUSE RW
+            ON ARM.REQUIREMENT_UNLOAD_UNIT_ID =RW.WAREHOUSE_ID
+            LEFT JOIN RMS_WAREHOUSE RW2
+            ON RW2.WAREHOUSE_ID=ARM.REQUIREMENT_PLATFORM_ID
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID=ARM.MATERIAL_ID
+        LEFT JOIN RMS_SHIPPER RS
+        ON RS.SHIPPER_ID = AIR.REQUIREMENT_SHIPPER_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.ORDER_ID=OO.ORDER_ID
+        LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+        ON  TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
+        LEFT JOIN RMS_UNIT_OF_MEASURE RUOM
+        ON TTTR.RESULT_UOM_ID=RUOM.UNIT_OF_MEASURE_ID
+        LEFT JOIN  RMS_CAPACITY RC
+        ON RC.CAPACITY_ID=OO.CAPACITY_ID
+        LEFT JOIN RMS_CAPACITY_TYPE RCT
+        ON RCT.CAPACITY_TYPE_ID=RC.CAPACITY_TYPE_ID
+        where TTTR.RESULT_TIME_TYPE = 3  AND   TTTR.RESULT_VALUE IS NOT NULL
+    <if test="con!=null">
+      AND RC.CAPACITY_NUMBER LIKE #{con} or  RM.MATERIAL_NAME LIKE  #{con}
+      or  RS.SHIPPER_NAME LIKE #{con}
+    </if>
+    <if test="orgCode!=null">
+      AND oo.INSERT_USERNAME LIKE #{orgCode}
+    </if>
     <where>
       <if test="orderNumber != null">
         <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
@@ -775,5 +776,15 @@
       order by "insertTime" desc
     </if>
   </select>
+<!--  根据运输订单id查找实绩是否已经计时结束-->
+  <select id="CountTimeTaskByOrderId" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+    select COUNT(*)
+    from OMSTRUCK_ORDER OO
+    LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+    ON TTR.ORDER_ID=OO.ORDER_ID
+    LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+    ON TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
+    WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE=3 and TTTR.RESULT_VALUE IS not NULL
+  </select>
 
 </mapper>

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

@@ -377,8 +377,7 @@
                                   ON RCT.CAPACITY_TYPE_ID = RC.CAPACITY_TYPE_ID
                         LEFT JOIN RMS_SHIPPER RS
                                   ON AIR.REQUIREMENT_SHIPPER_ID = RS.SHIPPER_ID
-               WHERE AIR.REQUIREMENT_TYPE = '计时'
-                 AND OO.ORDER_STATUS = 11
+               WHERE AIR.REQUIREMENT_TYPE = '计次'
            )
     <where>
         <if test="materialName != null">

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

@@ -891,7 +891,7 @@
         LEFT JOIN RMS_WAREHOUSE RW
         ON RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
         WHERE TUR.RESULT_START_TIME IS NOT NULL
-        AND OO.ORDER_TYPE = 11
+        AND OO.ORDER_TYPE = #{orderTypee}
         )
         <where>
             <if test="orderNumber != null">

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

@@ -2099,7 +2099,7 @@
         left join RMS_MATERIAL RM
         on RM.MATERIAL_ID = OOM.MATERIAL_ID
         where RESULT_TARE_WEIGHT_TIME is not null
-        and OO.ORDER_TYPE = 11
+        and OO.ORDER_TYPE = #{orderTypee}
         )
         <where>
             <if test="materialName != null">

+ 64 - 0
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -219,4 +219,68 @@
     <select id="getCapacityIdByNum" parameterType="string" resultType="java.math.BigDecimal">
         select RC.CAPACITY_ID from RMS_CAPACITY RC where RC.CAPACITY_NUMBER = #{capacityNumber}
     </select>
+    <select id="timeTaskResult" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+        select   TTTR.TIME_TASK_RESULT_ID "timeTaskResultId"
+        from OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON OO.ORDER_ID=TTR.ORDER_ID
+        LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+        ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+        where oo.ORDER_ID=#{orderId}
+    </select>
+
+
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+    </sql>
+
+    <select id="getTimeStatus" resultType="java.util.Map" parameterType="java.util.Map">
+     select TTTR.TIME_TASK_RESULT_ID "timeTaskResultId",
+            TTTR.RESULT_TIME_TYPE "timeType",
+            TTTR.INSERT_TIME "insertTime",
+            TTTR.RESULT_TIME "resultTime"
+     FROM OMSTRUCK_ORDER OO
+     LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+     ON TTR.ORDER_ID=OO.ORDER_ID
+     LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+     ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+     WHERE  OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE = 1
+     <include refid="orderBy"/>
+     <if test="orderField == null  ">
+        order by "insertTime" desc
+     </if>
+    </select>
+<!-- 根据运输订单id查找两次计时作业id-->
+    <select id="FristTimeTask" resultType="java.util.Map" parameterType="java.util.Map">
+        select   TTTR.RESULT_TIME "resultTime",
+                 TTTR.TIME_TASK_RESULT_ID "timeResultId"
+        from OMSTRUCK_ORDER OO
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON OO.ORDER_ID=TTR.ORDER_ID
+                 LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
+                           ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
+        where OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE =3
+    </select>
+    <select id="getTime" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+        select TTTR.TIME_TASK_RESULT_ID "timeTaskResultId"
+        from OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.ORDER_ID=OO.ORDER_ID
+        left join TMSTRUCK_TIME_TASK_RESULT TTTR
+        on  TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
+        WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE=1
+    </select>
+<!-- 根据运输订单id查找总实绩id-->
+    <select id="getTotalIdByOrderId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+        select TTR.RESULT_TOTAL_ID "resultTotalId"
+        from OMSTRUCK_ORDER OO
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON OO.ORDER_ID=TTR.ORDER_ID
+       WHERE  OO.ORDER_ID=#{orderId}
+    </select>
 </mapper>