ソースを参照

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

luobang 3 年 前
コミット
186d474c05
29 ファイル変更2650 行追加385 行削除
  1. 7 0
      pom.xml
  2. 195 2
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java
  3. 0 11
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java
  4. 22 0
      src/main/java/com/steerinfo/dil/feign/JoinFeign.java
  5. 3 0
      src/main/java/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.java
  6. 13 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.java
  7. 29 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java
  8. 2 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java
  9. 274 0
      src/main/java/com/steerinfo/dil/model/AmsSaleMaterial.java
  10. 30 0
      src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java
  11. 15 0
      src/main/java/com/steerinfo/dil/model/AmstruckInwardRequirement.java
  12. 47 2
      src/main/java/com/steerinfo/dil/model/OmstruckOrder.java
  13. 1 2
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java
  14. 32 0
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java
  15. 3 10
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java
  16. 594 23
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java
  17. 3 0
      src/main/java/com/steerinfo/dil/service/impl/AmstruckInwardRequirementServiceImpl.java
  18. 22 0
      src/main/java/com/steerinfo/dil/util/DataChange.java
  19. 72 0
      src/main/java/com/steerinfo/dil/util/EASUtil.java
  20. 24 0
      src/main/java/com/steerinfo/dil/util/NumberToWeightUtil.java
  21. 4 3
      src/main/resources/application-dev.yml
  22. 2 0
      src/main/resources/application-prod.yml
  23. 6 0
      src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml
  24. 499 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml
  25. 622 318
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  26. 10 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml
  27. 2 0
      src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardPlanMapper.xml
  28. 31 5
      src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml
  29. 86 9
      src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

+ 7 - 0
pom.xml

@@ -111,6 +111,13 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
+<!--                        <param>AMS_SALE_ORDER</param>&lt;!&ndash;销售计划&ndash;&gt;-->
+                        <param>AMS_SALE_ORDER</param><!--销售计划物资中间表-->
+<!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
+<!--                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;-->
+<!--                        <param>RMS_RECEIVE_PLACE</param>&lt;!&ndash;销售订单车序号表&ndash;&gt;-->
+<!--                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;-->
+<!--                            <param>AMS_CONTRACT_TRANSPORT_PRICE</param>-->
                         <param>AMSTRUCK_INWARD_REQUIREMENT</param>
                     </tables>
                 </configuration>

+ 195 - 2
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -23,11 +23,13 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -495,7 +497,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         return success(pageList);
     }
 
-    @ApiModelProperty(value = "展示销售公司已审核销售订单列表")
+    @ApiModelProperty(value = "展示已审核销售订单列表")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
             @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
@@ -506,10 +508,30 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          Integer pageNum,
                                                          Integer pageSize,
                                                          Integer apiId,
-                                                         String con) {
+                                                         String con,
+                                                         Integer shipperId,
+                                                         @RequestParam(required = false) Integer saleType
+//                                                         String startDate,
+//                                                         String endDate
+                                                         ) {
         if (con != null  && !"".equals(con) && !"null".equals(con)) {
             mapValue.put("con", con);
         }
+        if(shipperId != null  && !"".equals(shipperId) && !"null".equals(shipperId)){
+            mapValue.put("shipperId", shipperId);
+        }
+        mapValue.put("saleType",saleType);
+//        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
+//        if(startDate != null  && !"".equals(startDate) && !"null".equals(startDate)){
+//            Date startTime=new Date(Long.parseLong(startDate));
+//            String startTime1=simpleDateFormat.format(startTime);
+//            mapValue.put("startTime",startTime1);
+//        }
+//        if(endDate != null  && !"".equals(endDate) && !"null".equals(endDate)){
+//            Date endTime=new Date(Long.parseLong(endDate));
+//            String endTime1=simpleDateFormat.format(endTime);
+//            mapValue.put("endTime",endTime1);
+//        }
         //不分页筛选数据
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
@@ -622,4 +644,175 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
         return success(pageList);
     }
+
+    @ApiModelProperty(value = "新增钢材销售订单")
+    @PostMapping("/addSteelSaleOrder")
+    public RESTfulResult addSteelSaleOrder(@RequestBody Map<String,Object> mapValue) {
+        int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "展示销售订单下的车序号和物资")
+    @PostMapping("/getTruckNoAndMaterialList")
+    public RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId) {
+        List<Map<String,Object>> mapList = amsSaleOrderService.getTruckNoAndMaterialList(new BigDecimal(saleOrderId));
+        return success(mapList);
+    }
+
+    @ApiModelProperty(value = "钢材派单")
+    @PostMapping("/dispatchSteelOrder")
+    public RESTfulResult dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) {
+        int result = amsSaleOrderService.dispatchSteelOrder(mapList);
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "根据详细地址匹配承运商")
+    @GetMapping("/getCarrierByPlace")
+    public RESTfulResult getCarrierByPlace(@RequestParam Integer placeId) {
+        List<Map<String,Object>> result = amsSaleOrderService.getCarrierByPlace(new BigDecimal(placeId));
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "根据详细地址和承运商匹配单价")
+    @PostMapping("/getPriceByCarrierAndPlace")
+    public RESTfulResult getPriceByCarrierAndPlace(@RequestBody Map<String,Object> mapValue) {
+        Map<String,Object> result = amsSaleOrderService.getPriceByCarrierAndPlace(mapValue);
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "将车序号下发给承运商")
+    @PostMapping("/dispatchToCarrier")
+    public RESTfulResult dispatchToCarrier(@RequestBody List<Map<String,Object>> mapList) {
+        int result = amsSaleOrderService.dispatchToCarrier(mapList);
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "销售钢材承运商查询销售订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getSaleOrderListToCarrier")
+    public RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                         Integer pageNum,
+                                                         Integer pageSize,
+                                                         Integer apiId,
+                                                         String carrierSsoId,
+                                                         String con) {
+        if (con != null  && !"".equals(con) && !"null".equals(con)) {
+            mapValue.put("con", con);
+        }
+        if ((carrierSsoId != null && !"".equals(carrierSsoId)) && !"undefined".equals(carrierSsoId) && !"null".equals(carrierSsoId)) {
+            mapValue.put("carrierSsoId",carrierSsoId);
+        }
+        //不分页筛选数据
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListToCarrier(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
+        return success(pageList);
+    }
+
+    /**
+     * 展示未匹配承运商的车序号
+     *
+     * @param mapValue
+     * @return
+     */
+    @ApiOperation(value = "展示未匹配承运商的车序号")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
+            @ApiImplicitParam(name = "apiId", value = "411", required = false, dataType = "java.util.Map")
+    })
+    @PostMapping(value = "/getSteelTruckNoList")
+    public RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if (con != null && !con.equals("undefined") && !con.equals("null")) {
+            mapValue.put("con", "%" + con + "%");
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSteelTruckNoList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
+        return success(pageList);
+    }
+
+    @ApiModelProperty(value = "展示销售订单下的车序号和物资")
+    @PostMapping("/getTruckNoMaterial")
+    public RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId) {
+        List<Map<String,Object>> mapList = amsSaleOrderService.getTruckNoMaterial(new BigDecimal(saleOrderMaterialId));
+        return success(mapList);
+    }
+
+    /**
+     * 展示已分配承运商但未派车的车序号
+     *
+     * @param mapValue
+     * @return
+     */
+    @ApiOperation(value = "展示已分配承运商但未派车的车序号")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
+            @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map")
+    })
+    @PostMapping(value = "/getNoCarTruckNoList")
+    public RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if (con != null && !con.equals("undefined") && !con.equals("null")) {
+            mapValue.put("con", "%" + con + "%");
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getNoCarTruckNoList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
+        return success(pageList);
+    }
+
+    /**
+     * 展示已派车的车序号
+     *
+     * @param mapValue
+     * @return
+     */
+    @ApiOperation(value = "展示已派车的车序号")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
+            @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map")
+    })
+    @PostMapping(value = "/getHaveCarTruckNoList")
+    public RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con) {
+        if (con != null && !con.equals("undefined") && !con.equals("null")) {
+            mapValue.put("con", "%" + con + "%");
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getHaveCarTruckNoList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
+        return success(pageList);
+    }
+
+    @ApiModelProperty(value = "删除上一条销售订单")
+    @PostMapping("/deleteSaleOrderById")
+    public RESTfulResult deleteSaleOrderById(@RequestParam Integer saleOrderId) {
+        int result = amsSaleOrderService.deleteSaleOrderById(new BigDecimal(saleOrderId));
+        return success(result);
+    }
+
+    @ApiModelProperty(value = "查询出销售订单下的所有数据")
+    @PostMapping("/getAllSaleMessages")
+    public RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderService.getAllSaleMessages(new BigDecimal(saleOrderId));
+        return success(saleMap);
+    }
 }

+ 0 - 11
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java

@@ -275,16 +275,5 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
         return success(priceMap);
     }
 
-    @ApiOperation(value="销售直接选择车牌号派发副产品运输订单")
-    @PostMapping("dispatchByproductOrderBySale")
-    public RESTfulResult dispatchByproductOrderBySale(@RequestBody Map<String,Object> mapValue){
-        int result = amsSaleOrderMaterialService.dispatchByproductOrderBySale(mapValue);
-        if (result == -1) {
-            return failed("该销售订单的净重已达到97%");
-        }
-        else {
-            return success(result);
-        }
-    }
 
 }

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

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+/**
+ * @author hujianguo
+ * @create 2021-10-29 11:23
+ */
+@FeignClient(value = "dil-join-api-dev", url = "${openfeign.JoinFeign.url}")
+public interface JoinFeign {
+    @PostMapping("/api/v1/join/amssaleorder/getSaleOrder")
+    Map<String,Object> getSaleOrder(@RequestParam BigDecimal saleOrderId);
+
+    @PostMapping("/api/v1/join/wsface/pushSaleOrderToEas")
+    String pushSaleOrderToEas(@RequestBody Map<String,Object> map);
+}

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

