txf 3 роки тому
батько
коміт
6c8b7c528b

+ 23 - 23
pom.xml

@@ -164,29 +164,29 @@
     <build>
         <plugins>
                         <!-- 自动生成代码文件-->
-            <plugin>
-                <groupId>com.steerinfo</groupId>
-                <artifactId>generator-maven-plugin</artifactId>
-                <version>3.0</version>
-                <configuration>
-                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
-                    <user>dil</user>
-                    <password>Dil123789</password>
-                    <!--包名-->
-                    <targetPackage>com.steerinfo.dil</targetPackage>
-                    <tables>
-                        <table></table>
-                    </tables>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>compile</phase>
-                        <goals>
-                            <goal>steerinfo</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
+<!--            <plugin>-->
+<!--                <groupId>com.steerinfo</groupId>-->
+<!--                <artifactId>generator-maven-plugin</artifactId>-->
+<!--                <version>3.0</version>-->
+<!--                <configuration>-->
+<!--                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>-->
+<!--                    <user>dil</user>-->
+<!--                    <password>Dil123789</password>-->
+<!--                    &lt;!&ndash;包名&ndash;&gt;-->
+<!--                    <targetPackage>com.steerinfo.dil</targetPackage>-->
+<!--                    <tables>-->
+<!--                        <table></table>-->
+<!--                    </tables>-->
+<!--                </configuration>-->
+<!--                <executions>-->
+<!--                    <execution>-->
+<!--                        <phase>compile</phase>-->
+<!--                        <goals>-->
+<!--                            <goal>steerinfo</goal>-->
+<!--                        </goals>-->
+<!--                    </execution>-->
+<!--                </executions>-->
+<!--            </plugin>-->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>

+ 12 - 7
src/main/java/com/steerinfo/dil/controller/TmstruckWeightResultController.java

@@ -8,7 +8,9 @@ import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.ParseException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -30,8 +32,7 @@ public class TmstruckWeightResultController extends BaseRESTfulController {
 
     /**
      * 接收计量实绩(计量实绩)
-     *
-     * @param mapValue
+     * @param mapList
      * @return
      */
     @ApiModelProperty(value = "接收计量实绩")
@@ -61,10 +62,15 @@ public class TmstruckWeightResultController extends BaseRESTfulController {
     }
     )
     @PostMapping("/receiveTmsTruckWeightResult")
-    public RESTfulResult receiveTmsTruckWeightResult(@RequestBody(required = true) Map<String, Object> mapValue) {
-
-        int result = tmstruckWeightResultServiceImpl.receiveTmsTruckWeightResult(mapValue);
-        return success(result);
+    public RESTfulResult receiveTmsTruckWeightResult(@RequestBody(required = false) List<Map<String, Object>> mapList) {
+        int i = 0;
+        try {
+            i = tmstruckWeightResultServiceImpl.receiveTmsTruckWeightResult(mapList);
+        } catch (Exception e) {
+            String message = e.getMessage();
+            return failed(message);
+        }
+        return success(i);
     }
 
 
@@ -83,5 +89,4 @@ public class TmstruckWeightResultController extends BaseRESTfulController {
     }
 
 
-
 }

+ 15 - 0
src/main/java/com/steerinfo/dil/feign/IMFeign.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+
+@FeignClient(value = "DIL-IM-DEV", url = "172.16.33.161:8099")
+public interface IMFeign {
+    @PostMapping("/websocket/sendToUser")
+    @ResponseBody
+    String sendToUser(@RequestBody HashMap map);
+}

+ 24 - 0
src/main/java/com/steerinfo/dil/feign/TmsFeign.java

@@ -0,0 +1,24 @@
+package com.steerinfo.dil.feign;
+
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/12/3 1:14
+ */
+
+@FeignClient(value = "dil-tms-truck-dev", url = "localhost:8088")
+public interface TmsFeign {
+
+    @ApiOperation(value="更新计量实绩 ")
+    @PostMapping("api/v1/truckTms/updateTruckWeight")
+    Map<String, Object> updateTruckWeight(@RequestBody List<Map<String, Object>> mapList);
+}

+ 32 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckReceiptResultMapper.java

@@ -0,0 +1,32 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.TmstruckReceiptResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface TmstruckReceiptResultMapper extends IBaseMapper<TmstruckReceiptResult, BigDecimal> {
+    //查询最大ID值
+    @Select("select seq_tmstruck_receipt.nextval from dual")
+    BigDecimal selectMaxId();
+
+    //通过总实绩Id查询主键Id
+    BigDecimal getIdByTotalResultId(Integer totalResultId);
+
+    //计皮完成后 通过总实绩ID 更新状态 为 1
+    int updateByTotalResultId(TmstruckReceiptResult tmstruckReceiptResult);
+
+    //查询所有收货实绩
+    List<Map<String, Object>> getCGReceiptResult(Map<String, Object> map);
+
+    //查询内转钢材到异地库收货实绩
+    List<Map<String, Object>> getSteelNzReceiptResult(Map<String, Object> map);
+
+    //获取内转收货实绩
+    List<Map<String, Object>> getInwardReceipt(Map<String, Object> map);
+}

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

@@ -28,4 +28,8 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     Integer updateTruckWeightResultGross(Map<String, Object> mapValue);
 
+    Map<String, Object> selectTotalIdByOrderNo(Map<String, Object> map);
+
+    //通过汽车衡编号查询汽车衡ID
+    Integer selectTruckCalculateId(String truckCalculateNumber);
 }

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

@@ -0,0 +1,65 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/26 14:27
+ */
+
+@Mapper
+public interface UtilsMapper {
+
+    //查询运输订单最大主键Id
+    @Select("select seq_omstruck_order.nextval from dual")
+    BigDecimal selectOrderMaxId();
+
+    //查询运输订单子表主键ID
+    @Select("select seq_omstruck_order_material.nextval from dual")
+    BigDecimal selectOrderMaterialMaxId();
+
+    //通过订单Id修改订单状态
+    int updateOrderStatusByOrderIdOrNum(Map<String, Object> map);
+
+    //通过运输Id 或者运输订单号修改 路段顺序号
+    int updateLineSeqByOrderIdOrNum(Map<String, Object> map);
+
+    //通过运力ID 或车牌号 修改运力状态
+    int updateCapacityByCarIdOrNum(Map<String, Object> map);
+
+    //通过仓库名称查询仓库Id
+    Integer queryWarehouseIdByName(String warehouseName);
+
+    //通过月台名称查找月台Id platformName
+    Integer queryPlatformIdByName(String platformName);
+
+    //根据运输订单号查询物资Id
+    BigDecimal queryOrderMesByOrderId(String orderNumber);
+
+    //查询当前路段顺序号
+    Integer getLineSequenceByOrderId(@Param("orderId") BigDecimal orderId);
+
+    //查询订单跟订单物资中间表 查询是否有多个物资Id
+    List<Integer> getAllMaterialId(Map<String, Object> map);
+
+    //通过总实绩Id查询订单Id
+    Integer getOrderIdByTotalId(Integer resultTotalId);
+
+    //通过运输订单号查询订单ID
+    BigDecimal getOrderIdByOrderNumber(String orderNumber);
+
+    //通过运输订单号查询总实绩ID
+    BigDecimal getTotalIdByOrderNumber(String orderNumber);
+
+    //通过总实绩ID查找订单类型
+    Integer getOrderTypeByTotalId(BigDecimal resultTotalId);
+
+    //查询最大路段顺序号 以及当前订单路段顺序号(执行到哪一步)
+    Map<String, Object> getLineSeqAndOrderSeq(Map<String, Object> map);
+}

