소스 검색

'销售汽运结算'

HUJIANGUO 3 년 전
부모
커밋
879d4eaa00

+ 1 - 1
pom.xml

@@ -116,7 +116,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-<!--                        <param></param>&lt;!&ndash;运力&ndash;&gt;-->
+                        <param>BMSTRUCK_DETAILS_ORDER</param><!--运力-->
                     </tables>
                 </configuration>
                 <executions>

+ 63 - 59
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -1,6 +1,5 @@
 package com.steerinfo.dil.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.PageHelper;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.service.impl.BmstruckDetailsOrderServiceImpl;
@@ -58,40 +57,20 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
                                                   Integer pageSize,
                                                   Integer apiId,
                                                   Integer orderType,
-                                                  String con) {
+                                                  String carrierSsoId) {
         if (mapValue == null) {
             mapValue = new HashMap<>();
         }
-        mapValue.put("orderType",orderType);
-        if (con != null) {
-            if (!"undefined".equals(con)) {
-                //设置要查询的索引名称
-                String index = "get_truck_details_list";
-                //获取查询结果
-                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));
-            }
-        }
-        //初始化过滤
-        List<Map<String, Object>> truckDetailList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if (mapValue.size() == 1) {
-            //将查询结果存入索引中
-            truckDetailList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
-            Map<String, Object> map = new HashMap<>();
-            //添加索引
-            map.put("index", "get_truck_details_list");
-            //添加id
-            map.put("indexId", "detailsId");
-            truckDetailList.add(map);
-            //新建索引
-            String s = JSON.toJSONString(truckDetailList);
-            esFeign.insertIndex(truckDetailList);
-            //删除
-            truckDetailList.remove(truckDetailList.size() - 1);
+        if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
+            carrierSsoId = null;
         }
-        if (truckDetailList == null) {
-            truckDetailList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
+        if (carrierSsoId != null) {
+            BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
+            mapValue.put("carrierId",carrierId);
         }
+        mapValue.put("orderType",orderType);
+        //初始化过滤
+        List<Map<String, Object>> truckDetailList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getTruckDetailsOrderList(mapValue);
@@ -121,36 +100,15 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
                                                             Integer pageSize,
                                                             Integer apiId,
                                                             Integer orderType,
-                                                            String con) {
-        if (con != null) {
-            if (!"undefined".equals(con)) {
-                //设置要查询的索引名称
-                String index = "get_unfinished_details_list";
-                //获取查询结果
-                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));
-            }
-        }
-        //初始化过滤
-        List<Map<String, Object>> truckDetailList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if (mapValue.size() == 0) {
-            //将查询结果存入索引中
-            truckDetailList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapValue, orderType);
-            Map<String, Object> map = new HashMap<>();
-            //添加索引
-            map.put("index", "get_unfinished_details_list");
-            //添加id
-            map.put("indexId", "detailsId");
-            truckDetailList.add(map);
-            //新建索引
-            String s = JSON.toJSONString(truckDetailList);
-            esFeign.insertIndex(truckDetailList);
-            //删除
-            truckDetailList.remove(truckDetailList.size() - 1);
+                                                            String carrierSsoId) {
+        if (carrierSsoId != null && carrierSsoId.equals("undefined")) {
+            carrierSsoId = null;
         }
-        if (truckDetailList == null) {
-            truckDetailList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapValue, orderType);
+        if (carrierSsoId != null) {
+            BigDecimal carrierId = bmstruckDetailsOrderService.getCarrierIdBySSO(carrierSsoId);
+            mapValue.put("carrierId",carrierId);
         }
+        List<Map<String, Object>> truckDetailList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapValue, orderType);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmstruckDetailsOrderService.getUnFinishedTruckDetailsOrderList(mapValue, orderType);
@@ -199,7 +157,7 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
      */
     @ApiModelProperty(value = "新增详单")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "orderId", value = "汽运运单id", required = false, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "orderId", value = "汽运计量实绩id", required = false, dataType = "BigDecimal"),
     })
     @PostMapping("/addDetailsOrder/{orderId}")
     public RESTfulResult addDetailsOrder(@PathVariable("orderId") BigDecimal orderId) throws Exception {
@@ -207,5 +165,51 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         return success(code);
     }
 
+    /**
+     * 修改详单
+     *
+     * @param mapValue
+     * @return
+     */
+    @ApiModelProperty(value = "修改详单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "detailsId,priceId", value = "详单id,价格id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/updateDetailsOrder")
+    public RESTfulResult updateDetailsOrder(@RequestBody Map<String,Object> mapValue) throws Exception {
+        int code = bmstruckDetailsOrderService.updateDetailsOrder(mapValue);
+        return success(code);
+    }
 
+    /**addLossFeeOfCoke
+     * 增加焦炭途损费
+     *
+     * @param map
+     * @return
+     */
+    @ApiModelProperty(value = "增加焦炭途损费")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "detailsId", value = "详单id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/addLossFeeOfCoke")
+    public RESTfulResult addLossFeeOfCoke(@RequestBody Map<String,Object> map) {
+        int code = bmstruckDetailsOrderService.addLossFeeOfCoke(map);
+        return success(code);
+    }
+
+    /**
+     * 查询价格和地址
+     *
+     * @param priceId
+     * @return
+     */
+    @ApiModelProperty(value = "查询价格和地址")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "priceId", value = "价格id", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping("/findAddressAndPrice")
+    public RESTfulResult findAddressAndPrice(@RequestParam Integer priceId) {
+        Map<String,Object> map = bmstruckDetailsOrderService.findAddressAndPrice(priceId);
+        return success(map);
+    }
 }

+ 5 - 64
src/main/java/com/steerinfo/dil/controller/BmstruckStatementController.java

@@ -1,6 +1,5 @@
 package com.steerinfo.dil.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.PageHelper;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.service.impl.BmstruckStatementServiceImpl;
@@ -56,37 +55,8 @@ public class BmstruckStatementController extends BaseRESTfulController {
     public RESTfulResult getTruckStatementList(@RequestBody(required = false) Map<String, Object> mapValue,
                                                Integer pageNum,
                                                Integer pageSize,
-                                               Integer apiId,
-                                               String con) {
-        if (con != null) {
-            if (!"undefined".equals(con)) {
-                //设置要查询的索引名称
-                String index = "get_truck_statement_list";
-                //获取查询结果
-                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));
-            }
-        }
-        //初始化过滤
-        List<Map<String, Object>> truckStatementList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if (mapValue.size() == 0) {
-            //将查询结果存入索引中
-            truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue);
-            Map<String, Object> map = new HashMap<>();
-            //添加索引
-            map.put("index", "get_truck_statement_list");
-            //添加id
-            map.put("indexId", "statementId");
-            truckStatementList.add(map);
-            //新建索引
-            String s = JSON.toJSONString(truckStatementList);
-            esFeign.insertIndex(truckStatementList);
-            //删除
-            truckStatementList.remove(truckStatementList.size() - 1);
-        }
-        if (truckStatementList == null) {
-            truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue);
-        }
+                                               Integer apiId) {
+        List<Map<String, Object>> truckStatementList = bmstruckStatementService.getTruckStatementList(mapValue);
         PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmstruckStatementService.getTruckStatementList(mapValue);
@@ -131,42 +101,13 @@ public class BmstruckStatementController extends BaseRESTfulController {
                                                                Integer pageNum,
                                                                Integer pageSize,
                                                                Integer apiId,
-                                                               BigDecimal statementId,
-                                                               String con) {
+                                                               BigDecimal statementId) {
         if (mapValue == null) {
             mapValue = new HashMap<>();
         }
         mapValue.put("statementId", statementId);
-        if (con != null) {
-            if (!"undefined".equals(con)) {
-                //设置要查询的索引名称
-                String index = "get_sale_details_list";
-                //获取查询结果
-                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));
-            }
-        }
-        //初始化过滤
-        List<Map<String, Object>> truckStatementList = null;
-        //如果有条件查询则跳过初始化,和创建索引
-        if (mapValue.size() == 0) {
-            //将查询结果存入索引中
-            truckStatementList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue);
-            Map<String, Object> map = new HashMap<>();
-            //添加索引
-            map.put("index", "get_sale_details_list");
-            //添加id
-            map.put("indexId", "detailsId");
-            truckStatementList.add(map);
-            //新建索引
-            String s = JSON.toJSONString(truckStatementList);
-            esFeign.insertIndex(truckStatementList);
-            //删除
-            truckStatementList.remove(truckStatementList.size() - 1);
-        }
-        if (truckStatementList == null) {
-            truckStatementList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue);
-        }
-        com.steerinfo.framework.service.pagehelper.PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> truckStatementList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
         //分页查询数据
         List<Map<String, Object>> columnList = bmstruckStatementService.getSaleTruckStatementDetailsOrderList(mapValue);
         PageListAdd data = columnDataUtil.tableColumnData(apiId, truckStatementList, columnList);

+ 11 - 3
src/main/java/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.java

@@ -67,10 +67,10 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 
     /**
      * 得到到厂湿重
-     * @param orderId
+     * @param weightTaskResultId
      * @return
      */
-    BigDecimal getNetWeight(BigDecimal orderId);
+    BigDecimal getNetWeight(BigDecimal weightTaskResultId);
 
 //    /**
 //     * 生成汽运账单
@@ -79,7 +79,7 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 //     */
 //    int addTruckStatement(List<Map<String, Object>> mapList);
 
-    @Select("select seq_BMSTRUCK_STATEMENT.nextval from dual")
+    @Select("select seq_BMSTRUCK_DETAIL.nextval from dual")
     BigDecimal selectDetailsId();
 
     /**
@@ -117,4 +117,12 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 
     //通过物资id与需求类型获取单价
     BigDecimal getPriceByWz(String requirementType, Integer materialId);
+
+    BigDecimal getCarrierIdBySSO(String carrierSsoId);
+
+    Map<String,Object> findAddressAndPrice(BigDecimal priceId);
+
+    BigDecimal getOrderId(BigDecimal weightTaskResultId);
+
+    List<Map<String,Object>> getWeightTaskResultId(BigDecimal orderId);
 }

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

@@ -22,7 +22,7 @@ public interface BmstruckStatementMapper extends IBaseMapper<BmstruckStatement,
 
 
 
-    @Select("select seq_BMSTRUCK_DETAIL.nextval from dual")
+    @Select("select seq_BMSTRUCK_STATEMENT.nextval from dual")
     BigDecimal selectStatementId();
 
     /**

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

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

+ 28 - 12
src/main/java/com/steerinfo/dil/model/BmstruckDetailsOrder.java

@@ -3,31 +3,32 @@ 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 BmstruckDetailsOrder implements IBasePO<BigDecimal> {
     /**
-     * 主键ID(DETAILS_ID,DECIMAL,38)
+     * 主键ID(DETAILS_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="主键ID",required=true)
     private BigDecimal detailsId;
 
     /**
-     * 采购订单ID(PURCHASE_ORDER_ID,DECIMAL,38)
+     * 采购订单ID(PURCHASE_ORDER_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="采购订单ID",required=false)
     private BigDecimal purchaseOrderId;
 
     /**
-     * 运输订单ID(ORDER_ID,DECIMAL,38)
+     * 计量实绩ID(WEIGHT_TASK_RESULT_ID,DECIMAL,0)
      */
