فهرست منبع

'销售dev终版'

HUJIANGUO 3 سال پیش
والد
کامیت
1eb0f44293
19فایلهای تغییر یافته به همراه1272 افزوده شده و 206 حذف شده
  1. 1 1
      pom.xml
  2. 6 0
      src/main/java/com/steerinfo/dil/controller/AmsDispatchSaleOrderController.java
  3. 119 0
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java
  4. 93 0
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java
  5. 10 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java
  6. 3 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java
  7. 20 4
      src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java
  8. 3 0
      src/main/java/com/steerinfo/dil/service/IAmsDispatchSaleOrderService.java
  9. 9 0
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java
  10. 14 0
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java
  11. 43 0
      src/main/java/com/steerinfo/dil/service/impl/AmsDispatchSaleOrderServiceImpl.java
  12. 117 0
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java
  13. 41 0
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java
  14. 2 2
      src/main/resources/application-dev.yml
  15. 2 2
      src/main/resources/application-prod.yml
  16. 5 2
      src/main/resources/bootstrap.yml
  17. 5 3
      src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml
  18. 463 1
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  19. 316 191
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

+ 1 - 1
pom.xml

@@ -111,7 +111,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>AMSTRUCK_SPORADIC_ORDER</param><!--销售计划-->
+                        <param>AMS_SALE_ORDER_MATERIAL</param><!--销售计划-->
 <!--                        <param>AMSTRUCK_INWARD_REQUIREMENT</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
 <!--                        <param>AMSTRUCK_RAIL_DAYPLAN</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
 <!--                        <param>AMS_CONTRACT_TRANSPORT_PRICE</param>&lt;!&ndash;销售订单&ndash;&gt;-->

+ 6 - 0
src/main/java/com/steerinfo/dil/controller/AmsDispatchSaleOrderController.java

@@ -131,5 +131,11 @@ public class AmsDispatchSaleOrderController extends BaseRESTfulController {
         return success(pageList);
     }
 
+    @ApiOperation(value="销售新增定向派单且直接下发")
+    @PostMapping("/addDispatchSaleOrder")
+    public RESTfulResult addDispatchSaleOrder(@RequestBody Map<String,Object> mapValue) {
+        int result = amsDispatchSaleOrderService.addDispatchSaleOrder(mapValue);
+        return success(result);
+    }
 
 }

+ 119 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -16,6 +16,7 @@ import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
@@ -518,4 +519,122 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         amsDispatchSaleOrderService.modify(amsDispatchSaleOrder);
         return success("修改成功");
     }
+
+    @ApiOperation(value="查询未上报的销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getSaleOrderInfoes")
+    public RESTfulResult getSaleOrderInfoes(@RequestBody(required=false) Map<String,Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize){
+
+        List<Map<String, Object>> amsSaleOrder = amsSaleOrderService.getSaleOrderInfoes(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1);
+        return success(pageList);
+    }
+
+    @ApiOperation(value="查询已上报销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getSaleOrderReportedes")
+    public RESTfulResult getSaleOrderReportedes(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize){
+
+        List<Map<String, Object>> amsSaleOrder = amsSaleOrderService.getSaleOrderReportedes(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1);
+        return success(pageList);
+    }
+
+    @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("/getSaleOrderListBySaleCompanyes")
+    public RESTfulResult getSaleOrderListBySaleCompanyes(@RequestBody(required = false) Map<String,Object> mapValue,
+                                                         Integer pageNum,
+                                                         Integer pageSize,
+                                                         Integer apiId,
+                                                         String con) {
+
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index="get_sales_companylist";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> saleCompanyList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_sales_orderlist");
+            //添加id
+            map1.put("indexId","saleOrderIdes");
+            saleCompanyList.add(map1);
+            //新建索引
+            esFeign.insertIndex(saleCompanyList);
+            //删除
+            saleCompanyList.remove(saleCompanyList.size()-1);
+        }
+        if(saleCompanyList== null)
+            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, saleCompanyList,saleOrderList);
+        return success(pageList);
+
+    }
+
+    @ApiOperation(value="查询财务已审批销售订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(409)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getAmsSaleOrderApprovedes")
+    public RESTfulResult getAmsSaleOrderApprovedes(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize){
+
+        List<Map<String, Object>> amsSaleOrder = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSaleOrder,amsSaleOrder1);
+        return success(pageList);
+    }
+
+    /*
+     *  根据销售订单主键展示销售基本信息、物资信息
+     *  apiId:410
+     * */
+    @PostMapping(value="/getSaleOrderAndMaterialById")
+    public RESTfulResult  getSaleOrderAndMaterialById(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize,
+                                                      BigDecimal saleOrderId){
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        mapValue.put("saleOrderId",saleOrderId);
+        List<Map<String,Object>> mapList = amsSaleOrderService.getSaleOrderAndMaterialById(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> columndata = amsSaleOrderService.getSaleOrderAndMaterialById(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, mapList,columndata);
+        return success(pageList);
+    }
 }

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

@@ -1,11 +1,14 @@
 package com.steerinfo.dil.controller;
 
 import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderMaterialService;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
 import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
@@ -13,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -42,6 +46,9 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
     @Autowired
     ColumnDataUtil columnDataUtil;
 
+    @Autowired
+    ESFeign esFeign;
+
     /**
      * 新增销售订单物资信息
      * @param amsSaleOrderMaterial
@@ -144,4 +151,90 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
     public RESTfulResult getAddressDeliveryAddress(){
         return success(amsSaleOrderMaterialService.getAddressDeliveryAddress());
     }
+
+
+    /**
+     * 展示车序号信息
+     * @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 = "/getTruckNoList")
+    public RESTfulResult getTruckNoList(@RequestBody(required = false) Map<String,Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize,
+                                        Integer issueStatus,
+                                        String con){
+        int count=0;
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index="get_truckno_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        if (issueStatus != null) {
+            mapValue.put("issueStatus",issueStatus);
+            count++;
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allSaleOrderList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if(mapValue.size() == count){
+            //将查询结果存入索引中
+            allSaleOrderList =  amsSaleOrderMaterialService.getTruckNoList(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_truckno_list");
+            //添加id
+            map1.put("indexId","saleOrderMaterialId");
+            allSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(allSaleOrderList);
+            //删除
+            allSaleOrderList.remove(allSaleOrderList.size()-1);
+        }
+        if(allSaleOrderList== null)
+            allSaleOrderList =  amsSaleOrderMaterialService.getTruckNoList(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderMaterialService.getTruckNoList(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderList,saleOrderList);
+        return success(pageList);
+    }
+
+    /**
+     * 车序号与物资新增
+     * @param mapList
+     * @return
+     */
+    @ApiOperation(value="新增销售订单物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "addTruckNo", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
+    })
+    @PostMapping(value = "/addTruckNo")
+    public RESTfulResult addTruckNo(@RequestBody List<Map<String,Object>> mapList){
+        int result = amsSaleOrderMaterialService.addTruckNo(mapList);
+        return success(result);
+    }
+
+    /**
+     * 下发车序号
+     * @param mapList
+     * @return
+     */
+    @ApiOperation(value="下发车序号")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "issueTruckNo", value = "车序号列表", required = false, dataType = "AmsSaleOrderMaterial")
+    })
+    @PostMapping(value = "/issueTruckNo")
+    public RESTfulResult issueTruckNo(@RequestBody List<Map<String,Object>> mapList){
+        int result = amsSaleOrderMaterialService.issueTruckNo(mapList);
+        return success(result);
+    }
+
 }

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

