Преглед изворни кода

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU2/DAI_DAZHOU-OMS

liyg пре 2 година
родитељ
комит
67bf39c98f
26 измењених фајлова са 2286 додато и 28 уклоњено
  1. 17 1
      pom.xml
  2. 69 0
      src/main/java/com/steerinfo/dil/controller/OmstrainOrderController.java
  3. 11 4
      src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java
  4. 8 0
      src/main/java/com/steerinfo/dil/controller/UtilsController.java
  5. 6 0
      src/main/java/com/steerinfo/dil/feign/JoinFeign.java
  6. 30 0
      src/main/java/com/steerinfo/dil/mapper/OmstrainOrderMapper.java
  7. 1 1
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java
  8. 3 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.java
  9. 10 0
      src/main/java/com/steerinfo/dil/mapper/TmsttOrderMapper.java
  10. 259 0
      src/main/java/com/steerinfo/dil/model/OmstrainOrder.java
  11. 154 0
      src/main/java/com/steerinfo/dil/model/TmsttOrder.java
  12. 15 0
      src/main/java/com/steerinfo/dil/service/IOmstrainOrderService.java
  13. 3 0
      src/main/java/com/steerinfo/dil/service/IOmstruckOrderMaterialService.java
  14. 2 2
      src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java
  15. 332 0
      src/main/java/com/steerinfo/dil/service/impl/OmstrainOrderServiceImpl.java
  16. 5 0
      src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java
  17. 16 11
      src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java
  18. 30 0
      src/main/java/com/steerinfo/dil/util/DataChange.java
  19. 174 0
      src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java
  20. 186 0
      src/main/java/com/steerinfo/dil/util/getRequestUtils.java
  21. 1 1
      src/main/resources/application-prod.yml
  22. 639 0
      src/main/resources/com/steerinfo/dil/mapper/OmstrainOrderMapper.xml
  23. 10 5
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml
  24. 6 1
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMaterialMapper.xml
  25. 6 2
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml
  26. 293 0
      src/main/resources/com/steerinfo/dil/mapper/TmsttOrderMapper.xml

+ 17 - 1
pom.xml

@@ -66,6 +66,13 @@
             <version>3.4.2</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpmime</artifactId>
+            <version>4.5</version>
+        </dependency>
+
+
         <!--swagger-->
         <dependency>
             <groupId>io.springfox</groupId>
@@ -101,6 +108,15 @@
             <artifactId>openapi-sdk</artifactId>
             <version>6.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpmime</artifactId>
+            <version>4.5.10</version>
+        </dependency>
+
+
+
+
 
     </dependencies>
     <build>
@@ -118,7 +134,7 @@
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
 <!--                        <table>TMSTRUCK_UNLOAD_RESULT</table>-->
-                        <param>AMSSHIP_DELIVERY_NOTICE</param>
+                        <param>OMSTRAIN_ORDER</param>
                     </tables>
                 </configuration>
                 <executions>

+ 69 - 0
src/main/java/com/steerinfo/dil/controller/OmstrainOrderController.java