@@ -43,4 +43,7 @@ public interface AmsDispatchSaleOrderMapper extends IBaseMapper<AmsDispatchSaleO
 
     // 通过ssoid查询承运商
     List<Map<String, Object>> getCarrierIdBySSO(Map<String,Object> map);
+
+    // 判断定向派单是否已存在
+    BigDecimal isDispatchExist(BigDecimal saleOrderMaterialId);
 }

+ 13 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.java

@@ -0,0 +1,13 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsSaleMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigDecimal> {
+    @Select("select seq_AMS_SALE_MATERIAL.nextval from dual")
+    BigDecimal selectMaxId();
+}

+ 29 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -77,6 +77,35 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     // 得到销售订单已分配的车数
     BigDecimal getCarNum(BigDecimal saleOrderId);
+    // 查询销售订单下的车序号和物资
+    List<Map<String, Object>> getTruckNoAndMaterial(BigDecimal saleOrderId);
+    // 根据详细地址匹配省市县
+    BigDecimal getAddressByPlace(BigDecimal placeId);
+    // 根据省市县匹配承运商
+    List<Map<String, Object>> getCarrierByPlace(BigDecimal addressId);
+    // 根据详细地址匹配承运商
+    Map<String, Object> getPriceByCarrierAndPlace(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getSaleOrderListToCarrier(Map<String, Object> mapValue);
+    // 展示未匹配承运商的车序号
+    List<Map<String, Object>> getSteelTruckNoList(Map<String, Object> mapValue);
+    // 车序号下的物资
+    List<Map<String, Object>> getTruckNoMaterial(BigDecimal saleOrderMaterialId);
+
+    List<Map<String, Object>> getCarrierTruckNoList(Map<String, Object> mapValue);
+    List<Map<String, Object>> getTruckNoMaterialAndCarrier(BigDecimal saleOrderMaterialId);
+    // 展示已派车的车序号
+    List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue);
 
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map);
+
+    BigDecimal getOrderPrice(Map<String, Object> map);
+    // 根据id查询收货单位名称
+    String selectConsigneeName(BigDecimal receiveId);
+    // 根据收货单位名称查询承运商id
+    BigDecimal selectCarrierId(String consigneeName);
+    // 查询销售订单的数据
+    Map<String, Object> getSaleMapMessages(BigDecimal saleOrderId);
+    // 查询销售订单下面表的数据
+    List<Map<String, Object>> getSaleListMessages(BigDecimal saleOrderId);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java

@@ -56,4 +56,6 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
     Map<String, Object> getSaleMessage(BigDecimal saleOrderId);
     // 通过承运商id查询单价
     List<Map<String, Object>> getPriceList(BigDecimal carrierId);
+    // 查询车序号中的物资
+    List<Map<String, Object>> getMaterial(BigDecimal saleOrderMaterialId);
 }

+ 274 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleMaterial.java

@@ -0,0 +1,274 @@
+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 AmsSaleMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(SALE_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal saleMaterialId;
+
+    /**
+     * 销售订单主表主键ID(SALE_ORDER_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售订单主表主键ID",required=false)
+    private BigDecimal saleOrderId;
+
+    /**
+     * 物资ID(MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 物资重量(MATERIAL_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资重量",required=false)
+    private BigDecimal materialWeight;
+
+    /**
+     * 物资件数(MATERIAL_NUMBER,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资件数",required=false)
+    private BigDecimal materialNumber;
+
+    /**
+     * 金蝶分路主键ID(EAS_PRIMARY_ID,VARCHAR,30)
+     */
+    @ApiModelProperty(value="金蝶分路主键ID",required=false)
+    private String easPrimaryId;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    /**
+     * 逻辑删除 0:未删除 ;1:已删除(DELETED,DECIMAL,38)
+     */
+    @ApiModelProperty(value="逻辑删除 0:未删除 ;1:已删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 仓库所在厂区(SALE_WAREHOUSE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="仓库所在厂区",required=false)
+    private String saleWarehouse;
+
+    /**
+     * 米数(STEEL_METER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="米数",required=false)
+    private BigDecimal steelMeter;
+
+    /**
+     * 是否磅重销售(IS_POUND_SALE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="是否磅重销售",required=false)
+    private BigDecimal isPoundSale;
+
+    /**
+     * 物资理重(METER_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资理重",required=false)
+    private BigDecimal meterWeight;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.saleMaterialId;
+    }
+
+    @Override
+    public void setId(BigDecimal saleMaterialId) {
+        this.saleMaterialId = saleMaterialId;
+    }
+
+    public BigDecimal getSaleMaterialId() {
+        return saleMaterialId;
+    }
+
+    public void setSaleMaterialId(BigDecimal saleMaterialId) {
+        this.saleMaterialId = saleMaterialId;
+    }
+
+    public BigDecimal getSaleOrderId() {
+        return saleOrderId;
+    }
+
+    public void setSaleOrderId(BigDecimal saleOrderId) {
+        this.saleOrderId = saleOrderId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getMaterialWeight() {
+        return materialWeight;
+    }
+
+    public void setMaterialWeight(BigDecimal materialWeight) {
+        this.materialWeight = materialWeight;
+    }
+
+    public BigDecimal getMaterialNumber() {
+        return materialNumber;
+    }
+
+    public void setMaterialNumber(BigDecimal materialNumber) {
+        this.materialNumber = materialNumber;
+    }
+
+    public String getEasPrimaryId() {
+        return easPrimaryId;
+    }
+
+    public void setEasPrimaryId(String easPrimaryId) {
+        this.easPrimaryId = easPrimaryId == null ? null : easPrimaryId.trim();
+    }
+
+    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 String getSaleWarehouse() {
+        return saleWarehouse;
+    }
+
+    public void setSaleWarehouse(String saleWarehouse) {
+        this.saleWarehouse = saleWarehouse == null ? null : saleWarehouse.trim();
+    }
+
+    public BigDecimal getSteelMeter() {
+        return steelMeter;
+    }
+
+    public void setSteelMeter(BigDecimal steelMeter) {
+        this.steelMeter = steelMeter;
+    }
+
+    public BigDecimal getIsPoundSale() {
+        return isPoundSale;
+    }
+
+    public void setIsPoundSale(BigDecimal isPoundSale) {
+        this.isPoundSale = isPoundSale;
+    }
+
+    public BigDecimal getMeterWeight() {
+        return meterWeight;
+    }
+
+    public void setMeterWeight(BigDecimal meterWeight) {
+        this.meterWeight = meterWeight;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", saleMaterialId=").append(saleMaterialId);
+        sb.append(", saleOrderId=").append(saleOrderId);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", materialWeight=").append(materialWeight);
+        sb.append(", materialNumber=").append(materialNumber);
+        sb.append(", easPrimaryId=").append(easPrimaryId);
+        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(", saleWarehouse=").append(saleWarehouse);
+        sb.append(", steelMeter=").append(steelMeter);
+        sb.append(", isPoundSale=").append(isPoundSale);
+        sb.append(", meterWeight=").append(meterWeight);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 30 - 0
src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java

@@ -135,6 +135,18 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="订单关闭状态(0:未关闭;1:已关闭)",required=false)
     private BigDecimal closeStatus;
 
+    /**
+     * 销售员ID(SALER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售员ID",required=false)
+    private BigDecimal salerId;
+
+    /**
+     * 销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)(SALE_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value="销售订单类型:(空:化产焦炭和水渣,1:钢材,2:钒渣)",required=false)
+    private BigDecimal saleType;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -315,6 +327,22 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         this.closeStatus = closeStatus;
     }
 
+    public BigDecimal getSalerId() {
+        return salerId;
+    }
+
+    public void setSalerId(BigDecimal salerId) {
+        this.salerId = salerId;
+    }
+
+    public BigDecimal getSaleType() {
+        return saleType;
+    }
+
+    public void setSaleType(BigDecimal saleType) {
+        this.saleType = saleType;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -342,6 +370,8 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", deleted=").append(deleted);
         sb.append(", closeStatus=").append(closeStatus);
+        sb.append(", salerId=").append(salerId);
+        sb.append(", saleType=").append(saleType);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 15 - 0
src/main/java/com/steerinfo/dil/model/AmstruckInwardRequirement.java

@@ -166,6 +166,12 @@ public class AmstruckInwardRequirement implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="矿石备注",required=false)
     private String isMineral;
 
+    /**
+     * 装机备注(LOADING_REMARK,VARCHAR,255)
+     */
+    @ApiModelProperty(value="装机备注",required=false)
+    private String loadingRemark;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -386,6 +392,14 @@ public class AmstruckInwardRequirement implements IBasePO<BigDecimal> {
         this.isMineral = isMineral == null ? null : isMineral.trim();
     }
 
+    public String getLoadingRemark() {
+        return loadingRemark;
+    }
+
+    public void setLoadingRemark(String loadingRemark) {
+        this.loadingRemark = loadingRemark;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -418,6 +432,7 @@ public class AmstruckInwardRequirement implements IBasePO<BigDecimal> {
         sb.append(", requirementLinkType=").append(requirementLinkType);
         sb.append(", dueDate=").append(dueDate);
         sb.append(", isMineral=").append(isMineral);
+        sb.append(", loadingRemark=").append(loadingRemark);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

+ 47 - 2
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -100,9 +100,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     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)
+     * 订单类型(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)
+    @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;
 
     /**
@@ -147,6 +147,24 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="订单所属承运商ID",required=false)
     private BigDecimal carrierId;
 
+    /**
+     * 行程ID(TRIP_ID,VARCHAR,200)
+     */
+    @ApiModelProperty(value="行程ID",required=false)
+    private String tripId;
+
+    /**
+     * 打印状态(ORDER_PRINT_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="打印状态",required=false)
+    private BigDecimal orderPrintStatus;
+
+    /**
+     * 司机电话号码(DRIVER_TEL,VARCHAR,36)
+     */
+    @ApiModelProperty(value="司机电话号码",required=false)
+    private String driverTel;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -343,6 +361,30 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         this.carrierId = carrierId;
     }
 
+    public String getTripId() {
+        return tripId;
+    }
+
+    public void setTripId(String tripId) {
+        this.tripId = tripId == null ? null : tripId.trim();
+    }
+
+    public BigDecimal getOrderPrintStatus() {
+        return orderPrintStatus;
+    }
+
+    public void setOrderPrintStatus(BigDecimal orderPrintStatus) {
+        this.orderPrintStatus = orderPrintStatus;
+    }
+
+    public String getDriverTel() {
+        return driverTel;
+    }
+
+    public void setDriverTel(String driverTel) {
+        this.driverTel = driverTel == null ? null : driverTel.trim();
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -372,6 +414,9 @@ public class OmstruckOrder implements IBasePO<BigDecimal> {
         sb.append(", driverConfirmation=").append(driverConfirmation);
         sb.append(", priceId=").append(priceId);
         sb.append(", carrierId=").append(carrierId);
+        sb.append(", tripId=").append(tripId);
+        sb.append(", orderPrintStatus=").append(orderPrintStatus);
+        sb.append(", driverTel=").append(driverTel);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -67,6 +67,5 @@ public interface IAmsSaleOrderMaterialService{
     Map<String, Object> getPriceMap(Map<String, Object> map);
     // 得到单价和单价id
     Map<String, Object> getBenPrice(Map<String, Object> map);
-    // 销售直接选择车牌号派发副产品运输订单
-    int dispatchByproductOrderBySale(Map<String, Object> mapValue);
+
 }

+ 32 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -97,6 +97,38 @@ public interface IAmsSaleOrderService {
 
     // 销售焦炭订单
     List<Map<String, Object>> getCokeSaleOrderList(Map<String,Object> mapValue);
+
+    // 新增钢材销售订单
+    int addSteelSaleOrder(Map<String, Object> mapValue);
+
+    // 展示销售订单下的车序号和物资
+    List<Map<String, Object>> getTruckNoAndMaterialList(BigDecimal saleOrderId);
+
+    // 钢材派发运输订单
+    int dispatchSteelOrder(List<Map<String, Object>> mapList);
+
+    // 根据详细地址id匹配承运商
+    List<Map<String,Object>> getCarrierByPlace(BigDecimal placeId);
+
+    // 根据详细地址匹配承运商
+    Map<String, Object> getPriceByCarrierAndPlace(Map<String, Object> mapValue);
+
+    // 将车序号下发给承运商
+    int dispatchToCarrier(List<Map<String,Object>> mapList);
+
+    List<Map<String,Object>> getSaleOrderListToCarrier(Map<String, Object> mapValue);
+    //展示未匹配承运商的车序号
+    List<Map<String, Object>> getSteelTruckNoList(Map<String, Object> mapValue);
+    // 展示车序号的详情
+    List<Map<String, Object>> getTruckNoMaterial(BigDecimal saleOrderMaterialId);
+    // 展示已分配承运商但未派车的车序号
+    List<Map<String, Object>> getNoCarTruckNoList(Map<String, Object> mapValue);
+    // 展示已但未派车的车序号
+    List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue);
     //展示销售公司下发给承运商的销售订单列表
     List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> mapValue);
+    // 删除销售订单
+    int deleteSaleOrderById(BigDecimal saleOrderId);
+    // 查询出销售订单的所有数据
+    Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId);
 }

+ 3 - 10
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -480,6 +480,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             omstruckOrder.setOrderType(status);
             // 运输线路id
             omstruckOrder.setLineId(lineId);
+            omstruckOrder.setInsertTime(new Date());
             /*
              运输订单子表
              */
@@ -493,6 +494,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             omstruckOrderMaterial.setMaterialId(materialId);
             // 物资重量
             omstruckOrderMaterial.setOrderMaterialWeight(materialNumber);
+            omstruckOrderMaterial.setInsertTime(new Date());
             // 新增车序号表
             result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
             // 新增车序号-物资中间表
@@ -653,6 +655,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
             omstruckOrder.setOrderType(status);
             // 运输线路id
             omstruckOrder.setLineId(lineId);
+            omstruckOrder.setInsertTime(new Date());
             /*
              运输订单子表
              */
@@ -795,15 +798,5 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         return resultMap;
     }
 