@@ -54,5 +54,15 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     BigDecimal selectCarrierIdByprovince(Map<String,Object> map);
     //根据收货地址id查询省市县
     Map<String,Object> selectProvince(Integer addressId);
+    //查询未上报的销售订单信息
+    List<Map<String, Object>> getSaleOrderInfoes(Map<String,Object> map);
+    //查询已上报销售订单信息
+    List<Map<String, Object>> getSaleOrderReportedes(Map<String,Object> map);
+    //获取销售公司已审核的订单
+    List<Map<String,Object>> getSaleOrderListBySaleCompanyes(Map<String,Object> map);
+    //查询财务已经审批的销售订单
+    List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String,Object> map);
 
+    // 根据销售订单主键展示销售基本信息、物资信息
+    List<Map<String, Object>> getSaleOrderAndMaterialById(Map<String,Object> mapValue);
 }

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

@@ -31,4 +31,7 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
     Integer selectById(BigDecimal saleOrderMaterialId);
 
     Integer selectByCxh(Map<String, Object> m);
+
+    // 车序号信息
+    List<Map<String, Object>> getTruckNoList(Map<String, Object> mapValue);
 }

+ 20 - 4
src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java

@@ -3,31 +3,32 @@ package com.steerinfo.dil.model;
 import com.steerinfo.framework.model.IBasePO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
 @ApiModel(value="销售订单和物资的中间表")
 public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
     /**
-     * 主键ID(SALE_ORDER_MATERIAL_ID,DECIMAL,38)
+     * 主键ID(SALE_ORDER_MATERIAL_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="主键ID",required=true)
     private BigDecimal saleOrderMaterialId;
 
     /**
-     * 销售订单ID(SALE_ORDER_ID,DECIMAL,38)
+     * 销售订单ID(SALE_ORDER_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="销售订单ID",required=true)
     private BigDecimal saleOrderId;
 
     /**
-     * 车序号(SALE_ORDER_MATERIAL_TRUCK_NO,DECIMAL,38)
+     * 车序号(SALE_ORDER_MATERIAL_TRUCK_NO,DECIMAL,0)
      */
     @ApiModelProperty(value="车序号",required=false)
     private BigDecimal saleOrderMaterialTruckNo;
 
     /**
-     * 收货地址ID(SALE_SHIPPING_ADDRESS_ID,DECIMAL,38)
+     * 收货地址ID(SALE_SHIPPING_ADDRESS_ID,DECIMAL,0)
      */
     @ApiModelProperty(value="收货地址ID",required=false)
     private BigDecimal saleShippingAddressId;
@@ -92,6 +93,12 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="是否为历史记录(0:否,1:是)",required=false)
     private BigDecimal updated;
 
+    /**
+     * 下发状态(ISSUE_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value="下发状态",required=false)
+    private BigDecimal issueStatus;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -216,6 +223,14 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         this.updated = updated;
     }
 
+    public BigDecimal getIssueStatus() {
+        return issueStatus;
+    }
+
+    public void setIssueStatus(BigDecimal issueStatus) {
+        this.issueStatus = issueStatus;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -236,6 +251,7 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
         sb.append(", deleted=").append(deleted);
         sb.append(", updated=").append(updated);
+        sb.append(", issueStatus=").append(issueStatus);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -68,4 +68,7 @@ public interface IAmsDispatchSaleOrderService{
      * @return
      */
     int receiveDispatchOrder(BigDecimal dispatchId);
+
+    // 新增定向派单且直接下发
+    int addDispatchSaleOrder(Map<String, Object> mapValue);
 }

+ 9 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java

@@ -39,4 +39,13 @@ public interface IAmsSaleOrderMaterialService{
     Integer selectById(BigDecimal saleOrderMaterialId);
 
     Integer selectByCxh(Map<String, Object> m);
+
+    // 车序号信息
+    List<Map<String, Object>> getTruckNoList(Map<String, Object> mapValue);
+
+    // 添加车序号与物资
+    int addTruckNo(List<Map<String, Object>> mapList);
+
+    // 下发车序号
+    int issueTruckNo(List<Map<String, Object>> mapList);
 }

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

@@ -80,4 +80,18 @@ public interface IAmsSaleOrderService {
     List<Map<String,Object>> selectMaterialInfoBySaleOrderId(BigDecimal saleOrderId);
 
     int addAmsDispatchSaleOrder(List<Map<String, Object>> mapValue);
+
+    //查询未上报销售订单信息
+    List<Map<String, Object>> getSaleOrderInfoes(Map<String, Object> map);
+
+    //查询所有已上报销售订单信息
+    List<Map<String, Object>> getSaleOrderReportedes(Map<String, Object> map);
+
+    //获取销售公司已审核的订单
+    List<Map<String,Object>> getSaleOrderListBySaleCompanyes(Map<String,Object> map);
+
+    //查询所有财务已经审批的销售订单
+    List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String, Object> map);
+
+    List<Map<String, Object>> getSaleOrderAndMaterialById(Map<String,Object> mapValue);
 }

+ 43 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsDispatchSaleOrderServiceImpl.java

@@ -1,13 +1,18 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
+import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
+import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
 import com.steerinfo.dil.model.AmsDispatchSaleOrder;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.service.IAmsDispatchSaleOrderService;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.MapRemoveUtil;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -30,6 +35,8 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
 
     @Autowired
     private AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper;