@@ -0,0 +1,69 @@
+package com.steerinfo.dil.controller;
+
+
+import com.steerinfo.dil.service.impl.OmstrainOrderServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/${api.version}/omstrainorders")
+public class OmstrainOrderController extends BaseRESTfulController {
+    private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+    @Autowired
+    OmstrainOrderServiceImpl omstrainOrderService;
+
+
+    @ApiOperation(value = "生成火运订单")
+    @PostMapping("/generateOmstrain")
+    public int generateOmstrain(@RequestBody(required = false) Map<String,Object> map) throws IOException {
+        int i = omstrainOrderService.generateOmstrain(map);
+        return i;
+    }
+
+
+    @ApiOperation(value = "根据运输订单ID获取订单信息")
+    @GetMapping("getOrderTrainMes")
+    public RESTfulResult getOrderTrainMes(Integer orderId){
+        List<Map<String,Object>> mapList = omstrainOrderService.getOrderTrainMes(orderId);
+        return success(mapList);
+    }
+
+    @ApiOperation(value = "查询火车发运明细")
+    @PostMapping("getWagonShippingDetails")
+    public RESTfulResult getWagonShippingDetails(@RequestBody(required = false) Map<String,Object> map,
+                                                 String startTime,
+                                                 String endTime,
+                                                 String sendStation,
+                                                 String toTheStation,
+                                                 String consigneeName,
+                                                 String wagonNo){
+        DataChange.queryDataByDateTimeYestDay(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
+        if(sendStation != null && !"null".equals(sendStation)){
+            map.put("sendStation",sendStation);
+        }
+        if(toTheStation != null && !"null".equals(toTheStation)){
+            map.put("toTheStation",toTheStation);
+        }
+        if(consigneeName != null && !"null".equals(consigneeName)){
+            map.put("consigneeName",consigneeName);
+        }
+        if(wagonNo != null && !"null".equals(wagonNo)){
+            map.put("wagonNo",wagonNo);
+        }
+        List<Map<String,Object>> mapList = omstrainOrderService.getWagonShippingDetails(map);
+        return success(mapList);
+    }
+
+}

+ 11 - 4
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -1212,7 +1212,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
 
     @ApiOperation(value = "通过运输订单Id查询订单信息给司机")
     @PostMapping("/getMessageToApp")
-    public Map<String, Object> getMessageToApp(@RequestBody(required = false) Map<String,Object> mapvalue) {
+    public Map<String, Object> getMessageToApp(@RequestBody(required = false) Map<String,Object> mapvalue) throws Exception {
         if(mapvalue.get("orderId") == null && mapvalue.get("orderNumber") == null){
             return null;
         }
@@ -1225,12 +1225,19 @@ public class OmstruckOrderController extends BaseRESTfulController {
             Integer id = omstruckOrderMapper.getOrderIdByOrderNumber(orderNumber);
             mapvalue.put("orderId", id);
         }
-        return omstruckOrderService.getMessageToApp(mapvalue);
+        Map<String, Object> messageToApp=null;
+        try {
+             messageToApp = omstruckOrderService.getMessageToApp(mapvalue);
+        }catch (Exception e){
+            System.out.println("有多个实绩");
+            return  null;
+        }
+        return  messageToApp;
     }
 
     @ApiOperation(value = "通过车牌号查询所有已下发未接收的订单信息")
     @PostMapping("/getAllOrderMessagesByCapacityNum")
-    public List<Map<String, Object>> getAllOrderMessagesByCapacityNum(@RequestBody(required = false) Map<String,Object> mapvalue) {
+    public List<Map<String, Object>> getAllOrderMessagesByCapacityNum(@RequestBody(required = false) Map<String,Object> mapvalue) throws Exception {
         return omstruckOrderService.getAllOrderMessagesByCapacityNum(mapvalue);
     }
 
@@ -1292,7 +1299,7 @@ public class OmstruckOrderController extends BaseRESTfulController {
     public RESTfulResult canCapacityEnfactory(@RequestBody Map<String,Object> mapValue) {
         String result = omstruckOrderMapper.canCapacityEnfactory(mapValue);
         Integer orderType = (Integer) mapValue.get("orderType");
-        if (orderType != 1) {
+        if (orderType != 1 && orderType != 4) {
             return success("OK");
         }
         else {

+ 8 - 0
src/main/java/com/steerinfo/dil/controller/UtilsController.java

@@ -68,6 +68,14 @@ public class UtilsController extends BaseRESTfulController {
         return success(i);
     }
 
+
+    @ApiOperation(value = "关闭内转钢材到异地库并生成详单")
+    @PostMapping("/closeSteelOrderType4")
+    public int closeSteelOrderType4(BigDecimal orderId){
+        int i = omstruckOrderMaterialService.closeSteelOrderType4(orderId);
+        return i;
+    }
+
     //================================================================================================
 //    /**
 //     * 仓储网格数据插入逻辑(!!!非必要情况,千万别打开)

+ 6 - 0
src/main/java/com/steerinfo/dil/feign/JoinFeign.java

@@ -37,4 +37,10 @@ public interface JoinFeign {
     // 减少物资件数同步金蝶接口
     @PostMapping("/api/v1/join/wsface/downMaterialNumber")
     Map<String,Object> downMaterialNumber(@RequestBody Map<String, Object> map);
+
+
+    // 查询车牌号和金蝶分录
+    @PostMapping("/api/v1/join/amssaleorder/selectSaleSteelOrder")
+    Map<String,Object> selectSaleSteelOrder(@RequestBody Map<String,Object> map);
+
 }

+ 30 - 0
src/main/java/com/steerinfo/dil/mapper/OmstrainOrderMapper.java

@@ -0,0 +1,30 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.OmstrainOrder;
+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 OmstrainOrderMapper extends IBaseMapper<OmstrainOrder, BigDecimal> {
+
+    @Select("select seq_OMSTRAIN_ORDER.nextval from dual")
+    BigDecimal getTrainOrder();
+
+    List<Map<String, Object>> getOrderTrainMes(Integer orderId);
+
+    List<Map<String, Object>> getMaterialList(Map<String, Object> map1);
+
+    List<Map<String, Object>> getLuhaoNum(BigDecimal orderId, BigDecimal materialId);
+
+    List<Map<String, Object>> getWagonShippingDetails(Map<String, Object> map);
+
+    String getInwardWarehouse(BigDecimal orderId);
+
+    List<BigDecimal> getTrainOrderIds(BigDecimal orderId);
+
+}

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

@@ -316,7 +316,7 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     Map<String, Object> getInwardOrderMessageToApp(Map<String, Object> map);
 
     //计时订单
-    Map<String, Object> getInwardTimeOrderMessageToApp(Map<String, Object> map);
+    Map<String, Object> getInwardTimeOrderMessageToApp(Map<String, Object> map) throws Exception ;
     //根据运输订单号查找需要用车时长
     Map<String,Object>  selectInwardTimeByOrderId(BigDecimal orderId);
 

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

@@ -59,4 +59,7 @@ public interface OmstruckOrderMaterialMapper extends IBaseMapper<OmstruckOrderMa
     int updateSaleOrderMaterialMes(BigDecimal saleMaterialId, BigDecimal materialNum, BigDecimal newWeight);
 
     Map<String,Object> findDownMaterial(BigDecimal saleMaterialId);
+
+    int updateSteelOrderType4(BigDecimal orderId);
+
 }

+ 10 - 0
src/main/java/com/steerinfo/dil/mapper/TmsttOrderMapper.java

@@ -0,0 +1,10 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.TmsttOrder;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface TmsttOrderMapper extends IBaseMapper<TmsttOrder, BigDecimal> {
+}

+ 259 - 0
src/main/java/com/steerinfo/dil/model/OmstrainOrder.java

@@ -0,0 +1,259 @@
+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 OmstrainOrder implements IBasePO<BigDecimal> {
+    /**
+     * 主键id(ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键id",required=true)
+    private BigDecimal orderId;
+
+    /**
+     * 运单号(ORDER_NO,VARCHAR,50)
+     */
+    @ApiModelProperty(value="运单号",required=false)
+    private String orderNo;
+
+    /**
+     * 车皮号(ORDER_WAGON_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value="车皮号",required=false)
+    private String orderWagonNo;
+
+    /**
+     * 车皮标重(ORDER_WAGON_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="车皮标重",required=false)
+    private BigDecimal orderWagonWeight;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 进站时间(ENSTATION_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="进站时间",required=false)
+    private Date enstationTime;
+
+    /**
+     * 发出时间(OUTSTATION_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="发出时间",required=false)
+    private Date outstationTime;
+
+    /**
+     * 计费吨位(BILLING_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计费吨位",required=false)
+    private BigDecimal billingWeight;
+
+    /**
+     * 是否验收(IS_ACCEPT ,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否验收",required=false)
+    private BigDecimal isAccept;
+
+    /**
+     * 卸货点ID(WAREHOUSE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="卸货点ID",required=false)
+    private BigDecimal warehouseId;
+
+    /**
+     * 草垫根数(STRAWMATS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="草垫根数",required=false)
+    private BigDecimal strawmats;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.orderId;
+    }
+
+    @Override
+    public void setId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo == null ? null : orderNo.trim();
+    }
+
+    public String getOrderWagonNo() {
+        return orderWagonNo;
+    }
+
+    public void setOrderWagonNo(String orderWagonNo) {
+        this.orderWagonNo = orderWagonNo == null ? null : orderWagonNo.trim();
+    }
+
+    public BigDecimal getOrderWagonWeight() {
+        return orderWagonWeight;
+    }
+
+    public void setOrderWagonWeight(BigDecimal orderWagonWeight) {
+        this.orderWagonWeight = orderWagonWeight;
+    }
+
+    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 Date getEnstationTime() {
+        return enstationTime;
+    }
+
+    public void setEnstationTime(Date enstationTime) {
+        this.enstationTime = enstationTime;
+    }
+
+    public Date getOutstationTime() {
+        return outstationTime;
+    }
+
+    public void setOutstationTime(Date outstationTime) {
+        this.outstationTime = outstationTime;
+    }
+
+    public BigDecimal getBillingWeight() {
+        return billingWeight;
+    }
+
+    public void setBillingWeight(BigDecimal billingWeight) {
+        this.billingWeight = billingWeight;
+    }
+
+    public BigDecimal getIsAccept() {
+        return isAccept;
+    }
+
+    public void setIsAccept(BigDecimal isAccept) {
+        this.isAccept = isAccept;
+    }
+
+    public BigDecimal getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(BigDecimal warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public BigDecimal getStrawmats() {
+        return strawmats;
+    }
+
+    public void setStrawmats(BigDecimal strawmats) {
+        this.strawmats = strawmats;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", orderId=").append(orderId);
+        sb.append(", orderNo=").append(orderNo);
+        sb.append(", orderWagonNo=").append(orderWagonNo);
+        sb.append(", orderWagonWeight=").append(orderWagonWeight);
+        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(", enstationTime=").append(enstationTime);
+        sb.append(", outstationTime=").append(outstationTime);
+        sb.append(", billingWeight=").append(billingWeight);
+        sb.append(", isAccept=").append(isAccept);
+        sb.append(", warehouseId=").append(warehouseId);
+        sb.append(", strawmats=").append(strawmats);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 154 - 0
src/main/java/com/steerinfo/dil/model/TmsttOrder.java

@@ -0,0 +1,154 @@
+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 TmsttOrder implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(TT_ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal ttOrderId;
+
+    /**
+     * 汽车运输订单ID(TRUCK_ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="汽车运输订单ID",required=false)
+    private BigDecimal truckOrderId;
+
+    /**
+     * 火车运输订单ID(TRAIN_ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="火车运输订单ID",required=false)
+    private BigDecimal trainOrderId;
+
+    /**
+     * 记录创建人(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;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.ttOrderId;
+    }
+
+    @Override
+    public void setId(BigDecimal ttOrderId) {
+        this.ttOrderId = ttOrderId;
+    }
+
+    public BigDecimal getTtOrderId() {
+        return ttOrderId;
+    }
+
+    public void setTtOrderId(BigDecimal ttOrderId) {
+        this.ttOrderId = ttOrderId;
+    }
+
+    public BigDecimal getTruckOrderId() {
+        return truckOrderId;
+    }
+
+    public void setTruckOrderId(BigDecimal truckOrderId) {
+        this.truckOrderId = truckOrderId;
+    }
+
+    public BigDecimal getTrainOrderId() {
+        return trainOrderId;
+    }
+
+    public void setTrainOrderId(BigDecimal trainOrderId) {
+        this.trainOrderId = trainOrderId;
+    }
+
+    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();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", ttOrderId=").append(ttOrderId);
+        sb.append(", truckOrderId=").append(truckOrderId);
+        sb.append(", trainOrderId=").append(trainOrderId);
+        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(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/service/IOmstrainOrderService.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.service;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+public interface IOmstrainOrderService {
+    int generateOmstrain(Map<String, Object> map) throws IOException;
+
+    List<Map<String, Object>> getOrderTrainMes(Integer orderId);
+
+    List<Map<String, Object>> getWagonShippingDetails(Map<String, Object> map);
+
+
+}

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

@@ -37,4 +37,7 @@ public interface IOmstruckOrderMaterialService {
     int insertSelective(RmsPwarehouseGrid rmsPwarehouseGrid);
 
     int insertGrid();
+
+    int closeSteelOrderType4(BigDecimal orderId);
+
 }

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

@@ -178,10 +178,10 @@ public interface IOmstruckOrderService {
     boolean getDriverConfirmation(Map<String, Object> map);
 
     //通过运输订单号查询订单信息给司机
-    Map<String, Object> getMessageToApp(Map<String, Object> map);
+    Map<String, Object> getMessageToApp(Map<String, Object> map) throws Exception;
 
     //通过车牌号查询所有已下发未接收的订单信息
-    List<Map<String, Object>> getAllOrderMessagesByCapacityNum(Map<String, Object> map);
+    List<Map<String, Object>> getAllOrderMessagesByCapacityNum(Map<String, Object> map) throws Exception;
 
     // 新增采购进口矿订单
     int addInputOrder(Map<String, Object> mapValue);

+ 332 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstrainOrderServiceImpl.java

@@ -0,0 +1,332 @@
+package com.steerinfo.dil.service.impl;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.ctrip.framework.apollo.util.http.HttpUtil;
+import com.steerinfo.dil.feign.JoinFeign;
+import com.steerinfo.dil.mapper.OmstrainOrderMapper;
+import com.steerinfo.dil.mapper.TmsttOrderMapper;
+import com.steerinfo.dil.model.OmstrainOrder;
+import com.steerinfo.dil.model.TmsttOrder;
+import com.steerinfo.dil.service.IOmstrainOrderService;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.HTTPRequestUtils;
+import com.steerinfo.dil.util.getRequestUtils;
+import org.apache.commons.lang3.AnnotationUtils;
+import org.apache.http.HttpEntity;
+import org.springframework.boot.test.web.client.TestRestTemplate;
+import org.springframework.cloud.client.loadbalancer.LoadBalanced;
+import org.springframework.context.annotation.Bean;
+import org.springframework.http.HttpHeaders;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.tools.ant.taskdefs.Get;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+
+import org.springframework.web.client.RestTemplate;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
+
+
+import java.io.EOFException;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.sql.Wrapper;
+import java.util.*;
+
+@Service
+public class OmstrainOrderServiceImpl implements IOmstrainOrderService {
+
+
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Autowired
+    OmstrainOrderMapper omstrainOrderMapper;
+
+    @Autowired
+    TmsttOrderMapper tmsttOrderMapper;
+
+    @Autowired
+    JoinFeign joinFeign;
+
+    private  String guoYuanUrl="http://113.204.217.110:9810/dagang/receiving";
+    //城嘉库登录访问接口
+    private  String chengJiaLoginUrl="http://122.112.226.137:8083/dagon/login";
+    //城嘉库推送数据接口
+    private  String chengJiaSendUrl="http://122.112.226.137:8083/dagon/selectSaleSteelOrder";
+
+    @Bean
+    @LoadBalanced
+    private RestTemplate getRestTemplate() {
+        return new RestTemplate();
+    }
+    @Override
+    @Transactional
+    public int generateOmstrain(Map<String, Object> map) throws IOException {
+        //需要做的事,
+        int i;
+        //1.生成火运订单,
+        OmstrainOrder omstrainOrder = new OmstrainOrder();
+        //获取火运运输订单ID
+        BigDecimal trainOrderId = null;
+        if(map.get("trainOrderId") != null){
+            trainOrderId = DataChange.dataToBigDecimal(map.get("trainOrderId"));
+        }else{
+            //根据运输订单ID去查询火运实绩ID
+            List<BigDecimal> trainOrderIds = omstrainOrderMapper.getTrainOrderIds(DataChange.dataToBigDecimal(map.get("orderId")));
+            if(trainOrderIds.size() > 0){
+                trainOrderId = trainOrderIds.get(0);
+            }else{
+                trainOrderId = omstrainOrderMapper.getTrainOrder();
+            }
+        }
+        //生成运输订单号
+        String trainOrderNumber = DataChange.generateEightDigitsNumber("WHYDD",trainOrderId.intValue());
+        //获取车皮号/进站时间/发出时间
+        if (map.get("wagonNo") != null && !"null".equals(map.get("wagonNo"))){
+            String wagonNo = map.get("wagonNo").toString();
+            omstrainOrder.setOrderWagonNo(wagonNo);
+        }
+        if(map.get("OutStation") != null && !"null".equals(map.get("OutStation"))){
+            long OutStationTime = (long) map.get("OutStation");
+            omstrainOrder.setOutstationTime(new Date(OutStationTime));
+        }
+        if(map.get("EnStation") != null && !"null".equals(map.get("EnStation"))){
+            long EnStationTime = (long) map.get("EnStation");
+            omstrainOrder.setEnstationTime(new Date(EnStationTime));
+        }
+        if (map.get("wagonWeight") != null && !"null".equals(map.get("wagonWeight"))){
+            BigDecimal wagonWeight = DataChange.dataToBigDecimal(map.get("wagonWeight"));
+            omstrainOrder.setOrderWagonWeight(wagonWeight);
+        }
+        if (map.get("wagonBillWeight") != null && !"null".equals(map.get("wagonBillWeight"))){
+            BigDecimal wagonBillWeight = DataChange.dataToBigDecimal(map.get("wagonBillWeight"));
+            omstrainOrder.setBillingWeight(wagonBillWeight);
+        }
+        if(map.get("strawMats") != null){
+            omstrainOrder.setStrawmats(DataChange.dataToBigDecimal(map.get("strawMats")));
+        }
+        if(map.get("unloadPointId") != null){
+            omstrainOrder.setWarehouseId(DataChange.dataToBigDecimal(map.get("unloadPointId")));
+        }
+        omstrainOrder.setId(trainOrderId);
+        omstrainOrder.setOrderNo(trainOrderNumber);
+        omstrainOrder.setInsertTime(new Date());
+        omstrainOrder.setInsertUsername(map.get("personnelSsoId").toString());
+        //初始化是没有验收
+        omstrainOrder.setIsAccept(new BigDecimal(0));
+        //获取汽运运输订单ID
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        //生成火运订单和汽运订单的中间表
+        if (map.get("trainOrderId") == null){
+            TmsttOrder tmsttOrder = new TmsttOrder();
+            tmsttOrder.setId(trainOrderId);
+            tmsttOrder.setTrainOrderId(trainOrderId);
+            tmsttOrder.setTruckOrderId(orderId);
+            tmsttOrder.setInsertTime(new Date());
+            i =+ tmsttOrderMapper.insertSelective(tmsttOrder);
+        }
+        if(map.get("trainOrderId") != null ){
+            i =+ omstrainOrderMapper.updateByPrimaryKeySelective(omstrainOrder);
+        }else{
+            i =+ omstrainOrderMapper.insertSelective(omstrainOrder);
+        }
+        try {
+            Map<String, Object> RemoteMap = joinFeign.selectSaleSteelOrder(map);
+            List<Map<String,Object>> data =(List<Map<String, Object>>) RemoteMap.get("data");
+            //根据汽运订单查找分属于哪个异地库。
+            String inwardWarehouse = omstrainOrderMapper.getInwardWarehouse(orderId);
+            if (inwardWarehouse!=null) {
+                if (inwardWarehouse.contains("重庆金田")) {
+                    for (Map<String,Object> jitianMap:data) {
+                        Map<String, Object> orchardStorehouse = new HashMap<>();
+                        List<Map<String, Object>> orchardStorehouseList = new ArrayList<>();
+                        Object sendTime = jitianMap.get("sendTime");
+                        String transportType = (String) jitianMap.get("transportType");
+                        //发送时间
+                        orchardStorehouse.put("sendTime", sendTime);
+                        //系统代码
+                        orchardStorehouse.put("sysCode", "DGXT");
+                        //仓库代码
+                        orchardStorehouse.put("warehouseCode", "LJJT");
+                        //运输方式
+                        orchardStorehouse.put("transportType", transportType);
+                        //去掉sendTime
+                        jitianMap.remove("sendTime");
+                        jitianMap.remove("transportType");
+
+                        orchardStorehouseList.add(jitianMap);
+                        orchardStorehouse.put("details", orchardStorehouseList);
+                        //调用果园库接口
+                        sendMesToGuoyuan(orchardStorehouse);
+                    }
+                } else if (inwardWarehouse.contains("成都城嘉")) {
+                    //调用城嘉库登录接口获取token
+                    //调用城嘉库推送接口
+                    String token = DagonloginChenJiaku();
+                    if (token != null) {
+                        for (Map<String,Object> map1:data) {
+                            map1.put("token", token);
+                            sendMesToChengJia(map1);
+                        }
+                    } else {
+                        System.out.println("登录城嘉库失败");
+                    }
+
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            return i;
+        }
+
+    }
+
+
+
+
+    /**
+     * 访问城嘉库接口方法
+     * @param
+     * @return
+     */
+    public String DagonloginChenJiaku() throws IOException {
+        Map<String, String> reqMap = new HashMap<>();
+        reqMap.put("username","dagon");
+        reqMap.put("password","147258");
+//        JSONObject jsonObject = new JSONObject();
+//        jsonObject.putAll(reqMap);
+//        Map<String,Object> map=new HashMap<>();
+//        map.put("username","dagon");
+//        map.put("password","147258");
+//        jsonObject.putAll(map);
+//        jsonObject.put("username","dagon");
+//        jsonObject.put("password","147258");
+        String jsonData = null;
+        jsonData = getRequestUtils.doPost(chengJiaLoginUrl,reqMap);
+        if(!"null".equals(jsonData)){
+            System.out.println(jsonData);
+            HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
+            BigDecimal code = DataChange.dataToBigDecimal( hashMap.get("code"));
+            System.out.println(hashMap.get("message"));
+            if(200==code.intValue()){
+                Map<String,Object> result =(Map<String,Object>) hashMap.get("result");
+                String token =(String) result.get("token");
+                return token;
+            }else {
+                System.out.println("推送数据失败"+hashMap.get("message"));
+            }
+        }
+        return null;
+
+
+//        String body = restTemplate.postForEntity(chengJiaLoginUrl, reqMap, String.class).getBody();
+//        System.out.println(body);
+//        return body;
+
+
+    }
+
+
+    /**
+     * 推送数据给城嘉库
+     */
+
+    /**
+     * 访问重庆果园库接口方法
+     * @param map
+     * @return
+     */
+    public int sendMesToChengJia(Map<String, Object> map){
+        String token =(String) map.get("token");
+        Map<String,Object> jsonObject = new HashMap<>();
+        jsonObject.remove(token);
+        jsonObject.putAll(map);
+        String jsonData = null;
+        jsonData = getRequestUtils.doPostAddHeader(chengJiaSendUrl, jsonObject,token);
+        if(!"null".equals(jsonData)){
+            System.out.println(jsonData);
+            HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
+            BigDecimal code = DataChange.dataToBigDecimal(hashMap.get("code"));
+            System.out.println(hashMap.get("message"));
+            if(code.intValue()==200){
+                return 1;
+            }else {
+                System.out.println("推送数据失败"+hashMap.get("message"));
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * 访问重庆果园库接口方法
+     * @param map
+     * @return
+     */
+    public int sendMesToGuoyuan(Map<String, Object> map){
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.putAll(map);
+        String jsonData = null;
+        try {
+            jsonData = HTTPRequestUtils.send(guoYuanUrl, jsonObject, "utf-8");
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        if(!"null".equals(jsonData)){
+            System.out.println(jsonData);
+            HashMap hashMap = JSON.parseObject(jsonData, HashMap.class);
+            BigDecimal code =DataChange.dataToBigDecimal(hashMap.get("code"));
+            System.out.println(hashMap.get("message"));
+            if(code.intValue()==200){
+                return 1;
+            }else {
+                System.out.println("推送数据失败"+hashMap.get("message"));
+            }
+        }
+        return 0;
+    }
+
+    @Override
+    public List<Map<String, Object>> getOrderTrainMes(Integer orderId) {
+        List<Map<String,Object>>mapList = omstrainOrderMapper.getOrderTrainMes(orderId);
+        for(Map<String,Object>map1:mapList){
+            List<Map<String,Object>> materialList = omstrainOrderMapper.getMaterialList(map1);
+            for (Map<String,Object>materialMap:materialList){
+                BigDecimal materialId = DataChange.dataToBigDecimal(materialMap.get("materialId"));
+                //根据运输订单ID和物资ID去查询炉号
+                List<Map<String, Object>> luHaoNumberList = omstrainOrderMapper.getLuhaoNum(new BigDecimal(orderId),materialId);
+                StringBuilder sb = new StringBuilder();
+                for (Map<String, Object> luHaoMap : luHaoNumberList) {
+                    sb.append(luHaoMap.get("materialFurnaceNumber"));
+                    sb.append("-");
+                    sb.append(luHaoMap.get("materialNum"));
+                    sb.append("/");
+                }
+                if(luHaoNumberList.size() > 0){
+                    sb.deleteCharAt(sb.length() - 1);
+                    materialMap.put("luhao",sb.toString());
+                }
+            }
+            map1.put("materialMesList",materialList);
+        }
+        return mapList;
+    }
+
+    @Override
+    public List<Map<String, Object>> getWagonShippingDetails(Map<String, Object> map) {
+
+        return omstrainOrderMapper.getWagonShippingDetails(map);
+    }
+}

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderMaterialServiceImpl.java

@@ -268,6 +268,11 @@ public class OmstruckOrderMaterialServiceImpl implements IOmstruckOrderMaterialS
         return count;
     }
 
+    @Override
+    public int closeSteelOrderType4(BigDecimal orderId) {
+        return omstruckOrderMaterialMapper.updateSteelOrderType4(orderId);
+    }
+
     /**
      * 车牌号
      * @param capacityId

+ 16 - 11
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -11,6 +11,7 @@ import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IOmstruckOrderService;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.EASCapacityTestUtil;
+import com.steerinfo.dil.util.getRequestUtils;
 import io.swagger.models.auth.In;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -81,6 +82,8 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     private static final String judgeInwardFactory = "化工园区铁专线内转";
 
 
+
+
     /**
      * 用于远程调用运输订单新增
      *
@@ -577,12 +580,19 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
         int result=0;
         BigDecimal orderId =DataChange.dataToBigDecimal(map.get("orderId"));
         Map<String, Object> mesMap = omstruckOrderSeparateMapper.getOrderMesByOrderId(orderId);
-        if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1){
+        if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 1||DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() == 4){
             throw new Exception("钢材订单不允许撤销!");
         }
         if(DataChange.dataToBigDecimal(mesMap.get("lineSqe")).intValue() >= 1){
             throw new Exception("撤单失败");
         }
+        //获取运输订单号
+        String orderNumber = (String) mesMap.get("orderNumber");
+        //撤销订单的同时删除计量数据
+        String url = "http://172.16.33.122:44325/api/logistics/delEntrust";
+        String sendUrl = url + "?orderNumber=" + orderNumber;
+        String jsonData = getRequestUtils.doGet(sendUrl);
+        System.out.println(jsonData);
         BigDecimal orderPlanId = DataChange.dataToBigDecimal(mesMap.get("orderPlanId"));
         int orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("resultTotalId"));
@@ -860,7 +870,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 throw new RuntimeException("订单已被接收或已被拒绝!");
             }
             int orderType = DataChange.dataToBigDecimal(orderMessage.get("orderType")).intValue();
-            if(orderType == 1||orderType==4){
+            if(orderType == 1){
                 //订阅车辆 查询车牌号
                 String capacityNumber = omstruckOrderMapper.getCapacityNumberByCapacityId(DataChange.dataToBigDecimal(orderMessage.get("capacityId")));
                 Map<String, Object> subMap = new HashMap<>();
@@ -894,10 +904,6 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             }else if(orderType!=21){
                 //添加各个实绩
                 omstruckOrderSeparateService.addAllSonResult(orderMessage);
-            }
-            //如果订单类型为4发送钢材空委托给计量系统
-            if (orderType==4){
-
             }
             //判断订单是否是一车多单
             if (orderType ==12 || orderType ==13 || orderType ==14 || orderType ==19) {
@@ -1986,11 +1992,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
             BigDecimal orderLineSequence = DataChange.dataToBigDecimal(seqMap.get("orderLineSequence"));
             BigDecimal maxSegmentSqe = DataChange.dataToBigDecimal(seqMap.get("segmentSqe"));
             int i = maxSegmentSqe.intValue() - orderLineSequence.intValue();
-            if( i != 1){
+            if( i != 1 && i != 2){
                 return 0;
             }
         }
-
         omstruckOrder.setOrderId(orderId);
         //设置司机确认订单
         omstruckOrder.setDriverConfirmation(new BigDecimal(1));
@@ -2015,7 +2020,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      * @param map
      * @return
      */
-    public Map<String, Object> getMessageToApp(Map<String, Object> map){
+    public Map<String, Object> getMessageToApp(Map<String, Object> map) throws Exception {
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         Integer orderType;
         //获取订单类型
@@ -2080,7 +2085,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
                 mesMap.put("inwardType", "内转计重");
                 break;
             case 21:
-                mesMap = omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
+                mesMap =omstruckOrderMapper.getInwardTimeOrderMessageToApp(map);
                 mesMap.put("inwardType", "内转计时");
                 break;
             case 12:
@@ -2103,7 +2108,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
      * @param map
      * @return
      */
-    public List<Map<String, Object>> getAllOrderMessagesByCapacityNum(Map<String, Object> map){
+    public List<Map<String, Object>> getAllOrderMessagesByCapacityNum(Map<String, Object> map) throws Exception {
         String capacityNumber = (String) map.get("capacityNumber");
         //通过车牌号查询所有未下发的订单ID
         List<Map<String, Object>> orderMesList = omstruckOrderMapper.getOrderIdListByCapacityNumber(capacityNumber);

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

@@ -256,4 +256,34 @@ public class DataChange {
         );
         return sb.toString();
     }
+
+    /**
+     * 只支持两个时间查询
+     * @Author TXF
+     * @Date 2022/1/15 9:08
+     * @param startTime
+     * @param endTime
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDateTimeYestDay(String startTime, String endTime, Map<String, Object> map,SimpleDateFormat sdf){
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime))));
+        }
+        //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
+        else if((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))){
+            if(startTime != null && !"null".equals(startTime)){
+                queryDataByTwoDateSon(map, startTime, sdfDate);
+            }
+            if(endTime != null && !"null".equals(endTime)){
+                queryDataByTwoDateSon(map, endTime, sdfDate);
+            }
+        }else {
+            //如果两者时间都为空,则查询当天和昨天数据
+            String yesDate = sdfDate.format(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24));
+            map.put("oneDate", yesDate + " 08:00:00");
+        }
+    }
 }

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

@@ -0,0 +1,174 @@
+package com.steerinfo.dil.util;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.http.HttpEntity;
+import org.apache.http.ParseException;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EntityUtils;
+import org.springframework.util.MultiValueMap;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.Map;
+
+public class HTTPRequestUtils {
+    /**
+     * 发送post请求
+     * @param url  路径
+     * @param json  参数(json类型)
+     * @param encoding 编码格式
+     * @return
+     * @throws ParseException
+     * @throws IOException
+     */
+    public static String send(String url, JSONObject json, String encoding) throws ParseException, IOException {
+        String body = "";
+
+        //创建httpclient对象
+        CloseableHttpClient client = HttpClients.createDefault();
+        //创建post方式请求对象
+        HttpPost httpPost = new HttpPost(url);
+
+        //装填参数
+        StringEntity s = new StringEntity(json.toString(), "utf-8");
+        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
+        //设置参数到请求对象中
+        httpPost.setEntity(s);
+        System.out.println("请求地址:" + url);
+        System.out.println(json);
+//        System.out.println("请求参数:"+nvps.toString());
+
+        //设置header信息
+        //指定报文头【Content-type】、【User-Agent】
+//        httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
+        httpPost.setHeader("Content-type", "application/json");
+        httpPost.setHeader("-UserAgent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+
+        //执行请求操作,并拿到结果(同步阻塞)
+        CloseableHttpResponse response = client.execute(httpPost);
+        System.out.println(response);
+        //获取结果实体
+        HttpEntity entity = response.getEntity();
+        System.out.println(entity);
+        if (entity != null) {
+            //按指定编码转换结果实体为String类型
+            body = EntityUtils.toString(entity, encoding);
+        }
+        EntityUtils.consume(entity);
+        //释放链接
+        response.close();
+        return body;
+    }
+
+
+    public static String sendFormData(String url, JSONObject json, String encoding,String hearder) throws ParseException, IOException {
+        String body = "";
+
+        //创建httpclient对象
+        CloseableHttpClient client = HttpClients.createDefault();
+        //创建post方式请求对象
+        HttpPost httpPost = new HttpPost(url);
+
+        //装填参数
+        StringEntity s = new StringEntity(json.toString(), "utf-8");
+        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
+        //设置参数到请求对象中
+        httpPost.setEntity(s);
+        System.out.println("请求地址:" + url);
+        System.out.println(json);
+//        System.out.println("请求参数:"+nvps.toString());
+
+        //设置header信息
+        //指定报文头【Content-type】、【User-Agent】
+//        httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
+        httpPost.setHeader("Content-type", "application/json");
+        httpPost.setHeader("X-Access-Token",hearder);
+        httpPost.setHeader("-UserAgent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+
+        //执行请求操作,并拿到结果(同步阻塞)
+        CloseableHttpResponse response = client.execute(httpPost);
+        System.out.println(response);
+        //获取结果实体
+        HttpEntity entity = response.getEntity();
+        System.out.println(entity);
+        if (entity != null) {
+            //按指定编码转换结果实体为String类型
+            body = EntityUtils.toString(entity, encoding);
+        }
+        EntityUtils.consume(entity);
+        //释放链接
+        response.close();
+        return body;
+    }
+
+
+    public static String getJsonData(JSONObject jsonParam,String urls) {
+        StringBuffer sb=new StringBuffer();
+        try {
+            // 创建url资源
+            URL url = new URL(urls);
+            // 建立http连接
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+            // 设置允许输出
+            conn.setDoOutput(true);
+            // 设置允许输入
+            conn.setDoInput(true);
+            // 设置不用缓存
+            conn.setUseCaches(false);
+            // 设置传递方式
+            conn.setRequestMethod("POST");
+            // 设置维持长连接
+            conn.setRequestProperty("Connection", "Keep-Alive");
+            // 设置文件字符集:
+            conn.setRequestProperty("Charset", "UTF-8");
+            // 转换为字节数组
+            byte[] data = (jsonParam.toString()).getBytes();
+            // 设置文件长度
+            conn.setRequestProperty("Content-Length", String.valueOf(data.length));
+            // 设置文件类型:
+            conn.setRequestProperty("contentType", "application/json");
+            // 开始连接请求
+            conn.connect();
+            OutputStream out = new DataOutputStream(conn.getOutputStream()) ;
+            // 写入请求的字符串
+            out.write((jsonParam.toString()).getBytes());
+            out.flush();
+            out.close();
+            System.out.println(conn.getResponseCode());
+
+            // 请求返回的状态
+            if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){
+                System.out.println("连接成功");
+                // 请求返回的数据
+                InputStream in1 = conn.getInputStream();
+                try {
+                    String readLine = new String();
+                    BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
+                    while((readLine=responseReader.readLine())!=null){
+                        sb.append(readLine).append("\n");
+                    }
+                    responseReader.close();
+                    System.out.println(sb.toString());
+
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            } else {
+                System.out.println("error++");
+            }
+        } catch (Exception e) {
+
+        }
+        return sb.toString();
+
+    }
+
+
+}

+ 186 - 0
src/main/java/com/steerinfo/dil/util/getRequestUtils.java

@@ -0,0 +1,186 @@
+package com.steerinfo.dil.util;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpHeaders;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.springframework.http.MediaType;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+
+/**
+ * @author zx
+ * @Description:
+ * @CreateTime 2022/6/23 18:35
+ * @Version:1.0
+ */
+public class getRequestUtils {
+    public static String doPost(String url, Map<String, String> param) {
+        // 创建Httpclient对象
+        CloseableHttpClient httpClient = HttpClients.createDefault();
+        CloseableHttpResponse response = null;
+        String resultString = "";
+        try {
+            // 创建Http Post请求
+            HttpPost httpPost = new HttpPost(url);
+            // 创建参数列表
+            if (param != null) {
+                List<NameValuePair> paramList = new ArrayList<>();
+                for (String key : param.keySet()) {
+                    paramList.add(new BasicNameValuePair(key, param.get(key)));
+                }
+                // 模拟表单
+                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
+                httpPost.setEntity(entity);
+            }
+            // 执行http请求
+            response = httpClient.execute(httpPost);
+            resultString = EntityUtils.toString(response.getEntity(), "utf-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                response.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return resultString;
+    }
+
+
+    public static String doPostAddHeader(String url, Map<String, Object> param,String hearder) {
+        // 创建Httpclient对象
+        CloseableHttpClient httpClient = HttpClients.createDefault();
+        CloseableHttpResponse response = null;
+        String resultString = "";
+        try {
+            // 创建Http Post请求
+            HttpPost httpPost = new HttpPost(url);
+            httpPost.setHeader("X-Access-Token",hearder);
+            MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
+            //  请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交
+
+//            httpPost.setHeader("Content-Type", String.valueOf(type));
+            // 创建参数列表
+            if (param != null) {
+                List<NameValuePair> paramList = new ArrayList<>();
+                for (Object key : param.keySet()) {
+                    paramList.add(new BasicNameValuePair( key+"",  param.get(key)+""));
+                }
+                System.out.println(paramList);
+                // 模拟表单
+                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList,"UTF-8");
+                httpPost.setEntity(entity);
+                System.out.println("输出表单"+entity);
+            }
+            // 执行http请求
+            response = httpClient.execute(httpPost);
+            resultString = EntityUtils.toString(response.getEntity(), "utf-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                response.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return resultString;
+    }
+
+
+
+
+    /**
+     * 以get方式调用对方接口方法
+     * @param pathUrl
+     */
+    public static String doGet(String pathUrl){
+        BufferedReader br = null;
+        String result = "";
+        try {
+            URL url = new URL(pathUrl);
+
+            //打开和url之间的连接
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+
+            //设定请求的方法为"GET",默认是GET
+            //post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
+            conn.setRequestMethod("GET");
+
+            //设置30秒连接超时
+            conn.setConnectTimeout(30000);
+            //设置30秒读取超时
+            conn.setReadTimeout(30000);
+
+            // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true, 默认情况下是false;
+            conn.setDoOutput(true);
+            // 设置是否从httpUrlConnection读入,默认情况下是true;
+            conn.setDoInput(true);
+
+            // Post请求不能使用缓存(get可以不使用)
+            conn.setUseCaches(false);
+
+            //设置通用的请求属性
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");  //维持长链接
+            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+
+            //连接,从上述url.openConnection()至此的配置必须要在connect之前完成,
+            conn.connect();
+
+            /**
+             * 下面的代码相当于,获取调用第三方http接口后返回的结果
+             */
+            //获取URLConnection对象对应的输入流
+            InputStream is = conn.getInputStream();
+            //构造一个字符流缓存
+            br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
+            String str = "";
+            while ((str = br.readLine()) != null){
+                result += str;
+            }
+            System.out.println(result);
+            //关闭流
+            is.close();
+            //断开连接,disconnect是在底层tcp socket链接空闲时才切断,如果正在被其他线程使用就不切断。
+            conn.disconnect();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            try {
+                if (br != null){
+                    br.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return result;
+    }
+
+
+
+
+}

+ 1 - 1
src/main/resources/application-prod.yml

@@ -18,7 +18,7 @@ spring:
 #feign设置
 openfeign:
   ColumnDataFeign:
-    url: ${COLUMNDATAFEIGN_URL:172.16.33.161:8083}
+    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   TmsTruckFeign:
     url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8088}
   AmsFeign:

+ 639 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstrainOrderMapper.xml

@@ -0,0 +1,639 @@
+<?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.OmstrainOrderMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.OmstrainOrder">
+    <id column="ORDER_ID" jdbcType="DECIMAL" property="orderId" />
+    <result column="ORDER_NO" jdbcType="VARCHAR" property="orderNo" />
+    <result column="ORDER_WAGON_NO" jdbcType="VARCHAR" property="orderWagonNo" />
+    <result column="ORDER_WAGON_WEIGHT" jdbcType="DECIMAL" property="orderWagonWeight" />
+    <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="ENSTATION_TIME" jdbcType="TIMESTAMP" property="enstationTime" />
+    <result column="OUTSTATION_TIME" jdbcType="TIMESTAMP" property="outstationTime" />
+    <result column="BILLING_WEIGHT" jdbcType="DECIMAL" property="billingWeight" />
+    <result column="IS_ACCEPT " jdbcType="DECIMAL" property="isAccept" />
+    <result column="WAREHOUSE_ID" jdbcType="DECIMAL" property="warehouseId" />
+    <result column="STRAWMATS" jdbcType="DECIMAL" property="strawmats" />
+  </resultMap>
+  <sql id="columns">
+    ORDER_ID, ORDER_NO, ORDER_WAGON_NO, ORDER_WAGON_WEIGHT, INSERT_USERNAME, INSERT_TIME, 
+    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, ENSTATION_TIME, OUTSTATION_TIME, 
+    BILLING_WEIGHT, "IS_ACCEPT ", WAREHOUSE_ID, STRAWMATS
+  </sql>
+  <sql id="columns_alias">
+    t.ORDER_ID, t.ORDER_NO, t.ORDER_WAGON_NO, t.ORDER_WAGON_WEIGHT, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.ENSTATION_TIME, 
+    t.OUTSTATION_TIME, t.BILLING_WEIGHT, t."IS_ACCEPT ", t.WAREHOUSE_ID, t.STRAWMATS
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM OMSTRAIN_ORDER
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM OMSTRAIN_ORDER t
+  </sql>
+  <sql id="where">
+    <where>
+      <if test="orderId != null">
+        and ORDER_ID = #{orderId}
+      </if>
+      <if test="orderNo != null and orderNo != ''">
+        and ORDER_NO = #{orderNo}
+      </if>
+      <if test="orderWagonNo != null and orderWagonNo != ''">
+        and ORDER_WAGON_NO = #{orderWagonNo}
+      </if>
+      <if test="orderWagonWeight != null">
+        and ORDER_WAGON_WEIGHT = #{orderWagonWeight}
+      </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="enstationTime != null">
+        and TO_CHAR(ENSTATION_TIME,'yyyy-MM-dd') = #{enstationTime}
+      </if>
+      <if test="outstationTime != null">
+        and TO_CHAR(OUTSTATION_TIME,'yyyy-MM-dd') = #{outstationTime}
+      </if>
+      <if test="billingWeight != null">
+        and BILLING_WEIGHT = #{billingWeight}
+      </if>
+      <if test="isAccept != null">
+        and IS_ACCEPT  = #{isAccept}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="strawmats != null">
+        and STRAWMATS = #{strawmats}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where>
+      <if test="orderId != null">
+        and ORDER_ID = #{orderId}
+      </if>
+      <if test="orderNo != null and orderNo != ''">
+        and ORDER_NO LIKE '%${orderNo}%'
+      </if>
+      <if test="orderWagonNo != null and orderWagonNo != ''">
+        and ORDER_WAGON_NO LIKE '%${orderWagonNo}%'
+      </if>
+      <if test="orderWagonWeight != null">
+        and ORDER_WAGON_WEIGHT = #{orderWagonWeight}
+      </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="enstationTime != null">
+        and TO_CHAR(ENSTATION_TIME,'yyyy-MM-dd') = #{enstationTime}
+      </if>
+      <if test="outstationTime != null">
+        and TO_CHAR(OUTSTATION_TIME,'yyyy-MM-dd') = #{outstationTime}
+      </if>
+      <if test="billingWeight != null">
+        and BILLING_WEIGHT = #{billingWeight}
+      </if>
+      <if test="isAccept != null">
+        and IS_ACCEPT  = #{isAccept}
+      </if>
+      <if test="warehouseId != null">
+        and WAREHOUSE_ID = #{warehouseId}
+      </if>
+      <if test="strawmats != null">
+        and STRAWMATS = #{strawmats}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+    delete from OMSTRAIN_ORDER
+    where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from OMSTRAIN_ORDER
+    where 1!=1
+    <if test="orderNo != null and orderNo != ''">
+      or ORDER_NO = #{orderNo}
+    </if>
+    <if test="orderWagonNo != null and orderWagonNo != ''">
+      or ORDER_WAGON_NO = #{orderWagonNo}
+    </if>
+    <if test="orderWagonWeight != null">
+      or ORDER_WAGON_WEIGHT = #{orderWagonWeight}
+    </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="enstationTime != null">
+      or TO_CHAR(ENSTATION_TIME,'yyyy-MM-dd') = '#{enstationTime}'
+    </if>
+    <if test="outstationTime != null">
+      or TO_CHAR(OUTSTATION_TIME,'yyyy-MM-dd') = '#{outstationTime}'
+    </if>
+    <if test="billingWeight != null">
+      or BILLING_WEIGHT = #{billingWeight}
+    </if>
+    <if test="isAccept != null">
+      or IS_ACCEPT  = #{isAccept}
+    </if>
+    <if test="warehouseId != null">
+      or WAREHOUSE_ID = #{warehouseId}
+    </if>
+    <if test="strawmats != null">
+      or STRAWMATS = #{strawmats}
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.OmstrainOrder">
+    insert into OMSTRAIN_ORDER (ORDER_ID, ORDER_NO, ORDER_WAGON_NO,
+                                ORDER_WAGON_WEIGHT, INSERT_USERNAME, INSERT_TIME,
+                                UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+                                ENSTATION_TIME, OUTSTATION_TIME, BILLING_WEIGHT,
+                                "IS_ACCEPT ", WAREHOUSE_ID, STRAWMATS
+    )
+    values (#{orderId,jdbcType=DECIMAL}, #{orderNo,jdbcType=VARCHAR}, #{orderWagonNo,jdbcType=VARCHAR},
+            #{orderWagonWeight,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+            #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
+            #{enstationTime,jdbcType=TIMESTAMP}, #{outstationTime,jdbcType=TIMESTAMP}, #{billingWeight,jdbcType=DECIMAL},
+            #{isAccept,jdbcType=DECIMAL}, #{warehouseId,jdbcType=DECIMAL}, #{strawmats,jdbcType=DECIMAL}
+           )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstrainOrder">
+    insert into OMSTRAIN_ORDER
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="orderId != null">
+        ORDER_ID,
+      </if>
+      <if test="orderNo != null">
+        ORDER_NO,
+      </if>
+      <if test="orderWagonNo != null">
+        ORDER_WAGON_NO,
+      </if>
+      <if test="orderWagonWeight != null">
+        ORDER_WAGON_WEIGHT,
+      </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="enstationTime != null">
+        ENSTATION_TIME,
+      </if>
+      <if test="outstationTime != null">
+        OUTSTATION_TIME,
+      </if>
+      <if test="billingWeight != null">
+        BILLING_WEIGHT,
+      </if>
+      <if test="isAccept != null">
+        "IS_ACCEPT ",
+      </if>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID,
+      </if>
+      <if test="strawmats != null">
+        STRAWMATS,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="orderId != null">
+        #{orderId,jdbcType=DECIMAL},
+      </if>
+      <if test="orderNo != null">
+        #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="orderWagonNo != null">
+        #{orderWagonNo,jdbcType=VARCHAR},
+      </if>
+      <if test="orderWagonWeight != null">
+        #{orderWagonWeight,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="enstationTime != null">
+        #{enstationTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="outstationTime != null">
+        #{outstationTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="billingWeight != null">
+        #{billingWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="isAccept != null">
+        #{isAccept,jdbcType=DECIMAL},
+      </if>
+      <if test="warehouseId != null">
+        #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="strawmats != null">
+        #{strawmats,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstrainOrder">
+    update OMSTRAIN_ORDER
+    set ORDER_NO = #{orderNo,jdbcType=VARCHAR},
+        ORDER_WAGON_NO = #{orderWagonNo,jdbcType=VARCHAR},
+        ORDER_WAGON_WEIGHT = #{orderWagonWeight,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},
+        ENSTATION_TIME = #{enstationTime,jdbcType=TIMESTAMP},
+        OUTSTATION_TIME = #{outstationTime,jdbcType=TIMESTAMP},
+        BILLING_WEIGHT = #{billingWeight,jdbcType=DECIMAL},
+        "IS_ACCEPT " = #{isAccept,jdbcType=DECIMAL},
+        WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+        STRAWMATS = #{strawmats,jdbcType=DECIMAL}
+    where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstrainOrder">
+    update OMSTRAIN_ORDER
+    <set>
+      <if test="orderNo != null">
+        ORDER_NO = #{orderNo,jdbcType=VARCHAR},
+      </if>
+      <if test="orderWagonNo != null">
+        ORDER_WAGON_NO = #{orderWagonNo,jdbcType=VARCHAR},
+      </if>
+      <if test="orderWagonWeight != null">
+        ORDER_WAGON_WEIGHT = #{orderWagonWeight,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="enstationTime != null">
+        ENSTATION_TIME = #{enstationTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="outstationTime != null">
+        OUTSTATION_TIME = #{outstationTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="billingWeight != null">
+        BILLING_WEIGHT = #{billingWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="isAccept != null">
+        "IS_ACCEPT " = #{isAccept,jdbcType=DECIMAL},
+      </if>
+      <if test="warehouseId != null">
+        WAREHOUSE_ID = #{warehouseId,jdbcType=DECIMAL},
+      </if>
+      <if test="strawmats != null">
+        STRAWMATS = #{strawmats,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+    <include refid="select" />
+    where ORDER_ID = #{orderId,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 OMSTRAIN_ORDER
+    (ORDER_ID,
+    ORDER_NO, ORDER_WAGON_NO, ORDER_WAGON_WEIGHT,
+    INSERT_USERNAME, INSERT_TIME,
+    UPDATE_USERNAME, UPDATE_TIME,
+    INSERT_UPDATE_REMARK, ENSTATION_TIME,
+    OUTSTATION_TIME, BILLING_WEIGHT,
+    "IS_ACCEPT ", WAREHOUSE_ID, STRAWMATS
+    )
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.orderId,jdbcType=DECIMAL},
+    #{item.orderNo,jdbcType=VARCHAR}, #{item.orderWagonNo,jdbcType=VARCHAR}, #{item.orderWagonWeight,jdbcType=DECIMAL},
+    #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+    #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+    #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.enstationTime,jdbcType=TIMESTAMP},
+    #{item.outstationTime,jdbcType=TIMESTAMP}, #{item.billingWeight,jdbcType=DECIMAL},
+    #{item.isAccept,jdbcType=DECIMAL}, #{item.warehouseId,jdbcType=DECIMAL}, #{item.strawmats,jdbcType=DECIMAL}
+    from dual
+  </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+    update OMSTRAIN_ORDER
+    set
+    ORDER_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.orderId,jdbcType=DECIMAL}
+    </foreach>
+    ,ORDER_NO=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.orderNo,jdbcType=VARCHAR}
+    </foreach>
+    ,ORDER_WAGON_NO=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.orderWagonNo,jdbcType=VARCHAR}
+    </foreach>
+    ,ORDER_WAGON_WEIGHT=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.orderWagonWeight,jdbcType=DECIMAL}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,ENSTATION_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.enstationTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,OUTSTATION_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.outstationTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,BILLING_WEIGHT=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.billingWeight,jdbcType=DECIMAL}
+    </foreach>
+    ,"IS_ACCEPT "=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.isAccept,jdbcType=DECIMAL}
+    </foreach>
+    ,WAREHOUSE_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.warehouseId,jdbcType=DECIMAL}
+    </foreach>
+    ,STRAWMATS=
+    <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+      when #{item.orderId,jdbcType=DECIMAL} then #{item.strawmats,jdbcType=DECIMAL}
+    </foreach>
+    where ORDER_ID in
+    <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+      #{item.orderId,jdbcType=DECIMAL}
+    </foreach>
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from OMSTRAIN_ORDER
+    where ORDER_ID in
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <select id="getOrderTrainMes" resultType="java.util.Map" parameterType="java.lang.Integer">
+    SELECT
+    OO.ORDER_ID "orderId",
+    OO.ORDER_TYPE "orderType",
+    OO.ORDER_LINE_SEQUENCE "orderLineSequence",
+    OO.ORDER_NUMBER "orderNumber",
+    RC.CAPACITY_NUMBER "capacityNumber",
+    RS.SHIPPER_NAME "shipperName",
+    ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
+    ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
+    RC2.CONSIGNEE_COMPANY_NAME "consigneeCompanyNames",
+    CONCAT(CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),RDA.ADDRESS_DELIVERY_ADDRESS ),RRP.ADDRESS_DELIVERY_ADDRESS) "receiveAddressName",
+    TTR.RESULT_TOTAL_ID "resultTotalId",
+    OO.CAN_WORK "canWork",
+    OO.ORDER_STATUS "orderStatus",
+    OTO.ORDER_ID    "trainOrderId",
+    OTO.ORDER_WAGON_NO  "wagonNo",
+    to_char(OTO.ENSTATION_TIME,'yyyy-mm-dd') "enStationTime",
+    to_char(OTO.OUTSTATION_TIME,'yyyy-mm-dd') "outStationTime",
+    RW.WAREHOUSE_NAME   "sendStation",
+    RW.WAREHOUSE_ID     "sendStationId"
+    FROM
+    OMSTRUCK_ORDER OO
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+    LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+    LEFT JOIN RMS_CONSIGNEE RC2 ON ASO.RECEIVE_ID = RC2.CONSIGNEE_ID
+    LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
+    LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RDA ON RDA.ADDRESS_ID = RRP.ADDRESS_ID
+    LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON OO.ORDER_ID = TTR.ORDER_ID
+    LEFT JOIN TMSTT_ORDER   TTO ON TTO.TRUCK_ORDER_ID = OO.ORDER_ID
+    LEFT JOIN OMSTRAIN_ORDER  OTO ON OTO.ORDER_ID = TTO.TRAIN_ORDER_ID
+    LEFT JOIN RMS_PWAREHOUSE_GRID RPG ON RPG.STACKING_ID = OO.ORDER_ID
+    LEFT JOIN RMS_WAREHOUSE RW ON RW.WAREHOUSE_ID = RPG.WAREHOUSE_ID
+    WHERE
+    OO.ORDER_ID = #{orderId}
+  </select>
+
+ <!-- 根据运输订单id查找调入仓库 -->
+  <select id="getInwardWarehouse" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+    SELECT
+          distinct RISW.INWARD_WAREHOUSE_NAME "inwardWarehouseName"
+    FROM
+      OMSTRUCK_ORDER OO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        left join AMS_SALE_MATERIAL ASM  ON ASO.SALE_ORDER_ID = ASM.SALE_ORDER_ID
+        LEFT JOIN RMS_INWARD_STEEL_WAREHOUSE RISW  ON ASM.TRANSFER_IN_OF_WAREHOUSE = RISW.INWARD_WAREHOUSE_CODE
+    WHERE
+      OO.ORDER_ID = #{orderId}
+  </select>
+
+
+
+  <select id="getMaterialList" resultType="java.util.Map" parameterType="java.util.Map">
+    SELECT RM.MATERIAL_ID "materialId",
+           RM.MATERIAL_NAME||'-'||RM.MATERIAL_SPECIFICATION||'('||RM.MATERIAL_SPECIFICATION||')'||'-'||OOM.ORDER_MATERIAL_NUMBER||'件' "materialName"
+    FROM OMSTRUCK_ORDER_MATERIAL OOM
+    LEFT JOIN RMS_MATERIAL RM
+    ON RM.MATERIAL_ID = OOM.MATERIAL_ID
+    WHERE OOM.ORDER_ID = #{orderId}
+  </select>
+  <select id="getLuhaoNum" resultType="java.util.Map" parameterType="decimal">
+    SELECT
+      RMS.MATERIAL_FURNACE_NUMBER "materialFurnaceNumber",
+      COUNT( WOSR.RESULT_ID ) "materialNum"
+    FROM
+      WMSP_OUTBOUND_RESULT WOR
+        LEFT JOIN WMSP_OUTBOUND_RESULT_MATERIAL WORM ON WORM.OUTBOUND_RESULT_ID = WOR.RESULT_ID
+        LEFT JOIN WMSP_OUTBOUND_SCAN_RESULT WOSR ON WORM.RESULT_MATERIAL_ID = WOSR.RESULT_MATERIAL_ID
+        LEFT JOIN WMSP_INBOUND_RESULT WIR ON WOSR.INBOUND_RESULT_ID = WIR.INBOUND_ID
+        LEFT JOIN RMS_MATERIAL_STEEL RMS ON WIR.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+    WHERE WOR.BILL_LADING_ID = #{orderId}
+      AND WORM.MATERIAL_ID = #{materialId}
+    GROUP BY
+      RMS.MATERIAL_FURNACE_NUMBER
+  </select>
+  <select id="getWagonShippingDetails" resultType="java.util.Map" parameterType="java.util.Map">
+    SELECT * FROM (SELECT DISTINCT OO.ORDER_ID                                    "orderId",
+                                   ASO.SALE_ORDER_ID                              "saleOrderId",
+                                   ASO.SALE_NUMBER                                "saleOrderNo",
+                                   ASM.SALE_MATERIAL_ID                           "saleMaterialId",
+                                   ASM.MATERIAL_NUMBER                            "materialNum",
+                                   ASM.METER_WEIGHT                               "theoryWeight",
+                                   ASM.EAS_PRIMARY_ID                             "closeEntryId",
+                                   RC.CONSIGNEE_COMPANY_NAME                      "consigneeName",
+                                   RS.SHIPPER_NAME                                "shipperName",
+                                   RM.MATERIAL_ID                                 "materialId",
+                                   RM.MATERIAL_NAME                               "materialName",
+                                   RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpa",
+                                   OTO.ORDER_NO                                   "orderNum",
+                                   TWR.RESULT_NET_WEIGHT                          "materialWeight",
+                                   to_char(OTO.OUTSTATION_TIME,'yyyy-mm-dd')      "OutStation",
+                                   to_char(OTO.ENSTATION_TIME,'yyyy-mm-dd')       "EnStation",
+                                   OTO.ORDER_WAGON_NO                             "wagonNo",
+                                   OTO.ORDER_WAGON_WEIGHT                         "wagonWeight",
+                                   OTO.BILLING_WEIGHT                             "wagonBillWeight",
+                                   RAR1.ARRIVAL_NAME                              "arrivalStation",
+                                   RAR.ARRIVAL_NAME                               "sendStation",
+                                   ASO.SALE_REMARK                                "orderType",
+                                   OTO.ORDER_ID                                    "trainOrderId",
+                                   RPG.GRID_ID                                      "gridId",
+                                   decode(wgm.DELETED,0,'入库',1,'出库','未入库')      "wgmDelete",
+                                   R_CAPACITY.CAPACITY_NUMBER                       "capacityNum",
+                                   RW.WAREHOUSE_NAME                                "unloadPoint",
+                                   RAR1.RAILWAY_BUREAU                              "railwayBureau",
+                                   OTO.STRAWMATS                                    "strawMats",
+                                   TWR.RESULT_POUND_NO                              "number"
+                   FROM AMS_SALE_ORDER ASO
+                          LEFT JOIN RMS_CONSIGNEE RC ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                          LEFT JOIN RMS_SHIPPER RS ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                          LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                          LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+                                    ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                          LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                                    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                          LEFT JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+                          LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+                          LEFT JOIN TMSTRAIN_PLEASE_APPROVE_RESULT TPAR ON TPAR.RAIL_PLAN_ID = ASM.SALE_MATERIAL_ID
+                          LEFT JOIN RMSTRAIN_ARRIVAL_SEND RAR ON RAR.ARRIVAL_ID = TPAR.SEND_STATION_ID
+                          LEFT JOIN RMSTRAIN_ARRIVAL_SEND RAR1 ON RAR1.ARRIVAL_ID = TPAR.TO_THE_STATION_ID
+                          LEFT JOIN OMSTRUCK_ORDER OO ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                          LEFT JOIN RMS_CAPACITY   R_CAPACITY ON  R_CAPACITY.CAPACITY_ID = OO.CAPACITY_ID
+                          LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
+                          LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                                    AND TWR.MATERIAL_ID = RM.MATERIAL_ID
+                          LEFT JOIN TMSTT_ORDER TTO ON TTO.TRUCK_ORDER_ID = OO.ORDER_ID
+                          LEFT JOIN OMSTRAIN_ORDER OTO ON OTO.ORDER_ID = TTO.TRAIN_ORDER_ID
+                          LEFT JOIN RMS_PWAREHOUSE_GRID RPG ON RPG.STACKING_ID = OO.ORDER_ID
+                          LEFT JOIN WMSP_GRID_MATERIAL  WGM ON WGM.GRID_ID = RPG.GRID_ID
+                                    and wgm.MATERIAL_ID = rm.MATERIAL_ID
+                          LEFT JOIN RMS_WAREHOUSE   RW ON RW.WAREHOUSE_ID = OTO.WAREHOUSE_ID
+                          WHERE ASO.SALE_TYPE = 4
+                          <if test="oneDate != null">
+                            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = ASO.INSERT_TIME
+                          </if>
+                          <if test="startDate != null">
+                            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ASO.INSERT_TIME
+                            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASO.INSERT_TIME
+                          </if>
+                          <if test="wagonNo != null">
+                            and OTO.ORDER_WAGON_NO like #{wagonNo}
+                          </if>
+                          <if test="consigneeName != null">
+                            and RC.CONSIGNEE_COMPANY_NAME like #{consigneeName}
+                          </if>
+                          <if test="toTheStation != null">
+                            and RAR1.ARRIVAL_NAME like #{toTheStation}
+                          </if>
+                          <if test="sendStation != null">
+                            and RAR.ARRIVAL_NAME  like #{sendStation}
+                          </if>
+                          )
+  </select>
+    <select id="getTrainOrderIds" resultType="java.math.BigDecimal" parameterType="decimal">
+      SELECT OO.ORDER_ID FROM TMSTT_ORDER TTO
+        LEFT JOIN OMSTRAIN_ORDER OO
+        ON OO.ORDER_ID = TTO.TRAIN_ORDER_ID
+        WHERE TTO.TRUCK_ORDER_ID = #{orderId}
+    </select>
+
+</mapper>

+ 10 - 5
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -3725,7 +3725,13 @@
         FROM TMSTRUCK_TIME_TASK_RESULT TTTR2
         WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
         AND TTTR2.RESULT_TIME_TYPE = 3
-        ) "totalTime"
+        ) "totalTime",
+        (
+        SELECT TTTR2.RESULT_ABOUT_TIME
+        FROM TMSTRUCK_TIME_TASK_RESULT TTTR2
+        WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
+        AND TTTR2.RESULT_TIME_TYPE = 3
+        ) "aboutTime"
         FROM OMSTRUCK_ORDER OO
         LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
         ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
@@ -3846,7 +3852,8 @@
         CONCAT(CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),RDA.ADDRESS_DELIVERY_ADDRESS ),RRP.ADDRESS_DELIVERY_ADDRESS) "receiveAddressName",
         TTR.RESULT_TOTAL_ID "resultTotalId",
         OO.CAN_WORK "canWork",
-        OO.ORDER_STATUS "orderStatus"
+        OO.ORDER_STATUS "orderStatus",
+        ASO.SALE_ORDER_ID   "saleOrderId"
         FROM
         OMSTRUCK_ORDER OO
         LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
@@ -4080,11 +4087,8 @@
         RC.CAPACITY_NUMBER "capacityNumber",
         RS.SHIPPER_NAME "shipperName",
         ASOM.SALE_ORDER_CONSIGNEE_TEL "consigneeTel",
-        ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
         RC2.CONSIGNEE_COMPANY_NAME "consigneeCompanyNames",
-        CONCAT(CONCAT( CONCAT( CONCAT( RDA.ADDRESS_PROVINCE, RDA.ADDRESS_DISTRICT ), RDA.ADDRESS_TOWN ),RDA.ADDRESS_DELIVERY_ADDRESS ),RRP.ADDRESS_DELIVERY_ADDRESS) "receiveAddressName",
         TTR.RESULT_TOTAL_ID "resultTotalId",
-        OO.CAN_WORK "canWork",
         OO.ORDER_STATUS "orderStatus",
         RAS.ARRIVAL_NAME "sendStaionName"
         FROM
@@ -4119,6 +4123,7 @@
         UPDATE OMSTRUCK_ORDER OO
         SET OO.ORDER_STATUS = 7
         WHERE OO.ORDER_PLAN_ID = #{planId}
+        AND OO.ORDER_STATUS = 4
         AND OO.ORDER_TYPE = 11
     </update>
 

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

@@ -569,8 +569,13 @@
     </if>
     where SALE_MATERIAL_ID = #{saleMaterialId}
   </update>
+    <update id="updateSteelOrderType4" parameterType="decimal">
+      update OMSTRUCK_ORDER OO
+        SET OO.ORDER_STATUS = 2
+        WHERE OO.ORDER_ID = #{orderId}
+    </update>
 
-  <select id="findDownMaterial" parameterType="DECIMAL" resultType="java.util.Map" >
+    <select id="findDownMaterial" parameterType="DECIMAL" resultType="java.util.Map" >
     SELECT ASO.SALE_NUMBER      "number",
            ASM.EAS_PRIMARY_ID   "changeEntryId",
            ASM.SALE_MATERIAL_ID "wlEntryId"

+ 6 - 2
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -715,6 +715,7 @@
             OO.ORDER_ID "orderId",
             ( 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 TTTR3.RESULT_TIME FROM TMSTRUCK_TIME_TASK_RESULT TTTR3 WHERE TTTR3.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR3.RESULT_TIME_TYPE = 3 ) "endTime",
+            ( SELECT TTTR3.RESULT_ABOUT_TIME FROM TMSTRUCK_TIME_TASK_RESULT TTTR3 WHERE TTTR3.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR3.RESULT_TIME_TYPE = 3 ) "aboutTime",
             ( SELECT  CONCAT( TTTR.RESULT_VALUE, RUOM.UNIT_OF_MEASURE_NAME ) FROM TMSTRUCK_TIME_TASK_RESULT TTTR4 WHERE TTTR4.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR4.RESULT_TIME_TYPE = 3 ) "resultTime",
             TTTR.INSERT_TIME "insertTime",
             RM.MATERIAL_NAME "materialName"
@@ -752,7 +753,8 @@
                OO.ORDER_PLAN_ID "orderPlanId",
                TTR.RESULT_TOTAL_ID  "resultTotalId",
                OO.INSERT_UPDATE_REMARK  "insertUpdateRemark",
-               OO.ORDER_LINE_SEQUENCE   "lineSqe"
+               OO.ORDER_LINE_SEQUENCE   "lineSqe",
+                OO.ORDER_NUMBER "orderNumber"
         from OMSTRUCK_ORDER OO
                  left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
         where OO.ORDER_ID = #{orderId}
@@ -893,11 +895,13 @@
           and TO_CHAR(ASOM.SALE_DATE_OF_RECEIPT, 'YYYY-MM-DD hh24:mi:ss') >= TO_CHAR(SYSDATE - 1, 'YYYY-MM-DD hh24:mi:ss')
     </select>
     <select id="getWeightTask" resultType="java.math.BigDecimal" parameterType="decimal">
-        SELECT twr.RESULT_TARE_WEIGHT FROM TMSTRUCK_WEIGHT_RESULT TWR
+        SELECT * FROM (SELECT twr.RESULT_TARE_WEIGHT FROM TMSTRUCK_WEIGHT_RESULT TWR
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
         ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
         LEFT JOIN OMSTRUCK_ORDER OO
         ON OO.ORDER_ID = TTR.ORDER_ID
         WHERE OO.ORDER_ID = #{orderId}
+        ORDER BY TWR.RESULT_TARE_WEIGHT DESC)
+        WHERE ROWNUM = 1
     </select>
 </mapper>

+ 293 - 0
src/main/resources/com/steerinfo/dil/mapper/TmsttOrderMapper.xml

@@ -0,0 +1,293 @@
+<?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.TmsttOrderMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.TmsttOrder">
+    <id column="TT_ORDER_ID" jdbcType="DECIMAL" property="ttOrderId" />
+    <result column="TRUCK_ORDER_ID" jdbcType="DECIMAL" property="truckOrderId" />
+    <result column="TRAIN_ORDER_ID" jdbcType="DECIMAL" property="trainOrderId" />
+    <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" />
+  </resultMap>
+  <sql id="columns">
+    TT_ORDER_ID, TRUCK_ORDER_ID, TRAIN_ORDER_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+    UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.TT_ORDER_ID, t.TRUCK_ORDER_ID, t.TRAIN_ORDER_ID, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM TMSTT_ORDER
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM TMSTT_ORDER t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="ttOrderId != null">
+        and TT_ORDER_ID = #{ttOrderId}
+      </if>
+      <if test="truckOrderId != null">
+        and TRUCK_ORDER_ID = #{truckOrderId}
+      </if>
+      <if test="trainOrderId != null">
+        and TRAIN_ORDER_ID = #{trainOrderId}
+      </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>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="ttOrderId != null">
+        and TT_ORDER_ID = #{ttOrderId}
+      </if>
+      <if test="truckOrderId != null">
+        and TRUCK_ORDER_ID = #{truckOrderId}
+      </if>
+      <if test="trainOrderId != null">
+        and TRAIN_ORDER_ID = #{trainOrderId}
+      </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>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+    delete from TMSTT_ORDER
+    where TT_ORDER_ID = #{ttOrderId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from TMSTT_ORDER
+    where 1!=1 
+      <if test="truckOrderId != null">
+        or TRUCK_ORDER_ID = #{truckOrderId}
+      </if>
+      <if test="trainOrderId != null">
+        or TRAIN_ORDER_ID = #{trainOrderId}
+      </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>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.TmsttOrder">
+    insert into TMSTT_ORDER (TT_ORDER_ID, TRUCK_ORDER_ID, TRAIN_ORDER_ID, 
+      INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK)
+    values (#{ttOrderId,jdbcType=DECIMAL}, #{truckOrderId,jdbcType=DECIMAL}, #{trainOrderId,jdbcType=DECIMAL}, 
+      #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.TmsttOrder">
+    insert into TMSTT_ORDER
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="ttOrderId != null">
+        TT_ORDER_ID,
+      </if>
+      <if test="truckOrderId != null">
+        TRUCK_ORDER_ID,
+      </if>
+      <if test="trainOrderId != null">
+        TRAIN_ORDER_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>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="ttOrderId != null">
+        #{ttOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="truckOrderId != null">
+        #{truckOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="trainOrderId != null">
+        #{trainOrderId,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>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.TmsttOrder">
+    update TMSTT_ORDER
+    set TRUCK_ORDER_ID = #{truckOrderId,jdbcType=DECIMAL},
+      TRAIN_ORDER_ID = #{trainOrderId,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}
+    where TT_ORDER_ID = #{ttOrderId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.TmsttOrder">
+    update TMSTT_ORDER
+    <set>
+      <if test="truckOrderId != null">
+        TRUCK_ORDER_ID = #{truckOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="trainOrderId != null">
+        TRAIN_ORDER_ID = #{trainOrderId,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>
+    </set>
+    where TT_ORDER_ID = #{ttOrderId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+    <include refid="select" />
+    where TT_ORDER_ID = #{ttOrderId,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 TMSTT_ORDER 
+      (TT_ORDER_ID, 
+      TRUCK_ORDER_ID, TRAIN_ORDER_ID, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.ttOrderId,jdbcType=DECIMAL}, 
+      #{item.truckOrderId,jdbcType=DECIMAL}, #{item.trainOrderId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, 
+      #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR}, 
+      #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update TMSTT_ORDER
+     set
+       TT_ORDER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.ttOrderId,jdbcType=DECIMAL}
+       </foreach>
+       ,TRUCK_ORDER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.truckOrderId,jdbcType=DECIMAL}
+       </foreach>
+       ,TRAIN_ORDER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.trainOrderId,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case TT_ORDER_ID" separator=" ">
+          when #{item.ttOrderId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where TT_ORDER_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.ttOrderId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from TMSTT_ORDER
+    where TT_ORDER_ID in 
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  
+</mapper>