浏览代码

ams修改

zx 3 年之前
父节点
当前提交
11622bb467

+ 48 - 3
src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.model.AmsContractTransportPrice;
 import com.steerinfo.dil.service.IAmsContractTruckPriceService;
 import com.steerinfo.dil.util.BaseRESTfulController;
@@ -15,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;
 
@@ -45,6 +47,9 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
     @Autowired
     ColumnDataUtil columnDataUtil;
 
+    @Autowired
+    ESFeign esFeign;
+
     @ApiOperation(value="查询汽运单价信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
@@ -182,10 +187,50 @@ public class AmsContractTruckPriceController extends BaseRESTfulController {
      */
     @ApiOperation(value="获取收货地址")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId" ,value = "255")
     })
-    @GetMapping(value = "/getAddressDeliveryAddress")
-    public RESTfulResult getAddressDeliveryAddress(){
-        return success(amsContractTruckPriceService.getAddressDeliveryAddress());
+    @PostMapping (value = "/getAddressDeliveryAddress")
+    public RESTfulResult getAddressDeliveryAddress(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize,
+                                                   String con){
+
+
+
+
+        if(con != null){
+            if(!"undefined".equals(con)){
+                String index="get_address_delivery";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allSaleOrderList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            allSaleOrderList =  amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_address_delivery");
+            //添加id
+            map1.put("indexId","addressDeliveryId");
+            allSaleOrderList.add(map1);
+            //新建索引
+            esFeign.insertIndex(allSaleOrderList);
+            //删除
+            allSaleOrderList.remove(allSaleOrderList.size()-1);
+        }
+        if(allSaleOrderList== null)
+            allSaleOrderList =  amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allSaleOrderList,saleOrderList);
+        return success(pageList);
+
+
     }
 
 }

+ 73 - 9
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -6,6 +6,7 @@ import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
 import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
 import com.steerinfo.dil.model.AmsDispatchSaleOrder;
 import com.steerinfo.dil.model.AmsSaleOrder;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
 import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl;
@@ -23,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -149,7 +151,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
 
     /**
      * 新增销售订单
-     * @param amsSaleOrder
+     * @param map
      * @return
      */
     @ApiOperation(value="新增销售订单")
@@ -157,8 +159,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
     })
     @PostMapping(value = "/addAmsSaleOrder")
-    public RESTfulResult addAmsSaleOrder(@RequestBody(required = false) AmsSaleOrder amsSaleOrder){
-        int i = amsSaleOrderService.addAmsSaleOrder(amsSaleOrder);
+    public RESTfulResult addAmsSaleOrder(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        int i = amsSaleOrderService.addAmsSaleOrder(map);
         return success(i);
     }
 
@@ -173,13 +175,21 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     })
     @PostMapping(value = "/getAmsSaleOrderBySaleOrderId")
     public RESTfulResult getAmsSaleOrderBySaleOrderId(@RequestParam BigDecimal saleOrderId){
-        List<Map<String, Object>> maps = amsSaleOrderService.selectBySaleOrderId(saleOrderId);
-        return success(maps);
+        Map<String, Object> maps = amsSaleOrderService.selectInfoBySaleOrderId(saleOrderId);
+        List<Map<String, Object>> maps1= amsSaleOrderService.selectMaterialInfoBySaleOrderId(saleOrderId);
+        Map map=new HashMap();
+        map.put("maps",maps);
+        map.put("maps1",maps1);
+
+        return success(map);
     }
 
-    /**
+
+
+
+    /**steelMaterialId
      * 通过主键修改销售订单
-     * @param amsSaleOrder
+     * @param map
      * @return
      */
     @ApiOperation(value="通过主键修改销售订单")
@@ -187,8 +197,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
     })
     @PostMapping(value = "/updateAmsSaleOrder")
-    public RESTfulResult updateAmsSaleOrder(@RequestBody(required = false) AmsSaleOrder amsSaleOrder){
-        int i = amsSaleOrderService.updateAmsSaleOrder(amsSaleOrder);
+    public RESTfulResult updateAmsSaleOrder(@RequestBody(required = false) Map<String,Object> map) throws ParseException {
+        int i = amsSaleOrderService.updateAmsSaleOrder(map);
         return success(i);
     }
 
@@ -323,6 +333,60 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         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 = "181", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping("/getSaleOrderListBySaleCompany")
+    public RESTfulResult getSaleOrderListBySaleCompany(@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_sale_companylist";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> saleCompanyList = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if(mapValue.size() == 0){
+            //将查询结果存入索引中
+            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
+            Map<String, Object> map1 = new HashMap<>();
+            //添加索引
+            map1.put("index","get_sale_orderlist");
+            //添加id
+            map1.put("indexId","saleOrderId");
+            saleCompanyList.add(map1);
+            //新建索引
+            esFeign.insertIndex(saleCompanyList);
+            //删除
+            saleCompanyList.remove(saleCompanyList.size()-1);
+        }
+        if(saleCompanyList== null)
+            saleCompanyList =  amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, saleCompanyList,saleOrderList);
+        return success(pageList);
+
+    }
+
+
+
+
     /**
      * 固定派单:通过车序号查询收货地址,截取收货地址的区域,去资源管理中查询对应的承运商,将车序号与承运商绑定
      */

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