+    @Autowired
+    AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
 
     @Override
     protected IBaseMapper<AmsDispatchSaleOrder, BigDecimal> getMapper() {
@@ -413,4 +420,40 @@ public class AmsDispatchSaleOrderServiceImpl extends BaseServiceImpl<AmsDispatch
     public int receiveDispatchOrder(BigDecimal dispatchId) {
         return 0;
     }
+
+    /**
+     * 销售新增定向派单且直接下发
+     * @param mapValue
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addDispatchSaleOrder(Map<String, Object> mapValue) {
+        int result = 0;
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        // 承运商id
+        BigDecimal carrierId = DataChange.dataToBigDecimal(mapValue.get("carrierId"));
+        for (Map<String, Object> map : mapList) {
+            // 车序号表id
+            BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+            AmsDispatchSaleOrder amsDispatchSaleOrder = new AmsDispatchSaleOrder();
+            amsDispatchSaleOrder.setDispatchId(amsDispatchSaleOrderMapper.selectOtherId());
+            amsDispatchSaleOrder.setSaleOrderMaterialId(saleOrderMaterialId);
+            amsDispatchSaleOrder.setCarrierId(carrierId);
+            amsDispatchSaleOrder.setDispatchTime(new Date());
+            // 设置为定向派单
+            amsDispatchSaleOrder.setDispatchType(new BigDecimal(0));
+            amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(0));
+            amsDispatchSaleOrder.setInsertTime(new Date());
+            amsDispatchSaleOrder.setInsertUsername("admin");
+            amsDispatchSaleOrder.setInsertUpdateRemark("无");
+            // 将车序号表改为已选承运商状态
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+            amsSaleOrderMaterial.setIssueStatus(new BigDecimal(2));
+            result += amsDispatchSaleOrderMapper.insertSelective(amsDispatchSaleOrder);
+            result += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
+        }
+        return result;
+    }
 }

+ 117 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -1,12 +1,19 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.controller.AmsSaleTrucknoMaterialController;
 import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
+import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderMaterialService;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -30,6 +37,8 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
 
     @Autowired
     private AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
+    @Autowired
+    AmsSaleTrucknoMaterialMapper amsSaleTrucknoMaterialMapper;
 
     @Override
     public int addAmsSaleOrderMaterial(AmsSaleOrderMaterial amsSaleOrderMaterial) {
@@ -146,4 +155,112 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     public Integer selectByCxh(Map<String, Object> m) {
         return amsSaleOrderMaterialMapper.selectByCxh(m);
     }
+
+    /**
+     * 展示车序号信息
+     * @param mapValue
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getTruckNoList(Map<String, Object> mapValue) {
+        List<Map<String,Object>> mapList = amsSaleOrderMaterialMapper.getTruckNoList(mapValue);
+        return mapList;
+    }
+
+    /**
+     * 添加车序号与物资
+     * @param mapList
+     * @return
+     */
+    @Transactional
+    @Override
+    public int addTruckNo(List<Map<String, Object>> mapList) {
+        int result = 0;
+        for (Map<String, Object> map : mapList) {
+            // 销售订单id
+            BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
+            // 车序号
+            BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
+            AmsSaleOrderMaterial amsSaleOrderMaterial;
+            Map<String,Object> saleMap = new HashMap<>();
+            saleMap.put("saleOrderId",saleOrderId);
+            saleMap.put("saleOrderMaterialTruckNo",truckNo);
+            // 检测销售订单下的车序号是否已存在
+            List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
+            // 如果已存在则不处理
+            if (amsSaleOrderMaterials != null && amsSaleOrderMaterials.size() != 0) {
+                amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
+            }
+            // 如果不存在则新增车序号
+            else {
+                // 收货地址id
+                BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shippingAddressId"));
+                // 收货日期
+                String dateOfReceiptStr = (String) map.get("dateOfReceipt");
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                Date dateOfReceipt = null;
+                try {
+                    dateOfReceipt = sdf.parse(dateOfReceiptStr);
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+                // 收货方姓名
+                String orderConsignee = (String) map.get("orderConsignee");
+                // 收货方联系方式
+                Object orderConsigneeTel = map.get("orderConsigneeTel");
+                amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+                BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+                amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+                amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+                amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
+                amsSaleOrderMaterial.setSaleShippingAddressId(shippingAddressId);
+                amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
+                amsSaleOrderMaterial.setSaleOrderConsignee(orderConsignee);
+                if (orderConsignee != null) {
+                    amsSaleOrderMaterial.setSaleOrderConsigneeTel(orderConsigneeTel.toString());
+                }
+                amsSaleOrderMaterial.setInsertTime(new Date());
+                amsSaleOrderMaterial.setInsertUsername("admin");
+                amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
+                amsSaleOrderMaterial.setInsertUpdateRemark("无");
+                amsSaleOrderMaterial.setUpdated(new BigDecimal(0));
+                amsSaleOrderMaterial.setIssueStatus(new BigDecimal(0));
+                result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            }
+            // 新增车序号与物资中间表
+            AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+            // 物资id
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
+            // 物资数量
+            BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
+            BigDecimal saleTrucknoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(saleTrucknoMaterialId);
+            amsSaleTrucknoMaterial.setMaterialId(materialId);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            amsSaleTrucknoMaterial.setInsertTime(new Date());
+            amsSaleTrucknoMaterial.setInsertUsername("admin");
+            amsSaleTrucknoMaterial.setInsertUpdateRemark("无");
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+        }
+        return result;
+    }
+
+    /**
+     * 下发车序号
+     * @param mapList
+     * @return
+     */
+    @Override
+    public int issueTruckNo(List<Map<String, Object>> mapList) {
+        int result = 0;
+        for (Map<String, Object> map : mapList) {
+            BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+            amsSaleOrderMaterial.setIssueStatus(new BigDecimal(1));
+            result += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
+        }
+        return result;
+    }
 }

+ 41 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -395,4 +395,45 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return result;
     }