-    /**
-     * 销售直接选择车牌号派发副产品运输订单
-     * @param mapValue
-     * @return
-     */
-    @Override
-    public int dispatchByproductOrderBySale(Map<String, Object> mapValue) {
-        return 0;
-    }
-
 
 }

+ 594 - 23
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1,15 +1,14 @@
 package com.steerinfo.dil.service.impl;
 
-import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
-import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
-import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
-import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
-import com.steerinfo.dil.model.AmsDispatchSaleOrder;
-import com.steerinfo.dil.model.AmsSaleOrder;
-import com.steerinfo.dil.model.AmsSaleOrderMaterial;
-import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.alibaba.druid.support.json.JSONUtils;
+import com.steerinfo.dil.feign.JoinFeign;
+import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.mapper.*;
+import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.EASUtil;
+import com.steerinfo.dil.util.NumberToWeightUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -44,6 +43,24 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     private AmsSaleTrucknoMaterialMapper trucknoMaterialMapper;
     @Autowired
     AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper;
+    @Autowired
+    AmsSaleMaterialMapper amsSaleMaterialMapper;
+    @Autowired
+    AmsSaleTrucknoMaterialMapper amsSaleTrucknoMaterialMapper;
+    @Autowired
+    RmsReceivePlaceMapper rmsReceivePlaceMapper;
+    @Autowired
+    JoinFeign joinFeign;
+    @Autowired
+    OmstruckOrderMapper omstruckOrderMapper;
+    @Autowired
+    OmstruckOrderMaterialMapper omstruckOrderMaterialMapper;
+    @Autowired
+    AmsSaleOrderMaterialServiceImpl amsSaleOrderMaterialService;
+    @Autowired
+    TmsTruckFeign tmsTruckFeign;
+    @Autowired
+    EASUtil easUtil;
 
     @Override
     public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
@@ -182,6 +199,17 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public int uploadSaleOrder(BigDecimal saleOrderId) {
         AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
+        // 调用金蝶接口,将销售订单推送到金蝶系统
+        Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
+        // 获得金蝶接口配置
+        Map<String, Object> totalMap = easUtil.getTotalMap();
+        // 组装报文
+        totalMap.put("input",input);
+        System.out.println(totalMap);
+        String json = JSONUtils.toJSONString(totalMap);
+        System.out.println(json);
+        String s = joinFeign.pushSaleOrderToEas(totalMap);
+        System.out.println(s);
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
         return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
     }
@@ -409,7 +437,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getSaleOrderListBySaleCompanyes(Map<String, Object> map) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListBySaleCompanyes(map);
-        String statusStr;
         for (Map<String, Object> resultMap : resultList) {
             BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
             Map<String,Object> loserMap = new HashMap<>();
@@ -427,15 +454,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
                 resultMap.put("materialName",materialName);
             }
-            BigDecimal saleOrderStatus = (BigDecimal) resultMap.get("saleOrderStatus");
-//            if (saleOrderStatus.intValue() == 2) {
-//                statusStr = "销售公司已审核";
-//            }
-//            else {
-//                statusStr = "财务已审核";
-//            }
-            statusStr = saleOrderStatus.intValue() == 2 ? "销售公司已审批" : "财务已审批";
-            resultMap.put("statusStr",statusStr);
             resultMap.put("netWeight",netWeight);
             resultMap.put("carNum",carNum);
         }