+ 214 - 0
src/main/java/com/steerinfo/dil/model/TmstruckReceiptResult.java

@@ -0,0 +1,214 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="收货实绩")
+public class TmstruckReceiptResult implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(RESULT_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal resultId;
+
+    /**
+     * 总实绩ID(RESULT_TOTAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="总实绩ID",required=false)
+    private BigDecimal resultTotalId;
+
+    /**
+     * 异地库ID(WAREHOUSE_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="异地库ID",required=false)
+    private BigDecimal warehouseId;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 状态:0 为卸货后新增虚拟收货实绩  1 为计皮完成后真实收货实绩(STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="状态:0 为卸货后新增虚拟收货实绩  1 为计皮完成后真实收货实绩",required=false)
+    private BigDecimal status;
+
+    /**
+     * 空货箱照片(RESULT_EMPTY_CONTAINER_PHOTO,BLOB,4000)
+     */
+    @ApiModelProperty(value="空货箱照片",required=false)
+    private byte[] resultEmptyContainerPhoto;
+
+    /**
+     * 已签字的送货单照片(RESULT_SIGNED_NOTE_PHOTO,BLOB,4000)
+     */
+    @ApiModelProperty(value="已签字的送货单照片",required=false)
+    private byte[] resultSignedNotePhoto;
+
+    /**
+     * 客户签收单照片(RESULT_RECEIVE_NOTE_PHOTO,BLOB,4000)
+     */
+    @ApiModelProperty(value="客户签收单照片",required=false)
+    private byte[] resultReceiveNotePhoto;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.resultId;
+    }
+
+    @Override
+    public void setId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public BigDecimal getResultId() {
+        return resultId;
+    }
+
+    public void setResultId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public BigDecimal getResultTotalId() {
+        return resultTotalId;
+    }
+
+    public void setResultTotalId(BigDecimal resultTotalId) {
+        this.resultTotalId = resultTotalId;
+    }
+
+    public BigDecimal getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(BigDecimal warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getStatus() {
+        return status;
+    }
+
+    public void setStatus(BigDecimal status) {
+        this.status = status;
+    }
+
+    public byte[] getResultEmptyContainerPhoto() {
+        return resultEmptyContainerPhoto;
+    }
+
+    public void setResultEmptyContainerPhoto(byte[] resultEmptyContainerPhoto) {
+        this.resultEmptyContainerPhoto = resultEmptyContainerPhoto;
+    }
+
+    public byte[] getResultSignedNotePhoto() {
+        return resultSignedNotePhoto;
+    }
+
+    public void setResultSignedNotePhoto(byte[] resultSignedNotePhoto) {
+        this.resultSignedNotePhoto = resultSignedNotePhoto;
+    }
+
+    public byte[] getResultReceiveNotePhoto() {
+        return resultReceiveNotePhoto;
+    }
+
+    public void setResultReceiveNotePhoto(byte[] resultReceiveNotePhoto) {
+        this.resultReceiveNotePhoto = resultReceiveNotePhoto;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", resultId=").append(resultId);
+        sb.append(", resultTotalId=").append(resultTotalId);
+        sb.append(", warehouseId=").append(warehouseId);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", status=").append(status);
+        sb.append(", resultEmptyContainerPhoto=").append(resultEmptyContainerPhoto);
+        sb.append(", resultSignedNotePhoto=").append(resultSignedNotePhoto);
+        sb.append(", resultReceiveNotePhoto=").append(resultReceiveNotePhoto);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 5 - 2
src/main/java/com/steerinfo/dil/service/ITmstruckWeightResultService.java

@@ -2,8 +2,11 @@ package com.steerinfo.dil.service;
 
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.dil.model.TmstruckWeightResult;
+
+import java.text.ParseException;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,8 +26,8 @@ public interface ITmstruckWeightResultService {
 
     /**
      * 接收计量实绩信息
-     * @param mapValue
+     * @param mapList
      * @return
      */
-    int receiveTmsTruckWeightResult(Map<String, Object> mapValue);
+    int receiveTmsTruckWeightResult(List<Map<String, Object>> mapList) throws Exception;
 }

+ 46 - 0
src/main/java/com/steerinfo/dil/service/IUtilsService.java

@@ -0,0 +1,46 @@
+package com.steerinfo.dil.service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/26 14:42
+ */
+
+public interface IUtilsService {
+
+    //添加运单Id
+    BigDecimal selectOrderMaxId();
+
+    //查询运输订单子表主键ID
+    BigDecimal selectOrderMaterialMaxId();
+
+    //通过运力ID 修改运力状态
+    int updateCapacityStatus(Map<String, Object> map, Integer status);
+
+    //正常关闭订单
+    int closeOrderNormally(Map<String, Object> map);
+
+    //通过仓库名称查询仓库Id
+    Integer queryWarehouseIdByName(String warehouseName);
+
+    //用于更新路段顺序号
+    int updateOrderLineSequence(Map<String, Object> map);
+
+    //通过月台名称查找月台Id platformName
+    Integer queryPlatformIdByName(String platformName);
+
+    //查询当前路段顺序号
+    Integer getLineSequenceByOrderId(BigDecimal orderId);
+
+    //查询订单跟订单物资中间表 查询是否有多个物资Id
+    List<Integer> getAllMaterialId(Map<String, Object> map);
+
+    //通过总实绩Id查询订单Id
+    Integer getOrderIdByTotalId(Integer resultTotalId);
+
+    //推送消息给websocket
+    void pushMesToWebsocket(String capacityNumber, String pushMes);
+}

+ 131 - 52
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -1,14 +1,23 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.feign.TmsFeign;
+import com.steerinfo.dil.mapper.TmstruckReceiptResultMapper;
+import com.steerinfo.dil.mapper.UtilsMapper;
+import com.steerinfo.dil.model.TmstruckReceiptResult;
 import com.steerinfo.dil.model.TmstruckWeightResult;
 import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
 import com.steerinfo.dil.service.ITmstruckWeightResultService;
+import com.steerinfo.dil.util.DataChange;
 import io.swagger.annotations.ApiModel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.math.BigDecimal;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -30,66 +39,136 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
     @Autowired
     TmstruckWeightResultMapper tmstruckWeightResultMapper;
 