+
+    @Override
+    public List<Map<String, Object>> getSaleOrderInfoes(Map<String, Object> map) {
+        return amsSaleOrderMapper.getSaleOrderInfoes(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> getSaleOrderReportedes(Map<String, Object> map) {
+        return amsSaleOrderMapper.getSaleOrderReportedes(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> getSaleOrderListBySaleCompanyes(Map<String, Object> map) {
+        return amsSaleOrderMapper.getSaleOrderListBySaleCompanyes(map);
+    }
+
+    @Override
+    public List<Map<String, Object>> getAmsSaleOrderApprovedes(Map<String, Object> map) {
+        return amsSaleOrderMapper.getAmsSaleOrderApprovedes(map);
+    }
+
+    /*
+     *  根据销售订单主键展示销售基本信息、物资信息
+     * */
+    @Override
+    public List<Map<String, Object>> getSaleOrderAndMaterialById(Map<String,Object> mapValue) {
+        List<Map<String, Object>> mapList=amsSaleOrderMapper.getSaleOrderAndMaterialById(mapValue);
+        for (Map<String, Object> map : mapList) {
+            BigDecimal number;
+            BigDecimal materialNumber = (BigDecimal) map.get("materialNumber");
+            BigDecimal materialWeight = (BigDecimal) map.get("materialWeight");
+            if (materialNumber != null && materialNumber.toString().length() != 0) {
+                number = materialNumber;
+            }
+            else {
+                number = materialWeight;
+            }
+            map.put("number",number);
+        }
+        return mapList;
+    }
 }

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

@@ -1,8 +1,8 @@
 spring:
   datasource:
     url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
-    password: Dil123789
-    username: dil
+    password: root123
+    username: dagang
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dil-ams-api-dev

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

@@ -1,8 +1,8 @@
 spring:
   datasource:
     url: jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri
-    password: Dil123789
-    username: dil
+    password: root123
+    username: dagang
     driver-class-name: oracle.jdbc.OracleDriver
   application:
     name: dil-ams-api-dev

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

@@ -13,13 +13,13 @@ spring:
     static-path-pattern:
 
 openfeign:
-  # 正式环境
+#   正式环境
 #  ESFeign:
 #    url: ${ESFEIGN_URL:172.16.33.166:8089}
 #  ColumnDataFeign:
 #    url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
 
-  # 测试环境
+#  # 测试环境
   ESFeign:
     url: ${ESFEIGN_URL:172.16.33.162:8011}
   ColumnDataFeign:
@@ -64,4 +64,7 @@ mybatis:
     call-setters-on-nulls: true
 
 server:
+#  正式
+#  port: 8079
+#  测试
   port: 8015

+ 5 - 3
src/main/resources/com/steerinfo/dil/mapper/AmsDispatchSaleOrderMapper.xml

@@ -459,8 +459,10 @@
                            ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
                  LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
                            ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                LEFT JOIN AMS_SALE_MATERIAL ASM
+            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
                  LEFT JOIN RMS_MATERIAL RM
-                           ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+                           ON RM.MATERIAL_ID = ASM.MATERIAL_ID
         WHERE ADSO.DISPATCH_ID = #{dispatchId}
     </select>
 
@@ -519,7 +521,7 @@
                            ON RCA.CARRIER_ID = ADSO.CARRIER_ID
         WHERE ADSO.DISPATCH_STATUS = 0
           AND ADSO.CARRIER_ID = #{carrierId}
-          AND OO.ORDER_ID IS NULL
+          AND OO.CAPACITY_ID IS NULL
     </select>
 
     <select id="getNullOrNotNull" parameterType="DECIMAL" resultType="java.util.Map">
@@ -542,7 +544,7 @@
         ADSO.DISPATCH_DEAL_TIME AS "dispatchDealTime",
         RSH.SHIPPER_NAME AS "shipperName",
         RC.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
-        RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
+        RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
         ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
         ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
         ADSO.INSERT_TIME AS "insertTime"

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

@@ -1178,7 +1178,8 @@
              FROM (
                     SELECT RM.MATERIAL_NAME
                     FROM AMS_SALE_TRUCKNO_MATERIAL ASTM
-                           LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASTM.MATERIAL_ID
+                    LEFT JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+                    LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = ASM.MATERIAL_ID
                     WHERE ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
                     ORDER BY ASTM.TRUCKNO_MATERIAL_ID
                   )
@@ -1427,4 +1428,465 @@
     where  ASO.SALE_ORDER_ID=#{saleOrderId}
   </select>
 
+  <select id="getSaleOrderInfoes" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    r_shipper.SHIPPER_NAME "shipperName",
+    r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+    a_s_order.SALE_ACCOUNT_BALANCE "saleAccountBalance",
+    a_s_order.SALE_CURRENT_ORDER_AMOUNT "saleCurrentOrderAmount",
+    a_s_order.SALE_HISTORICAL_ORDER_AMOUNT "saleHistoricalOrderAmout",
+    a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+    a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
+    a_s_order.SALE_ORDER_TAX "saleOrderTax",
+    a_s_order.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
+    from AMS_SALE_ORDER a_s_order
+    left join RMS_SHIPPER r_shipper
+    on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
+    left join RMS_CONSIGNEE r_consignee
+    on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS=0 and a_s_order.DELETED=0)
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderIsselfMention != null">
+        and
+        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
+          "saleOrderIsselfMention" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleAccountBalance != null">
+        and
+        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
+          "saleAccountBalance" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleCurrentOrderAmount != null">
+        and
+        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
+          "saleCurrentOrderAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleHistoricalOrderAmout != null">
+        and
+        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
+          "saleHistoricalOrderAmout" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderReceiveCustomer != null">
+        and
+        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
+          "saleOrderReceiveCustomer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleUnitPrice != null">
+        and
+        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
+          "saleUnitPrice" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderTax != null">
+        and
+        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
+          "saleOrderTax" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleRemark != null">
+        and
+        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
+          "saleRemark" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
+
+  <select id="getSaleOrderReportedes"  parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    r_shipper.SHIPPER_NAME "shipperName",
+    r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+    a_s_order.SALE_ACCOUNT_BALANCE "saleAccountBalance",
+    a_s_order.SALE_CURRENT_ORDER_AMOUNT "saleCurrentOrderAmount",
+    a_s_order.SALE_HISTORICAL_ORDER_AMOUNT "saleHistoricalOrderAmout",
+    a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+    a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
+    a_s_order.SALE_ORDER_TAX "saleOrderTax",
+    a_s_order.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
+    from AMS_SALE_ORDER a_s_order
+    left join RMS_SHIPPER r_shipper
+    on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
+    left join RMS_CONSIGNEE r_consignee
+    on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS=1)
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderIsselfMention != null">
+        and
+        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
+          "saleOrderIsselfMention" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleAccountBalance != null">
+        and
+        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
+          "saleAccountBalance" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleCurrentOrderAmount != null">
+        and
+        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
+          "saleCurrentOrderAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleHistoricalOrderAmout != null">
+        and
+        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
+          "saleHistoricalOrderAmout" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderReceiveCustomer != null">
+        and
+        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
+          "saleOrderReceiveCustomer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleUnitPrice != null">
+        and
+        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
+          "saleUnitPrice" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderTax != null">
+        and
+        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
+          "saleOrderTax" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleRemark != null">
+        and
+        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
+          "saleRemark" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
+
+  <!-- 销售公司查询已审核的销售订单 -->
+  <select id="getSaleOrderListBySaleCompanyes" parameterType="java.util.Map" resultType="java.util.Map">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    r_shipper.SHIPPER_NAME "shipperName",
+    r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    r_consignee.CONSIGNEE_WARRANTY_AMOUNT "consigneeWarrantyAmount",
+    r_consignee.CONSIGNEE_WARRANTY_WEIGHT "consigneeWarrantyWeight",
+    a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+    a_s_order.SALE_ACCOUNT_BALANCE "saleAccountBalance",
+    a_s_order.SALE_CURRENT_ORDER_AMOUNT "saleCurrentOrderAmount",
+    a_s_order.SALE_HISTORICAL_ORDER_AMOUNT "saleHistoricalOrderAmout",
+    a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+    a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
+    a_s_order.SALE_ORDER_TAX "saleOrderTax",
+    a_s_order.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
+    from AMS_SALE_ORDER a_s_order
+    left join RMS_SHIPPER r_shipper
+    on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
+    left join RMS_CONSIGNEE r_consignee
+    on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS in (2,4))
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyAmount != null">
+        and
+        <foreach collection="consigneeWarrantyAmount" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyWeight != null">
+        and
+        <foreach collection="consigneeWarrantyWeight" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderIsselfMention != null">
+        and
+        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
+          "saleOrderIsselfMention" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleAccountBalance != null">
+        and
+        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
+          "saleAccountBalance" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleCurrentOrderAmount != null">
+        and
+        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
+          "saleCurrentOrderAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleHistoricalOrderAmout != null">
+        and
+        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
+          "saleHistoricalOrderAmout" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderReceiveCustomer != null">
+        and
+        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
+          "saleOrderReceiveCustomer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleUnitPrice != null">
+        and
+        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
+          "saleUnitPrice" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderTax != null">
+        and
+        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
+          "saleOrderTax" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleRemark != null">
+        and
+        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
+          "saleRemark" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
+
+  <select id="getAmsSaleOrderApprovedes" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    r_shipper.SHIPPER_NAME "shipperName",
+    r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
+    r_consignee.CONSIGNEE_WARRANTY_AMOUNT "consigneeWarrantyAmount",
+    r_consignee.CONSIGNEE_WARRANTY_WEIGHT "consigneeWarrantyWeight",
+    a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+    a_s_order.SALE_ACCOUNT_BALANCE "saleAccountBalance",
+    a_s_order.SALE_CURRENT_ORDER_AMOUNT "saleCurrentOrderAmount",
+    a_s_order.SALE_HISTORICAL_ORDER_AMOUNT "saleHistoricalOrderAmout",
+    a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
+    a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
+    a_s_order.SALE_ORDER_TAX "saleOrderTax",
+    a_s_order.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
+    from AMS_SALE_ORDER a_s_order
+    left join RMS_SHIPPER r_shipper
+    on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
+    left join RMS_CONSIGNEE r_consignee
+    on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS=4)
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyAmount != null">
+        and
+        <foreach collection="consigneeWarrantyAmount" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeWarrantyWeight != null">
+        and
+        <foreach collection="consigneeWarrantyWeight" item="item" open="(" separator="or" close=")">
+          "consigneeWarrantyWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderIsselfMention != null">
+        and
+        <foreach collection="saleOrderIsselfMention" item="item" open="(" separator="or" close=")">
+          "saleOrderIsselfMention" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleAccountBalance != null">
+        and
+        <foreach collection="saleAccountBalance" item="item" open="(" separator="or" close=")">
+          "saleAccountBalance" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleCurrentOrderAmount != null">
+        and
+        <foreach collection="saleCurrentOrderAmount" item="item" open="(" separator="or" close=")">
+          "saleCurrentOrderAmount" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleHistoricalOrderAmout != null">
+        and
+        <foreach collection="saleHistoricalOrderAmout" item="item" open="(" separator="or" close=")">
+          "saleHistoricalOrderAmout" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderReceiveCustomer != null">
+        and
+        <foreach collection="saleOrderReceiveCustomer" item="item" open="(" separator="or" close=")">
+          "saleOrderReceiveCustomer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleUnitPrice != null">
+        and
+        <foreach collection="saleUnitPrice" item="item" open="(" separator="or" close=")">
+          "saleUnitPrice" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderTax != null">
+        and
+        <foreach collection="saleOrderTax" item="item" open="(" separator="or" close=")">
+          "saleOrderTax" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleRemark != null">
+        and
+        <foreach collection="saleRemark" item="item" open="(" separator="or" close=")">
+          "saleRemark" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
+
+  <select id="getSaleOrderAndMaterialById" resultType="java.util.Map" parameterType="java.util.Map">
+    SELECT *
+    FROM (
+           select ASO.SALE_ORDER_ID                              as "saleOrderId",
+                  ASM.SALE_MATERIAL_ID                           as "saleMaterialId",
+                  RM.MATERIAL_ID                                 as "materialId",
+                  ASO.SALE_NUMBER                                as "saleNumber",
+                  RS.SHIPPER_NAME                                as "shipperName",
+                  RC.CONSIGNEE_COMPANY_NAME                      as "consigneeCompanyName",
+                  RM.MATERIAL_NAME                               as "materialName",
+                  ASM.MATERIAL_NUMBER                            as "materialNumber",
+                  ASM.MATERIAL_WEIGHT                            as "materialWeight",
+                  RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL as "specificationModel",
+                  RM.MATERIAL_CODE                               as "materialCode"
+           from AMS_SALE_ORDER ASO
+                  left join RMS_SHIPPER RS
+                            on ASO.SHIPPER_ID = RS.SHIPPER_ID
+                  left join RMS_CONSIGNEE RC
+                            on ASO.RECEIVE_ID = RC.CONSIGNEE_ID
+                  left join AMS_SALE_MATERIAL ASM
+                            on ASM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                  left join RMS_MATERIAL RM
+                            on RM.MATERIAL_ID = ASM.MATERIAL_ID
+           where ASO.SALE_ORDER_ID = #{saleOrderId}
+         )
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialName != null">
+        and
+        <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+          "materialName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="specificationModel != null">
+        and
+        <foreach collection="specificationModel" item="item" open="(" separator="or" close=")">
+          "specificationModel" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialCode != null">
+        and
+        <foreach collection="materialCode" item="item" open="(" separator="or" close=")">
+          "materialCode" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+  </select>
 </mapper>