-    @ApiModelProperty(value="运输订单ID",required=false)
-    private BigDecimal orderId;
+    @ApiModelProperty(value="计量实绩ID",required=false)
+    private BigDecimal weightTaskResultId;
 
     /**
-     * 详单号(DETAILS_NO,VARCHAR,20)
+     * 详单号(DETAILS_NO,VARCHAR,200)
      */
     @ApiModelProperty(value="详单号",required=false)
     private String detailsNo;
@@ -39,7 +40,7 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
     private Date detailsTime;
 
     /**
-     * 单价ID(PRICE_ID,DECIMAL,38)
+     * 单价ID(PRICE_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="单价ID",required=false)
     private BigDecimal priceId;
@@ -86,6 +87,12 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="是否转成账单:(0:否,1:是)",required=false)
     private BigDecimal wetherToStatement;
 
+    /**
+     * 金蝶核准金额(EAS_AMOUNT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="金蝶核准金额",required=false)
+    private BigDecimal easAmount;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -114,12 +121,12 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         this.purchaseOrderId = purchaseOrderId;
     }
 
-    public BigDecimal getOrderId() {
-        return orderId;
+    public BigDecimal getWeightTaskResultId() {
+        return weightTaskResultId;
     }
 
-    public void setOrderId(BigDecimal orderId) {
-        this.orderId = orderId;
+    public void setWeightTaskResultId(BigDecimal weightTaskResultId) {
+        this.weightTaskResultId = weightTaskResultId;
     }
 
     public String getDetailsNo() {
@@ -202,6 +209,14 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         this.wetherToStatement = wetherToStatement;
     }
 
+    public BigDecimal getEasAmount() {
+        return easAmount;
+    }
+
+    public void setEasAmount(BigDecimal easAmount) {
+        this.easAmount = easAmount;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -210,7 +225,7 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         sb.append("Hash = ").append(hashCode());
         sb.append(", detailsId=").append(detailsId);
         sb.append(", purchaseOrderId=").append(purchaseOrderId);
-        sb.append(", orderId=").append(orderId);
+        sb.append(", weightTaskResultId=").append(weightTaskResultId);
         sb.append(", detailsNo=").append(detailsNo);
         sb.append(", detailsTime=").append(detailsTime);
         sb.append(", priceId=").append(priceId);
@@ -221,6 +236,7 @@ public class BmstruckDetailsOrder implements IBasePO<BigDecimal> {
         sb.append(", updateTime=").append(updateTime);
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", wetherToStatement=").append(wetherToStatement);
+        sb.append(", easAmount=").append(easAmount);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 379 - 0
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -0,0 +1,379 @@
+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 OmstruckOrder implements IBasePO<BigDecimal> {
+    /**
+     * 运输订单id(ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输订单id",required=true)
+    private BigDecimal orderId;
+
+    /**
+     * 销售订单和物资的中间表ID/发运计划ID/采购订单ID/内转物流计划ID/零星订单ID(ORDER_PLAN_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单和物资的中间表ID/发运计划ID/采购订单ID/内转物流计划ID/零星订单ID",required=false)
+    private BigDecimal orderPlanId;
+
+    /**
+     * 运输订单号(WYSDD-年月日-8位数的顺序号)(ORDER_NUMBER,VARCHAR,50)
+     */
+    @ApiModelProperty(value="运输订单号(WYSDD-年月日-8位数的顺序号)",required=false)
+    private String orderNumber;
+
+    /**
+     * 运力ID(CAPACITY_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运力ID",required=false)
+    private BigDecimal capacityId;
+
+    /**
+     * 订单下发时间(ORDER_ISSUE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="订单下发时间",required=false)
+    private Date orderIssueTime;
+
+    /**
+     * 司机操作订单行为:0:拒绝;1:接收(ORDER_RECEIVE_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="司机操作订单行为:0:拒绝;1:接收",required=false)
+    private BigDecimal orderReceiveStatus;
+
+    /**
+     * 司机接收/拒绝订单时间(ORDER_RECEIVE_REFUSE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="司机接收/拒绝订单时间",required=false)
+    private Date orderReceiveRefuseTime;
+
+    /**
+     * 通信时长=司机接单/拒绝时间-订单下发时间(ORDER_COMMUNICATION_DURATION,DECIMAL,0)
+     */
+    @ApiModelProperty(value="通信时长=司机接单/拒绝时间-订单下发时间",required=false)
+    private BigDecimal orderCommunicationDuration;
+
+    /**
+     * 运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭(ORDER_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭",required=false)
+    private BigDecimal orderStatus;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="逻辑删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:采购内转(达州-厂内);10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)",required=false)
+    private BigDecimal orderType;
+
+    /**
+     * 路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)(ORDER_LINE_SEQUENCE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)",required=false)
+    private BigDecimal orderLineSequence;
+
+    /**
+     * 运输路线ID(LINE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输路线ID",required=false)
+    private BigDecimal lineId;
+
+    /**
+     * 预计进厂时间(ORDER_ENTRY_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="预计进厂时间",required=false)
+    private Date orderEntryTime;
+
+    /**
+     * 卸货点ID(UNLOAD_POINT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="卸货点ID",required=false)
+    private BigDecimal unloadPointId;
+
+    /**
+     * 司机确认订单(1:已确认)(DRIVER_CONFIRMATION,DECIMAL,0)
+     */
+    @ApiModelProperty(value="司机确认订单(1:已确认)",required=false)
+    private BigDecimal driverConfirmation;
+
+    /**
+     * 运输单价ID(PRICE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="运输单价ID",required=false)
+    private BigDecimal priceId;
+
+    /**
+     * 订单所属承运商ID(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="订单所属承运商ID",required=false)
+    private BigDecimal carrierId;
+
+    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 BigDecimal getOrderPlanId() {
+        return orderPlanId;
+    }
+
+    public void setOrderPlanId(BigDecimal orderPlanId) {
+        this.orderPlanId = orderPlanId;
+    }
+
+    public String getOrderNumber() {
+        return orderNumber;
+    }
+
+    public void setOrderNumber(String orderNumber) {
+        this.orderNumber = orderNumber == null ? null : orderNumber.trim();
+    }
+
+    public BigDecimal getCapacityId() {
+        return capacityId;
+    }
+
+    public void setCapacityId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public Date getOrderIssueTime() {
+        return orderIssueTime;
+    }
+
+    public void setOrderIssueTime(Date orderIssueTime) {
+        this.orderIssueTime = orderIssueTime;
+    }
+
+    public BigDecimal getOrderReceiveStatus() {
+        return orderReceiveStatus;
+    }
+
+    public void setOrderReceiveStatus(BigDecimal orderReceiveStatus) {
+        this.orderReceiveStatus = orderReceiveStatus;
+    }
+
+    public Date getOrderReceiveRefuseTime() {
+        return orderReceiveRefuseTime;
+    }
+
+    public void setOrderReceiveRefuseTime(Date orderReceiveRefuseTime) {
+        this.orderReceiveRefuseTime = orderReceiveRefuseTime;
+    }
+
+    public BigDecimal getOrderCommunicationDuration() {
+        return orderCommunicationDuration;
+    }
+
+    public void setOrderCommunicationDuration(BigDecimal orderCommunicationDuration) {
+        this.orderCommunicationDuration = orderCommunicationDuration;
+    }
+
+    public BigDecimal getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(BigDecimal orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public BigDecimal getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(BigDecimal orderType) {
+        this.orderType = orderType;
+    }
+
+    public BigDecimal getOrderLineSequence() {
+        return orderLineSequence;
+    }
+
+    public void setOrderLineSequence(BigDecimal orderLineSequence) {
+        this.orderLineSequence = orderLineSequence;
+    }
+
+    public BigDecimal getLineId() {
+        return lineId;
+    }
+
+    public void setLineId(BigDecimal lineId) {
+        this.lineId = lineId;
+    }
+
+    public Date getOrderEntryTime() {
+        return orderEntryTime;
+    }
+
+    public void setOrderEntryTime(Date orderEntryTime) {
+        this.orderEntryTime = orderEntryTime;
+    }
+
+    public BigDecimal getUnloadPointId() {
+        return unloadPointId;
+    }
+
+    public void setUnloadPointId(BigDecimal unloadPointId) {
+        this.unloadPointId = unloadPointId;
+    }
+
+    public BigDecimal getDriverConfirmation() {
+        return driverConfirmation;
+    }
+
+    public void setDriverConfirmation(BigDecimal driverConfirmation) {
+        this.driverConfirmation = driverConfirmation;
+    }
+
+    public BigDecimal getPriceId() {
+        return priceId;
+    }
+
+    public void setPriceId(BigDecimal priceId) {
+        this.priceId = priceId;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    @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(", orderPlanId=").append(orderPlanId);
+        sb.append(", orderNumber=").append(orderNumber);
+        sb.append(", capacityId=").append(capacityId);
+        sb.append(", orderIssueTime=").append(orderIssueTime);
+        sb.append(", orderReceiveStatus=").append(orderReceiveStatus);
+        sb.append(", orderReceiveRefuseTime=").append(orderReceiveRefuseTime);
+        sb.append(", orderCommunicationDuration=").append(orderCommunicationDuration);
+        sb.append(", orderStatus=").append(orderStatus);
+        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(", deleted=").append(deleted);
+        sb.append(", orderType=").append(orderType);
+        sb.append(", orderLineSequence=").append(orderLineSequence);
+        sb.append(", lineId=").append(lineId);
+        sb.append(", orderEntryTime=").append(orderEntryTime);
+        sb.append(", unloadPointId=").append(unloadPointId);
+        sb.append(", driverConfirmation=").append(driverConfirmation);
+        sb.append(", priceId=").append(priceId);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -61,10 +61,10 @@ public interface IBmstruckDetailsOrderService {
 
     /**
      * 得到到厂湿重
-     * @param orderId
+     * @param weightTaskResultId
      * @return
      */