+    @Autowired
+    TmsFeign tmsFeign;
+
+    @Autowired
+    UtilsServiceImpl utilsService;
+
+    @Autowired
+    UtilsMapper utilsMapper;
+
+    @Autowired
+    TmstruckReceiptResultMapper tmstruckReceiptResultMapper;
+
     /**
      * 接收计量实绩信息
-     * @param mapValue
+     *      "orderNumber":"WYSDD2021091000000002",
+     *      "resultTareCalculateNumber":"1号汽车衡",
+     *      "resultCrossCalculateNumber":"1号汽车衡",
+     *      "resultTareWeight":40.00,
+     *      "resultCrossWeight":40.00,
+     *      "resultNetWeight":0,
+     *      "resultTareWeightTime":"2021-09-10 09:05:22",
+     *      "resultCrossWeightTime":"2021-09-10 09:05:22",
+     *      "resultNetWeightTime":"2021-09-10 09:05:22",
+     *      "resultPoundNo":"Bd123456780",
+     *      "materialId":40
+     * @param mapList
      * @return
      */
     @Override
-    public int receiveTmsTruckWeightResult(Map<String, Object> mapValue) {
+    public int receiveTmsTruckWeightResult(List<Map<String, Object>> mapList) throws Exception {
+        //遍历列表
+        int count = 0;
+        for (Map<String, Object> map : mapList) {
+            //通过传来的运输订单号 与 物资ID查询计重实绩ID
+            Map<String, Object> stringObjectMap = tmstruckWeightResultMapper.selectTotalIdByOrderNo(map);
+            if(stringObjectMap == null){
+                throw new Exception("没有此订单信息或物资信息错误");
+            }
+            map.putAll(stringObjectMap);
+            TmstruckWeightResult tmstruckWeightResult = generateWeightResult(map);
+            count += tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
+            BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
+            if("5678".contains(orderType.toString())){
+                if(map.get("resultTareWeightTime") != null ){
+                    //如果是采购订单 计皮后自动完成签收
+                    autoReceipt((String) map.get("orderNumber"));
+                }
+            }
+            //路段顺序号+1
+            utilsService.updateOrderLineSequence(map);
+            //推送数据
+            utilsService.pushMesToWebsocket((String) stringObjectMap.get("capacityNumber"), "计量");
+        }
+        return count;
+    }
 
-        // 得到运输订单号
-        String orderNumber = (String) mapValue.get("orderNumber");
-        String weightType=(String)mapValue.get("weightType");
-        String calculateNumber = (String) mapValue.get("resultCalculateNumber");
-//        // 得到重量
-//        String resultWeight = (String) mapValue.get("resultWeight");
-        // 得到计皮时间
-//        Date resultWeightTime = new Date((Long) mapValue.get("resultWeightTime"));
-        // 得到计皮汽车衡id
-        BigDecimal resultTarePlaceId = tmstruckWeightResultMapper.getTruckCalculateId(calculateNumber);
-        if (weightType.equals("计皮")){
-//            Map<String, Object> map = new HashMap<>();
-//            mapValue.put("orderNumber",resultTarePlaceId);
-            mapValue.put("resultTarePlaceId",resultTarePlaceId);
-            return  tmstruckWeightResultMapper.updateTruckWeightResult(mapValue);
+
+    /**
+     * 生成计量实体类
+     * @param map
+     * @return
+     */
+    public TmstruckWeightResult generateWeightResult(Map<String, Object> map) throws Exception {
+        TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
+        tmstruckWeightResult.setId(DataChange.dataToBigDecimal(map.get("weightTaskResultId")));
+        //磅单号
+        tmstruckWeightResult.setResultPoundNo((String) map.get("resultPoundNo"));
+        //如果计皮汽车衡不为空 查询汽车衡ID
+        if(map.get("resultTareCalculateNumber") != null){
+            Integer tareId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultTareCalculateNumber"));
+            if(tareId == null){
+                throw new Exception("没有此皮重汽车衡");
+            }
+            tmstruckWeightResult.setResultTarePlaceId(new BigDecimal(tareId));
+        }
+        //如果计毛汽车衡不为空 查询计毛汽车衡
+        if(map.get("resultCrossCalculateNumber") != null){
+            Integer crossId = tmstruckWeightResultMapper.selectTruckCalculateId((String) map.get("resultCrossCalculateNumber"));
+            if(crossId == null){
+                throw new Exception("没有此毛重汽车衡");
+            }
+            tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(crossId));
+        }
+        //毛重
+        BigDecimal resultCrossWeight = DataChange.dataToBigDecimal(map.get("resultCrossWeight"));
+        tmstruckWeightResult.setResultGrossWeight(resultCrossWeight);
+        //皮重
+        BigDecimal resultTareWeight = DataChange.dataToBigDecimal(map.get("resultTareWeight"));
+        tmstruckWeightResult.setResultTareWeight(resultTareWeight);
+        //净重
+        tmstruckWeightResult.setResultNetWeight(DataChange.dataToBigDecimal(map.get("resultNetWeight")));
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+        //毛重时间
+        if(map.get("resultCrossWeightTime") != null) {
+            String resultCrossWeightTime = (String) map.get("resultCrossWeightTime");
+            if(resultCrossWeightTime.contains(" "))
+                resultCrossWeightTime = resultCrossWeightTime.replace(" ", " ");
+            tmstruckWeightResult.setResultGrossWeightTime(sdf.parse(resultCrossWeightTime));
         }
-        if (weightType.equals("计毛")){
-            mapValue.put("resultTarePlaceId",resultTarePlaceId);
-            return tmstruckWeightResultMapper.updateTruckWeightResultGross(mapValue);
+        //皮重时间
+        if(map.get("resultTareWeightTime") != null) {
+            String resultTareWeightTime = (String) map.get("resultTareWeightTime");
+            if(resultTareWeightTime.contains(" "))
+                resultTareWeightTime = resultTareWeightTime.replace(" ", " ");
+            tmstruckWeightResult.setResultTareWeightTime(sdf.parse(resultTareWeightTime));
         }
-        return 1;
+        //如果皮重毛重都有数据则是第二次计量设置更新 否则为第一次计量
+        if(resultCrossWeight.intValue() != 0 && resultTareWeight.intValue() != 0){
+            tmstruckWeightResult.setUpdateTime(new Date());
+            tmstruckWeightResult.setUpdateUsername("admin");
+        }else {
+            tmstruckWeightResult.setInsertTime(new Date());
+            tmstruckWeightResult.setInsertUsername("admin");
+        }
+        return tmstruckWeightResult;
+    }
 
-//        BigDecimal weightTaskResultId = tmstruckWeightResultMapper.getWeightTaskResultId(mapValue);
-//        TmstruckWeightResult tmstruckWeightResult =tmstruckWeightResultMapper.selectByPrimaryKey(weightTaskResultId);
-//        if (weightType.equals("计皮")){
-//            // 得到净重
-//            String resultNetWeight = (String)mapValue.get("resultNetWeight");
-//            String resultPoundNo=(String) mapValue.get("resultPoundNo");
-//            tmstruckWeightResult.setResultPoundNo(resultPoundNo);
-//            tmstruckWeightResult.setResultTarePlaceId(resultTarePlaceId);
-//            tmstruckWeightResult.setResultTareWeight(new BigDecimal(resultWeight));
-//            tmstruckWeightResult.setResultTareWeightTime(resultWeightTime);
-//            tmstruckWeightResult.setResultNetWeight(new BigDecimal(resultNetWeight));
-//        }
-//        if (weightType.equals("计毛")){
-////            // 得到计毛汽车衡编号
-////            String calculateNumber = (String) mapValue.get("calculateNumber");
-////            // 得到毛重
-////            String resultWeight = (String) mapValue.get("resultWeight");
-////            // 得到计毛时间
-////            Date resultWeightTime = new Date((Long) mapValue.get("resultWeightTime"));
-//            BigDecimal resultGrossPlaceId = tmstruckWeightResultMapper.getTruckCalculateId(calculateNumber);
-//            String resultPoundNo=(String) mapValue.get("resultPoundNo");
-//            tmstruckWeightResult.setResultPoundNo(resultPoundNo);
-//            tmstruckWeightResult.setResultGrossPlaceId(resultGrossPlaceId);
-//            tmstruckWeightResult.setResultGrossWeight(new BigDecimal(resultWeight));
-//            tmstruckWeightResult.setResultGrossWeightTime(resultWeightTime);
-//            // 得到净重
-//            String resultNetWeight = (String) mapValue.get("resultNetWeight");
-//            tmstruckWeightResult.setResultNetWeight(new BigDecimal(resultNetWeight));
-//        }
-//        int result = tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
-//        return result;
+    /**
+     * 自动签收
+     * @return
+     */
+    public void autoReceipt(String orderNumber){
+        TmstruckReceiptResult tmstruckReceiptResult = new TmstruckReceiptResult();
+        //通过运输订单号查询总实绩ID
+        BigDecimal resultTotalId = utilsMapper.getTotalIdByOrderNumber(orderNumber);
+        tmstruckReceiptResult.setResultTotalId(resultTotalId);
+        tmstruckReceiptResult.setStatus(new BigDecimal(1));
+        tmstruckReceiptResult.setInsertUsername("admin");
+        tmstruckReceiptResult.setInsertTime(new Date());
+        tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
+        System.out.println(orderNumber + "收货成功");
     }
 }

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

@@ -0,0 +1,166 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.feign.IMFeign;
+import com.steerinfo.dil.mapper.UtilsMapper;
+import com.steerinfo.dil.service.IUtilsService;
+import com.steerinfo.dil.util.DataChange;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/26 14:42
+ */
+
+@Service(value = "utilsService")
+public class UtilsServiceImpl implements IUtilsService {
+    @Autowired
+    private UtilsMapper utilsMapper;
+
+    @Autowired
+    private IMFeign imFeign;
+    /**
+     * 查询运输订单ID主键
+     * @return
+     */
+    @Override
+    public BigDecimal selectOrderMaxId() {
+        return utilsMapper.selectOrderMaxId();
+    }
+
+    /**
+     * 查询运输订单子表主键ID
+     * @return
+     */
+    @Override
+    public BigDecimal selectOrderMaterialMaxId() {
+        return utilsMapper.selectOrderMaterialMaxId();
+    }
+
+    /**
+     * 修改运力状态
+     * @param map {必要参数:capacityId 运力ID  或者 capacityNumber 车牌号}
+     * @param status 类型
+     * @return
+     */
+    public int updateCapacityStatus(Map<String, Object> map, Integer status){
+        map.put("capacityStatus", status);
+        return  utilsMapper.updateCapacityByCarIdOrNum(map);
+    }
+
+
+    /**
+     * 修改订单状态为结束
+     * @param map {orderId 订单Id 或运输订购单号
+     * @return
+     */
+    public int closeOrderNormally(Map<String, Object> map){
+        //查询订单路段顺序号以及查询路段顺序号
+        Map<String, Object> mesMap = utilsMapper.getLineSeqAndOrderSeq(map);
+        BigDecimal orderSeq = DataChange.dataToBigDecimal(mesMap.get("orderSeq"));
+        BigDecimal maxSeq = DataChange.dataToBigDecimal(map.get("maxSeq"));
+        if(orderSeq.intValue() == maxSeq.intValue()){
+            map.put("orderStatus", 2);
+            return utilsMapper.updateOrderStatusByOrderIdOrNum(map);
+        }
+        return 0;
+    }
+
+    /**
+     * 通过仓库名称查询仓库Id
+     * @param warehouseName
+     * @return
+     */
+    @Override
+    public Integer queryWarehouseIdByName(String warehouseName) {
+        return utilsMapper.queryWarehouseIdByName(warehouseName);
+    }
+
+    /**
+     * 用于更新路段顺序号 + 1
+     * @param map 运输订单号 或者是运输订单ID
+     * @return
+     */
+    public int updateOrderLineSequence(Map<String, Object> map){
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        if(orderId.intValue() == 0){
+            //如果没有传入运输订单Id则需要传入了运输订单号
+            orderId = utilsMapper.getOrderIdByOrderNumber((String) map.get("orderNumber"));
+        }
+        Integer lineSequence = getLineSequenceByOrderId(orderId);
+        Map<String, Object> mesMap = new HashMap<>();
+        mesMap.put("orderId", orderId);
+        mesMap.put("orderLineSequence", lineSequence == null? 1 : lineSequence + 1);
+        return utilsMapper.updateLineSeqByOrderIdOrNum(mesMap);
+    }
+
+    /**
+     * 通过月台名称查询月台Id
+     * @param platformName
+     * @return
+     */
+    @Override
+    public Integer queryPlatformIdByName(String platformName) {
+        return utilsMapper.queryPlatformIdByName(platformName);
+    }
+
+    /**
+     * 查询路段顺序号
+     * @param orderId
+     * @return
+     */
+    @Override
+    public Integer getLineSequenceByOrderId(BigDecimal orderId) {
+        return utilsMapper.getLineSequenceByOrderId(orderId);
+    }
+
+    /**
+     * 查询订单中所需要运输的物资  物资表对订单表 一对多
+     * @param map 运输订单号 orderNumber
+     * @return
+     */
+    @Override
+    public List<Integer> getAllMaterialId(Map<String, Object> map) {
+        return utilsMapper.getAllMaterialId(map);
+    }
+
+
+    /**
+     * 通过总实绩ID查询订单Id
+     * @param resultTotalId
+     * @return
+     */
+    @Override
+    public Integer getOrderIdByTotalId(Integer resultTotalId) {
+        return utilsMapper.getOrderIdByTotalId(resultTotalId);
+    }
+
+    /**
+     * 推送消息给websocket
+     * @param capacityNumber
+     * @param pushMes
+     */
+    @Override
+    public void pushMesToWebsocket(String capacityNumber, String pushMes) {
+        //添加消息实体
+        HashMap<Object, Object> mesMap = new HashMap<>();
+        mesMap.put("messageType", 4); //用于进厂后 刷新消息
+        mesMap.put("sendPerson", "system");
+        mesMap.put("receivePerson", capacityNumber);
+        mesMap.put("messageContent", pushMes + new Date());
+        mesMap.put("createTime", new Date());
+        ArrayList<Object> list = new ArrayList<>();
+        list.add(mesMap);
+        //调用websocket接口推送
+        HashMap<Object, Object> sendMap = new HashMap<>();
+        //将消息实体放入list中存到map中
+        sendMap.put("messages", list);
+        imFeign.sendToUser(sendMap);
+    }
+
+
+
+}

+ 160 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -0,0 +1,160 @@
+package com.steerinfo.dil.util;
+
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/8/25 11:25
+ */
+
+public class DataChange {
+
+
+    /**
+     * 解析前端传来的日期字符串
+     * @param vueDate
+     * @return
+     */
+    public static Date dataToDate(Object vueDate){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date parseDate = null;
+        if (vueDate != null){
+            try {
+                String date = (String) vueDate;
+                parseDate = sdf.parse(date);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+        return parseDate;
+    }
+
+    /**
+     * 数据转换成BigDecimal
+     * @param data
+     * @return
+     */
+    public static BigDecimal
+    dataToBigDecimal(Object data){
+        if (data != null){
+            if(data instanceof String){
+                String data1 = (String) data;
+                return new BigDecimal(data1);
+            }
+            if(data instanceof Integer){
+                Integer data2 = (Integer) data;
+                return new BigDecimal(data2);
+            }
+            if(data instanceof Double){
+                Double data3 = (Double) data;
+                return new BigDecimal(data3);
+            }
+            if(data instanceof BigDecimal){
+                return (BigDecimal) data;
+            }
+        }
+        return new BigDecimal(0);
+    }
+
+    /**
+     * 将时间截取到天  为字符串类型 用于前端只显示到天
+     * @param date 传入时间
+     * @return
+     */
+    public static String dateToDayDate(Object date){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date changeDate = null;
+        if(date == null)
+            return null;
+        try{
+             changeDate = (Date) date;
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return sdf.format(changeDate);
+    }
+
+    /**
+     * 遍历从数据库中传进来的数据
+     * @param list 从数据库查询出来的list数据列表
+     * @param key map中多个需要转换的date参数
+     */
+    public static void changeDateToDayDate(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //从map中取 date的值 并转换成字符串类型的日期
+                String stringDate = dateToDayDate(map.get(s));
+                map.put(s, stringDate);
+            }
+        }
+    }
+
+    /**
+     * 遍历列表使只显示两位小数
+     * @param list
+     * @param key
+     */
+    public static void dataTo2Number(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //修改数据为带两位小数
+                BigDecimal oldDate = (BigDecimal) map.get(s);
+                DecimalFormat df =  new DecimalFormat("0.00");
+                String resultDeduction = df.format(oldDate.doubleValue());
+                map.put(s, resultDeduction);
+            }
+        }
+    }
+
+    /**
+     * 计算相差时间  日时分秒
+     * @param
+     * @return
+     */
+    public static String calculatedTimeDifference(Date time1, Date time2){
+        long t1 = time1.getTime();
+        long t2 = time2.getTime();
+        if(t1 > t2){
+            long temp = t1;
+            t1 = t2;
+            t2 = temp;
+        }
+        long between = t2 - t1;
+        long day = between / (24 * 60 * 60 * 1000);
+        long hour = (between / (60 * 60 * 1000) - day * 24);
+        long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
+        long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+        return day + "天"+  + hour+ "时" + min + "分"  + s + "秒";
+    }
+
+    /**
+     * 生成带时间的八位数顺序号
+     * @param start 前缀
+     * @param id 顺序号  主键Id
+     * @return
+     */
+    public static String generateEightDigitsNumber(String start, Integer id){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + sdf.format(new Date()));
+        sb.append(
+                id < 10
+                        ? "0000000" + id : id < 100
+                        ? "000000" + id : id < 1000
+                        ? "00000" + id : id < 10000
+                        ? "0000" + id : id < 100000
+                        ? "000" + id : id < 1000000
+                        ? "00" + id : id < 10000000
+                        ? "0" + id : id
+        );
+        return sb.toString();
+    }
+
+}