+ 316 - 191
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -16,17 +16,19 @@
     <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
     <result column="UPDATED" jdbcType="DECIMAL" property="updated" />
+    <result column="ISSUE_STATUS" jdbcType="DECIMAL" property="issueStatus" />
   </resultMap>
   <sql id="columns">
     SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID, 
     SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME, 
-    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED
+    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED, 
+    ISSUE_STATUS
   </sql>
   <sql id="columns_alias">
     t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_ID, t.SALE_ORDER_MATERIAL_TRUCK_NO, t.SALE_SHIPPING_ADDRESS_ID, 
     t.SALE_DATE_OF_RECEIPT, t.SALE_ORDER_CONSIGNEE, t.SALE_ORDER_CONSIGNEE_TEL, t.INSERT_USERNAME, 
     t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, 
-    t.UPDATED
+    t.UPDATED, t.ISSUE_STATUS
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_MATERIAL
@@ -35,7 +37,7 @@
     SELECT <include refid="columns_alias" /> FROM AMS_SALE_ORDER_MATERIAL t
   </sql>
   <sql id="where">
-    <where>
+    <where> 
       <if test="saleOrderMaterialId != null">
         and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
       </if>
@@ -78,10 +80,13 @@
       <if test="updated != null">
         and UPDATED = #{updated}
       </if>