-    BigDecimal getNetWeight(BigDecimal orderId);
+    BigDecimal getNetWeight(BigDecimal weightTaskResultId);
 
     /**
      * 展示未转成账单的销售详单
@@ -88,4 +88,16 @@ public interface IBmstruckDetailsOrderService {
 
     //通过物资id与需求类型获取单价
     BigDecimal getPriceByWz(String requirementType, Integer materialId);
+
+    // 修改详单
+    int updateDetailsOrder(Map<String, Object> mapValue);
+
+    // 查询承运商id
+    BigDecimal getCarrierIdBySSO(String carrierSsoId);
+
+    // 查询价格和地址
+    Map<String,Object> findAddressAndPrice(Integer priceId);
+
+    // 增加焦炭途损费
+    int addLossFeeOfCoke(Map<String,Object> map);
 }

+ 111 - 35
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -2,12 +2,17 @@ package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.feign.JoinApiFeign;
 import com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
 import com.steerinfo.dil.model.BmstruckDetailsOrder;
+import com.steerinfo.dil.model.OmstruckOrder;
 import com.steerinfo.dil.service.IBmstruckDetailsOrderService;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.EASUtil;
 import com.steerinfo.dil.util.NoUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.util.*;
@@ -33,6 +38,8 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     JoinApiFeign joinApiFeign;
     @Autowired
     EASUtil easUtil;
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
 
     /**
      * 展示汽运详单列表
@@ -43,7 +50,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     public List<Map<String, Object>> getTruckDetailsOrderList(Map<String, Object> mapVal) {
         Integer orderType = (Integer) mapVal.get("orderType");
         List<Map<String, Object>> truckDetailsOrderList;
-        if (orderType == 2 || orderType == 1) {
+        if (orderType <= 3 && orderType >= 1) {
             truckDetailsOrderList = bmstruckDetailsOrderMapper.getSaleTruckDetailsOrderList(mapVal);
         }
         else {
@@ -62,35 +69,43 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         // 得到最大id
         BigDecimal detailsId = selectMaxId();
         String detailsNo = noUtil.setResultNo("QYXD", detailsId);
+        List<Map<String,Object>> weightTaskResultIdList = bmstruckDetailsOrderMapper.getWeightTaskResultId(orderId);
         Map<String,Object> priceMap = getPriceId(orderId);
-        BigDecimal priceId = (BigDecimal) priceMap.get("priceId");
-        BigDecimal detailsAmountOld = generateTruckFees(orderId);
-        Double amount = detailsAmountOld.doubleValue();
-        DecimalFormat df = new DecimalFormat("0.00");
-        String format = df.format(amount);
-        BigDecimal detailsAmount = new BigDecimal(format);
-        BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
-        BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
-        if (orderType.intValue() == 3){
-            BigDecimal purchaseOrderId = getFormulaMembers(orderId);
-            bmstruckDetailsOrder.setPurchaseOrderId(purchaseOrderId);
+        if (priceMap == null || priceMap.size() == 0) {
+            return 0;
         }
-        if (orderType.intValue() == 2 || orderType.intValue() == 1) {
-            bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
+        BigDecimal priceId = (BigDecimal) priceMap.get("priceId");
+        int result = 0;
+        for (Map<String, Object> map : weightTaskResultIdList) {
+            BigDecimal weightTaskResultId = DataChange.dataToBigDecimal(map.get("weightTaskResultId"));
+            BigDecimal detailsAmountOld = generateTruckFees(orderId, weightTaskResultId);
+            Double amount = detailsAmountOld.doubleValue();
+            DecimalFormat df = new DecimalFormat("0.00");
+            String format = df.format(amount);
+            BigDecimal detailsAmount = new BigDecimal(format);
+            BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
+            BmstruckDetailsOrder bmstruckDetailsOrder = new BmstruckDetailsOrder();
+            if (orderType.intValue() == 3) {
+                BigDecimal purchaseOrderId = getFormulaMembers(orderId);
+                bmstruckDetailsOrder.setPurchaseOrderId(purchaseOrderId);
+            }
+            if (orderType.intValue() == 2 || orderType.intValue() == 1) {
+                bmstruckDetailsOrder.setWetherToStatement(new BigDecimal(0));
+            }
+            bmstruckDetailsOrder.setDetailsId(detailsId);
+            bmstruckDetailsOrder.setWeightTaskResultId(weightTaskResultId);
+            bmstruckDetailsOrder.setDetailsNo(detailsNo);
+            bmstruckDetailsOrder.setPriceId(priceId);
+            bmstruckDetailsOrder.setDetailsAmount(detailsAmount);
+            bmstruckDetailsOrder.setDetailsTime(new Date());
+            // 设置常规字段
+            bmstruckDetailsOrder.setInsertTime(new Date());
+            bmstruckDetailsOrder.setUpdateTime(new Date());
+            bmstruckDetailsOrder.setInsertUsername("admin");
+            bmstruckDetailsOrder.setUpdateUsername("admin");
+            bmstruckDetailsOrder.setInsertUpdateRemark("无");
+            result += bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
         }
-        bmstruckDetailsOrder.setDetailsId(detailsId);
-        bmstruckDetailsOrder.setOrderId(orderId);
-        bmstruckDetailsOrder.setDetailsNo(detailsNo);
-        bmstruckDetailsOrder.setPriceId(priceId);
-        bmstruckDetailsOrder.setDetailsAmount(detailsAmount);
-        bmstruckDetailsOrder.setDetailsTime(new Date());
-        // 设置常规字段
-        bmstruckDetailsOrder.setInsertTime(new Date());
-        bmstruckDetailsOrder.setUpdateTime(new Date());
-        bmstruckDetailsOrder.setInsertUsername("admin");
-        bmstruckDetailsOrder.setUpdateUsername("admin");
-        bmstruckDetailsOrder.setInsertUpdateRemark("无");
-        int code = bmstruckDetailsOrderMapper.insertSelective(bmstruckDetailsOrder);
 //        // 调用金蝶接口
 //        if (orderType.intValue() == 3) {
 //            Map<String, Object> input = joinApiFeign.getPurchaseDetailsOrder(detailsId.intValue());
@@ -98,7 +113,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
 //            totalMap.put("input",input);
 //            joinApiFeign.WSFaceWay(totalMap);
 //        }
-        return code;
+        return result;
     }
 
     /**
@@ -120,7 +135,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         BigDecimal orderId = (BigDecimal) mapVal.get("orderId") ;
         BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
         List<Map<String,Object>> mapList;
-        if (orderType.intValue() == 1) {
+        if (orderType.intValue() <= 3 && orderType.intValue() >= 1) {
             mapList = bmstruckDetailsOrderMapper.getSaleTruckResultList(mapVal);
         }
         else {
@@ -160,12 +175,12 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
 
     /**
      * 得到到厂湿重
-     * @param orderId
+     * @param weightTaskResultId
      * @return
      */
     @Override