+ 715 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckReceiptResultMapper.xml

@@ -0,0 +1,715 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.TmstruckReceiptResultMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.TmstruckReceiptResult">
+    <id column="RESULT_ID" jdbcType="DECIMAL" property="resultId" />
+    <result column="RESULT_TOTAL_ID" jdbcType="DECIMAL" property="resultTotalId" />
+    <result column="WAREHOUSE_ID" jdbcType="DECIMAL" property="warehouseId" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+    <result column="STATUS" jdbcType="DECIMAL" property="status" />
+    <result column="RESULT_EMPTY_CONTAINER_PHOTO" jdbcType="BLOB" property="resultEmptyContainerPhoto" />
+    <result column="RESULT_SIGNED_NOTE_PHOTO" jdbcType="BLOB" property="resultSignedNotePhoto" />
+    <result column="RESULT_RECEIVE_NOTE_PHOTO" jdbcType="BLOB" property="resultReceiveNotePhoto" />
+  </resultMap>
+  <sql id="columns">
+    RESULT_ID, RESULT_TOTAL_ID, WAREHOUSE_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+    UPDATE_TIME, INSERT_UPDATE_REMARK, STATUS, RESULT_EMPTY_CONTAINER_PHOTO, RESULT_SIGNED_NOTE_PHOTO, 
+    RESULT_RECEIVE_NOTE_PHOTO
+  </sql>
+  <sql id="columns_alias">
+    t.RESULT_ID, t.RESULT_TOTAL_ID, t.WAREHOUSE_ID, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.STATUS, t.RESULT_EMPTY_CONTAINER_PHOTO, 
+    t.RESULT_SIGNED_NOTE_PHOTO, t.RESULT_RECEIVE_NOTE_PHOTO
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM TMSTRUCK_RECEIPT_RESULT
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM TMSTRUCK_RECEIPT_RESULT t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="resultTotalId != null">
+        and RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        and RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto}
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        and RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto}
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        and RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="resultTotalId != null">
+        and RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="status != null">
+        and STATUS = #{status}
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        and RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto}
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        and RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto}
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        and RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from TMSTRUCK_RECEIPT_RESULT
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from TMSTRUCK_RECEIPT_RESULT
+    where 1!=1 
+      <if test="resultTotalId != null">
+        or RESULT_TOTAL_ID = #{resultTotalId}
+      </if>
+      <if test="warehouseId != null">
+        or WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="status != null">
+        or STATUS = #{status}
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        or RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto}
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        or RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto}
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        or RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.TmstruckReceiptResult">
+    insert into TMSTRUCK_RECEIPT_RESULT (RESULT_ID, RESULT_TOTAL_ID, WAREHOUSE_ID, 
+      INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK, STATUS, 
+      RESULT_EMPTY_CONTAINER_PHOTO, RESULT_SIGNED_NOTE_PHOTO, 
+      RESULT_RECEIVE_NOTE_PHOTO)
+    values (#{resultId,jdbcType=DECIMAL}, #{resultTotalId,jdbcType=DECIMAL}, #{warehouseId,jdbcType=DECIMAL}, 
+      #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{status,jdbcType=DECIMAL}, 
+      #{resultEmptyContainerPhoto,jdbcType=BLOB}, #{resultSignedNotePhoto,jdbcType=BLOB}, 
+      #{resultReceiveNotePhoto,jdbcType=BLOB})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmstruckReceiptResult">
+    insert into TMSTRUCK_RECEIPT_RESULT
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        RESULT_ID,
+      </if>
+      <if test="resultTotalId != null">
+        RESULT_TOTAL_ID,
+      </if>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="status != null">
+        STATUS,
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        RESULT_EMPTY_CONTAINER_PHOTO,
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        RESULT_SIGNED_NOTE_PHOTO,
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        RESULT_RECEIVE_NOTE_PHOTO,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        #{resultId,jdbcType=DECIMAL},
+      </if>
+      <if test="resultTotalId != null">
+        #{resultTotalId,jdbcType=DECIMAL},
+      </if>
+      <if test="warehouseId != null">
+        #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        #{status,jdbcType=DECIMAL},
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        #{resultEmptyContainerPhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        #{resultSignedNotePhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        #{resultReceiveNotePhoto,jdbcType=BLOB},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmstruckReceiptResult">
+    update TMSTRUCK_RECEIPT_RESULT
+    set RESULT_TOTAL_ID = #{resultTotalId,jdbcType=DECIMAL},
+      WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      STATUS = #{status,jdbcType=DECIMAL},
+      RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto,jdbcType=BLOB},
+      RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto,jdbcType=BLOB},
+      RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto,jdbcType=BLOB}
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmstruckReceiptResult">
+    update TMSTRUCK_RECEIPT_RESULT
+    <set>
+      <if test="resultTotalId != null">
+        RESULT_TOTAL_ID = #{resultTotalId,jdbcType=DECIMAL},
+      </if>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        STATUS = #{status,jdbcType=DECIMAL},
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto,jdbcType=BLOB},
+      </if>
+    </set>
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into TMSTRUCK_RECEIPT_RESULT 
+      (RESULT_ID, 
+      RESULT_TOTAL_ID, WAREHOUSE_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK, 
+      STATUS, RESULT_EMPTY_CONTAINER_PHOTO, 
+      RESULT_SIGNED_NOTE_PHOTO, RESULT_RECEIVE_NOTE_PHOTO
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.resultId,jdbcType=DECIMAL}, 
+      #{item.resultTotalId,jdbcType=DECIMAL}, #{item.warehouseId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}, 
+      #{item.status,jdbcType=DECIMAL}, #{item.resultEmptyContainerPhoto,jdbcType=BLOB}, 
+      #{item.resultSignedNotePhoto,jdbcType=BLOB}, #{item.resultReceiveNotePhoto,jdbcType=BLOB}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update TMSTRUCK_RECEIPT_RESULT
+     set
+       RESULT_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultId,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_TOTAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultTotalId,jdbcType=DECIMAL}
+       </foreach>
+       ,WAREHOUSE_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.warehouseId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,STATUS=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.status,jdbcType=DECIMAL}
+       </foreach>
+       ,RESULT_EMPTY_CONTAINER_PHOTO=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultEmptyContainerPhoto,jdbcType=BLOB}
+       </foreach>
+       ,RESULT_SIGNED_NOTE_PHOTO=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultSignedNotePhoto,jdbcType=BLOB}
+       </foreach>
+       ,RESULT_RECEIVE_NOTE_PHOTO=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultReceiveNotePhoto,jdbcType=BLOB}
+       </foreach>
+     where RESULT_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.resultId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from TMSTRUCK_RECEIPT_RESULT
+    where RESULT_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <!--  获取最大ID值  -->
+
+<!--  通过总实绩ID 查询签收实绩ID -->
+  <select id="getIdByTotalResultId" parameterType="int" resultType="int">
+    select TRR.RESULT_ID from TMSTRUCK_RECEIPT_RESULT TRR where TRR.RESULT_TOTAL_ID = #{totalResultId}
+  </select>
+
+<!--通过总实绩Id 更新 状态码 为 1 已签收-->
+  <update id="updateByTotalResultId" parameterType="java.util.Map">
+    update TMSTRUCK_RECEIPT_RESULT
+    <set>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="status != null">
+        STATUS = #{status,jdbcType=DECIMAL},
+      </if>
+      <if test="resultEmptyContainerPhoto != null">
+        RESULT_EMPTY_CONTAINER_PHOTO = #{resultEmptyContainerPhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultSignedNotePhoto != null">
+        RESULT_SIGNED_NOTE_PHOTO = #{resultSignedNotePhoto,jdbcType=BLOB},
+      </if>
+      <if test="resultReceiveNotePhoto != null">
+        RESULT_RECEIVE_NOTE_PHOTO = #{resultReceiveNotePhoto,jdbcType=BLOB},
+      </if>
+    </set>
+    where RESULT_TOTAL_ID = #{resultTotalId}
+  </update>
+
+  <!--  通过签收时间排序 -->
+  <sql id="orderBy">
+    <if test="orderField != null and orderField != ''">
+      order by "${orderField}"
+      <if test="orderType != null and orderType != ''">
+        ${orderType}
+      </if>
+    </if>
+    <if test="orderField == null  ">
+      order by "insertTime" desc
+    </if>
+  </sql>
+
+<!--  查询所有签收实绩 -->
+  <select id="getCGReceiptResult" parameterType="java.util.Map" resultType="java.util.Map">
+    select
+           *
+    from (
+           select
+                  OO.ORDER_ID                  "orderId",
+                    TRR.RESULT_ID               "resultId",
+                  APO.PURCHASE_ORDER_NO       "purchaseOrderNo",
+                  RM.MATERIAL_NAME            "materialName",
+                  OO.ORDER_NUMBER             "orderNumber",
+                  RC.CAPACITY_NUMBER          "capacityNumber",
+                  DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+                  TUR.UNLOAD_STATUS           "unloadStatus",
+                  TWR.RESULT_NET_WEIGHT       "resultNetWeight",
+                  RW.WAREHOUSE_NAME           "warehouseName",
+                  TRR.INSERT_USERNAME         "insertUsername",
+                  TRR.INSERT_TIME             "insertTime"
+           from TMSTRUCK_RECEIPT_RESULT TRR
+                  left join TMSTRUCK_TOTAL_RESULT TTR
+                            on TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join OMSTRUCK_ORDER OO
+                            on OO.ORDER_ID = TTR.ORDER_ID
+                  left join AMS_PURCHASE_ORDER APO
+                            on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+                  left join DIL_BATCH DB
+                            on DB.BATCH_ID = APO.BATCH_ID
+                  left join RMS_CAPACITY RC
+                            on RC.CAPACITY_ID = OO.CAPACITY_ID
+                  left join TMSTRUCK_WEIGHT_RESULT TWR
+                            on TWR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join TMSTRUCK_UNLOAD_RESULT TUR
+                            on TUR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join OMSTRUCK_ORDER_MATERIAL OOM
+                            on OOM.ORDER_ID = OO.ORDER_ID
+                  left join RMS_MATERIAL RM
+                            on OOM.MATERIAL_ID = RM.MATERIAL_ID
+                  left join RMS_WAREHOUSE RW
+                            on RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
+                where TRR.STATUS = 1 and OO.ORDER_TYPE = #{orderTypee}
+         )
+        <where>
+          <if test="purchaseOrderNo != null">
+            <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+              "purchaseOrderNo" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="materialName != null">
+            and
+            <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+              "materialName" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="orderNumber != null">
+            and
+            <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+              "orderNumber" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="capacityNumber != null">
+            and
+            <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+              "capacityNumber" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="resultForeignShipName != null">
+            and
+            <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+              "resultForeignShipName" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="unloadStatus != null">
+            and
+            <foreach collection="unloadStatus" item="item" open="(" separator="or" close=")">
+              "unloadStatus" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="resultNetWeight != null">
+            and
+            <foreach collection="resultNetWeight" item="item" open="(" separator="or" close=")">
+              "resultNetWeight" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="warehouseName != null">
+            and
+            <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+              "warehouseName" like '%${item}%'
+            </foreach>
+          </if>
+          <if test="insertUsername != null">
+            and
+            <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+              "insertUsername" like '%${item}%'
+            </foreach>
+          </if>
+        </where>
+        <include refid="orderBy"></include>
+  </select>
+
+<!--  查询内转钢材到异地库收货实绩-->
+    <select id="getSteelNzReceiptResult" parameterType="java.util.Map" resultType="java.util.Map">
+
+      SELECT *
+      FROM (
+             SELECT TRR.RESULT_ID       "resultId",
+                    OO.ORDER_NUMBER     "orderNumber",
+                    RC.CAPACITY_NUMBER  "capacityNumber",
+                    RW.WAREHOUSE_NAME   "warehouseName",
+                    TRR.INSERT_TIME     "insertTime",
+                    TRR.INSERT_USERNAME "insertUsername"
+             FROM TMSTRUCK_RECEIPT_RESULT TRR
+                    LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                              ON TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                    LEFT JOIN OMSTRUCK_ORDER OO
+                              ON OO.ORDER_ID = TTR.ORDER_ID
+                    LEFT JOIN RMS_WAREHOUSE RW
+                              ON RW.WAREHOUSE_ID = TRR.WAREHOUSE_ID
+                    LEFT JOIN RMS_CAPACITY RC
+                              ON RC.CAPACITY_ID = OO.CAPACITY_ID
+            WHERE OO.ORDER_TYPE = 4 AND TRR.STATUS = 1
+           )
+    <where>
+      <if test="orderNumber != null">
+        <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+          "orderNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="capacityNumber != null">
+        and
+        <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+          "capacityNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="warehouseName != null">
+        and
+        <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
+          "warehouseName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="insertTime != null">
+        and
+        <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+          "insertTime" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="insertUsername != null">
+        and
+        <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+          "insertUsername" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+      <include refid="orderBy"></include>
+    </select>
+
+  <select id="getInwardReceipt" parameterType="java.util.Map" resultType="java.util.Map">
+
+    select *
+    from (
+           select TRR.RESULT_ID               "resultId",
+                  APO.PURCHASE_ORDER_NO       "purchaseOrderNo",
+                  RM.MATERIAL_NAME            "materialName",
+                  OO.ORDER_NUMBER             "orderNumber",
+                  RC.CAPACITY_NUMBER          "capacityNumber",
+                  DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+                  TUR.UNLOAD_STATUS           "unloadStatus",
+                  TWR.RESULT_NET_WEIGHT       "resultNetWeight",
+                  tqr.result_issampling       "issampling",
+                  TRR.INSERT_USERNAME         "insertUsername",
+                  TRR.INSERT_TIME             "insertTime",
+                  RW.WAREHOUSE_NAME           "warehouseName"
+           from TMSTRUCK_RECEIPT_RESULT TRR
+                  left join TMSTRUCK_TOTAL_RESULT TTR
+                            on TTR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join OMSTRUCK_ORDER OO
+                            on OO.ORDER_ID = TTR.ORDER_ID
+                  left join AMS_PURCHASE_ORDER APO
+                            on APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+                  left join DIL_BATCH DB
+                            on DB.BATCH_ID = APO.BATCH_ID
+                  left join RMS_CAPACITY RC
+                            on RC.CAPACITY_ID = OO.CAPACITY_ID
+                  left join TMSTRUCK_WEIGHT_RESULT TWR
+                            on TWR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join TMSTRUCK_UNLOAD_RESULT TUR
+                            on TUR.RESULT_TOTAL_ID = TRR.RESULT_TOTAL_ID
+                  left join OMSTRUCK_ORDER_MATERIAL OOM
+                            on OOM.ORDER_ID = OO.ORDER_ID
+                  left join RMS_MATERIAL RM
+                            on OOM.MATERIAL_ID = RM.MATERIAL_ID
+                  left join tmstruck_quality_result tqr
+                            on tqr.total_result_id = ttr.result_total_id
+                  left join RMS_WAREHOUSE RW
+                            on TUR.RESULT_UNLOAD_PLACE_ID = RW.WAREHOUSE_ID
+           where TRR.STATUS = 1
+             and OO.ORDER_TYPE = #{orderTypee}
+         )
+    <where>
+      <if test="materialName != null">
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          "materialName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="purchaseOrderNo != null">
+        and
+        <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+          "purchaseOrderNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="orderNumber != null">
+        and
+        <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+          "orderNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="capacityNumber != null">
+        and
+        <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+          "capacityNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultForeignShipName != null">
+        and
+        <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+          "resultForeignShipName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="unloadStatus != null">
+        and
+        <foreach collection="unloadStatus" item="item" open="(" separator="or" close=")">
+          "unloadStatus" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="resultNetWeight != null">
+        and
+        <foreach collection="resultNetWeight" item="item" open="(" separator="or" close=")">
+          "resultNetWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="issampling != null">
+        and
+        <foreach collection="issampling" item="item" open="(" separator="or" close=")">
+          "issampling" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="insertUsername != null">
+        and
+        <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
+          "insertUsername" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="insertTime != null">
+        and
+        <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+          "insertTime" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
+</mapper>

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