+      <if test="issueStatus != null">
+        and ISSUE_STATUS = #{issueStatus}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
-    <where>
+    <where> 
       <if test="saleOrderMaterialId != null">
         and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
       </if>
@@ -124,70 +129,76 @@
       <if test="updated != null">
         and UPDATED = #{updated}
       </if>
+      <if test="issueStatus != null">
+        and ISSUE_STATUS = #{issueStatus}
+      </if>
     </where>
   </sql>
-  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Short">
     delete from AMS_SALE_ORDER_MATERIAL
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </delete>
   <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
     delete from AMS_SALE_ORDER_MATERIAL
-    where 1!=1
-    <if test="saleOrderId != null">
-      or SALE_ORDER_ID = #{saleOrderId}
-    </if>
-    <if test="saleOrderMaterialTruckNo != null">
-      or SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
-    </if>
-    <if test="saleShippingAddressId != null">
-      or SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
-    </if>
-    <if test="saleDateOfReceipt != null">
-      or TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = '#{saleDateOfReceipt}'
-    </if>
-    <if test="saleOrderConsignee != null and saleOrderConsignee != ''">
-      or SALE_ORDER_CONSIGNEE = #{saleOrderConsignee}
-    </if>
-    <if test="saleOrderConsigneeTel != null and saleOrderConsigneeTel != ''">
-      or SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel}
-    </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="updated != null">
-      or UPDATED = #{updated}
-    </if>
+    where 1!=1 
+      <if test="saleOrderId != null">
+        or SALE_ORDER_ID = #{saleOrderId}
+      </if>
+      <if test="saleOrderMaterialTruckNo != null">
+        or SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
+      </if>
+      <if test="saleShippingAddressId != null">
+        or SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
+      </if>
+      <if test="saleDateOfReceipt != null">
+        or TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = '#{saleDateOfReceipt}'
+      </if>
+      <if test="saleOrderConsignee != null and saleOrderConsignee != ''">
+        or SALE_ORDER_CONSIGNEE = #{saleOrderConsignee}
+      </if>
+      <if test="saleOrderConsigneeTel != null and saleOrderConsigneeTel != ''">
+        or SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel}
+      </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="updated != null">
+        or UPDATED = #{updated}
+      </if>
+      <if test="issueStatus != null">
+        or ISSUE_STATUS = #{issueStatus}
+      </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
-    insert into AMS_SALE_ORDER_MATERIAL (SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID,
-                                         SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID,
-                                         SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE,
-                                         SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
-                                         INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
-                                         INSERT_UPDATE_REMARK, DELETED, UPDATED
-    )
-    values (#{saleOrderMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL},
-            #{saleOrderMaterialTruckNo,jdbcType=DECIMAL}, #{saleShippingAddressId,jdbcType=DECIMAL},
-            #{saleDateOfReceipt,jdbcType=TIMESTAMP}, #{saleOrderConsignee,jdbcType=VARCHAR},
-            #{saleOrderConsigneeTel,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR},
-            #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
-            #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{updated,jdbcType=DECIMAL}
-           )
+    insert into AMS_SALE_ORDER_MATERIAL (SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, 
+      SALE_ORDER_MATERIAL_TRUCK_NO, SALE_SHIPPING_ADDRESS_ID, 
+      SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE, 
+      SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME, 
+      INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK, DELETED, UPDATED, 
+      ISSUE_STATUS)
+    values (#{saleOrderMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL}, 
+      #{saleOrderMaterialTruckNo,jdbcType=DECIMAL}, #{saleShippingAddressId,jdbcType=DECIMAL}, 
+      #{saleDateOfReceipt,jdbcType=TIMESTAMP}, #{saleOrderConsignee,jdbcType=VARCHAR}, 
+      #{saleOrderConsigneeTel,jdbcType=VARCHAR}, #{insertUsername,jdbcType=VARCHAR}, 
+      #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, 
+      #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL}, #{updated,jdbcType=DECIMAL}, 
+      #{issueStatus,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
     insert into AMS_SALE_ORDER_MATERIAL
@@ -234,6 +245,9 @@
       <if test="updated != null">
         UPDATED,
       </if>
+      <if test="issueStatus != null">
+        ISSUE_STATUS,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleOrderMaterialId != null">
@@ -278,23 +292,27 @@
       <if test="updated != null">
         #{updated,jdbcType=DECIMAL},
       </if>
+      <if test="issueStatus != null">
+        #{issueStatus,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
     update AMS_SALE_ORDER_MATERIAL
     set SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
-        SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
-        SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId,jdbcType=DECIMAL},
-        SALE_DATE_OF_RECEIPT = #{saleDateOfReceipt,jdbcType=TIMESTAMP},
-        SALE_ORDER_CONSIGNEE = #{saleOrderConsignee,jdbcType=VARCHAR},
-        SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel,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},
-        UPDATED = #{updated,jdbcType=DECIMAL}
+      SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
+      SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId,jdbcType=DECIMAL},
+      SALE_DATE_OF_RECEIPT = #{saleDateOfReceipt,jdbcType=TIMESTAMP},
+      SALE_ORDER_CONSIGNEE = #{saleOrderConsignee,jdbcType=VARCHAR},
+      SALE_ORDER_CONSIGNEE_TEL = #{saleOrderConsigneeTel,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},
+      UPDATED = #{updated,jdbcType=DECIMAL},
+      ISSUE_STATUS = #{issueStatus,jdbcType=DECIMAL}
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleOrderMaterial">
@@ -339,10 +357,13 @@
       <if test="updated != null">
         UPDATED = #{updated,jdbcType=DECIMAL},
       </if>