-    public BigDecimal getNetWeight(BigDecimal orderId) {
-        return bmstruckDetailsOrderMapper.getNetWeight(orderId);
+    public BigDecimal getNetWeight(BigDecimal weightTaskResultId) {
+        return bmstruckDetailsOrderMapper.getNetWeight(weightTaskResultId);
     }
 
     /**
@@ -209,12 +224,12 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
      * @return
      * @throws Exception
      */
-    public BigDecimal generateTruckFees(BigDecimal orderId) throws Exception {
+    public BigDecimal generateTruckFees(BigDecimal orderId,BigDecimal weightTaskResultId) throws Exception {
         BigDecimal orderType = bmstruckDetailsOrderMapper.getOrderType(orderId);
         Map<String, Object> priceMap = getPriceId(orderId);
         BigDecimal priceId = (BigDecimal) priceMap.get("priceId");
         BigDecimal priceValue = getPriceValue(priceId);
-        BigDecimal netWeight = getNetWeight(orderId);
+        BigDecimal netWeight = getNetWeight(weightTaskResultId);
         // 得到计费公式
         String formula_string = null;
         if (orderType.intValue() == 3) {
@@ -224,7 +239,7 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
             formula_string = formula_string.replace("到厂计量湿吨",netWeight.toString())
                     .replace("单价",priceValue.toString());
         }
-        if (orderType.intValue() == 2 || orderType.intValue() == 1) {
+        if (orderType.intValue() >= 1 && orderType.intValue() <= 3) {
 //            BigDecimal distance = new BigDecimal(101);
             // 得到销售汽运计费公式
 //            if (distance.intValue() >= 91 || distance.intValue() <= 109) {
@@ -441,9 +456,70 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     public BigDecimal getPriceByWz(String requirementType, Integer materialId) {
         return bmstruckDetailsOrderMapper.getPriceByWz(requirementType,materialId);
     }
+
     @Override
     // 通过订单号获取物资信息以及结算方式
     public Map<String, Object> getSettlement(BigDecimal orderId) {
         return bmstruckDetailsOrderMapper.getSettlement(orderId);
     }
+
+    /**
+     * 修改详单
+     * @param mapValue
+     * @return
+     */
+    @Transactional
+    @Override
+    public int updateDetailsOrder(Map<String, Object> mapValue) {
+        BigDecimal priceId = DataChange.dataToBigDecimal(mapValue.get("priceId"));
+        BigDecimal detailsId = DataChange.dataToBigDecimal(mapValue.get("detailsId"));
+        BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
+        // 重新设置单价
+        bmstruckDetailsOrder.setPriceId(priceId);
+        BigDecimal weightTaskResultId = bmstruckDetailsOrder.getWeightTaskResultId();
+        BigDecimal orderId = bmstruckDetailsOrderMapper.getOrderId(weightTaskResultId);
+        OmstruckOrder omstruckOrder = new OmstruckOrder();
+        omstruckOrder.setOrderId(orderId);
+        omstruckOrder.setPriceId(priceId);
+        omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+        try {
+            // 计算出新的详单金额
+            BigDecimal newAmount = generateTruckFees(orderId,weightTaskResultId);
+            bmstruckDetailsOrder.setDetailsAmount(newAmount);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        int result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        return result;
+    }
+
+    @Override
+    public BigDecimal getCarrierIdBySSO(String carrierSsoId) {
+        return bmstruckDetailsOrderMapper.getCarrierIdBySSO(carrierSsoId);
+    }
+
+    // 根据单价id查询价格和地址
+    @Override
+    public Map<String,Object> findAddressAndPrice(Integer priceId) {
+        return bmstruckDetailsOrderMapper.findAddressAndPrice(new BigDecimal(priceId));
+    }
+
+    /**
+     * 增加焦炭途损费
+     * @param map
+     * @return
+     */
+    @Override
+    public int addLossFeeOfCoke(Map<String,Object> map) {
+        BigDecimal lossFees = DataChange.dataToBigDecimal(map.get("lossFees"));
+        BigDecimal detailsId = DataChange.dataToBigDecimal(map.get("detailsId"));
+        BmstruckDetailsOrder bmstruckDetailsOrder = bmstruckDetailsOrderMapper.selectByPrimaryKey(detailsId);
+        BigDecimal detailsAmount = bmstruckDetailsOrder.getDetailsAmount();
+        DecimalFormat df = new DecimalFormat("0.00");
+        Double newAmount = detailsAmount.doubleValue() - lossFees.doubleValue();
+        String newAmountStr = df.format(newAmount);
+        bmstruckDetailsOrder.setDetailsAmount(new BigDecimal(newAmountStr));
+        int result = bmstruckDetailsOrderMapper.updateByPrimaryKeySelective(bmstruckDetailsOrder);
+        return result;
+    }
 }

+ 13 - 12
src/main/java/com/steerinfo/dil/service/impl/BmstruckStatementServiceImpl.java

@@ -7,6 +7,7 @@ import com.steerinfo.dil.mapper.BmstruckDetailsStatementMapper;
 import com.steerinfo.dil.model.BmstruckCheck;
 import com.steerinfo.dil.model.BmstruckDetailsOrder;
 import com.steerinfo.dil.model.BmstruckDetailsStatement;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.EASUtil;
 import com.steerinfo.dil.util.NoUtil;
 import com.steerinfo.dil.model.BmstruckStatement;
@@ -69,7 +70,7 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
             BigDecimal checkCarrierStatus = (BigDecimal) map.get("checkCarrierStatus");
             BigDecimal checkReceiveCustomerStatus = (BigDecimal) map.get("checkReceiveCustomerStatus");
             BigDecimal checkShipperStatus = (BigDecimal) map.get("checkShipperStatus");
-            if (checkCarrierStatus.intValue() == 1 || checkReceiveCustomerStatus.intValue() == 1 || checkShipperStatus.intValue() == 1) {
+            if (checkCarrierStatus.intValue() == 1 || (checkReceiveCustomerStatus.intValue() == 1 || checkShipperStatus.intValue() == 1)) {
                 checkStatus = "未通过审核";
             }
             // 全部通过:已通过审核
@@ -77,7 +78,7 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
                 checkStatus = "已通过审核";
             }
             // 有人未审核,且没人拒绝:审核中
-            if (checkStatus != "未审核通过" && checkCarrierStatus.intValue() == 0 || checkReceiveCustomerStatus.intValue() == 0 || checkShipperStatus.intValue() == 0) {
+            if (checkStatus != "未通过审核" && (checkCarrierStatus.intValue() == 0 || (checkReceiveCustomerStatus.intValue() == 0 || checkShipperStatus.intValue() == 0))) {
                 checkStatus = "审核中";
             }
             // 全部都没审核:待审核
@@ -143,7 +144,7 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
             bmstruckDetailsStatement.setUpdateTime(new Date());
             bmstruckDetailsStatement.setUpdateUsername("admin");
             bmstruckDetailsStatement.setInsertUpdateRemark("无");
-            BigDecimal detailsAmount = new BigDecimal((Double) map.get("detailsAmount"));
+            BigDecimal detailsAmount = DataChange.dataToBigDecimal(map.get("detailsAmount"));
             Double detailsAmountDouble = Double.valueOf(detailsAmount.toString());
             doubleTotalAmount += detailsAmountDouble;
             bmstruckDetailsStatementMapper.insertSelective(bmstruckDetailsStatement);
@@ -152,15 +153,15 @@ public class BmstruckStatementServiceImpl implements IBmstruckStatementService {
         String statementTotalAmount = df.format(doubleTotalAmount);
         bmstruckStatement.setStatementExcludTax(new BigDecimal(statementTotalAmount));
         int code = bmstruckStatementMapper.insertSelective(bmstruckStatement);
-        // 调用金蝶接口
-        List<Map<String, Object>> entries = joinApiFeign.getSaleDetailsOrder(statementId.intValue());
-        Map<String,Object> head = joinApiFeign.getStatement(statementId.intValue());
-        Map<String,Object> input = new HashMap<>();
-        input.put("entries",entries);
-        input.put("head",head);
-        Map<String, Object> totalMap = easUtil.getTotalMap();
-        totalMap.put("input",input);
-        joinApiFeign.WSFaceWay(totalMap);
+//        // 调用金蝶接口
+//        List<Map<String, Object>> entries = joinApiFeign.getSaleDetailsOrder(statementId.intValue());
+//        Map<String,Object> head = joinApiFeign.getStatement(statementId.intValue());
+//        Map<String,Object> input = new HashMap<>();
+//        input.put("entries",entries);
+//        input.put("head",head);
+//        Map<String, Object> totalMap = easUtil.getTotalMap();
+//        totalMap.put("input",input);
+//        joinApiFeign.WSFaceWay(totalMap);
         return code;
     }
 

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

@@ -0,0 +1,239 @@
+package com.steerinfo.dil.util;
+
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/8/25 11:25
+ */
+
+public class DataChange {
+
+
+    /**
+     * 解析前端传来的日期字符串
+     * @param vueDate
+     * @return
+     */
+    public static Date dataToDate(Object vueDate){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date parseDate = null;
+        if (vueDate != null){
+            try {
+                String date = (String) vueDate;
+                parseDate = sdf.parse(date);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+        return parseDate;
+    }
+
+    /**
+     * 数据转换成BigDecimal
+     * @param data
+     * @return
+     */
+    public static BigDecimal dataToBigDecimal(Object data){
+        if (data != null){
+            if(data instanceof BigDecimal){
+                return (BigDecimal) data;
+            }else{
+                String str = String.valueOf(data);
+                BigDecimal decimal = null;
+                if(!"".equals(str)){
+                    try {
+                        decimal = new BigDecimal(str);
+                    } catch (Exception e) {
+                        System.out.println(data + ":数据解析失败!返回0");
+                        return new BigDecimal(0);
+                    }
+                }
+                return decimal;
+            }
+        }
+        return new BigDecimal(0);
+    }
+
+    /**
+     * 将时间截取到天  为字符串类型 用于前端只显示到天
+     * @param date 传入时间
+     * @return
+     */
+    public static String dateToDayDate(Object date){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date changeDate = null;
+        if(date == null)
+            return null;
+        try{
+            changeDate = (Date) date;
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return sdf.format(changeDate);
+    }
+
+    /**
+     * 遍历从数据库中传进来的数据
+     * @param list 从数据库查询出来的list数据列表
+     * @param key map中多个需要转换的date参数
+     */
+    public static void changeDateToDayDate(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //从map中取 date的值 并转换成字符串类型的日期
+                String stringDate = dateToDayDate(map.get(s));
+                if(stringDate.length() == 0){
+                    break;
+                }else {
+                    //修改map中的值
+                    map.put(s, stringDate);
+                }
+            }
+        }
+    }
+
+    /**
+     * 遍历列表使只显示两位小数
+     * @param list
+     * @param key
+     */
+    public static void dataTo2Number(List<Map<String, Object>> list, String ...key){
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //修改数据为带两位小数
+                try {
+                    BigDecimal oldDate = (BigDecimal) map.get(s);
+                    DecimalFormat df =  new DecimalFormat("0.00");
+                    String resultDeduction = df.format(oldDate.doubleValue());
+                    map.put(s, resultDeduction);
+                } catch (Exception e) {
+                    System.out.println("原料扣减量数据有误");
+                }
+
+            }
+        }
+    }
+
+    /**
+     * 计算相差时间  日时分秒
+     * @param
+     * @return
+     */
+    public static String calculatedTimeDifference(Date time1, Date time2){
+        long t1 = time1.getTime();
+        long t2 = time2.getTime();
+        if(t1 > t2){
+            long temp = t1;
+            t1 = t2;
+            t2 = temp;
+        }
+        long between = t2 - t1;
+        long day = between / (24 * 60 * 60 * 1000);
+        long hour = (between / (60 * 60 * 1000) - day * 24);
+        long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
+        long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+        return day + "天"+  + hour+ "时" + min + "分"  + s + "秒";
+    }
+
+    /**
+     * 生成带时间的八位数顺序号
+     * @param start 前缀
+     * @param id 顺序号  主键Id
+     * @return
+     */
+    public static String generateEightDigitsNumber(String start, Integer id){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + sdf.format(new Date()));
+        sb.append(
+                id < 10
+                        ? "0000000" + id : id < 100
+                        ? "000000" + id : id < 1000
+                        ? "00000" + id : id < 10000
+                        ? "0000" + id : id < 100000
+                        ? "000" + id : id < 1000000
+                        ? "00" + id : id < 10000000
+                        ? "0" + id : id.toString()
+        );
+        return sb.toString();
+    }
+
+    /**
+     * 根据时间段查询数据 支持只选择单个时间
+     * @Author TXF
+     * @Date 2022/1/10 23:21
+     * @param startTime
+     * @param endTime
+     * @param map
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDate(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf){
+        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) + 86400000)));
+        } else if (startTime != null && !"null".equals(startTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(startTime))));
+        } else if (endTime != null && !"null".equals(endTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(endTime))));
+        } else {
+            map.put("oneDate", sdf.format(new Date()));
+        }
+    }
+
+    /**
+     * 只支持两个时间查询
+     * @Author TXF
+     * @Date 2022/1/15 9:08
+     * @param startTime
+     * @param endTime
+     * @param sdf
+     * @return
+     **/
+    public static void queryDataByDateTime(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 nowDate = sdfDate.format(new Date());
+            map.put("oneDate", nowDate + " 00:00:00");
+        }
+    }
+
+    /**
+     * 上面方法的儿子方法 如果只传入了一个时间 则查询那天的数据
+     * @Author TXF
+     * @Date 2022/1/17 16:17
+     * @param map
+     * @param time
+     * @param sdfDate
+     * @return
+     **/
+    private static void queryDataByTwoDateSon(Map<String, Object> map, String time, SimpleDateFormat sdfDate){
+        Date date1 = new Date(Long.parseLong(time));
+        Date date2 = new Date(Long.parseLong(time) + 86400000);
+        String dayStartTime = sdfDate.format(date1);
+        String dayEndTime = sdfDate.format(date2);
+        map.put("startDate", dayStartTime + " 00:00:00");
+        map.put("endDate", dayEndTime + " 00:00:00");
+    }
+}

+ 3 - 2
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/bmstruck
 spring:
   profiles:
-    include: ${SPRING_PROFILES:prod}
+    include: ${SPRING_PROFILES:dev}
   jackson:
       date-format: yyyy-MM-dd HH:mm:ss
       time-zone: GMT+8
@@ -16,7 +16,8 @@ spring:
 eureka:
   client:
     service-url:
-      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.162}:${EUREKA_PORT:8061}/eureka/
+      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8081}/eureka/
+
   instance:
     prefer-ip-address: true
     status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/

+ 268 - 121
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -2,39 +2,36 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.steerinfo.dil.mapper.BmstruckDetailsOrderMapper">
     <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.BmstruckDetailsOrder">
-        <id column="DETAILS_ID" jdbcType="DECIMAL" property="detailsId"/>
-        <result column="PURCHASE_ORDER_ID" jdbcType="DECIMAL" property="purchaseOrderId"/>
-        <result column="ORDER_ID" jdbcType="DECIMAL" property="orderId"/>
-        <result column="DETAILS_NO" jdbcType="VARCHAR" property="detailsNo"/>
-        <result column="DETAILS_TIME" jdbcType="TIMESTAMP" property="detailsTime"/>
-        <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId"/>
-        <result column="DETAILS_AMOUNT" jdbcType="DECIMAL" property="detailsAmount"/>
-        <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="WETHER_TO_STATEMENT" jdbcType="DECIMAL" property="wetherToStatement"/>
+        <id column="DETAILS_ID" jdbcType="DECIMAL" property="detailsId" />
+        <result column="PURCHASE_ORDER_ID" jdbcType="DECIMAL" property="purchaseOrderId" />
+        <result column="WEIGHT_TASK_RESULT_ID" jdbcType="DECIMAL" property="weightTaskResultId" />
+        <result column="DETAILS_NO" jdbcType="VARCHAR" property="detailsNo" />
+        <result column="DETAILS_TIME" jdbcType="TIMESTAMP" property="detailsTime" />
+        <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
+        <result column="DETAILS_AMOUNT" jdbcType="DECIMAL" property="detailsAmount" />
+        <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="WETHER_TO_STATEMENT" jdbcType="DECIMAL" property="wetherToStatement" />
+        <result column="EAS_AMOUNT" jdbcType="DECIMAL" property="easAmount" />
     </resultMap>
     <sql id="columns">
-        DETAILS_ID, PURCHASE_ORDER_ID, ORDER_ID, DETAILS_NO, DETAILS_TIME, PRICE_ID, DETAILS_AMOUNT,
-    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    WETHER_TO_STATEMENT
+        DETAILS_ID, PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID, DETAILS_NO, DETAILS_TIME, PRICE_ID,
+    DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+    WETHER_TO_STATEMENT, EAS_AMOUNT
     </sql>
     <sql id="columns_alias">
-        t.DETAILS_ID, t.PURCHASE_ORDER_ID, t.ORDER_ID, t.DETAILS_NO, t.DETAILS_TIME, t.PRICE_ID,
-    t.DETAILS_AMOUNT, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
-    t.INSERT_UPDATE_REMARK, t.WETHER_TO_STATEMENT
+        t.DETAILS_ID, t.PURCHASE_ORDER_ID, t.WEIGHT_TASK_RESULT_ID, t.DETAILS_NO, t.DETAILS_TIME,
+    t.PRICE_ID, t.DETAILS_AMOUNT, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME,
+    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.WETHER_TO_STATEMENT, t.EAS_AMOUNT
     </sql>
     <sql id="select">
-        SELECT
-        <include refid="columns"/>
-        FROM BMSTRUCK_DETAILS_ORDER
+        SELECT <include refid="columns" /> FROM BMSTRUCK_DETAILS_ORDER
     </sql>
     <sql id="select_alias">
-        SELECT
-        <include refid="columns_alias"/>
-        FROM BMSTRUCK_DETAILS_ORDER t
+        SELECT <include refid="columns_alias" /> FROM BMSTRUCK_DETAILS_ORDER t
     </sql>
     <sql id="where">
         <where>
@@ -44,8 +41,8 @@
             <if test="purchaseOrderId != null">
                 and PURCHASE_ORDER_ID = #{purchaseOrderId}
             </if>
-            <if test="orderId != null">
-                and ORDER_ID = #{orderId}
+            <if test="weightTaskResultId != null">
+                and WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
             </if>
             <if test="detailsNo != null and detailsNo != ''">
                 and DETAILS_NO = #{detailsNo}
@@ -77,6 +74,9 @@
             <if test="wetherToStatement != null">
                 and WETHER_TO_STATEMENT = #{wetherToStatement}
             </if>
+            <if test="easAmount != null">
+                and EAS_AMOUNT = #{easAmount}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -87,8 +87,8 @@
             <if test="purchaseOrderId != null">
                 and PURCHASE_ORDER_ID = #{purchaseOrderId}
             </if>
-            <if test="orderId != null">
-                and ORDER_ID = #{orderId}
+            <if test="weightTaskResultId != null">
+                and WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
             </if>
             <if test="detailsNo != null and detailsNo != ''">
                 and DETAILS_NO LIKE '%${detailsNo}%'
@@ -120,11 +120,13 @@
             <if test="wetherToStatement != null">
                 and WETHER_TO_STATEMENT = #{wetherToStatement}
             </if>
+            <if test="easAmount != null">
+                and EAS_AMOUNT = #{easAmount}
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
-        delete
-        from BMSTRUCK_DETAILS_ORDER
+    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+        delete from BMSTRUCK_DETAILS_ORDER
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </delete>
     <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
@@ -133,8 +135,8 @@
         <if test="purchaseOrderId != null">
             or PURCHASE_ORDER_ID = #{purchaseOrderId}
         </if>
-        <if test="orderId != null">
-            or ORDER_ID = #{orderId}
+        <if test="weightTaskResultId != null">
+            or WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
         </if>
         <if test="detailsNo != null and detailsNo != ''">
             or DETAILS_NO = #{detailsNo}
@@ -166,19 +168,21 @@
         <if test="wetherToStatement != null">
             or WETHER_TO_STATEMENT = #{wetherToStatement}
         </if>
+        <if test="easAmount != null">
+            or EAS_AMOUNT = #{easAmount}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
-        insert into BMSTRUCK_DETAILS_ORDER (DETAILS_ID, PURCHASE_ORDER_ID, ORDER_ID,
+        insert into BMSTRUCK_DETAILS_ORDER (DETAILS_ID, PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID,
                                             DETAILS_NO, DETAILS_TIME, PRICE_ID,
                                             DETAILS_AMOUNT, INSERT_USERNAME, INSERT_TIME,
                                             UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-                                            WETHER_TO_STATEMENT)
-        values (#{detailsId,jdbcType=DECIMAL}, #{purchaseOrderId,jdbcType=DECIMAL}, #{orderId,jdbcType=DECIMAL},
+                                            WETHER_TO_STATEMENT, EAS_AMOUNT)
+        values (#{detailsId,jdbcType=DECIMAL}, #{purchaseOrderId,jdbcType=DECIMAL}, #{weightTaskResultId,jdbcType=DECIMAL},
                 #{detailsNo,jdbcType=VARCHAR}, #{detailsTime,jdbcType=TIMESTAMP}, #{priceId,jdbcType=DECIMAL},
                 #{detailsAmount,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
-                #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
-                #{insertUpdateRemark,jdbcType=VARCHAR},
-                #{wetherToStatement,jdbcType=DECIMAL})
+                #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
+                #{wetherToStatement,jdbcType=DECIMAL}, #{easAmount,jdbcType=DECIMAL})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         insert into BMSTRUCK_DETAILS_ORDER
@@ -189,8 +193,8 @@
             <if test="purchaseOrderId != null">
                 PURCHASE_ORDER_ID,
             </if>
-            <if test="orderId != null">
-                ORDER_ID,
+            <if test="weightTaskResultId != null">
+                WEIGHT_TASK_RESULT_ID,
             </if>
             <if test="detailsNo != null">
                 DETAILS_NO,
@@ -222,6 +226,9 @@
             <if test="wetherToStatement != null">
                 WETHER_TO_STATEMENT,
             </if>
+            <if test="easAmount != null">
+                EAS_AMOUNT,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="detailsId != null">
@@ -230,8 +237,8 @@
             <if test="purchaseOrderId != null">
                 #{purchaseOrderId,jdbcType=DECIMAL},
             </if>
-            <if test="orderId != null">
-                #{orderId,jdbcType=DECIMAL},
+            <if test="weightTaskResultId != null">
+                #{weightTaskResultId,jdbcType=DECIMAL},
             </if>
             <if test="detailsNo != null">
                 #{detailsNo,jdbcType=VARCHAR},
@@ -263,22 +270,26 @@
             <if test="wetherToStatement != null">
                 #{wetherToStatement,jdbcType=DECIMAL},
             </if>
+            <if test="easAmount != null">
+                #{easAmount,jdbcType=DECIMAL},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
         update BMSTRUCK_DETAILS_ORDER
-        set PURCHASE_ORDER_ID    = #{purchaseOrderId,jdbcType=DECIMAL},
-            ORDER_ID             = #{orderId,jdbcType=DECIMAL},
-            DETAILS_NO           = #{detailsNo,jdbcType=VARCHAR},
-            DETAILS_TIME         = #{detailsTime,jdbcType=TIMESTAMP},
-            PRICE_ID             = #{priceId,jdbcType=DECIMAL},
-            DETAILS_AMOUNT       = #{detailsAmount,jdbcType=DECIMAL},
-            INSERT_USERNAME      = #{insertUsername,jdbcType=VARCHAR},
-            INSERT_TIME          = #{insertTime,jdbcType=TIMESTAMP},
-            UPDATE_USERNAME      = #{updateUsername,jdbcType=VARCHAR},
-            UPDATE_TIME          = #{updateTime,jdbcType=TIMESTAMP},
+        set PURCHASE_ORDER_ID = #{purchaseOrderId,jdbcType=DECIMAL},
+            WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL},
+            DETAILS_NO = #{detailsNo,jdbcType=VARCHAR},
+            DETAILS_TIME = #{detailsTime,jdbcType=TIMESTAMP},
+            PRICE_ID = #{priceId,jdbcType=DECIMAL},
+            DETAILS_AMOUNT = #{detailsAmount,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},
-            WETHER_TO_STATEMENT  = #{wetherToStatement,jdbcType=DECIMAL}
+            WETHER_TO_STATEMENT = #{wetherToStatement,jdbcType=DECIMAL},
+            EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL}
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.BmstruckDetailsOrder">
@@ -287,8 +298,8 @@
             <if test="purchaseOrderId != null">
                 PURCHASE_ORDER_ID = #{purchaseOrderId,jdbcType=DECIMAL},
             </if>
-            <if test="orderId != null">
-                ORDER_ID = #{orderId,jdbcType=DECIMAL},
+            <if test="weightTaskResultId != null">
+                WEIGHT_TASK_RESULT_ID = #{weightTaskResultId,jdbcType=DECIMAL},
             </if>
             <if test="detailsNo != null">
                 DETAILS_NO = #{detailsNo,jdbcType=VARCHAR},
@@ -320,106 +331,112 @@
             <if test="wetherToStatement != null">
                 WETHER_TO_STATEMENT = #{wetherToStatement,jdbcType=DECIMAL},
             </if>
+            <if test="easAmount != null">
+                EAS_AMOUNT = #{easAmount,jdbcType=DECIMAL},
+            </if>
         </set>
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
-        <include refid="select"/>
+    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+        <include refid="select" />
         where DETAILS_ID = #{detailsId,jdbcType=DECIMAL}
     </select>
     <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="where"/>
+        <include refid="select" />
+        <include refid="where" />
     </select>
     <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-        <include refid="select"/>
-        <include refid="whereLike"/>
+        <include refid="select" />
+        <include refid="whereLike" />
     </select>
     <insert id="batchInsert" parameterType="java.util.List">
         insert into BMSTRUCK_DETAILS_ORDER
         (DETAILS_ID,
-        PURCHASE_ORDER_ID, ORDER_ID, DETAILS_NO,
-        DETAILS_TIME, PRICE_ID, DETAILS_AMOUNT,
-        INSERT_USERNAME, INSERT_TIME,
-        UPDATE_USERNAME, UPDATE_TIME,
-        INSERT_UPDATE_REMARK, WETHER_TO_STATEMENT
-        )
+        PURCHASE_ORDER_ID, WEIGHT_TASK_RESULT_ID,
+        DETAILS_NO, DETAILS_TIME, PRICE_ID,
+        DETAILS_AMOUNT, INSERT_USERNAME,
+        INSERT_TIME, UPDATE_USERNAME,
+        UPDATE_TIME, INSERT_UPDATE_REMARK,
+        WETHER_TO_STATEMENT, EAS_AMOUNT)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.detailsId,jdbcType=DECIMAL},
-        #{item.purchaseOrderId,jdbcType=DECIMAL}, #{item.orderId,jdbcType=DECIMAL}, #{item.detailsNo,jdbcType=VARCHAR},
-        #{item.detailsTime,jdbcType=TIMESTAMP}, #{item.priceId,jdbcType=DECIMAL},
-        #{item.detailsAmount,jdbcType=DECIMAL},
-        #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
-        #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
-        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.wetherToStatement,jdbcType=DECIMAL}
-        from dual
+        #{item.purchaseOrderId,jdbcType=DECIMAL}, #{item.weightTaskResultId,jdbcType=DECIMAL},
+        #{item.detailsNo,jdbcType=VARCHAR}, #{item.detailsTime,jdbcType=TIMESTAMP}, #{item.priceId,jdbcType=DECIMAL},
+        #{item.detailsAmount,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},
+        #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+        #{item.wetherToStatement,jdbcType=DECIMAL}, #{item.easAmount,jdbcType=DECIMAL} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
         update BMSTRUCK_DETAILS_ORDER
         set
         DETAILS_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.detailsId,jdbcType=DECIMAL}
         </foreach>
         ,PURCHASE_ORDER_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.purchaseOrderId,jdbcType=DECIMAL}
         </foreach>