@@ -678,4 +678,32 @@
 	tt.RESULT_GROSS_PLACE_ID = #{resultTarePlaceId},
 	tt.RESULT_GROSS_WEIGHT_TIME = TO_DATE( #{resultWeightTime}, 'yyyy-mm-dd hh24:mi:ss' )
     </update>
+
+
+    <!--  通过运输订单号 查询实绩Id、总实绩ID -->
+    <select id="selectTotalIdByOrderNo" parameterType="java.util.Map" resultType="java.util.Map">
+        select OO.ORDER_ID "orderId",
+                OO.ORDER_TYPE "orderTypee",
+                TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+                TTR.RESULT_TOTAL_ID "resultTotalId",
+                RC.CAPACITY_NUMBER  "capacityNumber"
+        from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR
+            on OO.ORDER_ID = TTR.ORDER_ID
+        left join TMSTRUCK_WEIGHT_RESULT TWR
+            on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        left join RMS_CAPACITY RC
+            on RC.CAPACITY_ID = OO.CAPACITY_ID
+        where OO.ORDER_NUMBER = #{orderNumber}
+        <if test="materialId != null">
+            and TWR.MATERIAL_ID = #{materialId}
+        </if>
+    </select>
+
+    <!--  通过汽车衡编号查询对应的汽车衡ID  -->
+    <select id="selectTruckCalculateId" parameterType="java.lang.String" resultType="int">
+        select TRUCK_CALCULATE_ID
+        from RMS_TRUCK_CALCULATE
+        where TRUCK_CALCULATE_NUMBER = #{truckCalculateNumber}
+    </select>
 </mapper>

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

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.UtilsMapper">
+
+
+    <!--  通过运力ID 或车牌号 修改 运力状态  -->
+    <update id="updateCapacityByCarIdOrNum" parameterType="java.util.Map">
+        update RMS_CAPACITY RC
+        set RC.CAPACITY_STATUS = #{capacityStatus}
+        where
+        <if test="capacityId != null">
+            RC.CAPACITY_ID = #{capacityId}
+        </if>
+        <if test="capacityNumber != null">
+            RC.CAPACITY_NUMBER = #{capacityNumber}
+        </if>
+    </update>
+
+<!--  通过订单Id 或运输订单号 修改 订单状态  -->
+    <update id="updateOrderStatusByOrderIdOrNum" parameterType="java.util.Map">
+        update OMSTRUCK_ORDER OO
+        set OO.ORDER_STATUS = #{orderStatus}
+        <where>
+            <if test="orderId != null">
+                OO.ORDER_ID = #{orderId}
+            </if>
+            <if test="orderNumber != null">
+                and  OO.ORDER_NUMBER = #{orderNumber}
+            </if>
+        </where>
+    </update>
+
+<!--  通过运输Id 或者运输订单号修改 路段顺序号  -->
+    <update id="updateLineSeqByOrderIdOrNum" parameterType="java.util.Map">
+        update OMSTRUCK_ORDER OO
+        set OO.ORDER_LINE_SEQUENCE = #{orderLineSequence}
+        where OO.ORDER_ID = #{orderId}
+    </update>
+
+<!--   通过仓库名称查询仓库Id -->
+    <select id="queryWarehouseIdByName" parameterType="string" resultType="java.lang.Integer">
+        select RW.WAREHOUSE_ID
+        from RMS_WAREHOUSE RW
+        where RW.WAREHOUSE_NAME = #{warehouseName}
+    </select>
+
+<!--    通过月台名称查询月台Id -->
+    <select id="queryPlatformIdByName" parameterType="string" resultType="java.lang.Integer">
+        select RPP.PLATFORM_ID
+        from RMS_PWAREHOUSE_PLATFORM RPP
+        where RPP.PLATFORM_NAME = #{platformName}
+    </select>
+
+
+    <!--  根据运单Id查询物资Id  多拼情况下都是属于钢材 -->
+    <select id="queryOrderMesByOrderId" parameterType="string" resultType="java.math.BigDecimal">
+        select *
+        from (select OOM.MATERIAL_ID "materialId"
+              from OMSTRUCK_ORDER OO
+                       left join OMSTRUCK_ORDER_MATERIAL OOM
+                                 on OO.ORDER_ID = OOM.ORDER_ID
+              where OO.ORDER_NUMBER = #{orderNumber}
+             )
+        where rownum = 1
+    </select>
+
+<!--  通过订单ID查找路段顺序号  -->
+    <select id="getLineSequenceByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+        select OO.ORDER_LINE_SEQUENCE
+        from OMSTRUCK_ORDER OO
+        <where >
+              <if test="orderId != null">
+                  ORDER_ID = #{orderId}
+              </if>
+        </where>
+    </select>
+
+    <!--  查询订单有几件物资  -->
+    <select id="getAllMaterialId" parameterType="java.util.Map" resultType="int">
+        select OOM.MATERIAL_ID "materialId"
+        from OMSTRUCK_ORDER OO
+                 left join OMSTRUCK_ORDER_MATERIAL OOM
+                           on OO.ORDER_ID = OOM.ORDER_ID
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
+
+<!--  通过总实绩Id查询运输订单ID  -->
+    <select id="getOrderIdByTotalId" resultType="java.lang.Integer">
+        select TTR.ORDER_ID
+        from TMSTRUCK_TOTAL_RESULT TTR
+        where TTR.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
+
+<!--  通过运输订单号查询运输订单ID  -->
+    <select id="getOrderIdByOrderNumber" parameterType="string" resultType="java.math.BigDecimal">
+        select OO.ORDER_ID
+        from OMSTRUCK_ORDER OO
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
+
+<!--    通过运输订单号查询总实绩ID  -->
+    <select id="getTotalIdByOrderNumber" parameterType="string" resultType="java.math.BigDecimal">
+        select
+            TTR.RESULT_TOTAL_ID
+        from OMSTRUCK_ORDER OO
+                 left join TMSTRUCK_TOTAL_RESULT TTR
+            on OO.ORDER_ID = TTR.ORDER_ID
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
+
+
+<!--   通过总实绩ID查询订单类型 -->
+    <select id="getOrderTypeByTotalId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
+        select OO.ORDER_TYPE
+        from TMSTRUCK_TOTAL_RESULT TTR
+        left join OMSTRUCK_ORDER OO
+            on OO.ORDER_ID = TTR.ORDER_ID
+        where TTR.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
+
+<!--  查询最大路段顺序号 以及当前订单路段顺序号(执行到哪一步)  -->
+    <select id="getLineSeqAndOrderSeq" parameterType="java.util.Map" resultType="java.util.Map">
+        select OO.ORDER_LINE_SEQUENCE "orderSeq",
+               (select max(RLS.SEGMENT_SQE)
+                    from RMS_LINE_SEGEMNT RLS
+                   where RLS.LINE_ID = OO.LINE_ID
+                   ) "maxSeq"
+        from OMSTRUCK_ORDER OO
+        <where>
+            <if test="orderId != null">
+                OO.ORDER_ID = #{orderId}
+            </if>
+            <if test="orderNumber != null">
+                and OO.ORDER_NUMBER = #{orderNumber}
+            </if>
+        </where>
+    </select>
+</mapper>