@@ -444,7 +462,28 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
 
     @Override
     public List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String, Object> map) {
-        return amsSaleOrderMapper.getAmsSaleOrderApprovedes(map);
+        List<Map<String,Object>> resultList = amsSaleOrderMapper.getAmsSaleOrderApprovedes(map);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
+            Map<String,Object> loserMap = new HashMap<>();
+            BigDecimal netWeight = amsSaleOrderMapper.getNetWeight(saleOrderId);
+            BigDecimal carNum = amsSaleOrderMapper.getCarNum(saleOrderId);
+            loserMap.put("saleOrderId",saleOrderId);
+            loserMap.put("con",map.get("con"));
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getSaleMaterial(loserMap);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+            resultMap.put("netWeight",netWeight);
+            resultMap.put("carNum",carNum);
+        }
+        return resultList;
     }
 
     /*
@@ -476,20 +515,435 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public List<Map<String, Object>> getCokeSaleOrderList(Map<String, Object> mapValue) {
         List<Map<String,Object>> mapList = amsSaleOrderMapper.getCokeSaleOrderList(mapValue);
-        String statusStr;
         for (Map<String, Object> resultMap : mapList) {
             BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
             BigDecimal netWeight = amsSaleOrderMapper.getNetWeight(saleOrderId);
             BigDecimal carNum = amsSaleOrderMapper.getCarNum(saleOrderId);
-            BigDecimal saleOrderStatus = (BigDecimal) resultMap.get("saleOrderStatus");
-            statusStr = saleOrderStatus.intValue() == 2 ? "销售公司已审批" : "财务已审批";
-            resultMap.put("statusStr",statusStr);
             resultMap.put("netWeight",netWeight);
             resultMap.put("carNum",carNum);
         }
         return mapList;
     }
 
+    /**
+     * 新增钢材销售订单
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public int addSteelSaleOrder(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        // 得到发货单位
+        BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
+        // 收货单位
+        BigDecimal receiveId = DataChange.dataToBigDecimal(mapValue.get("receiveId"));
+        // 是否自提
+        String isSelfMention = (String) mapValue.get("isSelfMention");
+        // 备注
+        String saleRemark = (String) mapValue.get("saleRemark");
+        // 收款客户
+        String saleOrderReceiveCustomer = (String) mapValue.get("saleOrderReceiveCustomer");
+        // 业务员
+        BigDecimal salerId = DataChange.dataToBigDecimal(mapValue.get("salerId"));
+        BigDecimal saleOrderId = amsSaleOrderMapper.selectMaxId();
+        int result = 0;
+        // 销售订单
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setReceiveId(receiveId);
+        amsSaleOrder.setSaleRemark(saleRemark == null ? "":saleRemark);
+        amsSaleOrder.setShipperId(shipperId);
+        amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setSalerId(salerId);
+        // 设置钢材订单
+        amsSaleOrder.setSaleType(new BigDecimal(1));
+        amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
+        amsSaleOrder.setInsertTime(new Date());
+        amsSaleOrder.setInsertUpdateRemark("物流新增销售订单");
+        amsSaleOrder.setInsertUsername("物流");
+        amsSaleOrder.setUpdateTime(new Date());
+        amsSaleOrder.setDeleted(new BigDecimal(0));
+        amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
+        // 税率默认13%
+        amsSaleOrder.setSaleOrderTax("13%");
+        // 含税单价某人4000
+        amsSaleOrder.setSaleUnitPrice(new BigDecimal(4000));
+        // 收款客户
+        amsSaleOrder.setSaleOrderReceiveCustomer(saleOrderReceiveCustomer);
+        // 销售订单物资表
+        AmsSaleMaterial amsSaleMaterial = new AmsSaleMaterial();
+        // 车序号物资表
+        AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+        // 遍历每一行
+        for (Map<String, Object> map : mapList) {
+            /*
+             车序号表
+             */
+            // 得到车序号
+            BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
+            Map<String,Object> saleMap = new HashMap<>();
+            saleMap.put("saleOrderId",saleOrderId);
+            saleMap.put("saleOrderMaterialTruckNo",truckNo);
+            // 检测销售订单下的车序号是否已存在
+            List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
+            // 车序号表
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            if (amsSaleOrderMaterials == null || amsSaleOrderMaterials.size() == 0) {
+                // 车序号主键
+                BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+                BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shipperAddressId"));
+                String place = (String) (map.get("place"));
+                if (place != null && !"null".equals(place)) {
+                    List<Map<String, Object>> placeIdList = amsSaleOrderMaterialMapper.getPlaceId(place);
+                    if (placeIdList == null || placeIdList.size() == 0) {
+                        RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+                        rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+                        rmsReceivePlace.setAddressId(shippingAddressId);
+                        rmsReceivePlace.setAddressDeliveryAddress(place);
+                        amsSaleOrderMaterial.setSaleShippingAddressId(rmsReceivePlace.getPlaceId());
+                        rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+                    } else {
+                        amsSaleOrderMaterial.setSaleShippingAddressId((BigDecimal) placeIdList.get(0).get("placeId"));
+                    }
+                }
+                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
+                    // 自动匹配承运商
+                    List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
+                    // 单一承运商才进行匹配
+                    if (carrierList != null && carrierList.size() == 1) {
+                        List<Map<String, Object>> list = new ArrayList<>();
+                        Map<String, Object> map1 = carrierList.get(0);
+                        // 传入车序号主键和承运商id
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", map1.get("value"));
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                if (isSelfMention.equals("是")) {
+                    // 根据收货单位id查询出收货单位名称
+                    String consigneeName = amsSaleOrderMapper.selectConsigneeName(receiveId);
+                    // 根据收货单位名称查询承运商id
+                    BigDecimal carrierId = amsSaleOrderMapper.selectCarrierId(consigneeName);
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String,Object> map1 = new HashMap<>();
+                    // 传入车序号主键和承运商id
+                    if (carrierId != null) {
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", carrierId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                // 收货方姓名
+                String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
+                // 收货方电话
+                String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
+                // 截止日期
+                String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+                Date dateOfReceipt = null;
+                if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
+                    dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
+                }
+                amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+                amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+                amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
+                if (consigneeName != null && !consigneeName.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsignee(consigneeName);
+                }
+                if (consigneeTel != null && !consigneeTel.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsigneeTel(consigneeTel);
+                }
+                amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
+                amsSaleOrderMaterial.setInsertTime(new Date());
+                amsSaleOrderMaterial.setUpdateTime(new Date());
+                amsSaleOrderMaterial.setInsertUpdateRemark("物流新增");
+                result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            }
+            else {
+                amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
+            }
+            /*
+            销售订单物资表
+             */
+            // 物资
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            // 物资件数
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
+            // 钢材米数
+            BigDecimal steelMeters = DataChange.dataToBigDecimal(map.get("steelMeters"));
+            // 是否磅重销售(0:磅重;1:理重)
+            BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
+            // 销售订单物资表主键
+            BigDecimal saleMaterialId = amsSaleMaterialMapper.selectMaxId();
+            amsSaleMaterial.setSaleMaterialId(saleMaterialId);
+            amsSaleMaterial.setSaleOrderId(saleOrderId);
+            amsSaleMaterial.setMaterialId(materialId);
+            amsSaleMaterial.setMaterialNumber(materialNumber);
+            amsSaleMaterial.setInsertTime(new Date());
+            amsSaleMaterial.setUpdateTime(new Date());
+            if (steelMeters != null && !steelMeters.toString().equals("0")) {
+                amsSaleMaterial.setSteelMeter(steelMeters);
+            }
+            amsSaleMaterial.setIsPoundSale(isPoundSale);
+            amsSaleMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
+            /*
+            车序号物资表
+             */
+            // 车序号物资表主键
+            BigDecimal truckNoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            amsSaleTrucknoMaterial.setMaterialId(amsSaleMaterial.getSaleMaterialId());
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            amsSaleTrucknoMaterial.setInsertTime(new Date());
+            amsSaleTrucknoMaterial.setUpdateTime(new Date());
+            amsSaleTrucknoMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+        }
+        result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+        return result;
+    }
+
+    /**
+     * 展示销售订单下的车序号和物资
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getTruckNoAndMaterialList(BigDecimal saleOrderId) {
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getTruckNoAndMaterial(saleOrderId);
+        for (Map<String,Object> map : mapList) {
+            BigDecimal placeId = (BigDecimal) map.get("placeId");
+            if (placeId != null) {
+                List<Map<String, Object>> carrierAndPriceList = getCarrierByPlace(placeId);
+                map.put("carrierAndPriceList", carrierAndPriceList);
+            }
+        }
+        return mapList;
+    }
+
+    /**
+     * 销售钢材派车
+     * @param mapList
+     * @return
+     */
+    @Transactional
+    @Override
+    public int dispatchSteelOrder(List<Map<String, Object>> mapList) {
+        int result = 0;
+        // 遍历每一行
+        for (Map<String,Object> map : mapList) {
+            // 得到车牌号
+            String capacityNumber = (String) map.get("capacityNumber");
+            // 得到车序号表主键
+            BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+            // 得到承运商
+            BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 查询到车序号的单价
+            BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
+            // 运输线路id
+            BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
+            // 司机电话号码
+            String driverTel = (String) map.get("driverTel");
+            BigDecimal isSteel = new BigDecimal(1);
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
+            List<Map<String,Object>> materialList = amsSaleOrderMaterialMapper.getMaterial(saleOrderMaterialId);
+            /*
+             定向派单表
+             */
+            // 通过车序号主键确认定向派单是否已存在
+            BigDecimal dispatchId0 = amsDispatchSaleOrderMapper.isDispatchExist(saleOrderMaterialId);
+            if (dispatchId0 == null || dispatchId0.toString().length() == 0) {
+                AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
+                // 主键
+                BigDecimal dispatchId = amsDispatchSaleOrderMapper.selectOtherId();
+                amsDispatchSaleOrder.setDispatchId(dispatchId);
+                // 车序号表id
+                amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
+                // 承运商id
+                amsDispatchSaleOrder.setCarrierId(carrierId);
+                // 派单时间和成交时间
+                amsDispatchSaleOrder.setDispatchTime(new Date());
+                amsDispatchSaleOrder.setDispatchDealTime(new Date());
+                // 成交类型
+                amsDispatchSaleOrder.setDispatchType(new BigDecimal(2));
+                // 车序号状态
+                amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
+                result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
+            }
+            // 如果已经匹配过承运商或者给某个承运商授权过,则派车时做修改承运商操作
+            else {
+                AmsDispatchSaleOrder amsDispatchSaleOrder = amsDispatchSaleOrderMapper.selectByPrimaryKey(dispatchId0);
+                amsDispatchSaleOrder.setCarrierId(carrierId);
+                result += amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(amsDispatchSaleOrder);
+            }
+            /*
+             运输订单
+             */
+            OmstruckOrder omstruckOrder = new OmstruckOrder();
+            Map<String,Object> map1 = new HashMap<>();
+            map1.put("orderType",new BigDecimal(2));
+            map1.put("orderPlanId",saleOrderMaterialId);
+            List<OmstruckOrder> omstruckOrders = omstruckOrderMapper.selectByParameters(map1);
+            if (omstruckOrders == null || omstruckOrders.size() == 0) {
+                // 运输订单主键
+                BigDecimal orderId = omstruckOrderMapper.selectMaxId();
+                omstruckOrder.setOrderId(orderId);
+                // 车序号主键
+                omstruckOrder.setOrderPlanId(saleOrderMaterialId);
+                //添加承运商ID 和 运价ID
+//            Object priceId = map.get("priceId");
+                if (priceId != null) {
+                    omstruckOrder.setPriceId(priceId);
+                }
+                else {
+                    omstruckOrder.setPriceId(new BigDecimal(0));
+                }
+                omstruckOrder.setCarrierId(carrierId);
+                // 运输订单号
+                omstruckOrder.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", orderId.intValue()));
+                // 运力id
+                omstruckOrder.setCapacityId(capacityId);
+                // 承运商
+                omstruckOrder.setCarrierId(carrierId);
+                // 下发时间
+                omstruckOrder.setOrderIssueTime(new Date());
+                // 运单状态
+                omstruckOrder.setOrderStatus(new BigDecimal(4));
+                // 司机电话
+                if (driverTel != null && !"null".equals(driverTel)) {
+                    omstruckOrder.setDriverTel(driverTel);
+                }
+                BigDecimal status;
+                // 钢材
+                if (isSteel != null && isSteel.intValue() == 1) {
+                    status = new BigDecimal(1);
+                }
+                // 非钢材(危化品,焦炭,副产品)
+                else {
+                    status = new BigDecimal(2);
+                }
+                // 订单类型
+                omstruckOrder.setOrderType(status);
+                // 运输线路id
+                omstruckOrder.setLineId(lineId);
+                omstruckOrder.setInsertTime(new Date());
+                omstruckOrder.setInsertUsername("");
+                result += omstruckOrderMapper.insertSelective(omstruckOrder);
+            }
+            else {
+                omstruckOrder = omstruckOrders.get(0);
+            }
+            for (Map<String, Object> materialMap : materialList) {
+                BigDecimal materialId = (BigDecimal) materialMap.get("materialId");
+                BigDecimal materialWeight = (BigDecimal) materialMap.get("materialWeight");
+                BigDecimal materialNumber = (BigDecimal) materialMap.get("materialNumber");
+                /*
+                运输订单物资子表
+                */
+                OmstruckOrderMaterial omstruckOrderMaterial = new OmstruckOrderMaterial();
+                // 主键
+                BigDecimal orderMaterialId = omstruckOrderMaterialMapper.selectMaxId();
+                omstruckOrderMaterial.setOrderMaterialId(orderMaterialId);
+                // 运输订单id
+                omstruckOrderMaterial.setOrderId(omstruckOrder.getOrderId());
+                // 物资id
+                omstruckOrderMaterial.setMaterialId(materialId);
+                // 物资重量
+                omstruckOrderMaterial.setOrderMaterialWeight(materialWeight);
+                // 物资件数
+                omstruckOrderMaterial.setOrderMaterialNumber(materialNumber);
+                // 新增运输订单子表
+                result += omstruckOrderMaterialMapper.insertSelective(omstruckOrderMaterial);
+            }
+            // 调用websocket
+            Map<String,Object> orderIdMap = new HashMap<>();
+            orderIdMap.put("orderId",omstruckOrder.getOrderId());
+            amsSaleOrderMaterialService.pushMesToWebsocket(orderIdMap);
+            // 生成运输执行总实绩
+            result += tmsTruckFeign.addTotalResult(orderIdMap);
+        }
+        return result;
+    }
+
+    /**
+     * 根据详细地址匹配承运商
+     * @param placeId
+     * @return
+     */
+    @Override
+    public synchronized List<Map<String,Object>> getCarrierByPlace(BigDecimal placeId) {
+        BigDecimal addressId = amsSaleOrderMapper.getAddressByPlace(placeId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByPlace(addressId);
+        return mapList;
+    }
+
+    /**
+     * 根据详细地址和承运商匹配单价
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public Map<String, Object> getPriceByCarrierAndPlace(Map<String, Object> mapValue) {
+        Map<String,Object> map = amsSaleOrderMapper.getPriceByCarrierAndPlace(mapValue);
+        return map;
+    }
+
+    /**
+     * 将车序号下发给承运商
+     * @param mapList
+     * @return
+     */
+    @Override
+    public int dispatchToCarrier(List<Map<String,Object>> mapList) {
+        int result = 0;
+        // 遍历每一行
+        for (Map<String, Object> map : mapList) {
+            // 得到承运商
+            BigDecimal carrierId =DataChange.dataToBigDecimal(map.get("carrierId"));
+            // 得到车序号表主键
+            BigDecimal saleOrderMaterialId =DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+            AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
+            BigDecimal dispatchId = amsDispatchSaleOrderMapper.selectOtherId();
+            amsDispatchSaleOrder.setDispatchId(dispatchId);
+            amsDispatchSaleOrder.setCarrierId(carrierId);
+            amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
+            amsDispatchSaleOrder.setInsertTime(new Date());
+            amsDispatchSaleOrder.setInsertUpdateRemark("授权承运商");
+            // 派单时间和成交时间
+            amsDispatchSaleOrder.setDispatchTime(new Date());
+            amsDispatchSaleOrder.setDispatchDealTime(new Date());
+            // 成交类型
+            amsDispatchSaleOrder.setDispatchType(new BigDecimal(2));
+            // 车序号状态
+            amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(2));
+            result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
+        }
+        return result;
+    }
+
+    @Override
+    public List<Map<String, Object>> getSaleOrderListToCarrier(Map<String, Object> map) {
+        List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListToCarrier(map);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderId = (BigDecimal) resultMap.get("saleOrderId");
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoAndMaterial(saleOrderId);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+        }
+        return resultList;
+    }
+
     @Override
     public List<Map<String, Object>> getSaleOrderListByCarrierSsoId(Map<String, Object> map) {
         List<Map<String, Object>> resultList = amsSaleOrderMapper.getSaleOrderListByCarrierSsoId(map);
@@ -525,4 +979,121 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return resultList;
     }