-        ,ORDER_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
-            when #{item.detailsId,jdbcType=DECIMAL} then #{item.orderId,jdbcType=DECIMAL}
+        ,WEIGHT_TASK_RESULT_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
+            when #{item.detailsId,jdbcType=DECIMAL} then #{item.weightTaskResultId,jdbcType=DECIMAL}
         </foreach>
         ,DETAILS_NO=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.detailsNo,jdbcType=VARCHAR}
         </foreach>
         ,DETAILS_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.detailsTime,jdbcType=TIMESTAMP}
         </foreach>
         ,PRICE_ID=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.priceId,jdbcType=DECIMAL}
         </foreach>
         ,DETAILS_AMOUNT=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.detailsAmount,jdbcType=DECIMAL}
         </foreach>
         ,INSERT_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
         </foreach>
         ,INSERT_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
         </foreach>
         ,UPDATE_USERNAME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
         </foreach>
         ,UPDATE_TIME=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
         </foreach>
         ,INSERT_UPDATE_REMARK=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
         </foreach>
         ,WETHER_TO_STATEMENT=
-        <foreach collection="list" item="item" index="index" separator=" " open="case DETAILS_ID" close="end">
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
             when #{item.detailsId,jdbcType=DECIMAL} then #{item.wetherToStatement,jdbcType=DECIMAL}
         </foreach>