@@ -164,16 +164,16 @@ public class AmsSalePlanController extends BaseRESTfulController {
     })
     @PostMapping("/getAllSteelMaterialMes")
     public RESTfulResult getAllSteelMaterialMes(@RequestBody(required = false) Map<String,Object> mapValue,
-                                           Integer pageNum,
-                                           Integer pageSize,
-                                           Integer apiId,
-                                           String con) {
+                                            Integer pageNum,
+                                            Integer pageSize,
+                                            Integer apiId,
+                                            String con) {
 
         //框计算
         if(con != null){
             if(!"undefined".equals(con)){
                 //设置要查询的索引名称
-                String index="get_steel_material_list";
+                String index="get_materialsteelid_list";
                 //获取查询结果
                 return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
             }
@@ -181,12 +181,12 @@ public class AmsSalePlanController extends BaseRESTfulController {
 
         List<Map<String, Object>> list = null;
         //如果有条件查询则跳过初始化,和创建索引
-        if(mapValue.size() == 1){
+        if(mapValue.size() == 0){
             //将查询结果存入索引中
             list = amsSalePlanService.getAllSteelMaterialMes(mapValue);
             Map<String, Object> map = new HashMap<>();
             //添加索引
-            map.put("index","get_steel_material_list");
+            map.put("index","get_materialsteelid_list");
             //添加id
             map.put("indexId","steelMaterialId");
             list.add(map);

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

@@ -21,7 +21,7 @@ public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTran
     //获取运力编号
     List<Map<String, Object>> getCapacityNumber();
     //获取收货地址
-    List<Map<String, Object>> getAddressDeliveryAddress();
+    List<Map<String, Object>> getAddressDeliveryAddress(Map<String,Object> map);
     //获取要渲染的信息
     List<Map<String, Object>> selectByPriceId(BigDecimal priceId);
     //获取所有的油价

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsSaleOrder;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -23,6 +24,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     //获取收货单位
     List<Map<String, Object>> getConsigneeCompanyName();
     //查询主键最大值
+    @Select("select seq_AMS_SALE_ORDER.nextval from dual")
     BigDecimal selectMaxId();
     //获取要渲染的数据
     List<Map<String, Object>> selectBySaleOrderId(BigDecimal saleOrderId);
@@ -33,9 +35,19 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     //通过销售订单号查询销售订单的修改日志
     List<Map<String, Object>> getSaleOrderUpdateLog(Map<String,Object> map);
 
-
     List<Map<String,Object>> getSaleOrderList(Map<String,Object> mapValue);
+    //获取销售公司已审核的订单
+    List<Map<String,Object>> getSaleOrderListBySaleCompany(Map<String,Object> map);
 
     List<Integer>  getCarrier(Integer param);
 
+    //根据销售订单id查找信息
+    Map<String,Object>  selectInfoBySaleOrderId(BigDecimal saleOrderId);
+
+    //根据销售订单id查找物资信息,渲染数据
+    List<Map<String,Object>> selectMaterialInfoBySaleOrderId(BigDecimal saleOrderId);
+
+    //根据销售订单id查找车序号id和车序号与物资中间表主键
+    List<Map<String,Object>> selectSaleOrderMaterialIdBySaleOrderId(BigDecimal saleOrderId);
+
 }

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -11,6 +12,7 @@ import java.util.Map;
 @Mapper
 public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMaterial, BigDecimal> {
     //查询主键最大值
+    @Select("select seq_AMS_SALE_ORDER_MATERIAL.nextval from dual")
     BigDecimal selectMaxId();
     //查询收货地址主键最大值
     BigDecimal selectMaxIdReceive();

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -13,6 +14,7 @@ public interface AmsSaleTrucknoMaterialMapper extends IBaseMapper<AmsSaleTruckno
     //根据车序号中间表主键查询车序号详细信息
     List<Map<String, Object>> getTruckNoDetail(Map<String,Object> map);
     //查询主键最大值
+    @Select("select seq_AMS_SALE_TRUCKNO_MATERIAL.nextval from dual")
     BigDecimal selectMaxId();
     //获取要渲染的值
     List<Map<String, Object>> selectByTrucknoMaterialId(BigDecimal trucknoMaterialId);

+ 3 - 3
src/main/java/com/steerinfo/dil/model/AmsSaleTrucknoMaterial.java

@@ -37,7 +37,7 @@ public class AmsSaleTrucknoMaterial implements IBasePO<BigDecimal> {
      * 物资理论重量(MATERIAL_THEORETICAL_WEIGHT,DECIMAL,0)
      */
     @ApiModelProperty(value="物资理论重量",required=false)
-    private Short materialTheoreticalWeight;
+    private BigDecimal materialTheoreticalWeight;
 
     /**
      * 记录创建人(INSERT_USERNAME,VARCHAR,20)
@@ -113,11 +113,11 @@ public class AmsSaleTrucknoMaterial implements IBasePO<BigDecimal> {
         this.saleOrderMaterialNumber = saleOrderMaterialNumber;
     }
 
-    public Short getMaterialTheoreticalWeight() {
+    public BigDecimal getMaterialTheoreticalWeight() {
         return materialTheoreticalWeight;
     }
 
-    public void setMaterialTheoreticalWeight(Short materialTheoreticalWeight) {
+    public void setMaterialTheoreticalWeight(BigDecimal materialTheoreticalWeight) {
         this.materialTheoreticalWeight = materialTheoreticalWeight;
     }
 

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

@@ -33,7 +33,7 @@ public interface IAmsContractTruckPriceService {
     //获取运力编号
     List<Map<String, Object>> getCapacityNumber();
     //获取收货地址
-    List<Map<String, Object>> getAddressDeliveryAddress();
+    List<Map<String, Object>> getAddressDeliveryAddress(Map<String,Object> map);
     //获取要渲染的信息
     List<Map<String, Object>> selectByPriceId(BigDecimal priceId);
     //通过主键修改汽运单价

+ 34 - 9
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -1,8 +1,10 @@
 package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.AmsSaleOrder;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
 
@@ -19,37 +21,60 @@ import java.util.Map;
  * @see null
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
-public interface IAmsSaleOrderService{
+public interface IAmsSaleOrderService {
     //查询所有未上报销售订单信息
-    List<Map<String, Object>> getSaleOrderInfo(Map<String,Object> map);
+    List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map);
+
     //查询所有已上报销售订单信息
-    List<Map<String, Object>> getSaleOrderReported(Map<String,Object> map);
+    List<Map<String, Object>> getSaleOrderReported(Map<String, Object> map);
+
     //根据车序号查询销售订单详细
-    List<Map<String, Object>> getSaleOrderDetail(Map<String,Object> map);
+    List<Map<String, Object>> getSaleOrderDetail(Map<String, Object> map);
+
     //获取销售计划名称
     List<Map<String, Object>> getSalePlanName();
+
     //获取发货单位
     List<Map<String, Object>> getShipperName();
+
     //获取收货单位
     List<Map<String, Object>> getConsigneeCompanyName();
+
     //新增销售订单
-    int addAmsSaleOrder(AmsSaleOrder amsSaleOrder);
+    int addAmsSaleOrder(Map<String, Object> map) throws ParseException;
+
     //修改销售订单状态为已上报
     int uploadSaleOrder(BigDecimal saleOrderId);
+
     //获取要渲染的数据
     List<Map<String, Object>> selectBySaleOrderId(BigDecimal saleOrderId);
+
     //修改销售订单信息
-    int updateAmsSaleOrder(AmsSaleOrder amsSaleOrder);
+    int updateAmsSaleOrder(Map<String,Object> map) throws ParseException;
+
     //通过主键删除销售订单及其从表使用信息
     int deleteAmsSaleOrderBySaleOrderId(BigDecimal saleOrderId);
+
     //查询所有财务已经审批的销售订单
-    List<Map<String, Object>> getAmsSaleOrderApproved(Map<String,Object> map);
+    List<Map<String, Object>> getAmsSaleOrderApproved(Map<String, Object> map);
+
     //通过销售订单号查询销售订单的修改日志
-    List<Map<String, Object>> getSaleOrderUpdateLog(Map<String,Object> map);
+    List<Map<String, Object>> getSaleOrderUpdateLog(Map<String, Object> map);
+
+
+    //获取销售公司已审核的订单
+    List<Map<String,Object>> getSaleOrderListBySaleCompany(Map<String,Object> map);
+
     //获得销售订单号
-    List<Map<String,Object>> getSaleOrderList(Map<String,Object> mapValue);
+    List<Map<String, Object>> getSaleOrderList(Map<String, Object> mapValue);
+
     //获得承运商
     List<Integer> getCarrier(Integer integer);
 
+    //根据销售订单id查找基础信息,渲染数据
+    Map<String, Object> selectInfoBySaleOrderId(BigDecimal saleOrderId);
+
+    //根据销售订单id查找物资信息,渲染数据
+    List<Map<String,Object>> selectMaterialInfoBySaleOrderId(BigDecimal saleOrderId);
 
 }

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

@@ -93,8 +93,8 @@ public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceS
     }
 
     @Override
-    public List<Map<String, Object>> getAddressDeliveryAddress() {
-        return amsContractTruckPriceMapper.getAddressDeliveryAddress();
+    public List<Map<String, Object>> getAddressDeliveryAddress(Map<String,Object> map) {
+        return amsContractTruckPriceMapper.getAddressDeliveryAddress(map);
     }
 
     @Override

+ 231 - 56
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1,19 +1,25 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
+import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
+import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
 import com.steerinfo.dil.model.AmsSaleOrder;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
+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.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * AmsSaleOrder服务实现:
+ *
  * @author generator
  * @version 1.0-SNAPSHORT 2021-09-06 07:10
  * 类描述
@@ -22,14 +28,18 @@ import java.util.Map;
  * 作者:generator
  * 参考:
  * 描述:AmsSaleOrder服务实现
- * @see null
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
  */
 @Service(value = "amsSaleOrderService")
 public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
 
     @Autowired
     private AmsSaleOrderMapper amsSaleOrderMapper;
+    @Autowired
+    private AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
+    @Autowired
+    private AmsSaleTrucknoMaterialMapper trucknoMaterialMapper;
 
     @Override
     public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
@@ -42,7 +52,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     }
 
     @Override
-    public List<Map<String, Object>> getSaleOrderDetail(Map<String,Object> map) {
+    public List<Map<String, Object>> getSaleOrderDetail(Map<String, Object> map) {
         return amsSaleOrderMapper.getSaleOrderDetail(map);
     }
 
@@ -62,55 +72,31 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     }
 
     @Override
-    public int addAmsSaleOrder(AmsSaleOrder amsSaleOrder) {
-        long id;
-        if(amsSaleOrderMapper.selectMaxId()==null){
-            id = 1;
-        }else {
-            id = amsSaleOrderMapper.selectMaxId().longValue()+1;
-        }
+    /**
+     * map存放为前端获取的amsSaleOrder基础数据以及selectionList物资信息
+     * map1为基础数据包括,收货地址,收货人等
+     * map2存放的从selectionList取出的数据,包括物资id,物资名称等。
+     */
+    public int addAmsSaleOrder(Map<String, Object> map) throws ParseException {
+        //获取前端传过来的map,
+        int i = 0;
+        Map<String, Object> map1 = (Map<String, Object>) map.get("amsSaleOrder");
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        Integer id = (amsSaleOrderMapper.selectMaxId()).intValue();
         //生成主键id
         amsSaleOrder.setSaleOrderId(new BigDecimal(id));
         //WXSDD-年月日-8位数的顺序号
-        Calendar now = Calendar.getInstance();
-        String number = "WXSDD-" +  now.get(Calendar.YEAR);
-        if ((now.get(Calendar.MONTH)+1) < 10) {
-            number = number + "0" + (now.get(Calendar.MONTH)+1);
-        }
-        else {
-            number = number + (now.get(Calendar.MONTH)+1);
-        }
-        if(now.get(now.DAY_OF_MONTH)<10){
-            number = number + "0" + now.get(now.DAY_OF_MONTH)+"-";
-        }
-        else {
-            number = number + now.get(now.DAY_OF_MONTH)+"-";
-        }
-        switch ((new BigDecimal(id).toString()).length()) {
-            case 1:
-                number = number + "0000000" + id;
-                break;
-            case 2:
-                number = number + "000000" + id;
-                break;
-            case 3:
-                number = number + "00000" + id;
-                break;
-            case 4:
-                number = number + "0000" + id;
-                break;
-            case 5:
-                number = number + "000" + id;
-                break;
-            case 6:
-                number = number + "00" + id;
-                break;
-            case 7:
-                number = number + "0" + id;
-                break;
-            default:number = number + id;
-        }
-        amsSaleOrder.setSaleNumber(number);
+        String wxsdd = DataChange.generateEightDigitsNumber("WXSDD", id);
+        amsSaleOrder.setSaleNumber(wxsdd);
+        //获得是否自提
+        amsSaleOrder.setSaleOrderIsselfMention((String) map1.get("saleOrderIsselfMention"));
+        //获取收货地址id
+        amsSaleOrder.setReceiveId(DataChange.dataToBigDecimal(map1.get("receiveId")));
+        //获取发货单位id
+        amsSaleOrder.setShipperId(DataChange.dataToBigDecimal(map1.get("shipperId")));
+        //获取备注
+        amsSaleOrder.setSaleRemark((String) map1.get("saleRemark"));
+        //设置销售订单状态
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
         amsSaleOrder.setSaleUnitPrice(new BigDecimal(4000));
         amsSaleOrder.setSaleOrderTax("13%");
@@ -120,7 +106,58 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setUpdateTime(new Date());
         amsSaleOrder.setInsertUpdateRemark("无");
         amsSaleOrder.setDeleted(new BigDecimal(0));
-        return amsSaleOrderMapper.insert(amsSaleOrder);
+        amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
+        //设置收款客户
+        amsSaleOrder.setSaleOrderReceiveCustomer((String) map1.get("saleOrderReceiveCustomer"));
+        i += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+        //获取车序号和物资信息进行新增车序号与物资中间表
+        //一个销售订单对应多个车序号
+        List<Map<String, Object>> selectionList = (List<Map<String, Object>>) map.get("selectionList");
+        for (Map<String, Object> map2 : selectionList) {
+            BigDecimal materialId = DataChange.dataToBigDecimal(map2.get("materialId"));
+            Integer cxh = (Integer) map2.get("cxh");
+            //生成车序号与物资实体
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            //生成主键
+            amsSaleOrderMaterial.setSaleOrderMaterialId(amsSaleOrderMaterialMapper.selectMaxId());
+            amsSaleOrderMaterial.setSaleOrderId(amsSaleOrder.getSaleOrderId());
+            //获取收货地址
+            Integer saleShipperAddressId =(Integer) map2.get("saleShipperAddressId");
+            amsSaleOrderMaterial.setSaleShippingAddressId(new BigDecimal(saleShipperAddressId));
+            //获取收货方电话号码
+
+            amsSaleOrderMaterial.setSaleOrderConsigneeTel(map2.get("saleOrderConsigneeTel").toString());
+            //获取收货日期
+            String saleDateOfReceipt =(String) map2.get("saleDateOfReceipt");
+            SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
+            Date date = simpleDateFormat.parse(saleDateOfReceipt);
+            amsSaleOrderMaterial.setSaleDateOfReceipt(date);
+            //获取收货方姓名
+            amsSaleOrderMaterial.setSaleOrderConsignee((String) map2.get("saleOrderConsignee"));
+            //设置车序号
+            amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(cxh));
+            //设置删除状态
+            amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
+            i += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            //新增车序号与物资中间表
+            AmsSaleTrucknoMaterial trucknoMaterial = new AmsSaleTrucknoMaterial();
+            trucknoMaterial.setTrucknoMaterialId(trucknoMaterialMapper.selectMaxId());
+            //设置物资id
+            trucknoMaterial.setMaterialId(materialId);
+            //获取车序号物资id
+            trucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            Integer orderPlanWeight = (Integer) map2.get("orderPlanWeight");
+            trucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(orderPlanWeight));
+            //获取物资理重
+            BigDecimal materialTheoreticalWeight = DataChange.dataToBigDecimal(map2.get("materialTheoreticalWeight"));
+            //判断是否有物资理重
+            if (materialTheoreticalWeight.intValue() != 0) {
+                trucknoMaterial.setMaterialTheoreticalWeight(materialTheoreticalWeight);
+            }
+            //新增车序号与物资中间表
+            i += trucknoMaterialMapper.insertSelective(trucknoMaterial);
+        }
+        return i;
     }
 
     @Override
@@ -135,10 +172,118 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return amsSaleOrderMapper.selectBySaleOrderId(saleOrderId);
     }
 
+    /**
+     * 修改订单信息、车序号表、车序号物资中间表
+     *
+     * @param map
+     * @return
+     */
     @Override
-    public int updateAmsSaleOrder(AmsSaleOrder amsSaleOrder) {
+    @Transactional
+    public int updateAmsSaleOrder(Map<String, Object> map) throws ParseException {
+        int i = 0;
+        int j = 0;
+        Map<String, Object> map1 = (Map<String, Object>) map.get("amsSaleOrder");
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        //修改销售订单表  更新销售订单基础信息
+        amsSaleOrder.setSaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
+        amsSaleOrder.setShipperId(DataChange.dataToBigDecimal(map1.get("shipperId")));
+        amsSaleOrder.setReceiveId(DataChange.dataToBigDecimal(map1.get("reciveId")));
+        amsSaleOrder.setSaleOrderIsselfMention((String) map1.get("saleOrderIsselfMention"));
+        amsSaleOrder.setSaleOrderReceiveCustomer((String) map1.get("saleOrderReciveCustomer"));
+        amsSaleOrder.setSaleRemark((String) map1.get("saleRemark"));
         amsSaleOrder.setUpdateTime(new Date());
-        return amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        i += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        //根据销售订单id查找销售车序号和车序号与物资中间表主键
+        List<Map<String, Object>> map2 = amsSaleOrderMapper.selectSaleOrderMaterialIdBySaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
+         for (Map<String,Object> Id:map2){
+             BigDecimal truckNoMaterialId =(BigDecimal) Id.get("TruckNoMaterialId");
+             BigDecimal saleOrderMaterialId=(BigDecimal) Id.get("saleOrderMaterialId");
+             //删除对应的车序号表与车序号与物资中间表
+           j+=amsSaleOrderMaterialMapper.deleteByPrimaryKey(saleOrderMaterialId);
+           j+=trucknoMaterialMapper.deleteByPrimaryKey(truckNoMaterialId);
+
+         }
+         //新增车序号和物资中间表
+        //获取车序号和物资信息进行新增车序号与物资中间表
+        //一个销售订单对应多个车序号
+        List<Map<String, Object>> selectionList = (List<Map<String, Object>>) map.get("selectionList");
+        for (Map<String, Object> map3 : selectionList) {
+            BigDecimal materialId = DataChange.dataToBigDecimal(map3.get("materialId"));
+            Integer cxh = (Integer) map3.get("cxh");
+            //生成车序号与物资实体
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            //生成主键
+            amsSaleOrderMaterial.setSaleOrderMaterialId(amsSaleOrderMaterialMapper.selectMaxId());
+            amsSaleOrderMaterial.setSaleOrderId(DataChange.dataToBigDecimal(map1.get("saleOrderId")));
+            //获取收货地址
+            amsSaleOrderMaterial.setSaleShippingAddressId(DataChange.dataToBigDecimal(map3.get("saleShipperAddressId")));
+            //获取收货方电话号码
+
+            amsSaleOrderMaterial.setSaleOrderConsigneeTel(map3.get("saleOrderConsigneeTel").toString());
+            //获取收货日期
+            String saleDateOfReceipt =(String) map3.get("saleDateOfReceipt");
+            SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
+            Date date = simpleDateFormat.parse(saleDateOfReceipt);
+            amsSaleOrderMaterial.setSaleDateOfReceipt(date);
+            //获取收货方姓名
+            amsSaleOrderMaterial.setSaleOrderConsignee((String) map3.get("saleOrderConsignee"));
+            //设置车序号
+            amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(cxh));
+            //设置删除状态
+            amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
+            i += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            //新增车序号与物资中间表
+            AmsSaleTrucknoMaterial trucknoMaterial = new AmsSaleTrucknoMaterial();
+            trucknoMaterial.setTrucknoMaterialId(trucknoMaterialMapper.selectMaxId());
+            //设置物资id
+            trucknoMaterial.setMaterialId(materialId);
+            //获取车序号物资id
+            trucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            Integer orderPlanWeight = (Integer) map3.get("orderPlanWeight");
+            trucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(orderPlanWeight));
+            //获取物资理重
+            BigDecimal materialTheoreticalWeight = DataChange.dataToBigDecimal(map3.get("materialTheoreticalWeight"));
+            //判断是否有物资理重
+            if (materialTheoreticalWeight.intValue() != 0) {
+                trucknoMaterial.setMaterialTheoreticalWeight(materialTheoreticalWeight);
+            }
+            //新增车序号与物资中间表
+            i += trucknoMaterialMapper.insertSelective(trucknoMaterial);
+        }
+
+//        List<Map<String, Object>> mapList = (List<Map<String, Object>>) map.get("mapList");
+//        ArrayList<Integer> list = new ArrayList<>();
+//        for (Map<String, Object> truckMesMap : mapList) {
+//            //修改车序号表
+//            BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(truckMesMap.get("saleOrderMaterialId"));
+//            if (!list.contains(saleOrderMaterialId.intValue())) {
+//                //车序号表专用字段
+//                BigDecimal saleShipperAddressId = DataChange.dataToBigDecimal(truckMesMap.get("saleShipperAddressId"));
+//                String saleDateOfReceipt =(String) truckMesMap.get("saleDateOfReceipt");
+//                SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
+//                Date date = simpleDateFormat.parse(saleDateOfReceipt);
+//                String saleOrderConsignee = (String) truckMesMap.get("saleOrderConsignee");
+//                String saleOrderConsigneeTel = (String) truckMesMap.get("saleOrderConsigneeTel");
+//                AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+//                amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+//                amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(DataChange.dataToBigDecimal(truckMesMap.get("cxh")));
+//                amsSaleOrderMaterial.setSaleShippingAddressId(saleShipperAddressId);
+//                amsSaleOrderMaterial.setSaleDateOfReceipt(date);
+//                amsSaleOrderMaterial.setSaleOrderConsignee(saleOrderConsignee);
+//                amsSaleOrderMaterial.setSaleOrderConsigneeTel(saleOrderConsigneeTel);
+//                i += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
+//                list.add(saleOrderMaterialId.intValue());
+//            }
+//            //修改车车序号物资表
+//            AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+//            amsSaleTrucknoMaterial.setTrucknoMaterialId(DataChange.dataToBigDecimal(truckMesMap.get("trucknoMaterialId")));
+//            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(DataChange.dataToBigDecimal(truckMesMap.get("orderPlanWeight")));
+//            amsSaleTrucknoMaterial.setMaterialId(DataChange.dataToBigDecimal(truckMesMap.get("materialId")));
+//            i += trucknoMaterialMapper.updateByPrimaryKeySelective(amsSaleTrucknoMaterial);
+//        }
+
+        return i;
     }
 
     @Override
@@ -155,16 +300,46 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return amsSaleOrderMapper.getSaleOrderUpdateLog(map);
     }
 
+    /**
+     * 销售公司查询已审核的订单
+     * @param map
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getSaleOrderListBySaleCompany(Map<String, Object> map) {
+        return amsSaleOrderMapper.getSaleOrderListBySaleCompany(map);
+    }
+
     @Override
     public List<Map<String, Object>> getAmsSaleOrderApproved(Map<String, Object> map) {
         return amsSaleOrderMapper.getAmsSaleOrderApproved(map);
     }
+
     @Override
     public List<Map<String, Object>> getSaleOrderList(Map<String, Object> mapValue) {
         return amsSaleOrderMapper.getSaleOrderList(mapValue);
     }
 
-    public List<Integer>  getCarrier(Integer integer) {
+    public List<Integer> getCarrier(Integer integer) {
         return amsSaleOrderMapper.getCarrier(integer);
     }
+
+    /**
+     * 根据销售订单id查找信息
+     */
+    @Override
+    public Map<String, Object> selectInfoBySaleOrderId(BigDecimal saleOrderId) {
+        return amsSaleOrderMapper.selectInfoBySaleOrderId(saleOrderId);
+    }
+
+    /**
+     * 根据销售订单id查找物资信息
+     *
+     * @param saleOrderId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectMaterialInfoBySaleOrderId(BigDecimal saleOrderId) {
+        return amsSaleOrderMapper.selectMaterialInfoBySaleOrderId(saleOrderId);
+    }
 }

+ 7 - 5
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -634,11 +634,13 @@
   </select>
 
   <select id="getAddressDeliveryAddress" resultType="java.util.LinkedHashMap">
-    select
-      ADDRESS_ID "id",
-      ADDRESS_ID "value",
-      ADDRESS_DELIVERY_ADDRESS "label"
-    from RMS_RECEIVE_ADDRESS
+    SELECT
+      RRA.ADDRESS_ID "addressId",
+      CONCAT( CONCAT( CONCAT( RRA.ADDRESS_PROVINCE, RRA.ADDRESS_DISTRICT ), RRA.ADDRESS_TOWN ), RRA.ADDRESS_DELIVERY_ADDRESS )  "address"
+    FROM
+      RMS_RECEIVE_ADDRESS RRA
+
+    where ROWNUM &lt; 100
   </select>
 
   <select id="selectByPriceId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">

+ 225 - 19
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -601,6 +601,18 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <!--根据插入时间排序-->
+  <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="getSaleOrderInfo" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     select * from(
     select a_s_order.SALE_ORDER_ID "saleOrderId",
@@ -616,7 +628,8 @@
     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.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
     from AMS_SALE_ORDER a_s_order
     left join (select sale_material.SALE_ORDER_ID saleOrderId,
     sum(tt.sum1) saleSum1,
@@ -717,10 +730,11 @@
           "saleRemark" like '%${item}%'
         </foreach>
       </if>
-      <include refid="orderBy"></include>
     </where>
+    <include refid="orderBy"></include>
   </select>
 
+
   <select id="getSaleOrderReported"  parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     select * from(
     select a_s_order.SALE_ORDER_ID "saleOrderId",
@@ -736,7 +750,8 @@
     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.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
     from AMS_SALE_ORDER a_s_order
     left join (select sale_material.SALE_ORDER_ID saleOrderId,
     sum(tt.sum1) saleSum1,
@@ -837,8 +852,9 @@
           "saleRemark" like '%${item}%'
         </foreach>
       </if>
-      <include refid="orderBy"></include>
+
     </where>
+    <include refid="orderBy"></include>
   </select>
 
   <select id="getSaleOrderDetail" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
@@ -848,7 +864,9 @@
     receive_address.ADDRESS_DELIVERY_ADDRESS "saleShippingAddress",
     sale_material.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
     sale_material.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
-    sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+    sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+     sale_material.INSERT_TIME  "insertTime"
+
     from AMS_SALE_ORDER_MATERIAL sale_material
     left join AMS_SALE_ORDER a_s_order
     on sale_material.SALE_ORDER_ID=a_s_order.SALE_ORDER_ID
@@ -922,7 +940,8 @@
     receive_address.ADDRESS_DELIVERY_ADDRESS "saleShippingAddress",
     sale_material.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
     sale_material.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
-    sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+    sale_material.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel",
+    sale_material.INSERT_TIME "insertTime"
     from AMS_SALE_ORDER_MATERIAL sale_material
     left join AMS_SALE_ORDER a_s_order
     on sale_material.SALE_ORDER_ID=a_s_order.SALE_ORDER_ID
@@ -982,18 +1001,10 @@
     from RMS_CONSIGNEE
   </select>
 
-  <select id="selectMaxId"  resultType="java.math.BigDecimal">
-    select max(SALE_ORDER_ID) from AMS_SALE_ORDER
-  </select>
+<!--  <select id="selectMaxId"  resultType="java.math.BigDecimal">-->
+<!--    select max(SALE_ORDER_ID) from AMS_SALE_ORDER-->
+<!--  </select>-->
 
-  <sql id="orderBy">
-    <if test="orderField != null and orderField != ''">
-      order by  "${orderField}"
-      <if test="orderType != null and orderType != ''">
-        ${orderType}
-      </if>
-    </if>
-  </sql>
 
   <select id="selectBySaleOrderId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
     select
@@ -1028,7 +1039,8 @@
     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.SALE_REMARK "saleRemark",
+    a_s_order.INSERT_TIME "insertTime"
     from AMS_SALE_ORDER a_s_order
     left join (select sale_material.SALE_ORDER_ID saleOrderId,
     sum(tt.sum1) saleSum1,
@@ -1141,8 +1153,8 @@
           "saleRemark" like '%${item}%'
         </foreach>
       </if>
-      <include refid="orderBy"></include>
     </where>
+    <include refid="orderBy"></include>
   </select>
   <!-- 展示所有销售公司已审核的销售订单 -->
   <select id="getSaleOrderList" parameterType="java.util.Map" resultType="java.util.Map">
@@ -1165,6 +1177,141 @@
            left join rms_receive_address rra on asom.sale_shipping_address_id=rra.address_id
     where aso.sale_order_status in (2, 4) and adso.DISPATCH_STATUS = #{status} and adso.DISPATCH_TYPE=0
   </select>
+<!-- 销售公司查询已审核的销售订单 -->
+  <select id="getSaleOrderListBySaleCompany" parameterType="java.util.Map" resultType="java.util.Map">
+    select * from(
+    select a_s_order.SALE_ORDER_ID "saleOrderId",
+    a_s_order.SALE_NUMBER "saleNumber",
+    allmaterial_info.saleSum1 "materialTheoreticalWeight",
+    allmaterial_info.saleSum2 "saleOrderMaterialNumber",
+    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 (select sale_material.SALE_ORDER_ID saleOrderId,
+    sum(tt.sum1) saleSum1,
+    sum(tt.sum2) saleSum2
+    from AMS_SALE_ORDER_MATERIAL sale_material
+    left join
+    (select truckno_material.SALE_ORDER_MATERIAL_ID s_order_material,
+    sum(truckno_material.material_theoretical_weight) sum1,
+    sum(truckno_material.sale_order_material_number) sum2
+    from AMS_SALE_TRUCKNO_MATERIAL truckno_material group by
+    truckno_material.SALE_ORDER_MATERIAL_ID) tt
+    on tt.s_order_material = sale_material.SALE_ORDER_MATERIAL_ID
+
+    group by
+    sale_material.SALE_ORDER_ID) allmaterial_info
+    on a_s_order.SALE_ORDER_ID=allmaterial_info.saleOrderId
+    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=2)
+    <where>
+      <if test="saleNumber != null">
+        and
+        <foreach collection="saleNumber" item="item" open="(" separator="or" close=")">
+          "saleNumber" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        and
+        <foreach collection="materialTheoreticalWeight" item="item" open="(" separator="or" close=")">
+          "materialTheoreticalWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        and
+        <foreach collection="saleOrderMaterialNumber" item="item" open="(" separator="or" close=")">
+          "saleOrderMaterialNumber" 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="getCarrier" parameterType="java.lang.Integer" resultType="java.lang.Integer">
@@ -1177,4 +1324,63 @@
 <!--    from-->
 <!--    where-->
 <!--  </select>-->
+
+  <select id="selectInfoBySaleOrderId" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+    select distinct  ASO.SHIPPER_ID "shipperId",
+            ASO.RECEIVE_ID "reciveId",
+            ASO.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
+            ASO.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReciveCustomer",
+            ASO.SALE_REMARK  "saleRemark"
+
+
+
+    from AMS_SALE_ORDER ASO
+    left join AMS_SALE_ORDER_MATERIAL ASOM
+    on ASO.SALE_ORDER_ID=ASOM.SALE_ORDER_ID
+    left join AMS_SALE_TRUCKNO_MATERIAL ASTM
+    on ASTM.SALE_ORDER_MATERIAL_ID=ASOM.SALE_ORDER_MATERIAL_ID
+    left join RMS_MATERIAL RM
+    on RM.MATERIAL_ID=ASTM.MATERIAL_ID
+    where  ASO.SALE_ORDER_ID=#{saleOrderId}
+  </select>
+<!-- 根据销售订单id查找物资信息 -->
+  <select id="selectMaterialInfoBySaleOrderId" resultType="java.util.Map" parameterType="java.util.LinkedHashMap">
+    select distinct  ASOM.SALE_ORDER_MATERIAL_TRUCK_NO  "cxh",
+            ASTM.SALE_ORDER_MATERIAL_NUMBER "orderPlanWeight",
+            RM.MATERIAL_CODE "materialCode",
+            RM.MATERIAL_NAME "materialName",
+            CONCAT(CONCAT(RM.MATERIAL_SPECIFICATION, '('),  CONCAT(RM.MATERIAL_MODEL, ')')) "Specification",
+            RM.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
+            RM.MATERIAL_ID "materialId",
+            ASTM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+            ASTM.TRUCKNO_MATERIAL_ID "trucknoMaterialId",
+            ASOM.SALE_DATE_OF_RECEIPT "saleDateOfReceipt",
+            ASOM.SALE_SHIPPING_ADDRESS_ID "saleShipperAddressId",
+                     CONCAT( CONCAT( CONCAT( RRA.ADDRESS_PROVINCE, RRA.ADDRESS_DISTRICT ), RRA.ADDRESS_TOWN ), RRA.ADDRESS_DELIVERY_ADDRESS )  "saleShipperAddressName",
+            ASOM.SALE_ORDER_CONSIGNEE "saleOrderConsignee",
+            ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+
+    from AMS_SALE_ORDER ASO
+    left join AMS_SALE_ORDER_MATERIAL ASOM
+    on ASO.SALE_ORDER_ID=ASOM.SALE_ORDER_ID
+    left join AMS_SALE_TRUCKNO_MATERIAL ASTM
+    on ASTM.SALE_ORDER_MATERIAL_ID=ASOM.SALE_ORDER_MATERIAL_ID
+    left join RMS_MATERIAL RM
+    on RM.MATERIAL_ID=ASTM.MATERIAL_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+    ON ASOM.SALE_SHIPPING_ADDRESS_ID=RRA.ADDRESS_ID
+    where  ASO.SALE_ORDER_ID=#{saleOrderId}
+  </select>
+
+  <select id="selectSaleOrderMaterialIdBySaleOrderId" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+    select   ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+             ASTM.TRUCKNO_MATERIAL_ID "TruckNoMaterialId"
+
+    from AMS_SALE_ORDER ASO
+    left join AMS_SALE_ORDER_MATERIAL ASOM
+    on ASO.SALE_ORDER_ID=ASOM.SALE_ORDER_ID
+    left join AMS_SALE_TRUCKNO_MATERIAL ASTM
+    on ASOM.SALE_ORDER_MATERIAL_ID=ASTM.SALE_ORDER_MATERIAL_ID
+    where  ASO.SALE_ORDER_ID=#{saleOrderId}
+  </select>
 </mapper>

+ 6 - 3
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -450,9 +450,9 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
-  <select id="selectMaxId"  resultType="java.math.BigDecimal">
-    select max(SALE_ORDER_MATERIAL_ID) from AMS_SALE_ORDER_MATERIAL
-  </select>
+<!--  <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
@@ -521,4 +521,7 @@
   <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>
+
+
+
 </mapper>

+ 4 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSalePlanMapper.xml

@@ -444,8 +444,10 @@
       RM.MATERIAL_ID "materialId",
       RM.MATERIAL_CODE "materialCode",
       RM.MATERIAL_NAME "materialName",
-      CONCAT(CONCAT(RM.MATERIAL_SPECIFICATION, '('),  CONCAT(RM.MATERIAL_MODEL, ')')) "Specification"
+      CONCAT(CONCAT(RM.MATERIAL_SPECIFICATION, '('),  CONCAT(RM.MATERIAL_MODEL, ')')) "Specification",
+           RM.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight"
     FROM RMS_MATERIAL RM
-    WHERE RM.MATERIAL_CODE LIKE '0801%'
+    WHERE RM.MATERIAL_CODE LIKE '0801%' and ROWNUM &lt; 101
   </select>
+
 </mapper>

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

@@ -385,9 +385,9 @@
     </where>
   </select>
 
-  <select id="selectMaxId"  resultType="java.math.BigDecimal">
-    select max(TRUCKNO_MATERIAL_ID) from AMS_SALE_TRUCKNO_MATERIAL
-  </select>
+<!--  <select id="selectMaxId"  resultType="java.math.BigDecimal">-->
+<!--    select max(TRUCKNO_MATERIAL_ID) from AMS_SALE_TRUCKNO_MATERIAL-->
+<!--  </select>-->
 
   <select id="selectByTrucknoMaterialId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
     select