+
+    /**
+     *
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public int deleteSaleOrderById(BigDecimal saleOrderId) {
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setDeleted(new BigDecimal(1));
+        int result = amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        return result;
+    }
+
+    /**
+     * 查询出销售订单下的所有数据
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public Map<String, Object> getAllSaleMessages(BigDecimal saleOrderId) {
+        Map<String,Object> saleMap = amsSaleOrderMapper.getSaleMapMessages(saleOrderId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getSaleListMessages(saleOrderId);
+        saleMap.put("mapList",mapList);
+        return saleMap;
+    }
+
+    /**
+     * 展示未匹配承运商的车序号
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getSteelTruckNoList(Map<String, Object> mapValue) {
+        List<Map<String, Object>> resultList = amsSaleOrderMapper.getSteelTruckNoList(mapValue);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+        }
+        return resultList;
+    }
+
+    /**
+     * 展示车序号的详情
+     * @param saleOrderMaterialId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getTruckNoMaterial(BigDecimal saleOrderMaterialId) {
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getTruckNoMaterialAndCarrier(saleOrderMaterialId);
+        for (Map<String,Object> map : mapList) {
+            BigDecimal placeId = (BigDecimal) map.get("placeId");
+            if (placeId != null) {
+                List<Map<String, Object>> carrierAndPriceList = getCarrierByPlace(placeId);
+                map.put("carrierAndPriceList", carrierAndPriceList);
+            }
+        }
+        return mapList;
+    }
+
+    /**
+     * 展示已分配承运商但未派车的车序号
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getNoCarTruckNoList(Map<String, Object> mapValue) {
+        List<Map<String, Object>> resultList = amsSaleOrderMapper.getCarrierTruckNoList(mapValue);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+        }
+        return resultList;
+    }
+
+    /**
+     * 展示已派车的车序号
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getHaveCarTruckNoList(Map<String, Object> mapValue) {
+        List<Map<String, Object>> resultList = amsSaleOrderMapper.getHaveCarTruckNoList(mapValue);
+        for (Map<String, Object> resultMap : resultList) {
+            BigDecimal saleOrderMaterialId = (BigDecimal) resultMap.get("saleOrderMaterialId");
+            // 物资
+            List<Map<String,Object>> materialList = amsSaleOrderMapper.getTruckNoMaterial(saleOrderMaterialId);
+            if (materialList != null && materialList.size() > 0) {
+                Map<String, Object> materialMap = materialList.get(0);
+                String materialName = (String) materialMap.get("materialName");
+                if (materialList.size() != 1) {
+                    materialName += "...";
+                }
+                resultMap.put("materialName",materialName);
+            }
+        }
+        return resultList;
+    }
 }

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

@@ -69,6 +69,8 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
         BigDecimal capacityTypeId=DataChange.dataToBigDecimal(mapValue.get("capacityTypeId"));
         String InsertUpdateRemark = (String) mapValue.get("remark");
         String isMineral    = (String)mapValue.get("isMineral");
+//        取出装机需求
+        String loadingRemark = (String) mapValue.get("installremark");
         Long dueTime =(Long) mapValue.get("DueTime");
 
         AmstruckInwardRequirement amstruckInwardRequirement = new AmstruckInwardRequirement();
@@ -114,6 +116,7 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
         amstruckInwardRequirement.setInsertUsername((String) mapValue.get("orgCode"));
         amstruckInwardRequirement.setInsertUpdateRemark(InsertUpdateRemark);
         amstruckInwardRequirement.setDeleted(new BigDecimal(0));
+        amstruckInwardRequirement.setLoadingRemark(loadingRemark);
         int result = 0;
         result += amstruckInwardRequirementMapper.insertSelective(amstruckInwardRequirement);
         // 物资中间表

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

@@ -236,4 +236,26 @@ public class DataChange {
         map.put("startDate", dayStartTime + " 00:00:00");
         map.put("endDate", dayEndTime + " 00:00:00");
     }
+
+    /**
+     * 生成带时间的八位数顺序号
+     * @param start 前缀
+     * @param id 顺序号  主键Id
+     * @return
+     */
+    public static String generateEightDigitsNumber(String start, Integer id,String pot){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + pot + sdf.format(new Date()) + pot);
+        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();
+    }
 }

+ 72 - 0
src/main/java/com/steerinfo/dil/util/EASUtil.java