+        ,EAS_AMOUNT=
+        <foreach close="end" collection="list" index="index" item="item" open="case DETAILS_ID" separator=" ">
+            when #{item.detailsId,jdbcType=DECIMAL} then #{item.easAmount,jdbcType=DECIMAL}
+        </foreach>
         where DETAILS_ID in
-        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+        <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.detailsId,jdbcType=DECIMAL}
         </foreach>
     </update>
     <delete id="batchDelete" parameterType="java.util.List">
         delete from BMSTRUCK_DETAILS_ORDER
         where DETAILS_ID in
-        <foreach collection="list" item="id" open="(" close=")" separator=",">
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
             #{id}
         </foreach>
     </delete>
@@ -452,14 +469,14 @@
         ON db.BATCH_ID = apo.BATCH_ID
         LEFT JOIN RMS_MATERIAL rm
         ON rm.MATERIAL_ID = db.MATERIAL_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+        ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+        ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
         LEFT JOIN OMSTRUCK_ORDER oo
-        ON oo.ORDER_ID = bdo.ORDER_ID
+        ON oo.ORDER_ID = ttl.ORDER_ID
         LEFT JOIN RMS_CAPACITY rc
         ON oo.CAPACITY_ID = rc.CAPACITY_ID
-        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
-        ON ttl.ORDER_ID = oo.ORDER_ID
-        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
-        ON twr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
         LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
         ON actp.PRICE_ID = bdo.PRICE_ID
         WHERE oo.ORDER_TYPE = #{orderType}
@@ -535,15 +552,54 @@
         bdo.DETAILS_TIME as "detailsTime",
         rc.CAPACITY_NUMBER as "capacityNumber",
         rct.CAPACITY_TYPE_NAME as "capacityTypeName",
+        RC2.CARRIER_NAME as "carrierName",
         rs.SHIPPER_NAME as "shipperName",
-        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        rco.CONSIGNEE_COMPANY_NAME as "consigneeReceiveAddress",
         actp.PRICE_VALUE as "priceValue",
-        bdo.DETAILS_AMOUNT as "detailsAmount"
+        bdo.DETAILS_AMOUNT as "detailsAmount",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "realAddress",
+        ter.RESULT_ENTRY_GATE_TIME as "resultEntryGateTime",
+        rge.GATEPOST_NAME as "enGatepostName",
+        twr.RESULT_TARE_WEIGHT_TIME as "resultTareWeightTime",
+        twr.RESULT_TARE_WEIGHT as "resultTareWeight",
+        rtct.TRUCK_CALCULATE_NUMBER as "tareCalculateNumber",
+        tlr.RESULT_LOAD_START_TIME as "resultLoadStartTime",
+        rw.WAREHOUSE_NAME as "warehouseName",
+        twr.RESULT_GROSS_WEIGHT_TIME as "resultGrossWeightTime",
+        twr.RESULT_GROSS_WEIGHT as "resultGrossWeight",
+        rtcg.TRUCK_CALCULATE_NUMBER as "grossCalculateNumber",
+        tlfr.RESULT_OUT_GATE_TIME as "resultOutGateTime",
+        rgl.GATEPOST_NAME as "leaveGatepostName",
+        twr.RESULT_NET_WEIGHT as "resultNetWeight"
         FROM BMSTRUCK_DETAILS_ORDER bdo
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+        ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+        ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT ter
+        ON ter.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rge
+        ON rge.GATEPOST_ID = ter.GATEPOST_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtct
+        ON rtct.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LOAD_RESULT tlr
+        ON tlr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_WAREHOUSE rw
+        ON rw.WAREHOUSE_ID = tlr.LOADING_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtcg
+        ON rtcg.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT tlfr
+        ON tlfr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rgl
+        ON rgl.GATEPOST_ID = ter.GATEPOST_ID
         LEFT JOIN OMSTRUCK_ORDER oo
-        ON oo.ORDER_ID = bdo.ORDER_ID
+        ON oo.ORDER_ID = ttl.ORDER_ID
         LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
         ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+        ON ADSO.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER RC2
+        ON RC2.CARRIER_ID = ADSO.CARRIER_ID
         LEFT JOIN AMS_SALE_ORDER aso
         ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
         LEFT JOIN RMS_SHIPPER rs
@@ -556,8 +612,15 @@
         ON rct.CAPACITY_TYPE_ID = rc.CAPACITY_TYPE_ID
         LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
         ON actp.PRICE_ID = bdo.PRICE_ID
-        WHERE oo.ORDER_TYPE = #{orderType}
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID = asom.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE oo.ORDER_TYPE in (1,2)
         AND bdo.WETHER_TO_STATEMENT = 0
+        <if test="carrierId != null" >
+            AND RC2.CARRIER_ID = #{carrierId}
+        </if>
         )
         <where>
             <if test="detailsNo!= null">
@@ -572,6 +635,12 @@
                     "orderNumber" in #{item}
                 </foreach>
             </if>
+            <if test="carrierName!= null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="," close=")">
+                    "carrierName" in #{item}
+                </foreach>
+            </if>
             <if test="detailsTime!= null">
                 and
                 <foreach collection="detailsTime" item="item" open="(" separator="," close=")">
@@ -631,14 +700,54 @@
         rc.CAPACITY_NUMBER as "capacityNumber",
         rct.CAPACITY_TYPE_NAME as "capacityTypeName",
         rs.SHIPPER_NAME as "shipperName",
-        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        rco.CONSIGNEE_COMPANY_NAME as "consigneeReceiveAddress",
+        rc2.CARRIER_NAME as "carrierName",
         actp.PRICE_VALUE as "priceValue",
-        bdo.DETAILS_AMOUNT as "detailsAmount"
+        bdo.DETAILS_AMOUNT as "detailsAmount",
+        bdo.WETHER_TO_STATEMENT as "wetherToStatement",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "realAddress",
+        ter.RESULT_ENTRY_GATE_TIME as "resultEntryGateTime",
+        rge.GATEPOST_NAME as "enGatepostName",
+        twr.RESULT_TARE_WEIGHT_TIME as "resultTareWeightTime",
+        twr.RESULT_TARE_WEIGHT as "resultTareWeight",
+        rtct.TRUCK_CALCULATE_NUMBER as "tareCalculateNumber",
+        tlr.RESULT_LOAD_START_TIME as "resultLoadStartTime",
+        rw.WAREHOUSE_NAME as "warehouseName",
+        twr.RESULT_GROSS_WEIGHT_TIME as "resultGrossWeightTime",
+        twr.RESULT_GROSS_WEIGHT as "resultGrossWeight",
+        rtcg.TRUCK_CALCULATE_NUMBER as "grossCalculateNumber",
+        tlfr.RESULT_OUT_GATE_TIME as "resultOutGateTime",
+        rgl.GATEPOST_NAME as "leaveGatepostName",
+        twr.RESULT_NET_WEIGHT as "resultNetWeight"
         FROM BMSTRUCK_DETAILS_ORDER bdo
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
+        ON twr.WEIGHT_TASK_RESULT_ID = bdo.WEIGHT_TASK_RESULT_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT ttl
+        ON ttl.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
+        LEFT JOIN TMSTRUCK_ENFACTORY_RESULT ter
+        ON ter.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rge
+        ON rge.GATEPOST_ID = ter.GATEPOST_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtct
+        ON rtct.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LOAD_RESULT tlr
+        ON tlr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_WAREHOUSE rw
+        ON rw.WAREHOUSE_ID = tlr.LOADING_ID
+        LEFT JOIN RMS_TRUCK_CALCULATE rtcg
+        ON rtcg.TRUCK_CALCULATE_ID = twr.RESULT_TARE_PLACE_ID
+        LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT tlfr
+        ON tlfr.RESULT_TOTAL_ID = ttl.RESULT_TOTAL_ID
+        LEFT JOIN RMS_GATEPOST rgl
+        ON rgl.GATEPOST_ID = ter.GATEPOST_ID
         LEFT JOIN OMSTRUCK_ORDER oo
-        ON oo.ORDER_ID = bdo.ORDER_ID
+        ON oo.ORDER_ID = ttl.ORDER_ID
         LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
         ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER adso
+        ON adso.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER rc2
+        ON rc2.CARRIER_ID = adso.CARRIER_ID
         LEFT JOIN AMS_SALE_ORDER aso
         ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
         LEFT JOIN RMS_SHIPPER rs
@@ -651,7 +760,15 @@
         ON rct.CAPACITY_TYPE_ID = rc.CAPACITY_TYPE_ID
         LEFT JOIN AMS_CONTRACT_TRANSPORT_PRICE actp
         ON actp.PRICE_ID = bdo.PRICE_ID
-        WHERE oo.ORDER_TYPE = #{orderType}
+        LEFT JOIN RMS_RECEIVE_PLACE RRP
+        ON RRP.PLACE_ID = asom.SALE_SHIPPING_ADDRESS_ID
+        LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+        ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE oo.ORDER_TYPE in (1,2)
+        AND bdo.WETHER_TO_STATEMENT = 1
+        <if test="carrierId != null" >
+            AND rc2.CARRIER_ID = #{carrierId}
+        </if>
         )
         <where>
             <if test="detailsNo!= null">
@@ -828,31 +945,26 @@
         SELECT oo.INSERT_TIME as "insertTime",
         oo.ORDER_NUMBER as "orderNumber",
         rca.CAPACITY_NUMBER as "capacityNumber",
-        rcd.DRIVER_NAME as "driverName",
         rc.CARRIER_NAME as "carrierName",
-        rl.LINE_NO as "lineNo",
+        rl.LINE_NAME as "lineNo",
         ter.RESULT_ENTRY_GATE_TIME as "resultEntryGateTime",
         rge.GATEPOST_NAME as "enGatepostName",
         twr.RESULT_TARE_WEIGHT_TIME as "resultTareWeightTime",
         twr.RESULT_TARE_WEIGHT as "resultTareWeight",
         rtct.TRUCK_CALCULATE_NUMBER as "tareCalculateNumber",
         tlr.RESULT_LOAD_START_TIME as "resultLoadStartTime",
-        tlr.RESULT_MEASURED_TONNAGE as "resultMeasuredTonnage",
         rw.WAREHOUSE_NAME as "warehouseName",
         twr.RESULT_GROSS_WEIGHT_TIME as "resultGrossWeightTime",
         twr.RESULT_GROSS_WEIGHT as "resultGrossWeight",
         rtcg.TRUCK_CALCULATE_NUMBER as "grossCalculateNumber",
         tlfr.RESULT_OUT_GATE_TIME as "resultOutGateTime",
-        rgl.GATEPOST_NAME as "leaveGatepostName"
+        rgl.GATEPOST_NAME as "leaveGatepostName",
+        twr.RESULT_NET_WEIGHT as "resultNetWeight"
         FROM OMSTRUCK_ORDER oo
         LEFT JOIN RMS_CAPACITY rca
         ON rca.CAPACITY_ID = oo.CAPACITY_ID
         LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
         ON asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