+      <if test="issueStatus != null">
+        ISSUE_STATUS = #{issueStatus,jdbcType=DECIMAL},
+      </if>
     </set>
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </update>
-  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
     <include refid="select" />
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </select>
@@ -355,94 +376,98 @@
     <include refid="whereLike" />
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
-    insert into AMS_SALE_ORDER_MATERIAL
-    (SALE_ORDER_MATERIAL_ID,
-    SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO,
-    SALE_SHIPPING_ADDRESS_ID, SALE_DATE_OF_RECEIPT,
-    SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL,
-    INSERT_USERNAME, INSERT_TIME,
-    UPDATE_USERNAME, UPDATE_TIME,
-    INSERT_UPDATE_REMARK, DELETED,
-    UPDATED)
-    ( <foreach collection="list" item="item" separator="union all">
-    select
-    #{item.saleOrderMaterialId,jdbcType=DECIMAL},
-    #{item.saleOrderId,jdbcType=DECIMAL}, #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL},
-    #{item.saleShippingAddressId,jdbcType=DECIMAL}, #{item.saleDateOfReceipt,jdbcType=TIMESTAMP},
-    #{item.saleOrderConsignee,jdbcType=VARCHAR}, #{item.saleOrderConsigneeTel,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.updated,jdbcType=DECIMAL} from dual
-  </foreach> )
+    insert into AMS_SALE_ORDER_MATERIAL 
+      (SALE_ORDER_MATERIAL_ID, 
+      SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, 
+      SALE_SHIPPING_ADDRESS_ID, SALE_DATE_OF_RECEIPT, 
+      SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK, DELETED, 
+      UPDATED, ISSUE_STATUS)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.saleOrderMaterialId,jdbcType=DECIMAL}, 
+      #{item.saleOrderId,jdbcType=DECIMAL}, #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL}, 
+      #{item.saleShippingAddressId,jdbcType=DECIMAL}, #{item.saleDateOfReceipt,jdbcType=TIMESTAMP}, 
+      #{item.saleOrderConsignee,jdbcType=VARCHAR}, #{item.saleOrderConsigneeTel,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.updated,jdbcType=DECIMAL}, #{item.issueStatus,jdbcType=DECIMAL} from dual  
+   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
-    update AMS_SALE_ORDER_MATERIAL
-    set
-    SALE_ORDER_MATERIAL_ID=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialId,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_ORDER_ID=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderId,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_ORDER_MATERIAL_TRUCK_NO=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_SHIPPING_ADDRESS_ID=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleShippingAddressId,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_DATE_OF_RECEIPT=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleDateOfReceipt,jdbcType=TIMESTAMP}
-    </foreach>
-    ,SALE_ORDER_CONSIGNEE=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsignee,jdbcType=VARCHAR}
-    </foreach>
-    ,SALE_ORDER_CONSIGNEE_TEL=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsigneeTel,jdbcType=VARCHAR}
-    </foreach>
-    ,INSERT_USERNAME=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
-    </foreach>
-    ,INSERT_TIME=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
-    </foreach>
-    ,UPDATE_USERNAME=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
-    </foreach>
-    ,UPDATE_TIME=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
-    </foreach>
-    ,INSERT_UPDATE_REMARK=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
-    </foreach>
-    ,DELETED=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
-    </foreach>
-    ,UPDATED=
-    <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updated,jdbcType=DECIMAL}
-    </foreach>
-    where SALE_ORDER_MATERIAL_ID in
-    <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
-      #{item.saleOrderMaterialId,jdbcType=DECIMAL}
-    </foreach>
+     update AMS_SALE_ORDER_MATERIAL
+     set
+       SALE_ORDER_MATERIAL_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_ORDER_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_ORDER_MATERIAL_TRUCK_NO=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialTruckNo,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_SHIPPING_ADDRESS_ID=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleShippingAddressId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_DATE_OF_RECEIPT=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleDateOfReceipt,jdbcType=TIMESTAMP}
+       </foreach>
+       ,SALE_ORDER_CONSIGNEE=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsignee,jdbcType=VARCHAR}
+       </foreach>
+       ,SALE_ORDER_CONSIGNEE_TEL=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderConsigneeTel,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+       ,DELETED=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+       </foreach>
+       ,UPDATED=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.updated,jdbcType=DECIMAL}
+       </foreach>
+       ,ISSUE_STATUS=
+       <foreach close="end" collection="list" index="index" item="item" open="case SALE_ORDER_MATERIAL_ID" separator=" ">
+          when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.issueStatus,jdbcType=DECIMAL}
+       </foreach>
+     where SALE_ORDER_MATERIAL_ID in 
+     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+    #{item.saleOrderMaterialId,jdbcType=DECIMAL}
+     </foreach> 
   </update>
   <delete id="batchDelete" parameterType="java.util.List">
     delete from AMS_SALE_ORDER_MATERIAL
-    where SALE_ORDER_MATERIAL_ID in
+    where SALE_ORDER_MATERIAL_ID in 
     <foreach close=")" collection="list" item="id" open="(" separator=",">
       #{id}
     </foreach>
@@ -450,78 +475,178 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
-<!--  <select id="selectMaxId"  resultType="java.math.BigDecimal">-->
-<!--    select max(SALE_ORDER_MATERIAL_ID) from AMS_SALE_ORDER_MATERIAL-->
-<!--  </select>-->
-
-  <select id="selectMaxIdReceive"  resultType="java.math.BigDecimal">
-    select max(ADDRESS_ID) from RMS_RECEIVE_ADDRESS
+  <select id="selectMaxIdReceive" resultType="java.math.BigDecimal">
+    select max(ADDRESS_ID)
+    from RMS_RECEIVE_ADDRESS
   </select>
 
   <insert id="insertReceiveAddress" parameterType="java.util.Map">
-    insert into RMS_RECEIVE_ADDRESS (ADDRESS_ID,ADDRESS_DELIVERY_ADDRESS) values (#{addressId},#{addressDeliveryAddress})
+    insert into RMS_RECEIVE_ADDRESS (ADDRESS_ID, ADDRESS_DELIVERY_ADDRESS)
+    values (#{addressId}, #{addressDeliveryAddress})
   </insert>
   <select id="selectBySaleOrderMaterialId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
-    select
-      r_receive.ADDRESS_DELIVERY_ADDRESS "saleShippingAddress",
-      sale_material.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
-      sale_material.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
-      sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+    select r_receive.ADDRESS_DELIVERY_ADDRESS     "saleShippingAddress",
+           sale_material.SALE_DATE_OF_RECEIPT     "saleDateOfReceipt",
+           sale_material.SALE_ORDER_CONSIGNEE     "saleOrderConsignee",
+           sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
     from AMS_SALE_ORDER_MATERIAL sale_material
-    left join RMS_RECEIVE_ADDRESS r_receive
-    on sale_material.SALE_SHIPPING_ADDRESS_ID=r_receive.ADDRESS_ID
+           left join RMS_RECEIVE_ADDRESS r_receive
+                     on sale_material.SALE_SHIPPING_ADDRESS_ID = r_receive.ADDRESS_ID
     where sale_material.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
 
   <select id="getAddress" parameterType="java.math.BigDecimal" resultType="String">
     select receive_address.ADDRESS_DELIVERY_ADDRESS
     from AMS_SALE_ORDER_MATERIAL order_material
-    left join RMS_RECEIVE_ADDRESS receive_address
-    on receive_address.ADDRESS_ID=order_material.SALE_SHIPPING_ADDRESS_ID
+           left join RMS_RECEIVE_ADDRESS receive_address
+                     on receive_address.ADDRESS_ID = order_material.SALE_SHIPPING_ADDRESS_ID
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
 
   <select id="getReceiveAddressId" parameterType="String" resultType="java.math.BigDecimal">
     select ADDRESS_ID "addressId"
     from RMS_RECEIVE_ADDRESS receive_address
-    where receive_address.ADDRESS_DELIVERY_ADDRESS=#{saleShippingAddress}
+    where receive_address.ADDRESS_DELIVERY_ADDRESS = #{saleShippingAddress}
   </select>
 
   <select id="getAddressDeliveryAddress" resultType="java.util.LinkedHashMap">
-    select
-      ADDRESS_ID "id",
-      ADDRESS_ID "value",
-      ADDRESS_DELIVERY_ADDRESS "label"
+    select ADDRESS_ID               "id",
+           ADDRESS_ID               "value",
+           ADDRESS_DELIVERY_ADDRESS "label"
     from RMS_RECEIVE_ADDRESS
   </select>
 
   <!-- 展示所有未分派车辆的销售订单的车序号 -->
   <select id="getSaleMaterial" parameterType="java.util.Map" resultType="java.util.Map">
-    select asom.sale_order_id as "saleOrderId",
-           ASO.SALE_NUMBER "saleNumber",
+    select asom.sale_order_id                as "saleOrderId",
+           ASO.SALE_NUMBER                      "saleNumber",
            asom.sale_order_material_truck_no as "saleOrderMaterialTruckNo",
-           rra.address_delivery_address as "addressDeliveryAddress",
-           asom.sale_date_of_receipt as "saleDateOfReceipt",
-           asom.sale_order_consignee as "saleOrderConsignee",
-           asom.sale_order_consignee_tel as "saleOrderConsigneeTel",
-           rc.carrier_name as "carrierName"
-           from ams_sale_order_material asom
-           left join ams_dispatch_sale_order adso on asom.sale_order_material_id=adso.sale_order_material_id
-           left join rms_carrier rc on adso.carrier_id=rc.carrier_id
-           left join rms_receive_address rra on asom.sale_shipping_address_id=rra.address_id
-           left join AMS_SALE_ORDER ASO ON  asom.SALE_ORDER_ID=ASO.SALE_ORDER_ID
-         where adso.DISPATCH_STATUS=#{status} and adso.DISPATCH_TYPE=1
+           rra.address_delivery_address      as "addressDeliveryAddress",
+           asom.sale_date_of_receipt         as "saleDateOfReceipt",
+           asom.sale_order_consignee         as "saleOrderConsignee",
+           asom.sale_order_consignee_tel     as "saleOrderConsigneeTel",
+           rc.carrier_name                   as "carrierName"
+    from ams_sale_order_material asom
+           left join ams_dispatch_sale_order adso on asom.sale_order_material_id = adso.sale_order_material_id
+           left join rms_carrier rc on adso.carrier_id = rc.carrier_id
+           left join rms_receive_address rra on asom.sale_shipping_address_id = rra.address_id
+           left join AMS_SALE_ORDER ASO ON asom.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+    where adso.DISPATCH_STATUS = #{status}
+      and adso.DISPATCH_TYPE = 1
   </select>
   <!-- 展示所有未分派车辆的销售订单的车序号 -->
   <select id="selectById" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
-    select t.SALE_SHIPPING_ADDRESS_ID from ams_sale_order_material t where t.sale_order_material_id=#{saleOrderMaterialId}
+    select t.SALE_SHIPPING_ADDRESS_ID
+    from ams_sale_order_material t
+    where t.sale_order_material_id = #{saleOrderMaterialId}
   </select>
 
   <!--通过车序号、销售订单号查询中间表id-->
   <select id="selectByCxh" parameterType="java.util.Map" resultType="java.lang.Integer">
-    select t.sale_order_material_id from ams_sale_order_material t where t.sale_order_id=#{param1} and t.sale_order_material_truck_no=#{param2}
+    select t.sale_order_material_id
+    from ams_sale_order_material t
+    where t.sale_order_id = #{param1}
+      and t.sale_order_material_truck_no = #{param2}
   </select>
 
+  <!--根据插入时间排序-->
+  <sql id="orderBy">
+    <if test="orderField != null and orderField != ''">
+      order by "${orderField}"
+      <if test="orderType != null and orderType != ''">
+        ${orderType}
+      </if>
+    </if>
+    <if test="orderField == null  ">
+      order by "insertTime" desc
+    </if>
+  </sql>
+
+  <!-- 查询车序号信息列表 -->
+  <select id="getTruckNoList" parameterType="java.util.Map" resultType="java.util.Map">
+    SELECT *
+    FROM (
+    SELECT ASO.SALE_NUMBER AS "saleNumber",
+    ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "truckNo",
+    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRA.ADDRESS_DELIVERY_ADDRESS   AS "addressDeliveryAddress",
+    ASOM.SALE_DATE_OF_RECEIPT AS "saleDateOfReceipt",
+    ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
+    ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
+    RSH.SHIPPER_NAME AS "shipperName",
+    RCO.CONSIGNEE_COMPANY_NAME AS "consigneeCompanyName",
+    ASO.SALE_ORDER_ISSELF_MENTION AS "isselfMention",
+    ASOM.INSERT_TIME AS "insertTime",
+    ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId",
+    ASO.SALE_ORDER_ID AS "saleOrderId"
+    FROM AMS_SALE_ORDER_MATERIAL ASOM
+    LEFT JOIN AMS_SALE_ORDER ASO
+    ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+    ON RRA.ADDRESS_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+    LEFT JOIN RMS_SHIPPER RSH
+    ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+    LEFT JOIN RMS_CONSIGNEE RCO
+    ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+    WHERE ASOM.ISSUE_STATUS = #{issueStatus}
+    )
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="truckNo != null">
+        and
+        <foreach collection="truckNo" item="item" open="(" separator="or" close=")">
+          "truckNo" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="addressDeliveryAddress != null">
+        and
+        <foreach collection="addressDeliveryAddress" item="item" open="(" separator="or" close=")">
+          "addressDeliveryAddress" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleDateOfReceipt != null">
+        and
+        <foreach collection="saleDateOfReceipt" item="item" open="(" separator="or" close=")">
+          "saleDateOfReceipt" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderConsignee != null">
+        and
+        <foreach collection="saleOrderConsignee" item="item" open="(" separator="or" close=")">
+          "saleOrderConsignee" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderConsigneeTel != null">
+        and
+        <foreach collection="saleOrderConsigneeTel" item="item" open="(" separator="or" close=")">
+          "saleOrderConsigneeTel" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="shipperName != null">
+        and
+        <foreach collection="shipperName" item="item" open="(" separator="or" close=")">
+          "shipperName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="consigneeCompanyName != null">
+        and
+        <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
+          "consigneeCompanyName" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="isselfMention != null">
+        and
+        <foreach collection="isselfMention" item="item" open="(" separator="or" close=")">
+          "isselfMention" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </select>
 
 
 </mapper>