@@ -0,0 +1,72 @@
+package com.steerinfo.dil.util;
+
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 配置金蝶正式环境连接常量Map
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2021/11/15 19:44
+ * @Version:V2.0
+ */
+@Component
+public class EASUtil {
+    // totalMap
+    public final Map<String,Object> totalMap = new HashMap<>();
+    // context
+    public final Map<String,Object> context = new HashMap<>();
+    public final boolean logError = true;
+    public final boolean logData = true;
+    // context
+    public final Map<String,Object> login = new HashMap<>();
+    public final String password = "dgjt@kingdee";
+    public final String dcName = "FDDGEAS85";
+    public final String dbType = "1";
+    public final String userName = "user";
+    // context
+    public final String command = "saveSaleOrderBillHandler";
+
+    /**
+     * 得到context的map
+     * @return
+     */
+    public Map<String,Object> getContext(){
+        this.context.put("logError",logError);
+        this.context.put("logData",logData);
+        return this.context;
+    }
+
+    /**
+     * 得到login的map
+     * @return
+     */
+    public Map<String,Object> getLogin(){
+        this.login.put("password",password);
+        this.login.put("dcName",dcName);
+        this.login.put("dbType",dbType);
+        this.login.put("userName",userName);
+        return this.login;
+    }
+
+    /**
+     * 得到command字符串
+     * @return
+     */
+    public String getCommand(){
+        return this.command;
+    }
+
+    /**
+     * 将所有的配置放入到totalMap的map里面
+     * @return
+     */
+    public Map<String,Object> getTotalMap() {
+        totalMap.put("context",getContext());
+        totalMap.put("login",getLogin());
+        totalMap.put("command",getCommand());
+        return this.totalMap;
+    }
+}

+ 24 - 0
src/main/java/com/steerinfo/dil/util/NumberToWeightUtil.java

@@ -0,0 +1,24 @@
+package com.steerinfo.dil.util;
+
+import java.math.BigDecimal;
+
+/**
+ * @Description:
+ * @Author:HuJianGuo
+ * @GreateTime:2022/3/23 17:09
+ * @Version:V2.0
+ */
+public class NumberToWeightUtil {
+
+    /**
+     *吨位:tonnage     件数:number      转换系数:COEFFICIENT  值:3.049
+     * 参数传入 件数
+     * 返回值为 吨位
+     */
+    public static BigDecimal func (BigDecimal number){
+
+        BigDecimal COEFFICIENT= BigDecimal.valueOf(3.049);
+        BigDecimal tonnage = COEFFICIENT.multiply(number);
+        return tonnage;
+    }
+}

+ 4 - 3
src/main/resources/application-dev.yml

@@ -15,10 +15,11 @@ openfeign:
   ColumnDataFeign:
     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
   TmsTruckFeign:
-    url: ${TMSTRUCKFEIGN_URL:1localhost:8008}
+    url: ${TMSTRUCKFEIGN_URL:172.16.33.162:8008}
   ImFeign:
-    url: ${IMFEIGN_URL:172.16.33.162:8018}
-
+    url: ${IMFEIGN_URL:172.16.33.166:8055}
+  JoinFeign:
+    url: ${JOINFEIGN_URL:172.16.33.162:8006}
 
 
   #测试环境端口

+ 2 - 0
src/main/resources/application-prod.yml

@@ -18,6 +18,8 @@ openfeign:
       url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8088}
    ImFeign:
       url: ${IMFEIGN_URL:172.16.33.166:8055}
+   JoinFeign:
+     url: ${JOINFEIGN_URL:172.16.33.166:8066}
 
  #正式环境端口
 

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml

@@ -664,4 +664,10 @@
             WHERE RC.CARRIER_SSO_ID = #{carrierSsoId,jdbcType=VARCHAR}
         </if>
     </select>
+
+    <select id="isDispatchExist" parameterType="DECIMAL" resultType="DECIMAL" >
+        SELECT ADSO.DISPATCH_ID AS "dispatchId"
+        FROM AMS_DISPATCH_SALE_ORDER ADSO
+        WHERE ADSO.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </select>
 </mapper>

+ 499 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -0,0 +1,499 @@
+<?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.AmsSaleMaterialMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSaleMaterial">
+    <id column="SALE_MATERIAL_ID" jdbcType="DECIMAL" property="saleMaterialId" />
+    <result column="SALE_ORDER_ID" jdbcType="DECIMAL" property="saleOrderId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="MATERIAL_WEIGHT" jdbcType="DECIMAL" property="materialWeight" />
+    <result column="MATERIAL_NUMBER" jdbcType="DECIMAL" property="materialNumber" />
+    <result column="EAS_PRIMARY_ID" jdbcType="VARCHAR" property="easPrimaryId" />
+    <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="SALE_WAREHOUSE" jdbcType="VARCHAR" property="saleWarehouse" />
+    <result column="STEEL_METER" jdbcType="DECIMAL" property="steelMeter" />
+    <result column="IS_POUND_SALE" jdbcType="DECIMAL" property="isPoundSale" />
+    <result column="METER_WEIGHT" jdbcType="DECIMAL" property="meterWeight" />
+  </resultMap>
+  <sql id="columns">
+    SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_NUMBER, EAS_PRIMARY_ID,
+    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+    DELETED, SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE, METER_WEIGHT
+  </sql>
+  <sql id="columns_alias">
+    t.SALE_MATERIAL_ID, t.SALE_ORDER_ID, t.MATERIAL_ID, t.MATERIAL_WEIGHT, t.MATERIAL_NUMBER,
+    t.EAS_PRIMARY_ID, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
+    t.INSERT_UPDATE_REMARK, t.DELETED, t.SALE_WAREHOUSE, t.STEEL_METER, t.IS_POUND_SALE,
+    t.METER_WEIGHT
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns" /> FROM AMS_SALE_MATERIAL
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias" /> FROM AMS_SALE_MATERIAL t
+  </sql>
+  <sql id="where">
+    <where>
+      <if test="saleMaterialId != null">
+        and SALE_MATERIAL_ID = #{saleMaterialId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="materialWeight != null">
+        and MATERIAL_WEIGHT = #{materialWeight}
+      </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="easPrimaryId != null and easPrimaryId != ''">
+        and EAS_PRIMARY_ID = #{easPrimaryId}
+      </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="saleWarehouse != null and saleWarehouse != ''">
+        and SALE_WAREHOUSE = #{saleWarehouse}
+      </if>
+      <if test="steelMeter != null">
+        and STEEL_METER = #{steelMeter}
+      </if>
+      <if test="isPoundSale != null">
+        and IS_POUND_SALE = #{isPoundSale}
+      </if>
+      <if test="meterWeight != null">
+        and METER_WEIGHT = #{meterWeight}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where>
+      <if test="saleMaterialId != null">
+        and SALE_MATERIAL_ID = #{saleMaterialId}
+      </if>
+      <if test="saleOrderId != null">
+        and SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="materialWeight != null">
+        and MATERIAL_WEIGHT = #{materialWeight}
+      </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="easPrimaryId != null and easPrimaryId != ''">
+        and EAS_PRIMARY_ID LIKE '%${easPrimaryId}%'
+      </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="saleWarehouse != null and saleWarehouse != ''">
+        and SALE_WAREHOUSE LIKE '%${saleWarehouse}%'
+      </if>
+      <if test="steelMeter != null">
+        and STEEL_METER = #{steelMeter}
+      </if>
+      <if test="isPoundSale != null">
+        and IS_POUND_SALE = #{isPoundSale}
+      </if>
+      <if test="meterWeight != null">
+        and METER_WEIGHT = #{meterWeight}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_SALE_MATERIAL
+    where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_SALE_MATERIAL
+    where 1!=1
+    <if test="saleOrderId != null">
+      or SALE_ORDER_ID = #{saleOrderId}
+    </if>
+    <if test="materialId != null">
+      or MATERIAL_ID = #{materialId}
+    </if>
+    <if test="materialWeight != null">
+      or MATERIAL_WEIGHT = #{materialWeight}
+    </if>
+    <if test="materialNumber != null">
+      or MATERIAL_NUMBER = #{materialNumber}
+    </if>
+    <if test="easPrimaryId != null and easPrimaryId != ''">
+      or EAS_PRIMARY_ID = #{easPrimaryId}
+    </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="saleWarehouse != null and saleWarehouse != ''">
+      or SALE_WAREHOUSE = #{saleWarehouse}
+    </if>
+    <if test="steelMeter != null">
+      or STEEL_METER = #{steelMeter}
+    </if>
+    <if test="isPoundSale != null">
+      or IS_POUND_SALE = #{isPoundSale}
+    </if>
+    <if test="meterWeight != null">
+      or METER_WEIGHT = #{meterWeight}
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
+    insert into AMS_SALE_MATERIAL (SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID,
+                                   MATERIAL_WEIGHT, MATERIAL_NUMBER, EAS_PRIMARY_ID,
+                                   INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                   UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
+                                   SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
+                                   METER_WEIGHT)
+    values (#{saleMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL},
+            #{materialWeight,jdbcType=DECIMAL}, #{materialNumber,jdbcType=DECIMAL}, #{easPrimaryId,jdbcType=VARCHAR},
+            #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+            #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
+            #{saleWarehouse,jdbcType=VARCHAR}, #{steelMeter,jdbcType=DECIMAL}, #{isPoundSale,jdbcType=DECIMAL},
+            #{meterWeight,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
+    insert into AMS_SALE_MATERIAL
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="saleMaterialId != null">
+        SALE_MATERIAL_ID,
+      </if>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="materialWeight != null">
+        MATERIAL_WEIGHT,
+      </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER,
+      </if>
+      <if test="easPrimaryId != null">
+        EAS_PRIMARY_ID,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="deleted != null">
+        DELETED,
+      </if>
+      <if test="saleWarehouse != null">
+        SALE_WAREHOUSE,
+      </if>
+      <if test="steelMeter != null">
+        STEEL_METER,
+      </if>
+      <if test="isPoundSale != null">
+        IS_POUND_SALE,
+      </if>
+      <if test="meterWeight != null">
+        METER_WEIGHT,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="saleMaterialId != null">
+        #{saleMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderId != null">
+        #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialWeight != null">
+        #{materialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="materialNumber != null">
+        #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="easPrimaryId != null">
+        #{easPrimaryId,jdbcType=VARCHAR},
+      </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="saleWarehouse != null">
+        #{saleWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="steelMeter != null">
+        #{steelMeter,jdbcType=DECIMAL},
+      </if>
+      <if test="isPoundSale != null">
+        #{isPoundSale,jdbcType=DECIMAL},
+      </if>
+      <if test="meterWeight != null">
+        #{meterWeight,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
+    update AMS_SALE_MATERIAL
+    set SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+        MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL},
+        MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+        EAS_PRIMARY_ID = #{easPrimaryId,jdbcType=VARCHAR},
+        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},
+        SALE_WAREHOUSE = #{saleWarehouse,jdbcType=VARCHAR},
+        STEEL_METER = #{steelMeter,jdbcType=DECIMAL},
+        IS_POUND_SALE = #{isPoundSale,jdbcType=DECIMAL},
+        METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL}
+    where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
+    update AMS_SALE_MATERIAL
+    <set>
+      <if test="saleOrderId != null">
+        SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialWeight != null">
+        MATERIAL_WEIGHT = #{materialWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="easPrimaryId != null">
+        EAS_PRIMARY_ID = #{easPrimaryId,jdbcType=VARCHAR},
+      </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="saleWarehouse != null">
+        SALE_WAREHOUSE = #{saleWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="steelMeter != null">
+        STEEL_METER = #{steelMeter,jdbcType=DECIMAL},
+      </if>
+      <if test="isPoundSale != null">
+        IS_POUND_SALE = #{isPoundSale,jdbcType=DECIMAL},
+      </if>
+      <if test="meterWeight != null">
+        METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select" />
+    where SALE_MATERIAL_ID = #{saleMaterialId,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 AMS_SALE_MATERIAL
+    (SALE_MATERIAL_ID,
+    SALE_ORDER_ID, MATERIAL_ID, MATERIAL_WEIGHT,
+    MATERIAL_NUMBER, EAS_PRIMARY_ID,
+    INSERT_USERNAME, INSERT_TIME,
+    UPDATE_USERNAME, UPDATE_TIME,
+    INSERT_UPDATE_REMARK, DELETED,
+    SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
+    METER_WEIGHT)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.saleMaterialId,jdbcType=DECIMAL},
+    #{item.saleOrderId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.materialWeight,jdbcType=DECIMAL},
+    #{item.materialNumber,jdbcType=DECIMAL}, #{item.easPrimaryId,jdbcType=VARCHAR},
+    #{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.saleWarehouse,jdbcType=VARCHAR}, #{item.steelMeter,jdbcType=DECIMAL}, #{item.isPoundSale,jdbcType=DECIMAL},
+    #{item.meterWeight,jdbcType=DECIMAL} from dual
+  </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+    update AMS_SALE_MATERIAL
+    set
+    SALE_MATERIAL_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.saleMaterialId,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_ORDER_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.saleOrderId,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_WEIGHT=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.materialWeight,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_NUMBER=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.materialNumber,jdbcType=DECIMAL}
+    </foreach>
+    ,EAS_PRIMARY_ID=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.easPrimaryId,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,DELETED=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+    </foreach>
+    ,SALE_WAREHOUSE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.saleWarehouse,jdbcType=VARCHAR}
+    </foreach>
+    ,STEEL_METER=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.steelMeter,jdbcType=DECIMAL}
+    </foreach>
+    ,IS_POUND_SALE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.isPoundSale,jdbcType=DECIMAL}
+    </foreach>
+    ,METER_WEIGHT=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.meterWeight,jdbcType=DECIMAL}
+    </foreach>
+    where SALE_MATERIAL_ID in
+    <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+      #{item.saleMaterialId,jdbcType=DECIMAL}
+    </foreach>
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_SALE_MATERIAL
+    where SALE_MATERIAL_ID in
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+</mapper>