-        LEFT JOIN RMS_DRIVER_CAPACITY rdc
-        ON rdc.DRIVER_CAPACITY_ID = oo.DRIVER_CAPACITY_ID
-        LEFT JOIN RMS_CAR_DRIVER rcd
-        ON rcd.DRIVER_ID = rdc.DRIVER_ID
         LEFT JOIN AMS_DISPATCH_SALE_ORDER adso
         ON adso.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
         LEFT JOIN RMS_CARRIER rc
@@ -1017,13 +1129,19 @@
     </select>
 
     <select id="getNetWeight" parameterType="DECIMAL" resultType="DECIMAL">
-        SELECT SUM(twr.RESULT_NET_WEIGHT) as "netWeight"
-        FROM OMSTRUCK_ORDER oo
-                 LEFT JOIN TMSTRUCK_TOTAL_RESULT ttr
-                           ON oo.ORDER_ID = ttr.ORDER_ID
-                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT twr
-                           ON ttr.RESULT_TOTAL_ID = twr.RESULT_TOTAL_ID
-        WHERE oo.ORDER_ID = #{orderId}
+        SELECT SUM(twr.RESULT_NET_WEIGHT) as "weightTaskResultId"
+        FROM TMSTRUCK_WEIGHT_RESULT twr
+        WHERE twr.WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
+    </select>
+
+    <select id="getOrderId" parameterType="DECIMAL" resultType="DECIMAL" >
+        SELECT OO.ORDER_ID AS "orderId"
+        FROM TMSTRUCK_WEIGHT_RESULT TWR
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+                 LEFT JOIN OMSTRUCK_ORDER OO
+                           ON OO.ORDER_ID = TTR.ORDER_ID
+        WHERE TWR.WEIGHT_TASK_RESULT_ID = #{weightTaskResultId}
     </select>
 
     <!--  查询未生成账单的计时详单  -->
@@ -1127,4 +1245,33 @@
                  left join amstruck_inward_requirement air on arp.requirement_id = air.requirement_id
         where oo.order_id = #{orderId}
     </select>
+
+
+    <select id="getCarrierIdBySSO" parameterType="java.lang.String" resultType="DECIMAL" >
+        SELECT
+            RC.CARRIER_ID AS "carrierId"
+        FROM RMS_CARRIER RC
+        WHERE RC.CARRIER_SSO_ID = #{carrierSsoId}
+    </select>
+
+    <select id="findAddressAndPrice" parameterType="DECIMAL" resultType="java.util.Map" >
+        SELECT ACTP.PRICE_VALUE                                                                                 AS "priceValue",
+               RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS ""
+        FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP
+                           ON ACTP.PLACE_ID = RRP.PLACE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+        WHERE ACTP.PRICE_ID = #{priceId}
+    </select>
+
+    <select id="getWeightTaskResultId" parameterType="DECIMAL" resultType="java.util.Map" >
+        SELECT TWR.WEIGHT_TASK_RESULT_ID AS "weightTaskResultId"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+                           ON TTR.ORDER_ID = OO.ORDER_ID
+                 LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+                           ON TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
 </mapper>

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

@@ -499,7 +499,8 @@
         rc.CAPACITY_NUMBER as "capacityNumber",
         rct.CAPACITY_TYPE_NAME as "capacityTypeName",
         rs.SHIPPER_NAME as "shipperName",
-        rco.CONSIGNEE_RECEIVE_ADDRESS as "consigneeReceiveAddress",
+        RC2.CARRIER_NAME as "carrierName",
+        rco.CONSIGNEE_COMPANY_NAME as "consigneeReceiveAddress",
         actp.PRICE_VALUE as "priceValue",
         bdo.DETAILS_AMOUNT as "detailsAmount"
         FROM BMSTRUCK_DETAILS_ORDER bdo
@@ -507,6 +508,10 @@
         ON oo.ORDER_ID = bdo.ORDER_ID
         LEFT JOIN AMS_SALE_ORDER_MATERIAL asom
         ON oo.ORDER_PLAN_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN AMS_DISPATCH_SALE_ORDER adso
+        ON adso.SALE_ORDER_MATERIAL_ID = asom.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN RMS_CARRIER RC2
+        ON RC2.CARRIER_ID = adso.CARRIER_ID
         LEFT JOIN AMS_SALE_ORDER aso
         ON aso.SALE_ORDER_ID = asom.SALE_ORDER_ID
         LEFT JOIN RMS_SHIPPER rs

+ 683 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -0,0 +1,683 @@
+<?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.OmstruckOrderMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.OmstruckOrder">
+        <id column="ORDER_ID" jdbcType="DECIMAL" property="orderId" />
+        <result column="ORDER_PLAN_ID" jdbcType="DECIMAL" property="orderPlanId" />
+        <result column="ORDER_NUMBER" jdbcType="VARCHAR" property="orderNumber" />
+        <result column="CAPACITY_ID" jdbcType="DECIMAL" property="capacityId" />
+        <result column="ORDER_ISSUE_TIME" jdbcType="TIMESTAMP" property="orderIssueTime" />
+        <result column="ORDER_RECEIVE_STATUS" jdbcType="DECIMAL" property="orderReceiveStatus" />
+        <result column="ORDER_RECEIVE_REFUSE_TIME" jdbcType="TIMESTAMP" property="orderReceiveRefuseTime" />
+        <result column="ORDER_COMMUNICATION_DURATION" jdbcType="DECIMAL" property="orderCommunicationDuration" />
+        <result column="ORDER_STATUS" jdbcType="DECIMAL" property="orderStatus" />
+        <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="DELETED" jdbcType="DECIMAL" property="deleted" />
+        <result column="ORDER_TYPE" jdbcType="DECIMAL" property="orderType" />
+        <result column="ORDER_LINE_SEQUENCE" jdbcType="DECIMAL" property="orderLineSequence" />
+        <result column="LINE_ID" jdbcType="DECIMAL" property="lineId" />
+        <result column="ORDER_ENTRY_TIME" jdbcType="TIMESTAMP" property="orderEntryTime" />
+        <result column="UNLOAD_POINT_ID" jdbcType="DECIMAL" property="unloadPointId" />
+        <result column="DRIVER_CONFIRMATION" jdbcType="DECIMAL" property="driverConfirmation" />
+        <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
+        <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+    </resultMap>
+    <sql id="columns">
+        ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS, 
+    ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION, ORDER_STATUS, INSERT_USERNAME, 
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, ORDER_TYPE, 
+    ORDER_LINE_SEQUENCE, LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID, DRIVER_CONFIRMATION, 
+    PRICE_ID, CARRIER_ID
+    </sql>
+    <sql id="columns_alias">
+        t.ORDER_ID, t.ORDER_PLAN_ID, t.ORDER_NUMBER, t.CAPACITY_ID, t.ORDER_ISSUE_TIME, t.ORDER_RECEIVE_STATUS, 
+    t.ORDER_RECEIVE_REFUSE_TIME, t.ORDER_COMMUNICATION_DURATION, t.ORDER_STATUS, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, 
+    t.ORDER_TYPE, t.ORDER_LINE_SEQUENCE, t.LINE_ID, t.ORDER_ENTRY_TIME, t.UNLOAD_POINT_ID, 
+    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID
+    </sql>
+    <sql id="select">
+        SELECT <include refid="columns" /> FROM OMSTRUCK_ORDER
+    </sql>
+    <sql id="select_alias">
+        SELECT <include refid="columns_alias" /> FROM OMSTRUCK_ORDER t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
+            <if test="orderPlanId != null">
+                and ORDER_PLAN_ID = #{orderPlanId}
+            </if>
+            <if test="orderNumber != null and orderNumber != ''">
+                and ORDER_NUMBER = #{orderNumber}
+            </if>
+            <if test="capacityId != null">
+                and CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="orderIssueTime != null">
+                and TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = #{orderIssueTime}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = #{orderReceiveRefuseTime}
+            </if>
+            <if test="orderCommunicationDuration != null">
+                and ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+            </if>
+            <if test="orderStatus != null">
+                and ORDER_STATUS = #{orderStatus}
+            </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="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="orderType != null">
+                and ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderLineSequence != null">
+                and ORDER_LINE_SEQUENCE = #{orderLineSequence}
+            </if>
+            <if test="lineId != null">
+                and LINE_ID = #{lineId}
+            </if>
+            <if test="orderEntryTime != null">
+                and TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = #{orderEntryTime}
+            </if>
+            <if test="unloadPointId != null">
+                and UNLOAD_POINT_ID = #{unloadPointId}
+            </if>
+            <if test="driverConfirmation != null">
+                and DRIVER_CONFIRMATION = #{driverConfirmation}
+            </if>
+            <if test="priceId != null">
+                and PRICE_ID = #{priceId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="orderId != null">
+                and ORDER_ID = #{orderId}
+            </if>
+            <if test="orderPlanId != null">
+                and ORDER_PLAN_ID = #{orderPlanId}
+            </if>
+            <if test="orderNumber != null and orderNumber != ''">
+                and ORDER_NUMBER LIKE '%${orderNumber}%'
+            </if>
+            <if test="capacityId != null">
+                and CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="orderIssueTime != null">
+                and TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = #{orderIssueTime}
+            </if>
+            <if test="orderReceiveStatus != null">
+                and ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                and TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = #{orderReceiveRefuseTime}
+            </if>
+            <if test="orderCommunicationDuration != null">
+                and ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+            </if>
+            <if test="orderStatus != null">
+                and ORDER_STATUS = #{orderStatus}
+            </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="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="orderType != null">
+                and ORDER_TYPE = #{orderType}
+            </if>
+            <if test="orderLineSequence != null">
+                and ORDER_LINE_SEQUENCE = #{orderLineSequence}
+            </if>
+            <if test="lineId != null">
+                and LINE_ID = #{lineId}
+            </if>
+            <if test="orderEntryTime != null">
+                and TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = #{orderEntryTime}
+            </if>
+            <if test="unloadPointId != null">
+                and UNLOAD_POINT_ID = #{unloadPointId}
+            </if>
+            <if test="driverConfirmation != null">
+                and DRIVER_CONFIRMATION = #{driverConfirmation}
+            </if>
+            <if test="priceId != null">
+                and PRICE_ID = #{priceId}
+            </if>
+            <if test="carrierId != null">
+                and CARRIER_ID = #{carrierId}
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
+        delete from OMSTRUCK_ORDER
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from OMSTRUCK_ORDER
+        where 1!=1
+        <if test="orderPlanId != null">
+            or ORDER_PLAN_ID = #{orderPlanId}
+        </if>
+        <if test="orderNumber != null and orderNumber != ''">
+            or ORDER_NUMBER = #{orderNumber}
+        </if>
+        <if test="capacityId != null">
+            or CAPACITY_ID = #{capacityId}
+        </if>
+        <if test="orderIssueTime != null">
+            or TO_CHAR(ORDER_ISSUE_TIME,'yyyy-MM-dd') = '#{orderIssueTime}'
+        </if>
+        <if test="orderReceiveStatus != null">
+            or ORDER_RECEIVE_STATUS = #{orderReceiveStatus}
+        </if>
+        <if test="orderReceiveRefuseTime != null">
+            or TO_CHAR(ORDER_RECEIVE_REFUSE_TIME,'yyyy-MM-dd') = '#{orderReceiveRefuseTime}'
+        </if>
+        <if test="orderCommunicationDuration != null">
+            or ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration}
+        </if>
+        <if test="orderStatus != null">
+            or ORDER_STATUS = #{orderStatus}
+        </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="deleted != null">
+            or DELETED = #{deleted}
+        </if>
+        <if test="orderType != null">
+            or ORDER_TYPE = #{orderType}
+        </if>
+        <if test="orderLineSequence != null">
+            or ORDER_LINE_SEQUENCE = #{orderLineSequence}
+        </if>
+        <if test="lineId != null">
+            or LINE_ID = #{lineId}
+        </if>
+        <if test="orderEntryTime != null">
+            or TO_CHAR(ORDER_ENTRY_TIME,'yyyy-MM-dd') = '#{orderEntryTime}'
+        </if>
+        <if test="unloadPointId != null">
+            or UNLOAD_POINT_ID = #{unloadPointId}
+        </if>
+        <if test="driverConfirmation != null">
+            or DRIVER_CONFIRMATION = #{driverConfirmation}
+        </if>
+        <if test="priceId != null">
+            or PRICE_ID = #{priceId}
+        </if>
+        <if test="carrierId != null">
+            or CARRIER_ID = #{carrierId}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        insert into OMSTRUCK_ORDER (ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER,
+                                    CAPACITY_ID, ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
+                                    ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION,
+                                    ORDER_STATUS, INSERT_USERNAME, INSERT_TIME,
+                                    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+                                    DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
+                                    LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
+                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID
+        )
+        values (#{orderId,jdbcType=DECIMAL}, #{orderPlanId,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR},
+                #{capacityId,jdbcType=DECIMAL}, #{orderIssueTime,jdbcType=TIMESTAMP}, #{orderReceiveStatus,jdbcType=DECIMAL},
+                #{orderReceiveRefuseTime,jdbcType=TIMESTAMP}, #{orderCommunicationDuration,jdbcType=DECIMAL},
+                #{orderStatus,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+                #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
+                #{deleted,jdbcType=DECIMAL}, #{orderType,jdbcType=DECIMAL}, #{orderLineSequence,jdbcType=DECIMAL},
+                #{lineId,jdbcType=DECIMAL}, #{orderEntryTime,jdbcType=TIMESTAMP}, #{unloadPointId,jdbcType=DECIMAL},
+                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL}
+               )
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        insert into OMSTRUCK_ORDER
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">
+                ORDER_ID,
+            </if>
+            <if test="orderPlanId != null">
+                ORDER_PLAN_ID,
+            </if>
+            <if test="orderNumber != null">
+                ORDER_NUMBER,
+            </if>
+            <if test="capacityId != null">
+                CAPACITY_ID,
+            </if>
+            <if test="orderIssueTime != null">
+                ORDER_ISSUE_TIME,
+            </if>
+            <if test="orderReceiveStatus != null">
+                ORDER_RECEIVE_STATUS,
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                ORDER_RECEIVE_REFUSE_TIME,
+            </if>
+            <if test="orderCommunicationDuration != null">
+                ORDER_COMMUNICATION_DURATION,
+            </if>
+            <if test="orderStatus != null">
+                ORDER_STATUS,
+            </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="deleted != null">
+                DELETED,
+            </if>
+            <if test="orderType != null">
+                ORDER_TYPE,
+            </if>
+            <if test="orderLineSequence != null">
+                ORDER_LINE_SEQUENCE,
+            </if>
+            <if test="lineId != null">
+                LINE_ID,
+            </if>
+            <if test="orderEntryTime != null">
+                ORDER_ENTRY_TIME,
+            </if>
+            <if test="unloadPointId != null">
+                UNLOAD_POINT_ID,
+            </if>
+            <if test="driverConfirmation != null">
+                DRIVER_CONFIRMATION,
+            </if>
+            <if test="priceId != null">
+                PRICE_ID,
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="orderId != null">
+                #{orderId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderPlanId != null">
+                #{orderPlanId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderNumber != null">
+                #{orderNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="capacityId != null">
+                #{capacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderIssueTime != null">
+                #{orderIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderReceiveStatus != null">
+                #{orderReceiveStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderCommunicationDuration != null">
+                #{orderCommunicationDuration,jdbcType=DECIMAL},
+            </if>
+            <if test="orderStatus != null">
+                #{orderStatus,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="deleted != null">
+                #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="orderType != null">
+                #{orderType,jdbcType=DECIMAL},
+            </if>
+            <if test="orderLineSequence != null">
+                #{orderLineSequence,jdbcType=DECIMAL},
+            </if>
+            <if test="lineId != null">
+                #{lineId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderEntryTime != null">
+                #{orderEntryTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="unloadPointId != null">
+                #{unloadPointId,jdbcType=DECIMAL},
+            </if>
+            <if test="driverConfirmation != null">
+                #{driverConfirmation,jdbcType=DECIMAL},
+            </if>
+            <if test="priceId != null">
+                #{priceId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                #{carrierId,jdbcType=DECIMAL},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        update OMSTRUCK_ORDER
+        set ORDER_PLAN_ID = #{orderPlanId,jdbcType=DECIMAL},
+            ORDER_NUMBER = #{orderNumber,jdbcType=VARCHAR},
+            CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+            ORDER_ISSUE_TIME = #{orderIssueTime,jdbcType=TIMESTAMP},
+            ORDER_RECEIVE_STATUS = #{orderReceiveStatus,jdbcType=DECIMAL},
+            ORDER_RECEIVE_REFUSE_TIME = #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration,jdbcType=DECIMAL},
+            ORDER_STATUS = #{orderStatus,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},
+            DELETED = #{deleted,jdbcType=DECIMAL},
+            ORDER_TYPE = #{orderType,jdbcType=DECIMAL},
+            ORDER_LINE_SEQUENCE = #{orderLineSequence,jdbcType=DECIMAL},
+            LINE_ID = #{lineId,jdbcType=DECIMAL},
+            ORDER_ENTRY_TIME = #{orderEntryTime,jdbcType=TIMESTAMP},
+            UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
+            DRIVER_CONFIRMATION = #{driverConfirmation,jdbcType=DECIMAL},
+            PRICE_ID = #{priceId,jdbcType=DECIMAL},
+            CARRIER_ID = #{carrierId,jdbcType=DECIMAL}
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
+        update OMSTRUCK_ORDER
+        <set>
+            <if test="orderPlanId != null">
+                ORDER_PLAN_ID = #{orderPlanId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderNumber != null">
+                ORDER_NUMBER = #{orderNumber,jdbcType=VARCHAR},
+            </if>
+            <if test="capacityId != null">
+                CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderIssueTime != null">
+                ORDER_ISSUE_TIME = #{orderIssueTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderReceiveStatus != null">
+                ORDER_RECEIVE_STATUS = #{orderReceiveStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="orderReceiveRefuseTime != null">
+                ORDER_RECEIVE_REFUSE_TIME = #{orderReceiveRefuseTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="orderCommunicationDuration != null">
+                ORDER_COMMUNICATION_DURATION = #{orderCommunicationDuration,jdbcType=DECIMAL},
+            </if>
+            <if test="orderStatus != null">
+                ORDER_STATUS = #{orderStatus,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="deleted != null">
+                DELETED = #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="orderType != null">
+                ORDER_TYPE = #{orderType,jdbcType=DECIMAL},
+            </if>
+            <if test="orderLineSequence != null">
+                ORDER_LINE_SEQUENCE = #{orderLineSequence,jdbcType=DECIMAL},
+            </if>
+            <if test="lineId != null">
+                LINE_ID = #{lineId,jdbcType=DECIMAL},
+            </if>
+            <if test="orderEntryTime != null">
+                ORDER_ENTRY_TIME = #{orderEntryTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="unloadPointId != null">
+                UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
+            </if>
+            <if test="driverConfirmation != null">
+                DRIVER_CONFIRMATION = #{driverConfirmation,jdbcType=DECIMAL},
+            </if>
+            <if test="priceId != null">
+                PRICE_ID = #{priceId,jdbcType=DECIMAL},
+            </if>
+            <if test="carrierId != null">
+                CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            </if>
+        </set>
+        where ORDER_ID = #{orderId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" 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 OMSTRUCK_ORDER
+        (ORDER_ID,
+        ORDER_PLAN_ID, ORDER_NUMBER, CAPACITY_ID,
+        ORDER_ISSUE_TIME, ORDER_RECEIVE_STATUS,
+        ORDER_RECEIVE_REFUSE_TIME, ORDER_COMMUNICATION_DURATION,
+        ORDER_STATUS, INSERT_USERNAME,
+        INSERT_TIME, UPDATE_USERNAME,
+        UPDATE_TIME, INSERT_UPDATE_REMARK,
+        DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
+        LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
+        DRIVER_CONFIRMATION, PRICE_ID,
+        CARRIER_ID)
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.orderId,jdbcType=DECIMAL},
+        #{item.orderPlanId,jdbcType=DECIMAL}, #{item.orderNumber,jdbcType=VARCHAR}, #{item.capacityId,jdbcType=DECIMAL},
+        #{item.orderIssueTime,jdbcType=TIMESTAMP}, #{item.orderReceiveStatus,jdbcType=DECIMAL},
+        #{item.orderReceiveRefuseTime,jdbcType=TIMESTAMP}, #{item.orderCommunicationDuration,jdbcType=DECIMAL},
+        #{item.orderStatus,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR},
+        #{item.insertTime,jdbcType=TIMESTAMP}, #{item.updateUsername,jdbcType=VARCHAR},
+        #{item.updateTime,jdbcType=TIMESTAMP}, #{item.insertUpdateRemark,jdbcType=VARCHAR},
+        #{item.deleted,jdbcType=DECIMAL}, #{item.orderType,jdbcType=DECIMAL}, #{item.orderLineSequence,jdbcType=DECIMAL},
+        #{item.lineId,jdbcType=DECIMAL}, #{item.orderEntryTime,jdbcType=TIMESTAMP}, #{item.unloadPointId,jdbcType=DECIMAL},
+        #{item.driverConfirmation,jdbcType=DECIMAL}, #{item.priceId,jdbcType=DECIMAL},
+        #{item.carrierId,jdbcType=DECIMAL} from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update OMSTRUCK_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_PLAN_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderPlanId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_NUMBER=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderNumber,jdbcType=VARCHAR}
+        </foreach>
+        ,CAPACITY_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_ISSUE_TIME=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderIssueTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,ORDER_RECEIVE_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderReceiveStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_RECEIVE_REFUSE_TIME=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderReceiveRefuseTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,ORDER_COMMUNICATION_DURATION=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderCommunicationDuration,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderStatus,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>
+        ,DELETED=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_TYPE=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderType,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_LINE_SEQUENCE=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderLineSequence,jdbcType=DECIMAL}
+        </foreach>
+        ,LINE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.lineId,jdbcType=DECIMAL}
+        </foreach>
+        ,ORDER_ENTRY_TIME=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderEntryTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,UNLOAD_POINT_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.unloadPointId,jdbcType=DECIMAL}
+        </foreach>
+        ,DRIVER_CONFIRMATION=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.driverConfirmation,jdbcType=DECIMAL}
+        </foreach>
+        ,PRICE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.priceId,jdbcType=DECIMAL}
+        </foreach>
+        ,CARRIER_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.carrierId,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 OMSTRUCK_ORDER
+        where ORDER_ID in
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+
+</mapper>