ファイルの差分が大きいため隠しています
+ 622 - 318
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml


+ 10 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -787,4 +787,14 @@
     AND ACTP.DELETED = 0
     ORDER BY ACTP.PRICE_VALUE DESC
   </select>
+
+  <select id="getMaterial" parameterType="DECIMAL" resultType="java.util.Map">
+    SELECT ASM.MATERIAL_ID     AS "materialId",
+           ASM.MATERIAL_WEIGHT AS "materialWeight",
+           ASM.MATERIAL_NUMBER AS "materialNumber"
+    FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
+           LEFT JOIN AMS_SALE_MATERIAL ASM
+                     ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+    WHERE ASTM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+  </select>
 </mapper>

+ 2 - 0
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardPlanMapper.xml

@@ -457,6 +457,7 @@
         AIR.REQUIREMENT_WORK_CONTENT       AS "requirementWorkContent",
         AIR.REQUIREMENT_WORK_ENVIRONMENT   AS "requirementWorkEnvironment",
         AIR.REQUIREMENT_ESTIMATED_DURATION AS "requirementEstimatedDuration",
+        AIR.LOADING_REMARK                 AS "loadingRemark",
         RTR.TRANS_RANGE_VALUE              AS "rangeValue",
         AIP.PLAN_ID                        AS "planId",
         AIP.INSERT_TIME                    AS "insertTime",
@@ -593,6 +594,7 @@
         AIR.REQUIREMENT_WORK_ENVIRONMENT AS "requirementWorkEnvironment",
         AIR.REQUIREMENT_ESTIMATED_DURATION AS "requirementEstimatedDuration",
         AIR.REQUIREMENT_ID AS "requirementId",
+        AIR.LOADING_REMARK AS "loadingRemark",
         AIP.PLAN_ID AS "planId",
         AIP.CARRIER_ID AS "carrierId",
         AIP.INSERT_TIME AS "insertTime",

+ 31 - 5
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -28,6 +28,7 @@
         <result column="REQUIREMENT_LINK_TYPE" jdbcType="DECIMAL" property="requirementLinkType" />
         <result column="DUE_DATE" jdbcType="TIMESTAMP" property="dueDate" />
         <result column="IS_MINERAL" jdbcType="VARCHAR" property="isMineral" />
+        <result column="LOADING_REMARK" jdbcType="VARCHAR" property="loadingRemark" />
     </resultMap>
     <sql id="columns">
         REQUIREMENT_ID, PURCHASE_ORDER_ID, REQUIREMENT_NUMBER, REQUIREMENT_TYPE, CAPACITY_TYPE_ID, 
@@ -35,7 +36,7 @@
     LINE_ID, REQUIREMENT_WORK_ENVIRONMENT, REQUIREMENT_ESTIMATED_DURATION, REQUIREMENT_OVERLIMIT, 
     REQUIREMNT_UNIT_ID, REQUIREMENT_STATUS, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
     UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, REQUIREMENT_UNLOAD_UNIT_ID, REQUIREMENT_PLATFORM_ID, 
-    REQUIREMENT_LINK_TYPE, DUE_DATE, IS_MINERAL
+    REQUIREMENT_LINK_TYPE, DUE_DATE, IS_MINERAL, LOADING_REMARK
     </sql>
     <sql id="columns_alias">
         t.REQUIREMENT_ID, t.PURCHASE_ORDER_ID, t.REQUIREMENT_NUMBER, t.REQUIREMENT_TYPE, 
@@ -44,7 +45,7 @@
     t.REQUIREMENT_OVERLIMIT, t.REQUIREMNT_UNIT_ID, t.REQUIREMENT_STATUS, t.INSERT_USERNAME, 
     t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, 
     t.REQUIREMENT_UNLOAD_UNIT_ID, t.REQUIREMENT_PLATFORM_ID, t.REQUIREMENT_LINK_TYPE, 
-    t.DUE_DATE, t.IS_MINERAL
+    t.DUE_DATE, t.IS_MINERAL, t.LOADING_REMARK
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM AMSTRUCK_INWARD_REQUIREMENT
@@ -132,6 +133,9 @@
             <if test="isMineral != null and isMineral != ''">
                 and IS_MINERAL = #{isMineral}
             </if>
+            <if test="loadingRemark != null and loadingRemark != ''">
+                and LOADING_REMARK = #{loadingRemark}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -214,6 +218,9 @@
             <if test="isMineral != null and isMineral != ''">
                 and IS_MINERAL LIKE '%${isMineral}%'
             </if>
+            <if test="loadingRemark != null and loadingRemark != ''">
+                and LOADING_REMARK LIKE '%${loadingRemark}%'
+            </if>
         </where>
     </sql>
     <delete id="deleteByPrimaryKey" parameterType="decimal">
@@ -298,6 +305,9 @@
         <if test="isMineral != null and isMineral != ''">
             or IS_MINERAL = #{isMineral}
         </if>
+        <if test="loadingRemark != null and loadingRemark != ''">
+            or LOADING_REMARK = #{loadingRemark}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.AmstruckInwardRequirement">
         insert into AMSTRUCK_INWARD_REQUIREMENT (REQUIREMENT_ID, PURCHASE_ORDER_ID, REQUIREMENT_NUMBER,
@@ -319,7 +329,7 @@
                 #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
                 #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{requirementUnloadUnitId,jdbcType=DECIMAL},
                 #{requirementPlatformId,jdbcType=DECIMAL}, #{requirementLinkType,jdbcType=DECIMAL},
-                #{dueDate,jdbcType=TIMESTAMP}, #{isMineral,jdbcType=VARCHAR})
+                #{dueDate,jdbcType=TIMESTAMP}, #{isMineral,jdbcType=VARCHAR}, #{loadingRemark,jdbcType=VARCHAR})
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmstruckInwardRequirement">
         insert into AMSTRUCK_INWARD_REQUIREMENT
@@ -402,6 +412,9 @@
             <if test="isMineral != null">
                 IS_MINERAL,
             </if>
+            <if test="loadingRemark != null">
+                LOADING_REMARK,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="requirementId != null">
@@ -482,6 +495,9 @@
             <if test="isMineral != null">
                 #{isMineral,jdbcType=VARCHAR},
             </if>
+            <if test="loadingRemark != null">
+                #{loadingRemark,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmstruckInwardRequirement">
@@ -510,7 +526,8 @@
             REQUIREMENT_PLATFORM_ID = #{requirementPlatformId,jdbcType=DECIMAL},
             REQUIREMENT_LINK_TYPE = #{requirementLinkType,jdbcType=DECIMAL},
             DUE_DATE = #{dueDate,jdbcType=TIMESTAMP},
-            IS_MINERAL = #{isMineral,jdbcType=VARCHAR}
+            IS_MINERAL = #{isMineral,jdbcType=VARCHAR},
+            LOADING_REMARK = #{loadingRemark,jdbcType=VARCHAR}
         where REQUIREMENT_ID = #{requirementId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmstruckInwardRequirement">
@@ -591,6 +608,9 @@
             <if test="isMineral != null">
                 IS_MINERAL = #{isMineral,jdbcType=VARCHAR},
             </if>
+            <if test="loadingRemark != null">
+                LOADING_REMARK = #{loadingRemark,jdbcType=VARCHAR},
+            </if>
         </set>
         where REQUIREMENT_ID = #{requirementId,jdbcType=DECIMAL}
     </update>
@@ -637,7 +657,7 @@
         #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
         #{item.requirementUnloadUnitId,jdbcType=DECIMAL}, #{item.requirementPlatformId,jdbcType=DECIMAL},
         #{item.requirementLinkType,jdbcType=DECIMAL}, #{item.dueDate,jdbcType=TIMESTAMP},
-        #{item.isMineral,jdbcType=VARCHAR} from dual
+        #{item.isMineral,jdbcType=VARCHAR},#{item.loadingRemark,jdbcType=VARCHAR}  from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -747,6 +767,10 @@
         <foreach close="end" collection="list" index="index" item="item" open="case REQUIREMENT_ID" separator=" ">
             when #{item.requirementId,jdbcType=DECIMAL} then #{item.isMineral,jdbcType=VARCHAR}
         </foreach>
+        ,LOADING_REMARK=
+        <foreach close="end" collection="list" index="index" item="item" open="case REQUIREMENT_ID" separator=" ">
+            when #{item.requirementId,jdbcType=DECIMAL} then #{item.loadingRemark,jdbcType=VARCHAR}
+        </foreach>
         where REQUIREMENT_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.requirementId,jdbcType=DECIMAL}
@@ -777,6 +801,7 @@
         AIR.REQUIREMENT_WORK_ENVIRONMENT AS "requirementWorkEnvironment",
         AIR.REQUIREMENT_ESTIMATED_DURATION AS "requirementEstimatedDuration",
         AIR.REQUIREMENT_OVERLIMIT AS "requirementOverlimit",
+        AIR.LOADING_REMARK AS "loadingRemark",
         RS.SHIPPER_NAME AS "shipperName",
         AIR.INSERT_TIME AS "insertTime",
         AIR.DUE_DATE AS "dueDate",
@@ -923,6 +948,7 @@
         AIR.REQUIREMENT_WORK_ENVIRONMENT AS "requirementWorkEnvironment",
         AIR.REQUIREMENT_ESTIMATED_DURATION AS "requirementEstimatedDuration",
         AIR.REQUIREMENT_OVERLIMIT AS "requirementOverlimit",
+        AIR.LOADING_REMARK AS "loadingRemark",
         RS.SHIPPER_NAME AS "shipperName",
         AIR.INSERT_TIME AS "insertTime",
         AIR.INSERT_USERNAME AS "insertUsername",

+ 86 - 9
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -25,20 +25,24 @@
         <result column="DRIVER_CONFIRMATION" jdbcType="DECIMAL" property="driverConfirmation" />
         <result column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
         <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+        <result column="TRIP_ID" jdbcType="VARCHAR" property="tripId" />
+        <result column="ORDER_PRINT_STATUS" jdbcType="DECIMAL" property="orderPrintStatus" />
+        <result column="DRIVER_TEL" jdbcType="VARCHAR" property="driverTel" />
     </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
+    PRICE_ID, CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
     </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
+    t.DRIVER_CONFIRMATION, t.PRICE_ID, t.CARRIER_ID, t.TRIP_ID, t.ORDER_PRINT_STATUS,
+    t.DRIVER_TEL
     </sql>
     <sql id="select">
         SELECT <include refid="columns" /> FROM OMSTRUCK_ORDER
@@ -117,6 +121,15 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID = #{tripId}
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL = #{driverTel}
+            </if>
         </where>
     </sql>
     <sql id="whereLike">
@@ -190,9 +203,18 @@
             <if test="carrierId != null">
                 and CARRIER_ID = #{carrierId}
             </if>
+            <if test="tripId != null and tripId != ''">
+                and TRIP_ID LIKE '%${tripId}%'
+            </if>
+            <if test="orderPrintStatus != null">
+                and ORDER_PRINT_STATUS = #{orderPrintStatus}
+            </if>
+            <if test="driverTel != null and driverTel != ''">
+                and DRIVER_TEL LIKE '%${driverTel}%'
+            </if>
         </where>
     </sql>
-    <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
         delete from OMSTRUCK_ORDER
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </delete>
@@ -265,6 +287,15 @@
         <if test="carrierId != null">
             or CARRIER_ID = #{carrierId}
         </if>
+        <if test="tripId != null and tripId != ''">
+            or TRIP_ID = #{tripId}
+        </if>
+        <if test="orderPrintStatus != null">
+            or ORDER_PRINT_STATUS = #{orderPrintStatus}
+        </if>
+        <if test="driverTel != null and driverTel != ''">
+            or DRIVER_TEL = #{driverTel}
+        </if>
     </delete>
     <insert id="insert" parameterType="com.steerinfo.dil.model.OmstruckOrder">
         insert into OMSTRUCK_ORDER (ORDER_ID, ORDER_PLAN_ID, ORDER_NUMBER,
@@ -274,7 +305,8 @@
                                     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
+                                    DRIVER_CONFIRMATION, PRICE_ID, CARRIER_ID,
+                                    TRIP_ID, ORDER_PRINT_STATUS, DRIVER_TEL
         )
         values (#{orderId,jdbcType=DECIMAL}, #{orderPlanId,jdbcType=DECIMAL}, #{orderNumber,jdbcType=VARCHAR},
                 #{capacityId,jdbcType=DECIMAL}, #{orderIssueTime,jdbcType=TIMESTAMP}, #{orderReceiveStatus,jdbcType=DECIMAL},
@@ -283,7 +315,8 @@
                 #{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}
+                #{driverConfirmation,jdbcType=DECIMAL}, #{priceId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
+                #{tripId,jdbcType=VARCHAR}, #{orderPrintStatus,jdbcType=DECIMAL}, #{driverTel,jdbcType=VARCHAR}
                )
     </insert>
     <insert id="insertSelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -358,6 +391,15 @@
             <if test="carrierId != null">
                 CARRIER_ID,
             </if>
+            <if test="tripId != null">
+                TRIP_ID,
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS,
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="orderId != null">
@@ -429,6 +471,15 @@
             <if test="carrierId != null">
                 #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                #{driverTel,jdbcType=VARCHAR},
+            </if>
         </trim>
     </insert>
     <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -454,7 +505,10 @@
             UNLOAD_POINT_ID = #{unloadPointId,jdbcType=DECIMAL},
             DRIVER_CONFIRMATION = #{driverConfirmation,jdbcType=DECIMAL},
             PRICE_ID = #{priceId,jdbcType=DECIMAL},
-            CARRIER_ID = #{carrierId,jdbcType=DECIMAL}
+            CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+            TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            DRIVER_TEL = #{driverTel,jdbcType=VARCHAR}
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
     <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.OmstruckOrder">
@@ -526,10 +580,19 @@
             <if test="carrierId != null">
                 CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
             </if>
+            <if test="tripId != null">
+                TRIP_ID = #{tripId,jdbcType=VARCHAR},
+            </if>
+            <if test="orderPrintStatus != null">
+                ORDER_PRINT_STATUS = #{orderPrintStatus,jdbcType=DECIMAL},
+            </if>
+            <if test="driverTel != null">
+                DRIVER_TEL = #{driverTel,jdbcType=VARCHAR},
+            </if>
         </set>
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </update>
-    <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
         <include refid="select" />
         where ORDER_ID = #{orderId,jdbcType=DECIMAL}
     </select>
@@ -553,7 +616,8 @@
         DELETED, ORDER_TYPE, ORDER_LINE_SEQUENCE,
         LINE_ID, ORDER_ENTRY_TIME, UNLOAD_POINT_ID,
         DRIVER_CONFIRMATION, PRICE_ID,
-        CARRIER_ID)
+        CARRIER_ID, TRIP_ID, ORDER_PRINT_STATUS,
+        DRIVER_TEL)
         ( <foreach collection="list" item="item" separator="union all">
         select
         #{item.orderId,jdbcType=DECIMAL},
@@ -566,7 +630,8 @@
         #{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
+        #{item.carrierId,jdbcType=DECIMAL}, #{item.tripId,jdbcType=VARCHAR}, #{item.orderPrintStatus,jdbcType=DECIMAL},
+        #{item.driverTel,jdbcType=VARCHAR} from dual
     </foreach> )
     </insert>
     <update id="batchUpdate" parameterType="java.util.List">
@@ -664,6 +729,18 @@
         <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>
+        ,TRIP_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.tripId,jdbcType=VARCHAR}
+        </foreach>
+        ,ORDER_PRINT_STATUS=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.orderPrintStatus,jdbcType=DECIMAL}
+        </foreach>
+        ,DRIVER_TEL=
+        <foreach close="end" collection="list" index="index" item="item" open="case ORDER_ID" separator=" ">
+            when #{item.orderId,jdbcType=DECIMAL} then #{item.driverTel,jdbcType=VARCHAR}
+        </foreach>
         where ORDER_ID in
         <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
             #{item.orderId,jdbcType=DECIMAL}

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません