瀏覽代碼

修改销售合同代码

zouzhd 3 年之前
父節點
當前提交
dddd8155b9
共有 37 個文件被更改,包括 3124 次插入452 次删除
  1. 5 3
      pom.xml
  2. 191 0
      src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java
  3. 5 5
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java
  4. 18 7
      src/main/java/com/steerinfo/dil/controller/AmsSaleOrderMaterialController.java
  5. 8 8
      src/main/java/com/steerinfo/dil/controller/AmsSalePlanController.java
  6. 131 0
      src/main/java/com/steerinfo/dil/controller/AmsSalePlanMaterialController.java
  7. 131 0
      src/main/java/com/steerinfo/dil/controller/AmsSaleTrucknoMaterialController.java
  8. 37 0
      src/main/java/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.java
  9. 2 2
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java
  10. 8 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.java
  11. 3 1
      src/main/java/com/steerinfo/dil/mapper/AmsSalePlanMapper.java
  12. 19 0
      src/main/java/com/steerinfo/dil/mapper/AmsSalePlanMaterialMapper.java
  13. 25 0
      src/main/java/com/steerinfo/dil/mapper/AmsSaleTrucknoMaterialMapper.java
  14. 5 5
      src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java
  15. 2 2
      src/main/java/com/steerinfo/dil/model/AmsSaleOrder.java
  16. 8 54
      src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java
  17. 8 24
      src/main/java/com/steerinfo/dil/model/AmsSalePlan.java
  18. 168 0
      src/main/java/com/steerinfo/dil/model/AmsSalePlanMaterial.java
  19. 184 0
      src/main/java/com/steerinfo/dil/model/AmsSaleTrucknoMaterial.java
  20. 45 0
      src/main/java/com/steerinfo/dil/service/IAmsContractTruckPriceService.java
  21. 3 1
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java
  22. 2 2
      src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java
  23. 36 0
      src/main/java/com/steerinfo/dil/service/IAmsSalePlanMaterialService.java
  24. 1 1
      src/main/java/com/steerinfo/dil/service/IAmsSalePlanService.java
  25. 37 0
      src/main/java/com/steerinfo/dil/service/IAmsSaleTrucknoMaterialService.java
  26. 170 0
      src/main/java/com/steerinfo/dil/service/impl/AmsContractTruckPriceServiceImpl.java
  27. 57 18
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java
  28. 5 5
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java
  29. 76 0
      src/main/java/com/steerinfo/dil/service/impl/AmsSalePlanMaterialServiceImpl.java
  30. 11 0
      src/main/java/com/steerinfo/dil/service/impl/AmsSalePlanServiceImpl.java
  31. 106 0
      src/main/java/com/steerinfo/dil/service/impl/AmsSaleTrucknoMaterialServiceImpl.java
  32. 652 0
      src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml
  33. 77 96
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml
  34. 86 141
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml
  35. 37 77
      src/main/resources/com/steerinfo/dil/mapper/AmsSalePlanMapper.xml
  36. 339 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSalePlanMaterialMapper.xml
  37. 426 0
      src/main/resources/com/steerinfo/dil/mapper/AmsSaleTrucknoMaterialMapper.xml

+ 5 - 3
pom.xml

@@ -111,9 +111,11 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>AMS_DISPATCH_SALE_ORDER</param><!--采购订单-->
-                        <param>AMS_SALE_ORDER</param><!--运费-->
-                        <param>AMS_SALE_ORDER_MATERIAL</param><!--违约规则-->
+                        <param>AMS_SALE_PLAN</param><!--销售计划-->
+<!--                        <param>AMS_SALE_PLAN_MATERIAL</param>&lt;!&ndash;销售计划物资中间表&ndash;&gt;-->
+<!--                        <param>AMS_SALE_ORDER</param>&lt;!&ndash;销售订单&ndash;&gt;-->
+<!--                        <param>AMS_SALE_ORDER_MATERIAL</param>&lt;!&ndash;销售订单车序号表&ndash;&gt;-->
+<!--                        <param>AMS_SALE_TRUCKNO_MATERIAL</param>&lt;!&ndash;车序号物资中间表&ndash;&gt;-->
                     </tables>
                 </configuration>
                 <executions>

+ 191 - 0
src/main/java/com/steerinfo/dil/controller/AmsContractTruckPriceController.java

@@ -0,0 +1,191 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.model.AmsContractTransportPrice;
+import com.steerinfo.dil.service.IAmsContractTruckPriceService;
+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;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsContractTransportPrice RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-06 07:10
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-06
+ * 作者:generator
+ * 参考:
+ * 描述:AmsContractTransportPrice RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/amscontracttruckprices")
+public class AmsContractTruckPriceController extends BaseRESTfulController {
+
+    @Autowired
+    IAmsContractTruckPriceService amsContractTruckPriceService;
+
+
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @ApiOperation(value="查询汽运单价信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getAmsContractTransportPrice1")
+    public RESTfulResult getAmsContractTransportPrice(@RequestBody(required=false) Map<String,Object> mapValue,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize){
+
+        List<Map<String, Object>> amsContractTransportPrice = amsContractTruckPriceService.getAmsContractTransportPrice(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getAmsContractTransportPrice(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsContractTransportPrice,amsContractTransportPrice1);
+        return success(pageList);
+    }
+
+    /**
+     * 新增汽运单价
+     * @param amsContractTransportPrice
+     * @return
+     */
+    @ApiOperation(value="新增汽运单价")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
+    })
+    @PostMapping(value = "/addAmsContractTransportPrice1")
+    public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) AmsContractTransportPrice amsContractTransportPrice){
+        int i = amsContractTruckPriceService.addAmsContractTransportPrice(amsContractTransportPrice);
+        return success(i);
+    }
+
+    /**
+     * 通过主键删除汽运单价
+     * @param priceId
+     * @return
+     */
+    @ApiOperation(value="通过主键删除汽运单价")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
+    })
+    @PostMapping(value = "/deleteAmsContractTransportPrice1")
+    public RESTfulResult deleteAmsContractTransportPrice(BigDecimal priceId){
+        int i = amsContractTruckPriceService.deleteAmsContractTransportPrice(priceId);
+        return success(i);
+    }
+
+    /**
+     * 通过主键渲染汽运单价信息
+     * @param priceId
+     * @return
+     */
+    @ApiOperation(value="通过主键渲染汽运单价信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
+    })
+    @PostMapping(value = "/getAmsContractTransportPriceByPriceId1")
+    public RESTfulResult getAmsContractTransportPriceByPriceId(@RequestParam BigDecimal priceId){
+        List<Map<String, Object>> maps = amsContractTruckPriceService.selectByPriceId(priceId);
+        return success(maps);
+    }
+
+    /**
+     * 通过主键修改汽运单价
+     * @param amsContractTransportPrice
+     * @return
+     */
+    @ApiOperation(value="通过主键修改汽运单价")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
+    })
+    @PostMapping(value = "/updateAmsContractTransportPrice1")
+    public RESTfulResult updateAmsContractTransportPrice(@RequestBody(required = false) AmsContractTransportPrice amsContractTransportPrice){
+        int i = amsContractTruckPriceService.updateAmsContractTransportPrice(amsContractTransportPrice);
+        return success(i);
+    }
+
+    /**
+     * 油价联动导致运价变动,批量修改运价
+     * @param
+     * @return
+     */
+    @ApiOperation(value="油价联动导致运价变动,批量修改运价")
+    @ApiImplicitParams({
+    })
+    @PostMapping(value = "/batchUpdateTransportPriceByOilPrice1")
+    public RESTfulResult batchUpdateTransportPriceByOilPrice(){
+        int i = amsContractTruckPriceService.batchUpdateTransportPriceByOilPrice();
+        return success(i);
+    }
+
+    /**
+     * 获取承运商名称
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取承运商名称")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getCarrierName")
+    public RESTfulResult getCarrierName(){
+        return success(amsContractTruckPriceService.getCarrierName());
+    }
+
+    /**
+     * 获取线路编号
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取线路编号")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getLineNo")
+    public RESTfulResult getLineNo(){
+        return success(amsContractTruckPriceService.getLineNo());
+    }
+
+    /**
+     * 获取运力编号
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取运力编号")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getCapacityNumber")
+    public RESTfulResult getCapacityNumber(){
+        return success(amsContractTruckPriceService.getCapacityNumber());
+    }
+
+    /**
+     * 获取收货地址
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取收货地址")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getAddressDeliveryAddress")
+    public RESTfulResult getAddressDeliveryAddress(){
+        return success(amsContractTruckPriceService.getAddressDeliveryAddress());
+    }
+
+}

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

@@ -221,16 +221,16 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     }
 
     /**
-     * 获取销售片区
+     * 获取销售计划名称
      * @param
      * @return
      */
-    @ApiOperation(value="获取销售片区")
+    @ApiOperation(value="获取销售计划名称")
     @ApiImplicitParams({
     })
-    @GetMapping(value = "/getSaleArea")
-    public RESTfulResult getSaleArea(){
-        return success(amsSaleOrderService.getSaleArea());
+    @GetMapping(value = "/getSalePlanName")
+    public RESTfulResult getSalePlanName(){
+        return success(amsSaleOrderService.getSalePlanName());
     }
 
     /**

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

@@ -66,8 +66,8 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
     })
-    @PostMapping(value = "/getAmsSaleOrderMaterialBySaleOrderMaterialId/{saleOrderMaterialId}")
-    public RESTfulResult getAmsSaleOrderMaterialBySaleOrderMaterialId(@PathVariable("saleOrderMaterialId") BigDecimal saleOrderMaterialId){
+    @PostMapping(value = "/getAmsSaleOrderMaterialBySaleOrderMaterialId")
+    public RESTfulResult getAmsSaleOrderMaterialBySaleOrderMaterialId(@RequestParam BigDecimal saleOrderMaterialId){
         List<Map<String, Object>> maps = amsSaleOrderMaterialService.selectBySaleOrderMaterialId(saleOrderMaterialId);
         return success(maps);
     }
@@ -119,18 +119,29 @@ public class AmsSaleOrderMaterialController extends BaseRESTfulController {
 
     /**
      * 通过主键修改销售订单信息(新增一条),过去的成为历史记录
-     * @param amsSaleOrderMaterial
+     * @param map
      * @return
      */
     @ApiOperation(value="通过主键修改销售订单信息(新增一条),过去的成为历史记录")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "amsSaleOrderMaterial", value = "销售订单物资信息对象", required = false, dataType = "AmsSaleOrderMaterial")
+            @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map")
     })
     @PostMapping(value = "/updateAddress")
-    public RESTfulResult updateAddress(@RequestBody(required = false) AmsSaleOrderMaterial amsSaleOrderMaterial){
-        System.out.println(amsSaleOrderMaterial);
-        int i = amsSaleOrderMaterialService.updateAddress(amsSaleOrderMaterial);
+    public RESTfulResult updateAddress(@RequestBody(required = false) Map<String,Object> map){
+        int i = amsSaleOrderMaterialService.updateAddress(map);
         return success(i);
     }
 
+    /**
+     * 获取收货地址
+     * @param
+     * @return
+     */
+    @ApiOperation(value="获取收货地址")
+    @ApiImplicitParams({
+    })
+    @GetMapping(value = "/getAddressDeliveryAddress")
+    public RESTfulResult getAddressDeliveryAddress(){
+        return success(amsSaleOrderMaterialService.getAddressDeliveryAddress());
+    }
 }

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

@@ -72,7 +72,7 @@ public class AmsSalePlanController extends BaseRESTfulController {
     })
     @PostMapping(value = "/addAmsSalePlan")
     public RESTfulResult addAmsSalePlan(@RequestBody(required = false) AmsSalePlan amsSalePlan){
-        System.out.println(amsSalePlan);
+
         int i = amsSalePlanService.addAmsSalePlan(amsSalePlan);
         return success(i);
     }
@@ -86,8 +86,8 @@ public class AmsSalePlanController extends BaseRESTfulController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "planId", value = "销售计划主键", required = false, dataType = "BigDecimal")
     })
-    @PostMapping(value = "/getAmsSalePlanByPlanId/{planId}")
-    public RESTfulResult getAmsSalePlanByPlanId(@PathVariable("planId") BigDecimal planId){
+    @PostMapping(value = "/getAmsSalePlanByPlanId")
+    public RESTfulResult getAmsSalePlanByPlanId(BigDecimal planId){
         List<Map<String, Object>> amsSalePlan = amsSalePlanService.selectByPlanId(planId);
         return success(amsSalePlan);
     }
@@ -97,9 +97,9 @@ public class AmsSalePlanController extends BaseRESTfulController {
      * @param amsSalePlan
      * @return
      */
-    @ApiOperation(value="通过主键修改车皮装车作业实绩")
+    @ApiOperation(value="通过主键修改销售计划")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "amsSalePlan", value = "修改车皮装车map", required = false, dataType = "AmsSalePlan")
+            @ApiImplicitParam(name = "amsSalePlan", value = "修改销售计划", required = false, dataType = "AmsSalePlan")
     })
     @PostMapping(value = "/upadteAmsSalePlanByPlanId")
     public RESTfulResult upadteAmsSalePlanByPlanId(@RequestBody(required = false) AmsSalePlan amsSalePlan){
@@ -112,7 +112,7 @@ public class AmsSalePlanController extends BaseRESTfulController {
      * @param planId
      * @return
      */
-    @ApiOperation(value="通过主键删除车皮装车作业实绩")
+    @ApiOperation(value="通过主键删除销售计划")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "planId", value = "主键ID", required = false, dataType = "BigDecimal")
     })
@@ -123,11 +123,11 @@ public class AmsSalePlanController extends BaseRESTfulController {
     }
 
     /**
-     * 获取规格型号
+     * 获取物资编码
      * @param
      * @return
      */
-    @ApiOperation(value="获取规格型号")
+    @ApiOperation(value="获取物资编码")
     @ApiImplicitParams({
     })
     @GetMapping(value = "/getMaterialName")

+ 131 - 0
src/main/java/com/steerinfo/dil/controller/AmsSalePlanMaterialController.java

@@ -0,0 +1,131 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.model.AmsSalePlan;
+import com.steerinfo.dil.model.AmsSalePlanMaterial;
+import com.steerinfo.dil.service.IAmsSalePlanMaterialService;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSalePlanMaterial RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSalePlanMaterial RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/amssaleplanmaterials")
+public class AmsSalePlanMaterialController extends BaseRESTfulController {
+
+    @Autowired
+    IAmsSalePlanMaterialService amsSalePlanMaterialService;
+
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @ApiOperation(value="查询销售计划物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(169)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getSalePlanMaterialInfo")
+    public RESTfulResult getSalePlanMaterialInfo(BigDecimal planId,@RequestBody(required=false) Map<String,Object> mapValue,
+                                         Integer apiId,
+                                         Integer pageNum,
+                                         Integer pageSize){
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        mapValue.put("planId",planId);
+        List<Map<String, Object>> amsSalePlanMaterial = amsSalePlanMaterialService.getSalePlanMaterialInfo(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsSalePlanMaterial1 = amsSalePlanMaterialService.getSalePlanMaterialInfo(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsSalePlanMaterial,amsSalePlanMaterial1);
+        return success(pageList);
+    }
+
+    /**
+     * 新增销售计划物资信息
+     * @param amsSalePlanMaterial
+     * @return
+     */
+    @ApiOperation(value="新增销售计划物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsSalePlanMaterial", value = "销售计划物资信息对象", required = false, dataType = "AmsSalePlanMaterial")
+    })
+    @PostMapping(value = "/addAmsSalePlanMaterial")
+    public RESTfulResult addAmsSalePlanMaterial(@RequestBody(required = false) AmsSalePlanMaterial amsSalePlanMaterial){
+        int i = amsSalePlanMaterialService.addAmsSalePlanMaterial(amsSalePlanMaterial);
+        return success(i);
+    }
+
+    /**
+     * 通过主键删除销售计划物资信息
+     * @param planMaterialId
+     * @return
+     */
+    @ApiOperation(value="通过主键删除销售计划物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planId", value = "主键ID", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping(value = "/deleteAmsSalePlanMaterial")
+    public RESTfulResult deleteAmsSalePlanMaterial(@RequestParam BigDecimal planMaterialId){
+        int i = amsSalePlanMaterialService.deleteAmsSalePlanMaterial(planMaterialId);
+        return success(i);
+    }
+
+    /**
+     * 通过主键查询销售计划物资信息
+     * @param planMaterialId
+     * @return
+     */
+    @ApiOperation(value="通过主键查询销售计划物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planMaterialId", value = "销售计划物资表主键", required = false, dataType = "BigDecimal")
+    })
+    @PostMapping(value = "/getAmsSalePlanMaterialByPlanMaterialId")
+    public RESTfulResult getAmsSalePlanMaterialByPlanMaterialId(@RequestParam BigDecimal planMaterialId){
+        List<Map<String, Object>> amsSalePlanMaterial = amsSalePlanMaterialService.selectByPlanMaterialId(planMaterialId);
+        return success(amsSalePlanMaterial);
+    }
+
+    /**
+     * 通过主键修改销售计划物资信息
+     * @param amsSalePlanMaterial
+     * @return
+     */
+    @ApiOperation(value="通过主键修改销售计划物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsSalePlanMaterial", value = "销售计划物资信息", required = false, dataType = "AmsSalePlanMaterial")
+    })
+    @PostMapping(value = "/upadteAmsSalePlanMaterial")
+    public RESTfulResult upadteAmsSalePlanMaterial(@RequestBody(required = false) AmsSalePlanMaterial amsSalePlanMaterial){
+        int i = amsSalePlanMaterialService.upadteAmsSalePlanMaterial(amsSalePlanMaterial);
+        return success(i);
+    }
+}

+ 131 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleTrucknoMaterialController.java

@@ -0,0 +1,131 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.steerinfo.dil.service.IAmsSaleTrucknoMaterialService;
+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 com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSaleTrucknoMaterial RESTful接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleTrucknoMaterial RESTful接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@RestController
+@RequestMapping("/${api.version}/amssaletrucknomaterials")
+public class AmsSaleTrucknoMaterialController extends BaseRESTfulController {
+
+    @Autowired
+    IAmsSaleTrucknoMaterialService amsSaleTrucknoMaterialService;
+
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @ApiOperation(value="查询销售订单车序号详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId(170)", value = "表头", required = false, dataType = "Interger")
+    })
+    @PostMapping("/getTruckNoDetail")
+    public RESTfulResult getTruckNoDetail(BigDecimal saleOrderMaterialId,@RequestBody(required=false) Map<String,Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize){
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        mapValue.put("saleOrderMaterialId",saleOrderMaterialId);
+        List<Map<String, Object>> amsTruckNoDetail = amsSaleTrucknoMaterialService.getTruckNoDetail(mapValue);
+        PageHelper.startPage(pageNum,pageSize);
+        List<Map<String, Object>> amsTruckNoDetail1 = amsSaleTrucknoMaterialService.getTruckNoDetail(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, amsTruckNoDetail,amsTruckNoDetail1);
+        return success(pageList);
+    }
+
+    /**
+     * 新增车序号物资信息
+     * @param amsSaleTrucknoMaterial
+     * @return
+     */
+    @ApiOperation(value="新增车序号物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsSaleTrucknoMaterial", value = "新增车序号物资对象", required = false, dataType = "AmsSaleTrucknoMaterial")
+    })
+    @PostMapping(value = "/addAmsSaleTrucknoMaterial")
+    public RESTfulResult addAmsSaleTrucknoMaterial(@RequestBody(required = false) AmsSaleTrucknoMaterial amsSaleTrucknoMaterial){
+        int i = amsSaleTrucknoMaterialService.addAmsSaleTrucknoMaterial(amsSaleTrucknoMaterial);
+        return success(i);
+    }
+
+    /**
+     * 通过主键删除车序号物资信息
+     * @param trucknoMaterialId
+     * @return
+     */
+    @ApiOperation(value="通过主键删除车序号物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "trucknoMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
+    })
+    @PostMapping(value = "/deleteAmsSaleTrucknoMaterial")
+    public RESTfulResult deleteAmsSaleTrucknoMaterial(BigDecimal trucknoMaterialId){
+        int i = amsSaleTrucknoMaterialService.deleteAmsSaleTrucknoMaterial(trucknoMaterialId);
+        return success(i);
+    }
+
+    /**
+     * 通过主键渲染车序号物资信息
+     * @param trucknoMaterialId
+     * @return
+     */
+    @ApiOperation(value="通过主键渲染车序号物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "saleOrderMaterialId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
+    })
+    @PostMapping(value = "/getAmsSaleTrucknoMaterial")
+    public RESTfulResult getAmsSaleTrucknoMaterial(@RequestParam BigDecimal trucknoMaterialId){
+        List<Map<String, Object>> maps = amsSaleTrucknoMaterialService.getAmsSaleTrucknoMaterial(trucknoMaterialId);
+        return success(maps);
+    }
+
+    /**
+     * 通过主键修改车序号物资信息
+     * @param amsSaleTrucknoMaterial
+     * @return
+     */
+    @ApiOperation(value="通过主键修改车序号物资信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "amsSaleTrucknoMaterial", value = "车序号物资信息对象", required = false, dataType = "AmsSaleTrucknoMaterial")
+    })
+    @PostMapping(value = "/updateAmsSaleTrucknoMaterial")
+    public RESTfulResult updateAmsSaleTrucknoMaterial(@RequestBody(required = false) AmsSaleTrucknoMaterial amsSaleTrucknoMaterial){
+        int i = amsSaleTrucknoMaterialService.updateAmsSaleTrucknoMaterial(amsSaleTrucknoMaterial);
+        return success(i);
+    }
+}

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

@@ -0,0 +1,37 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsContractTransportPrice;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface AmsContractTruckPriceMapper extends IBaseMapper<AmsContractTransportPrice, BigDecimal> {
+    //查询主键最大值
+    BigDecimal selectMaxId();
+    //获取汽运单价信息
+    List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);
+    //获取承运商名称
+    List<Map<String, Object>> getCarrierName();
+    //获取线路编号
+    List<Map<String, Object>> getLineNo();
+    //获取运力编号
+    List<Map<String, Object>> getCapacityNumber();
+    //获取收货地址
+    List<Map<String, Object>> getAddressDeliveryAddress();
+    //获取要渲染的信息
+    List<Map<String, Object>> selectByPriceId(BigDecimal priceId);
+    //获取所有的油价
+    List<Map<String, Object>> getOriginAndNowOilPrice();
+    //通过油价变动率批量修改油价
+    int batchUpdateTransportPriceByOilPrice(Double updateOilPrice);
+    //通过主键查询参考运距
+    BigDecimal getLinePathLength(BigDecimal lineId);
+    //获取运价和吨公里数值列表
+    List<Map<String, Object>> getPriceValueAndPriceTonKilometer();
+    //通过主键修改吨公里数
+    int updatePriceTonKilometer(BigDecimal priceId,BigDecimal priceTonKilometer);
+}

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

@@ -16,8 +16,8 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getSaleOrderReported(Map<String,Object> map);
     //根据车序号查询销售订单详细
     List<Map<String, Object>> getSaleOrderDetail(Map<String,Object> map);
-    //获取销售片区
-    List<Map<String, Object>> getSaleArea();
+    //获取销售计划名称
+    List<Map<String, Object>> getSalePlanName();
     //获取发货单位
     List<Map<String, Object>> getShipperName();
     //获取收货单位

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

@@ -12,10 +12,18 @@ import java.util.Map;
 public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMaterial, BigDecimal> {
     //查询主键最大值
     BigDecimal selectMaxId();
+    //查询收货地址主键最大值
+    BigDecimal selectMaxIdReceive();
+    //新增收货地址
+    int insertReceiveAddress(Map<String, Object> map);
     //获取要渲染的值
     List<Map<String, Object>> selectBySaleOrderMaterialId(BigDecimal saleOrderMaterialId);
     //通过主键获得收货地址
     String getAddress(BigDecimal saleOrderMaterialId);
+    //获取收货地址id
+    BigDecimal getReceiveAddressId(String saleShippingAddress);
+    //获取收货地址
+    List<Map<String, Object>> getAddressDeliveryAddress();
     List<Map<String, Object>> getSaleMaterial(Map<String, Object> mapValue);
 
     Integer selectById(BigDecimal saleOrderMaterialId);

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

@@ -14,10 +14,12 @@ public interface AmsSalePlanMapper extends IBaseMapper<AmsSalePlan, BigDecimal>
     List<Map<String, Object>> getSalePlanInfo(Map<String,Object> map);
     //查询主键最大值
     BigDecimal selectMaxId();
-    //获得规格型号
+    //获得物资编码
     List<Map<String, Object>> getMaterialName();
     //获得销售片区名称
     List<Map<String, Object>> getAreaName();
     //获得要渲染的数据
     List<Map<String, Object>> selectByPlanId(BigDecimal planId);
+    //通过主键获取销售片区名称
+    String getAreaNameByAreaId(BigDecimal areaId);
 }

+ 19 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSalePlanMaterialMapper.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsSalePlanMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface AmsSalePlanMaterialMapper extends IBaseMapper<AmsSalePlanMaterial, BigDecimal> {
+    //获取销售计划物资信息
+    List<Map<String, Object>> getSalePlanMaterialInfo(Map<String,Object> map);
+    //查询主键最大值
+    BigDecimal selectMaxId();
+    //获得要渲染的数据
+    List<Map<String, Object>> selectByPlanMaterialId(BigDecimal planMaterialId);
+}

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

@@ -0,0 +1,25 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface AmsSaleTrucknoMaterialMapper extends IBaseMapper<AmsSaleTrucknoMaterial, BigDecimal> {
+    //根据车序号中间表主键查询车序号详细信息
+    List<Map<String, Object>> getTruckNoDetail(Map<String,Object> map);
+    //查询主键最大值
+    BigDecimal selectMaxId();
+    //获取要渲染的值
+    List<Map<String, Object>> selectByTrucknoMaterialId(BigDecimal trucknoMaterialId);
+    //查询销售计划中该物资Id的物资件数
+    BigDecimal getSalePlanMaterialNumber(Map<String,Object> map);
+    //获取销售片区计划Id
+    BigDecimal getSalePalnIdBySaleOrderMaterialId(BigDecimal saleOrderMaterialId);
+    //查询当前该销售计划下已有的销售订单中该物资件数的总和
+    BigDecimal getAllSaleOrderMaterialNumber(Map<String,Object> map);
+}

+ 5 - 5
src/main/java/com/steerinfo/dil/model/AmsContractTransportPrice.java

@@ -39,10 +39,10 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
     private BigDecimal capacityId;
 
     /**
-     * 物资ID(MATERIAL_ID,CHAR,10)
+     * 物资ID(MATERIAL_ID,DECIMAL,38)
      */
     @ApiModelProperty(value="物资ID",required=false)
-    private String materialId;
+    private BigDecimal materialId;
 
     /**
      * 吨公里(元/吨.km)(PRICE_TON_KILOMETER,DECIMAL,0)
@@ -162,12 +162,12 @@ public class AmsContractTransportPrice implements IBasePO<BigDecimal> {
         this.capacityId = capacityId;
     }
 
-    public String getMaterialId() {
+    public BigDecimal getMaterialId() {
         return materialId;
     }
 
-    public void setMaterialId(String materialId) {
-        this.materialId = materialId == null ? null : materialId.trim();
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
     }
 
     public BigDecimal getPriceTonKilometer() {

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

@@ -58,9 +58,9 @@ public class AmsSaleOrder implements IBasePO<BigDecimal> {
     private BigDecimal saleHistoricalOrderAmount;
 
     /**
-     * 销售订单状态(0:未上报;1:已上报;2:销售公司审核;3:财务部审核)(SALE_ORDER_STATUS,DECIMAL,38)
+     * 销售订单状态(0:未上报;1:已上报;2:销售公司审核通过;3:销售公司已审核未通过;4:财务部审核通过;5:财务部已审核未通过;)(SALE_ORDER_STATUS,DECIMAL,38)
      */
-    @ApiModelProperty(value="销售订单状态(0:未上报;1:已上报;2:销售公司审核;3:财务部审核)",required=false)
+    @ApiModelProperty(value="销售订单状态(0:未上报;1:已上报;2:销售公司审核通过;3:销售公司已审核未通过;4:财务部审核通过;5:财务部已审核未通过;)",required=false)
     private BigDecimal saleOrderStatus;
 
     /**

+ 8 - 54
src/main/java/com/steerinfo/dil/model/AmsSaleOrderMaterial.java

@@ -3,7 +3,6 @@ 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;
 
@@ -28,28 +27,10 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
     private BigDecimal saleOrderMaterialTruckNo;
 
     /**
-     * 物资ID(MATERIAL_ID,DECIMAL,38)
-     */
-    @ApiModelProperty(value="物资ID",required=false)
-    private BigDecimal materialId;
-
-    /**
-     * 物资件数(SALE_ORDER_MATERIAL_NUMBER,DECIMAL,38)
+     * 收货地址ID(SALE_SHIPPING_ADDRESS_ID,DECIMAL,38)
      */
-    @ApiModelProperty(value="物资件数",required=false)
-    private BigDecimal saleOrderMaterialNumber;
-
-    /**
-     * 物资理论重量(MATERIAL_THEORETICAL_WEIGHT,DECIMAL,0)
-     */
-    @ApiModelProperty(value="物资理论重量",required=false)
-    private BigDecimal materialTheoreticalWeight;
-
-    /**
-     * 收货地址(SALE_SHIPPING_ADDRESS,VARCHAR,50)
-     */
-    @ApiModelProperty(value="收货地址",required=false)
-    private String saleShippingAddress;
+    @ApiModelProperty(value="收货地址ID",required=false)
+    private BigDecimal saleShippingAddressId;
 
     /**
      * 收货日期(SALE_DATE_OF_RECEIPT,TIMESTAMP,7)
@@ -147,36 +128,12 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         this.saleOrderMaterialTruckNo = saleOrderMaterialTruckNo;
     }
 
-    public BigDecimal getMaterialId() {
-        return materialId;
-    }
-
-    public void setMaterialId(BigDecimal materialId) {
-        this.materialId = materialId;
-    }
-
-    public BigDecimal getSaleOrderMaterialNumber() {
-        return saleOrderMaterialNumber;
-    }
-
-    public void setSaleOrderMaterialNumber(BigDecimal saleOrderMaterialNumber) {
-        this.saleOrderMaterialNumber = saleOrderMaterialNumber;
-    }
-
-    public BigDecimal getMaterialTheoreticalWeight() {
-        return materialTheoreticalWeight;
-    }
-
-    public void setMaterialTheoreticalWeight(BigDecimal materialTheoreticalWeight) {
-        this.materialTheoreticalWeight = materialTheoreticalWeight;
-    }
-
-    public String getSaleShippingAddress() {
-        return saleShippingAddress;
+    public BigDecimal getSaleShippingAddressId() {
+        return saleShippingAddressId;
     }
 
-    public void setSaleShippingAddress(String saleShippingAddress) {
-        this.saleShippingAddress = saleShippingAddress == null ? null : saleShippingAddress.trim();
+    public void setSaleShippingAddressId(BigDecimal saleShippingAddressId) {
+        this.saleShippingAddressId = saleShippingAddressId;
     }
 
     public Date getSaleDateOfReceipt() {
@@ -268,10 +225,7 @@ public class AmsSaleOrderMaterial implements IBasePO<BigDecimal> {
         sb.append(", saleOrderMaterialId=").append(saleOrderMaterialId);
         sb.append(", saleOrderId=").append(saleOrderId);
         sb.append(", saleOrderMaterialTruckNo=").append(saleOrderMaterialTruckNo);
-        sb.append(", materialId=").append(materialId);
-        sb.append(", saleOrderMaterialNumber=").append(saleOrderMaterialNumber);
-        sb.append(", materialTheoreticalWeight=").append(materialTheoreticalWeight);
-        sb.append(", saleShippingAddress=").append(saleShippingAddress);
+        sb.append(", saleShippingAddressId=").append(saleShippingAddressId);
         sb.append(", saleDateOfReceipt=").append(saleDateOfReceipt);
         sb.append(", saleOrderConsignee=").append(saleOrderConsignee);
         sb.append(", saleOrderConsigneeTel=").append(saleOrderConsigneeTel);

+ 8 - 24
src/main/java/com/steerinfo/dil/model/AmsSalePlan.java

@@ -3,7 +3,6 @@ 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;
 
@@ -22,16 +21,10 @@ public class AmsSalePlan implements IBasePO<BigDecimal> {
     private Date planDate;
 
     /**
-     * 物资ID(MATERIAL_ID,DECIMAL,38)
-     */
-    @ApiModelProperty(value="物资ID",required=false)
-    private BigDecimal materialId;
-
-    /**
-     * 物资件数(PLAN_MATERIAL_NUMBER,DECIMAL,38)
+     * 销售计划名称(PLAN_NAME,VARCHAR,50)
      */
-    @ApiModelProperty(value="物资件数",required=false)
-    private BigDecimal planMaterialNumber;
+    @ApiModelProperty(value="销售计划名称",required=false)
+    private String planName;
 
     /**
      * 销售片区ID(SALE_AREA_ID,DECIMAL,38)
@@ -103,20 +96,12 @@ public class AmsSalePlan implements IBasePO<BigDecimal> {
         this.planDate = planDate;
     }
 
-    public BigDecimal getMaterialId() {
-        return materialId;
-    }
-
-    public void setMaterialId(BigDecimal materialId) {
-        this.materialId = materialId;
-    }
-
-    public BigDecimal getPlanMaterialNumber() {
-        return planMaterialNumber;
+    public String getPlanName() {
+        return planName;
     }
 
-    public void setPlanMaterialNumber(BigDecimal planMaterialNumber) {
-        this.planMaterialNumber = planMaterialNumber;
+    public void setPlanName(String planName) {
+        this.planName = planName == null ? null : planName.trim();
     }
 
     public BigDecimal getSaleAreaId() {
@@ -183,8 +168,7 @@ public class AmsSalePlan implements IBasePO<BigDecimal> {
         sb.append("Hash = ").append(hashCode());
         sb.append(", planId=").append(planId);
         sb.append(", planDate=").append(planDate);
-        sb.append(", materialId=").append(materialId);
-        sb.append(", planMaterialNumber=").append(planMaterialNumber);
+        sb.append(", planName=").append(planName);
         sb.append(", saleAreaId=").append(saleAreaId);
         sb.append(", insertUsername=").append(insertUsername);
         sb.append(", insertTime=").append(insertTime);

+ 168 - 0
src/main/java/com/steerinfo/dil/model/AmsSalePlanMaterial.java

@@ -0,0 +1,168 @@
+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 AmsSalePlanMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(PLAN_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal planMaterialId;
+
+    /**
+     * 销售计划ID(SALE_PLAN_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="销售计划ID",required=false)
+    private BigDecimal salePlanId;
+
+    /**
+     * 物资ID(MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 物资数量(MATERIAL_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资数量",required=false)
+    private BigDecimal materialNumber;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.planMaterialId;
+    }
+
+    @Override
+    public void setId(BigDecimal planMaterialId) {
+        this.planMaterialId = planMaterialId;
+    }
+
+    public BigDecimal getPlanMaterialId() {
+        return planMaterialId;
+    }
+
+    public void setPlanMaterialId(BigDecimal planMaterialId) {
+        this.planMaterialId = planMaterialId;
+    }
+
+    public BigDecimal getSalePlanId() {
+        return salePlanId;
+    }
+
+    public void setSalePlanId(BigDecimal salePlanId) {
+        this.salePlanId = salePlanId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getMaterialNumber() {
+        return materialNumber;
+    }
+
+    public void setMaterialNumber(BigDecimal materialNumber) {
+        this.materialNumber = materialNumber;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", planMaterialId=").append(planMaterialId);
+        sb.append(", salePlanId=").append(salePlanId);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", materialNumber=").append(materialNumber);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -0,0 +1,184 @@
+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 AmsSaleTrucknoMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(TRUCKNO_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal trucknoMaterialId;
+
+    /**
+     * 物资ID(MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资ID",required=false)
+    private BigDecimal materialId;
+
+    /**
+     * 车序号表主键ID(SALE_ORDER_MATERIAL_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="车序号表主键ID",required=false)
+    private BigDecimal saleOrderMaterialId;
+
+    /**
+     * 物资件数(SALE_ORDER_MATERIAL_NUMBER,DECIMAL,38)
+     */
+    @ApiModelProperty(value="物资件数",required=false)
+    private BigDecimal saleOrderMaterialNumber;
+
+    /**
+     * 物资理论重量(MATERIAL_THEORETICAL_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资理论重量",required=false)
+    private Short materialTheoreticalWeight;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录创建人",required=false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录创建时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value="记录修改人",required=false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="记录修改时间",required=false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value="记录创建或修改备注",required=false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.trucknoMaterialId;
+    }
+
+    @Override
+    public void setId(BigDecimal trucknoMaterialId) {
+        this.trucknoMaterialId = trucknoMaterialId;
+    }
+
+    public BigDecimal getTrucknoMaterialId() {
+        return trucknoMaterialId;
+    }
+
+    public void setTrucknoMaterialId(BigDecimal trucknoMaterialId) {
+        this.trucknoMaterialId = trucknoMaterialId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getSaleOrderMaterialId() {
+        return saleOrderMaterialId;
+    }
+
+    public void setSaleOrderMaterialId(BigDecimal saleOrderMaterialId) {
+        this.saleOrderMaterialId = saleOrderMaterialId;
+    }
+
+    public BigDecimal getSaleOrderMaterialNumber() {
+        return saleOrderMaterialNumber;
+    }
+
+    public void setSaleOrderMaterialNumber(BigDecimal saleOrderMaterialNumber) {
+        this.saleOrderMaterialNumber = saleOrderMaterialNumber;
+    }
+
+    public Short getMaterialTheoreticalWeight() {
+        return materialTheoreticalWeight;
+    }
+
+    public void setMaterialTheoreticalWeight(Short materialTheoreticalWeight) {
+        this.materialTheoreticalWeight = materialTheoreticalWeight;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", trucknoMaterialId=").append(trucknoMaterialId);
+        sb.append(", materialId=").append(materialId);
+        sb.append(", saleOrderMaterialId=").append(saleOrderMaterialId);
+        sb.append(", saleOrderMaterialNumber=").append(saleOrderMaterialNumber);
+        sb.append(", materialTheoreticalWeight=").append(materialTheoreticalWeight);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -0,0 +1,45 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.model.AmsContractTransportPrice;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsContractTransportPrice服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-06 07:10
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-06
+ * 作者:generator
+ * 参考:
+ * 描述:AmsContractTransportPrice服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IAmsContractTruckPriceService {
+    //新增汽运单价
+    int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice);
+    //获取汽运单价信息
+    List<Map<String, Object>> getAmsContractTransportPrice(Map<String,Object> map);
+    //通过主键删除汽运单价
+    int deleteAmsContractTransportPrice(BigDecimal priceId);
+    //获取承运商名称
+    List<Map<String, Object>> getCarrierName();
+    //获取线路编号
+    List<Map<String, Object>> getLineNo();
+    //获取运力编号
+    List<Map<String, Object>> getCapacityNumber();
+    //获取收货地址
+    List<Map<String, Object>> getAddressDeliveryAddress();
+    //获取要渲染的信息
+    List<Map<String, Object>> selectByPriceId(BigDecimal priceId);
+    //通过主键修改汽运单价
+    int updateAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice);
+    //获取所有的油价
+    List<Map<String, Object>> getOriginAndNowOilPrice();
+    //油价联动导致运价变动,批量修改运价,同时修改吨公里的数值
+    int batchUpdateTransportPriceByOilPrice();
+}

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

@@ -31,7 +31,9 @@ public interface IAmsSaleOrderMaterialService{
     //通过主键获得收货地址
     String getAddress(BigDecimal saleOrderMaterialId);
     //通过主键修改销售订单信息(新增一条),过去的成为历史记录
-    int updateAddress(AmsSaleOrderMaterial amsSaleOrderMaterial);
+    int updateAddress(Map<String, Object> map);
+    //获取收货地址
+    List<Map<String, Object>> getAddressDeliveryAddress();
 
     List<Map<String, Object>> getSaleMaterial(Map<String, Object> mapValue);
     Integer selectById(BigDecimal saleOrderMaterialId);

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

@@ -26,8 +26,8 @@ public interface IAmsSaleOrderService{
     List<Map<String, Object>> getSaleOrderReported(Map<String,Object> map);
     //根据车序号查询销售订单详细
     List<Map<String, Object>> getSaleOrderDetail(Map<String,Object> map);
-    //获取销售片区
-    List<Map<String, Object>> getSaleArea();
+    //获取销售计划名称
+    List<Map<String, Object>> getSalePlanName();
     //获取发货单位
     List<Map<String, Object>> getShipperName();
     //获取收货单位

+ 36 - 0
src/main/java/com/steerinfo/dil/service/IAmsSalePlanMaterialService.java

@@ -0,0 +1,36 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.model.AmsSalePlan;
+import com.steerinfo.dil.model.AmsSalePlanMaterial;
+import com.steerinfo.framework.service.IBaseService;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSalePlanMaterial服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSalePlanMaterial服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IAmsSalePlanMaterialService{
+    //获取销售计划物资信息
+    List<Map<String, Object>> getSalePlanMaterialInfo(Map<String,Object> map);
+    //新增销售订单物资信息
+    int addAmsSalePlanMaterial(AmsSalePlanMaterial amsSalePlanMaterial);
+    //删除销售订单物资信息
+    int deleteAmsSalePlanMaterial(BigDecimal planMaterialId);
+    //获得要渲染的数据
+    List<Map<String, Object>> selectByPlanMaterialId(BigDecimal planMaterialId);
+    //修改销售计划物资信息
+    int upadteAmsSalePlanMaterial(AmsSalePlanMaterial amsSalePlanMaterial);
+
+}

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

@@ -24,7 +24,7 @@ public interface IAmsSalePlanService{
     List<Map<String, Object>> getSalePlanInfo(Map<String,Object> map);
     //新增销售计划
     int addAmsSalePlan(AmsSalePlan amsSalePlan);
-    //获得规格型号
+    //获得物资编码
     List<Map<String, Object>> getMaterialName();
     //获得销售片区名称
     List<Map<String, Object>> getAreaName();

+ 37 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleTrucknoMaterialService.java

@@ -0,0 +1,37 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.model.AmsSaleOrderMaterial;
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.steerinfo.framework.service.IBaseService;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSaleTrucknoMaterial服务接口:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleTrucknoMaterial服务接口
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+public interface IAmsSaleTrucknoMaterialService{
+    //根据车序号中间表主键查询车序号详细信息
+    List<Map<String, Object>> getTruckNoDetail(Map<String,Object> map);
+    //新增车序号物资信息
+    int addAmsSaleTrucknoMaterial(AmsSaleTrucknoMaterial amsSaleTrucknoMaterial);
+    //通过主键删除车序号物资信息
+    int deleteAmsSaleTrucknoMaterial(BigDecimal saleOrderMaterialId);
+    //获取要渲染的值
+    List<Map<String, Object>> getAmsSaleTrucknoMaterial(BigDecimal trucknoMaterialId);
+    //修改车序号物资信息
+    int updateAmsSaleTrucknoMaterial(AmsSaleTrucknoMaterial amsSaleTrucknoMaterial);
+
+
+}

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

@@ -0,0 +1,170 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
+import com.steerinfo.dil.model.AmsContractTransportPrice;
+import com.steerinfo.dil.service.IAmsContractTruckPriceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsContractTransportPrice服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-09-06 07:10
+ * 类描述
+ * 修订历史:
+ * 日期:2021-09-06
+ * 作者:generator
+ * 参考:
+ * 描述:AmsContractTransportPrice服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "amsContractTruckPriceService")
+public class AmsContractTruckPriceServiceImpl implements IAmsContractTruckPriceService {
+
+    @Autowired
+    private AmsContractTruckPriceMapper amsContractTruckPriceMapper;
+
+    @Override
+    public int addAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
+        long id;
+        if(amsContractTruckPriceMapper.selectMaxId()==null){
+            id = 1;
+        }else {
+            id = amsContractTruckPriceMapper.selectMaxId().longValue()+1;
+        }
+        //生成主键id
+        amsContractTransportPrice.setPriceId(new BigDecimal(id));
+        //获取路线Id和运价
+        BigDecimal lineId = amsContractTransportPrice.getLineId();
+        BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
+        //计算并插入吨公里
+        BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+        amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        amsContractTransportPrice.setInsertUsername("admin");
+        amsContractTransportPrice.setInsertTime(new Date());
+        amsContractTransportPrice.setUpdateUsername("admin");
+        amsContractTransportPrice.setUpdateTime(new Date());
+        amsContractTransportPrice.setInsertUpdateRemark("无");
+        amsContractTransportPrice.setDeleted(new BigDecimal(0));
+        return amsContractTruckPriceMapper.insert(amsContractTransportPrice);
+    }
+
+    //计算吨公里值
+    public BigDecimal calculationPriceTonKilometer(BigDecimal lineId,BigDecimal priceValue){
+        //查询参考运距
+        BigDecimal linePathLength = amsContractTruckPriceMapper.getLinePathLength(lineId);
+        //计算吨公里	吨公里(元/吨.km) = 运价(元/吨)/ 参考运距(公里),保留4位小数
+        BigDecimal priceTonKilometer = priceValue.divide(linePathLength, 4, BigDecimal.ROUND_HALF_UP);
+        return priceTonKilometer;
+    }
+
+    @Override
+    public List<Map<String, Object>> getAmsContractTransportPrice(Map<String, Object> map) {
+        return amsContractTruckPriceMapper.getAmsContractTransportPrice(map);
+    }
+
+    @Override
+    public int deleteAmsContractTransportPrice(BigDecimal priceId) {
+        AmsContractTransportPrice amsContractTransportPrice = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+        amsContractTransportPrice.setDeleted(new BigDecimal(1));
+        return amsContractTruckPriceMapper.updateByPrimaryKey(amsContractTransportPrice);
+    }
+
+    @Override
+    public List<Map<String, Object>> getCarrierName() {
+        return amsContractTruckPriceMapper.getCarrierName();
+    }
+
+    @Override
+    public List<Map<String, Object>> getLineNo() {
+        return amsContractTruckPriceMapper.getLineNo();
+    }
+
+    @Override
+    public List<Map<String, Object>> getCapacityNumber() {
+        return amsContractTruckPriceMapper.getCapacityNumber();
+    }
+
+    @Override
+    public List<Map<String, Object>> getAddressDeliveryAddress() {
+        return amsContractTruckPriceMapper.getAddressDeliveryAddress();
+    }
+
+    @Override
+    public List<Map<String, Object>> selectByPriceId(BigDecimal priceId) {
+        return amsContractTruckPriceMapper.selectByPriceId(priceId);
+    }
+
+    @Override
+    public int updateAmsContractTransportPrice(AmsContractTransportPrice amsContractTransportPrice) {
+        BigDecimal priceId = amsContractTransportPrice.getPriceId();
+        //获取未修改前的汽运单价信息
+        AmsContractTransportPrice amsContractTransportPrice1 = amsContractTruckPriceMapper.selectByPrimaryKey(priceId);
+        //获取路线Id和运价
+        BigDecimal lineId = amsContractTransportPrice.getLineId();
+        BigDecimal priceValue = amsContractTransportPrice.getPriceValue();
+        //若运价修改了
+        if(amsContractTransportPrice.getPriceValue()!=amsContractTransportPrice1.getPriceValue()){
+            //计算并插入吨公里
+            BigDecimal priceTonKilometer = calculationPriceTonKilometer(lineId, priceValue);
+            amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
+        }
+        amsContractTransportPrice.setUpdateTime(new Date());
+        return amsContractTruckPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
+    }
+
+    @Override
+    public List<Map<String, Object>> getOriginAndNowOilPrice() {
+        return amsContractTruckPriceMapper.getOriginAndNowOilPrice();
+    }
+
+    @Override
+    public int batchUpdateTransportPriceByOilPrice() {
+        //获取所有油价信息
+        List<Map<String, Object>> originAndNowOilPrice = amsContractTruckPriceMapper.getOriginAndNowOilPrice();
+        //原油价
+        BigDecimal originOilPrice = new BigDecimal("1");
+        //现油价
+        BigDecimal nowOilPrice = new BigDecimal("0");
+        for (int i = 0; i < 2; i++) {
+            if(i==0){
+                nowOilPrice = (BigDecimal) originAndNowOilPrice.get(i).get("priceValue");
+            }else if(i==1){
+                originOilPrice = (BigDecimal) originAndNowOilPrice.get(i).get("priceValue");
+            }
+        }
+        //油价变动率
+        Double updateOilPrice = nowOilPrice.doubleValue()/originOilPrice.doubleValue()-1;
+        //获取原运价和吨公里数
+        List<Map<String, Object>> priceValueAndPriceTonKilometer = amsContractTruckPriceMapper.getPriceValueAndPriceTonKilometer();
+
+        if(updateOilPrice>0.05||updateOilPrice<-0.05){
+            //逐条修改吨公里数
+            for (Map<String, Object> stringObjectMap : priceValueAndPriceTonKilometer) {
+                //主键Id
+                BigDecimal priceId = (BigDecimal) stringObjectMap.get("priceId");
+                //原运价
+                BigDecimal priceValue = (BigDecimal) stringObjectMap.get("priceValue");
+                //吨公里数
+                BigDecimal priceTonKilometer = (BigDecimal) stringObjectMap.get("priceTonKilometer");
+                //参考距离
+                BigDecimal distance = priceValue.divide(priceTonKilometer,2,BigDecimal.ROUND_HALF_UP);
+                //现运价
+                Double nowPriceValue = priceValue.doubleValue()*0.65+priceValue.doubleValue()*0.35*(1+updateOilPrice);
+                BigDecimal nowPriceValue1 = new BigDecimal(nowPriceValue);
+                //新吨公里数
+                BigDecimal newPriceTonKilometer = nowPriceValue1.divide(distance,4,BigDecimal.ROUND_HALF_UP);
+                //通过主键修改一条吨公里数
+                amsContractTruckPriceMapper.updatePriceTonKilometer(priceId,newPriceTonKilometer);
+            }
+            return amsContractTruckPriceMapper.batchUpdateTransportPriceByOilPrice(updateOilPrice);
+        }
+        return 0;
+    }
+}

+ 57 - 18
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -40,6 +41,8 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         }
         //生成主键id
         amsSaleOrderMaterial.setSaleOrderMaterialId(new BigDecimal(id));
+        //生成车序号
+        amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(id));
         //常规字段
         amsSaleOrderMaterial.setInsertUsername("admin");
         amsSaleOrderMaterial.setInsertTime(new Date());
@@ -47,6 +50,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         amsSaleOrderMaterial.setUpdateTime(new Date());
         amsSaleOrderMaterial.setInsertUpdateRemark("无");
         amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
+        amsSaleOrderMaterial.setUpdated(new BigDecimal(0));
         return amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial);
     }
 
@@ -74,27 +78,62 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     }
 
     @Override
-    public int updateAddress(AmsSaleOrderMaterial amsSaleOrderMaterial) {
-        BigDecimal saleOrderMaterialId = amsSaleOrderMaterial.getSaleOrderMaterialId();
-        AmsSaleOrderMaterial amsSaleOrderMaterial1 = amsSaleOrderMaterialMapper.selectByPrimaryKey(saleOrderMaterialId);
-        String saleShippingAddress = amsSaleOrderMaterial1.getSaleShippingAddress();
-        long id;
-        if(amsSaleOrderMaterialMapper.selectMaxId()==null){
-            id = 1;
+    public int updateAddress(Map<String, Object> map) {
+        String saleOrderMaterialId = map.get("saleOrderMaterialId").toString();
+        //查询收货地址表中是否有该地址,无则新增,有则取收货地址Id
+        String saleShippingAddress = (String) map.get("saleShippingAddress");
+        BigDecimal addressId = amsSaleOrderMaterialMapper.getReceiveAddressId(saleShippingAddress);
+        //获得原车次表信息
+        AmsSaleOrderMaterial amsSaleOrderMaterial1 = amsSaleOrderMaterialMapper.selectByPrimaryKey(new BigDecimal(saleOrderMaterialId));
+        if(addressId!=null){
+            long id;
+            if(amsSaleOrderMaterialMapper.selectMaxId()==null){
+                id = 1;
+            }else {
+                id = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
+            }
+            //生成主键id
+            amsSaleOrderMaterial1.setSaleOrderMaterialId(new BigDecimal(id));
+            amsSaleOrderMaterial1.setSaleShippingAddressId(addressId);
+            //新增修改了地址的数据
+            amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial1);
         }else {
-            id = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
+            //新增收货地址,取得收货地址的Id
+            Map<String,Object> mapReceive = new HashMap<>();
+            long id;
+            if(amsSaleOrderMaterialMapper.selectMaxIdReceive()==null){
+                id = 1;
+            }else {
+                id = amsSaleOrderMaterialMapper.selectMaxIdReceive().longValue()+1;
+            }
+            mapReceive.put("addressId",new BigDecimal(id));
+            mapReceive.put("addressDeliveryAddress",saleShippingAddress);
+            amsSaleOrderMaterialMapper.insertReceiveAddress(mapReceive);
+            //新增修改了地址的数据
+            long id1;
+            if(amsSaleOrderMaterialMapper.selectMaxId()==null){
+                id1 = 1;
+            }else {
+                id1 = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
+            }
+            //生成主键id
+            amsSaleOrderMaterial1.setSaleOrderMaterialId(new BigDecimal(id1));
+            amsSaleOrderMaterial1.setSaleShippingAddressId(new BigDecimal(id));
+            //新增修改了地址的数据
+            amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial1);
+
         }
-        //生成主键id
-        amsSaleOrderMaterial1.setSaleOrderMaterialId(new BigDecimal(id));
-        amsSaleOrderMaterial1.setSaleShippingAddress(amsSaleOrderMaterial.getSaleShippingAddress());
-        //新增修改了地址的数据
-        System.out.println("amsSaleOrderMaterial1 = "+amsSaleOrderMaterial1);
-        amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial1);
-        //地址回插
-        amsSaleOrderMaterial.setSaleShippingAddress(saleShippingAddress);
-        amsSaleOrderMaterial.setUpdated(new BigDecimal(1));
-        return amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
+        //修改原地址记录状态
+        AmsSaleOrderMaterial amsSaleOrderMaterial2 = amsSaleOrderMaterialMapper.selectByPrimaryKey(new BigDecimal(saleOrderMaterialId));
+        amsSaleOrderMaterial2.setUpdated(new BigDecimal(1));
+        return amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial2);
     }
+
+    @Override
+    public List<Map<String, Object>> getAddressDeliveryAddress() {
+        return amsSaleOrderMaterialMapper.getAddressDeliveryAddress();
+    }
+
     public List<Map<String, Object>> getSaleMaterial(Map<String, Object> mapValue) {
         return amsSaleOrderMaterialMapper.getSaleMaterial(mapValue);
     }

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

@@ -47,8 +47,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     }
 
     @Override
-    public List<Map<String, Object>> getSaleArea() {
-        return amsSaleOrderMapper.getSaleArea();
+    public List<Map<String, Object>> getSalePlanName() {
+        return amsSaleOrderMapper.getSalePlanName();
     }
 
     @Override
@@ -74,11 +74,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         //WXSDD-年月日-8位数的顺序号
         Calendar now = Calendar.getInstance();
         String number = "WXSDD-" +  now.get(Calendar.YEAR);
-        if (now.get(Calendar.MONTH)+1 < 10) {
+        if ((now.get(Calendar.MONTH)+1) < 10) {
             number = number + "0" + (now.get(Calendar.MONTH)+1);
         }
         else {
-            number = number + now.get(Calendar.MONTH)+1;
+            number = number + (now.get(Calendar.MONTH)+1);
         }
         if(now.get(now.DAY_OF_MONTH)<10){
             number = number + "0" + now.get(now.DAY_OF_MONTH)+"-";
@@ -144,7 +144,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public int deleteAmsSaleOrderBySaleOrderId(BigDecimal saleOrderId) {
         //删除所有从表信息
-        amsSaleOrderMapper.deleteBySaleOrderId(saleOrderId);
+        //amsSaleOrderMapper.deleteBySaleOrderId(saleOrderId);
         AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
         amsSaleOrder.setDeleted(new BigDecimal(1));
         return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);

+ 76 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSalePlanMaterialServiceImpl.java

@@ -0,0 +1,76 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.AmsSalePlanMaterialMapper;
+import com.steerinfo.dil.model.AmsSalePlan;
+import com.steerinfo.dil.model.AmsSalePlanMaterial;
+import com.steerinfo.dil.service.IAmsSalePlanMaterialService;
+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 java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSalePlanMaterial服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSalePlanMaterial服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "amsSalePlanMaterialService")
+public class AmsSalePlanMaterialServiceImpl implements IAmsSalePlanMaterialService {
+
+    @Autowired
+    private AmsSalePlanMaterialMapper amsSalePlanMaterialMapper;
+
+    @Override
+    public List<Map<String, Object>> getSalePlanMaterialInfo(Map<String,Object> map) {
+        return amsSalePlanMaterialMapper.getSalePlanMaterialInfo(map);
+    }
+
+    @Override
+    public int addAmsSalePlanMaterial(AmsSalePlanMaterial amsSalePlanMaterial) {
+        long id;
+        if(amsSalePlanMaterialMapper.selectMaxId()==null){
+            id = 1;
+        }else {
+            id = amsSalePlanMaterialMapper.selectMaxId().longValue()+1;
+        }
+        //生成主键id
+        amsSalePlanMaterial.setPlanMaterialId(new BigDecimal(id));
+        //常规字段
+        amsSalePlanMaterial.setInsertUsername("admin");
+        amsSalePlanMaterial.setInsertTime(new Date());
+        amsSalePlanMaterial.setUpdateUsername("admin");
+        amsSalePlanMaterial.setUpdateTime(new Date());
+        amsSalePlanMaterial.setInsertUpdateRemark("无");
+        return amsSalePlanMaterialMapper.insert(amsSalePlanMaterial);
+    }
+
+    @Override
+    public int deleteAmsSalePlanMaterial(BigDecimal planMaterialId) {
+        return amsSalePlanMaterialMapper.deleteByPrimaryKey(planMaterialId);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectByPlanMaterialId(BigDecimal planMaterialId) {
+        return amsSalePlanMaterialMapper.selectByPlanMaterialId(planMaterialId);
+    }
+
+    @Override
+    public int upadteAmsSalePlanMaterial(AmsSalePlanMaterial amsSalePlanMaterial) {
+        amsSalePlanMaterial.setUpdateTime(new Date());
+        return amsSalePlanMaterialMapper.updateByPrimaryKeySelective(amsSalePlanMaterial);
+    }
+
+}

+ 11 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSalePlanServiceImpl.java

@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -52,6 +53,16 @@ public class AmsSalePlanServiceImpl implements IAmsSalePlanService {
         }
         //生成主键id
         amsSalePlan.setPlanId(new BigDecimal(id));
+        //获取销售片区名
+        BigDecimal areaId = amsSalePlan.getSaleAreaId();
+        String areaName = amsSalePlanMapper.getAreaNameByAreaId(areaId);
+        //获取计划日期
+        Date planDate = amsSalePlan.getPlanDate();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String DateString = simpleDateFormat.format(planDate);
+        //拼接片区名和日期
+        String PlanName = areaName + DateString;
+        amsSalePlan.setPlanName(PlanName);
         amsSalePlan.setUpdateUsername("admin");
         amsSalePlan.setUpdateTime(new Date());
         amsSalePlan.setDeleted(new BigDecimal(0));

+ 106 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleTrucknoMaterialServiceImpl.java

@@ -0,0 +1,106 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
+import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
+import com.steerinfo.dil.service.IAmsSaleTrucknoMaterialService;
+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 java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * AmsSaleTrucknoMaterial服务实现:
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-11-16 10:12
+ * 类描述
+ * 修订历史:
+ * 日期:2021-11-16
+ * 作者:generator
+ * 参考:
+ * 描述:AmsSaleTrucknoMaterial服务实现
+ * @see null
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ */
+@Service(value = "amsSaleTrucknoMaterialService")
+public class AmsSaleTrucknoMaterialServiceImpl implements IAmsSaleTrucknoMaterialService {
+
+    @Autowired
+    private AmsSaleTrucknoMaterialMapper amsSaleTrucknoMaterialMapper;
+
+    @Override
+    public List<Map<String, Object>> getTruckNoDetail(Map<String, Object> map) {
+        return amsSaleTrucknoMaterialMapper.getTruckNoDetail(map);
+    }
+
+    @Override
+    public int addAmsSaleTrucknoMaterial(AmsSaleTrucknoMaterial amsSaleTrucknoMaterial) {
+        //判断物资件数是否在计划之内
+        //获取物资Id
+        BigDecimal materialId = amsSaleTrucknoMaterial.getMaterialId();
+        //获取销售片区Id
+        BigDecimal saleOrderMaterialId = amsSaleTrucknoMaterial.getSaleOrderMaterialId();
+        BigDecimal planId = amsSaleTrucknoMaterialMapper.getSalePalnIdBySaleOrderMaterialId(saleOrderMaterialId);
+        //查询该片区销售计划中此物资的物资件数
+        Map<String,Object> map = new HashMap<>();
+        map.put("materialId",materialId);
+        map.put("planId",planId);
+        BigDecimal materialNumberPlan = amsSaleTrucknoMaterialMapper.getSalePlanMaterialNumber(map);
+        if(materialNumberPlan==null){
+            materialNumberPlan=new BigDecimal(0);
+        }
+        //查询当前该销售计划下已有的销售订单中该物资件数的总和
+        BigDecimal materialNumberAll = amsSaleTrucknoMaterialMapper.getAllSaleOrderMaterialNumber(map);
+        if(materialNumberAll==null){
+            materialNumberAll = new BigDecimal(0);
+        }
+        //获取当前的物资件数
+        BigDecimal materialNumberNow = amsSaleTrucknoMaterial.getSaleOrderMaterialNumber();
+        if(materialNumberNow==null){
+            materialNumberNow = new BigDecimal(0);
+        }
+        //物资件数总数
+        BigDecimal all = new BigDecimal((materialNumberAll.longValue()+materialNumberNow.longValue()));
+        if(all.longValue()<=materialNumberPlan.longValue()&&materialNumberPlan.longValue()!=0){
+            long id;
+            if(amsSaleTrucknoMaterialMapper.selectMaxId()==null){
+                id = 1;
+            }else {
+                id = amsSaleTrucknoMaterialMapper.selectMaxId().longValue()+1;
+            }
+            //生成主键id
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(new BigDecimal(id));
+            //常规字段
+            amsSaleTrucknoMaterial.setInsertUsername("admin");
+            amsSaleTrucknoMaterial.setInsertTime(new Date());
+            amsSaleTrucknoMaterial.setUpdateUsername("admin");
+            amsSaleTrucknoMaterial.setUpdateTime(new Date());
+            amsSaleTrucknoMaterial.setInsertUpdateRemark("无");
+            return amsSaleTrucknoMaterialMapper.insert(amsSaleTrucknoMaterial);
+        }else {
+            return 0;
+        }
+
+    }
+
+    @Override
+    public int deleteAmsSaleTrucknoMaterial(BigDecimal saleOrderMaterialId) {
+        return amsSaleTrucknoMaterialMapper.deleteByPrimaryKey(saleOrderMaterialId);
+    }
+
+    @Override
+    public List<Map<String, Object>> getAmsSaleTrucknoMaterial(BigDecimal trucknoMaterialId) {
+        return amsSaleTrucknoMaterialMapper.selectByTrucknoMaterialId(trucknoMaterialId);
+    }
+
+    @Override
+    public int updateAmsSaleTrucknoMaterial(AmsSaleTrucknoMaterial amsSaleTrucknoMaterial) {
+        amsSaleTrucknoMaterial.setUpdateTime(new Date());
+        return amsSaleTrucknoMaterialMapper.updateByPrimaryKeySelective(amsSaleTrucknoMaterial);
+    }
+}

+ 652 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsContractTruckPriceMapper.xml

@@ -0,0 +1,652 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmsContractTruckPriceMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsContractTransportPrice">
+    <id column="PRICE_ID" jdbcType="DECIMAL" property="priceId" />
+    <result column="SHIPPER_ID" jdbcType="DECIMAL" property="shipperId" />
+    <result column="CARRIER_ID" jdbcType="DECIMAL" property="carrierId" />
+    <result column="LINE_ID" jdbcType="DECIMAL" property="lineId" />
+    <result column="CAPACITY_ID" jdbcType="DECIMAL" property="capacityId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="PRICE_TON_KILOMETER" jdbcType="DECIMAL" property="priceTonKilometer" />
+    <result column="PRICE_VALUE" jdbcType="DECIMAL" property="priceValue" />
+    <result column="PRICE_DATE" jdbcType="TIMESTAMP" property="priceDate" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+    <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
+    <result column="ADDRESS_ID" jdbcType="DECIMAL" property="addressId" />
+  </resultMap>
+  <sql id="columns">
+    PRICE_ID, SHIPPER_ID, CARRIER_ID, LINE_ID, CAPACITY_ID, MATERIAL_ID, PRICE_TON_KILOMETER, 
+    PRICE_VALUE, PRICE_DATE, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+    INSERT_UPDATE_REMARK, DELETED, ADDRESS_ID
+  </sql>
+  <sql id="columns_alias">
+    t.PRICE_ID, t.SHIPPER_ID, t.CARRIER_ID, t.LINE_ID, t.CAPACITY_ID, t.MATERIAL_ID, 
+    t.PRICE_TON_KILOMETER, t.PRICE_VALUE, t.PRICE_DATE, t.INSERT_USERNAME, t.INSERT_TIME, 
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED, t.ADDRESS_ID
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM AMS_CONTRACT_TRANSPORT_PRICE
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM AMS_CONTRACT_TRANSPORT_PRICE t
+  </sql>
+  <sql id="where">
+    <where>
+      <if test="priceId != null">
+        and PRICE_ID = #{priceId}
+      </if>
+      <if test="shipperId != null">
+        and SHIPPER_ID = #{shipperId}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="lineId != null">
+        and LINE_ID = #{lineId}
+      </if>
+      <if test="capacityId != null">
+        and CAPACITY_ID = #{capacityId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="priceTonKilometer != null">
+        and PRICE_TON_KILOMETER = #{priceTonKilometer}
+      </if>
+      <if test="priceValue != null">
+        and PRICE_VALUE = #{priceValue}
+      </if>
+      <if test="priceDate != null">
+        and TO_CHAR(PRICE_DATE,'yyyy-MM-dd') = #{priceDate}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="addressId != null">
+        and ADDRESS_ID = #{addressId}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where>
+      <if test="priceId != null">
+        and PRICE_ID = #{priceId}
+      </if>
+      <if test="shipperId != null">
+        and SHIPPER_ID = #{shipperId}
+      </if>
+      <if test="carrierId != null">
+        and CARRIER_ID = #{carrierId}
+      </if>
+      <if test="lineId != null">
+        and LINE_ID = #{lineId}
+      </if>
+      <if test="capacityId != null">
+        and CAPACITY_ID = #{capacityId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="priceTonKilometer != null">
+        and PRICE_TON_KILOMETER = #{priceTonKilometer}
+      </if>
+      <if test="priceValue != null">
+        and PRICE_VALUE = #{priceValue}
+      </if>
+      <if test="priceDate != null">
+        and TO_CHAR(PRICE_DATE,'yyyy-MM-dd') = #{priceDate}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+      <if test="deleted != null">
+        and DELETED = #{deleted}
+      </if>
+      <if test="addressId != null">
+        and ADDRESS_ID = #{addressId}
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_CONTRACT_TRANSPORT_PRICE
+    where PRICE_ID = #{priceId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_CONTRACT_TRANSPORT_PRICE
+    where 1!=1
+    <if test="shipperId != null">
+      or SHIPPER_ID = #{shipperId}
+    </if>
+    <if test="carrierId != null">
+      or CARRIER_ID = #{carrierId}
+    </if>
+    <if test="lineId != null">
+      or LINE_ID = #{lineId}
+    </if>
+    <if test="capacityId != null">
+      or CAPACITY_ID = #{capacityId}
+    </if>
+    <if test="materialId != null">
+      or MATERIAL_ID = #{materialId}
+    </if>
+    <if test="priceTonKilometer != null">
+      or PRICE_TON_KILOMETER = #{priceTonKilometer}
+    </if>
+    <if test="priceValue != null">
+      or PRICE_VALUE = #{priceValue}
+    </if>
+    <if test="priceDate != null">
+      or TO_CHAR(PRICE_DATE,'yyyy-MM-dd') = '#{priceDate}'
+    </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="addressId != null">
+      or ADDRESS_ID = #{addressId}
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
+    insert into AMS_CONTRACT_TRANSPORT_PRICE (PRICE_ID, SHIPPER_ID, CARRIER_ID,
+                                              LINE_ID, CAPACITY_ID, MATERIAL_ID,
+                                              PRICE_TON_KILOMETER, PRICE_VALUE, PRICE_DATE,
+                                              INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+                                              UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
+                                              ADDRESS_ID)
+    values (#{priceId,jdbcType=DECIMAL}, #{shipperId,jdbcType=DECIMAL}, #{carrierId,jdbcType=DECIMAL},
+            #{lineId,jdbcType=DECIMAL}, #{capacityId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL},
+            #{priceTonKilometer,jdbcType=DECIMAL}, #{priceValue,jdbcType=DECIMAL}, #{priceDate,jdbcType=TIMESTAMP},
+            #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
+            #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
+            #{addressId,jdbcType=DECIMAL})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
+    insert into AMS_CONTRACT_TRANSPORT_PRICE
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="priceId != null">
+        PRICE_ID,
+      </if>
+      <if test="shipperId != null">
+        SHIPPER_ID,
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID,
+      </if>
+      <if test="lineId != null">
+        LINE_ID,
+      </if>
+      <if test="capacityId != null">
+        CAPACITY_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="priceTonKilometer != null">
+        PRICE_TON_KILOMETER,
+      </if>
+      <if test="priceValue != null">
+        PRICE_VALUE,
+      </if>
+      <if test="priceDate != null">
+        PRICE_DATE,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+      <if test="deleted != null">
+        DELETED,
+      </if>
+      <if test="addressId != null">
+        ADDRESS_ID,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="priceId != null">
+        #{priceId,jdbcType=DECIMAL},
+      </if>
+      <if test="shipperId != null">
+        #{shipperId,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="lineId != null">
+        #{lineId,jdbcType=DECIMAL},
+      </if>
+      <if test="capacityId != null">
+        #{capacityId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="priceTonKilometer != null">
+        #{priceTonKilometer,jdbcType=DECIMAL},
+      </if>
+      <if test="priceValue != null">
+        #{priceValue,jdbcType=DECIMAL},
+      </if>
+      <if test="priceDate != null">
+        #{priceDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="addressId != null">
+        #{addressId,jdbcType=DECIMAL},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
+    update AMS_CONTRACT_TRANSPORT_PRICE
+    set SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+        LINE_ID = #{lineId,jdbcType=DECIMAL},
+        CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+        PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
+        PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
+        PRICE_DATE = #{priceDate,jdbcType=TIMESTAMP},
+        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},
+        ADDRESS_ID = #{addressId,jdbcType=DECIMAL}
+    where PRICE_ID = #{priceId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsContractTransportPrice">
+    update AMS_CONTRACT_TRANSPORT_PRICE
+    <set>
+      <if test="shipperId != null">
+        SHIPPER_ID = #{shipperId,jdbcType=DECIMAL},
+      </if>
+      <if test="carrierId != null">
+        CARRIER_ID = #{carrierId,jdbcType=DECIMAL},
+      </if>
+      <if test="lineId != null">
+        LINE_ID = #{lineId,jdbcType=DECIMAL},
+      </if>
+      <if test="capacityId != null">
+        CAPACITY_ID = #{capacityId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="priceTonKilometer != null">
+        PRICE_TON_KILOMETER = #{priceTonKilometer,jdbcType=DECIMAL},
+      </if>
+      <if test="priceValue != null">
+        PRICE_VALUE = #{priceValue,jdbcType=DECIMAL},
+      </if>
+      <if test="priceDate != null">
+        PRICE_DATE = #{priceDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+      <if test="deleted != null">
+        DELETED = #{deleted,jdbcType=DECIMAL},
+      </if>
+      <if test="addressId != null">
+        ADDRESS_ID = #{addressId,jdbcType=DECIMAL},
+      </if>
+    </set>
+    where PRICE_ID = #{priceId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where PRICE_ID = #{priceId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMS_CONTRACT_TRANSPORT_PRICE
+    (PRICE_ID,
+    SHIPPER_ID, CARRIER_ID, LINE_ID,
+    CAPACITY_ID, MATERIAL_ID, PRICE_TON_KILOMETER,
+    PRICE_VALUE, PRICE_DATE, INSERT_USERNAME,
+    INSERT_TIME, UPDATE_USERNAME,
+    UPDATE_TIME, INSERT_UPDATE_REMARK,
+    DELETED, ADDRESS_ID)
+    ( <foreach collection="list" item="item" separator="union all">
+    select
+    #{item.priceId,jdbcType=DECIMAL},
+    #{item.shipperId,jdbcType=DECIMAL}, #{item.carrierId,jdbcType=DECIMAL}, #{item.lineId,jdbcType=DECIMAL},
+    #{item.capacityId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.priceTonKilometer,jdbcType=DECIMAL},
+    #{item.priceValue,jdbcType=DECIMAL}, #{item.priceDate,jdbcType=TIMESTAMP}, #{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.addressId,jdbcType=DECIMAL} from dual
+  </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+    update AMS_CONTRACT_TRANSPORT_PRICE
+    set
+    PRICE_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.priceId,jdbcType=DECIMAL}
+    </foreach>
+    ,SHIPPER_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.shipperId,jdbcType=DECIMAL}
+    </foreach>
+    ,CARRIER_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.carrierId,jdbcType=DECIMAL}
+    </foreach>
+    ,LINE_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.lineId,jdbcType=DECIMAL}
+    </foreach>
+    ,CAPACITY_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.capacityId,jdbcType=DECIMAL}
+    </foreach>
+    ,MATERIAL_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+    </foreach>
+    ,PRICE_TON_KILOMETER=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.priceTonKilometer,jdbcType=DECIMAL}
+    </foreach>
+    ,PRICE_VALUE=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.priceValue,jdbcType=DECIMAL}
+    </foreach>
+    ,PRICE_DATE=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.priceDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_USERNAME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,INSERT_TIME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,UPDATE_USERNAME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+    </foreach>
+    ,UPDATE_TIME=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+    </foreach>
+    ,INSERT_UPDATE_REMARK=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+    </foreach>
+    ,DELETED=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+    </foreach>
+    ,ADDRESS_ID=
+    <foreach collection="list" item="item" index="index" separator=" " open="case PRICE_ID" close="end">
+      when #{item.priceId,jdbcType=DECIMAL} then #{item.addressId,jdbcType=DECIMAL}
+    </foreach>
+    where PRICE_ID in
+    <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+      #{item.priceId,jdbcType=DECIMAL}
+    </foreach>
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_CONTRACT_TRANSPORT_PRICE
+    where PRICE_ID in
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  <select id="selectMaxId"  resultType="java.math.BigDecimal">
+    select max(PRICE_ID) from AMS_CONTRACT_TRANSPORT_PRICE
+  </select>
+
+  <select id="getAmsContractTransportPrice" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select * from(
+    select a_t_price.PRICE_ID "priceId",
+    r_r_address.ADDRESS_PROVINCE "addressProvince",
+    r_r_address.ADDRESS_DISTRICT "addressDistrict",
+    r_r_address.ADDRESS_TOWN "addressTown",
+    r_r_address.ADDRESS_DELIVERY_ADDRESS "addressDeliveryAddress",
+    r_line.LINE_PATH_LENGTH "linePathLength",
+    a_t_price.PRICE_VALUE "priceValue",
+    a_t_price.PRICE_TON_KILOMETER "priceTonKilometer",
+    a_t_price.PRICE_DATE "priceDate"
+    from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+    left join RMS_RECEIVE_ADDRESS r_r_address
+    on a_t_price.ADDRESS_ID=r_r_address.ADDRESS_ID
+    left join RMS_LINE r_line
+    on a_t_price.LINE_ID=r_line.LINE_ID
+    where a_t_price.DELETED = 0)
+    <where>
+      <if test="addressProvince != null">
+        and
+        <foreach collection="addressProvince" item="item" open="(" separator="or" close=")">
+          "addressProvince" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="addressDistrict != null">
+        and
+        <foreach collection="addressDistrict" item="item" open="(" separator="or" close=")">
+          "addressDistrict" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="addressTown != null">
+        and
+        <foreach collection="addressTown" item="item" open="(" separator="or" close=")">
+          "addressTown" 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="linePathLength != null">
+        and
+        <foreach collection="linePathLength" item="item" open="(" separator="or" close=")">
+          "linePathLength" like '%${item}%'
+        </foreach>
+      </if>
+
+      <if test="priceValue != null">
+        and
+        <foreach collection="priceValue" item="item" open="(" separator="or" close=")">
+          "priceValue" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="priceTonKilometer != null">
+        and
+        <foreach collection="priceTonKilometer" item="item" open="(" separator="or" close=")">
+          "priceTonKilometer" like '%${item}%'
+        </foreach>
+      </if>
+      <if test="priceDate != null">
+        and
+        <foreach collection="priceDate" item="item" open="(" separator="or" close=")">
+          "priceDate" like '%${item}%'
+        </foreach>
+      </if>
+    </where>
+    <include refid="orderBy"></include>
+  </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="getCarrierName" resultType="java.util.LinkedHashMap">
+    select
+      CARRIER_ID "id",
+      CARRIER_ID "value",
+      CARRIER_NAME "label"
+    from RMS_CARRIER
+  </select>
+
+  <select id="getLineNo" resultType="java.util.LinkedHashMap">
+    select
+      LINE_ID "id",
+      LINE_ID "value",
+      LINE_NO "label"
+    from RMS_LINE
+  </select>
+
+  <select id="getCapacityNumber" resultType="java.util.LinkedHashMap">
+    select
+      CAPACITY_ID "id",
+      CAPACITY_ID "value",
+      CAPACITY_NUMBER "label"
+    from RMS_CAPACITY
+  </select>
+
+  <select id="getAddressDeliveryAddress" resultType="java.util.LinkedHashMap">
+    select
+      ADDRESS_ID "id",
+      ADDRESS_ID "value",
+      ADDRESS_DELIVERY_ADDRESS "label"
+    from RMS_RECEIVE_ADDRESS
+  </select>
+
+  <select id="selectByPriceId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
+    select a_t_price.SHIPPER_ID "shipperId",
+           a_t_price.CARRIER_ID "carrierId",
+           a_t_price.LINE_ID "lineId",
+           a_t_price.CAPACITY_ID "capacityId",
+           a_t_price.MATERIAL_ID "materialId",
+           a_t_price.ADDRESS_ID "addressId",
+           a_t_price.PRICE_VALUE "priceValue",
+           a_t_price.PRICE_DATE "priceDate"
+    from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+    where a_t_price.PRICE_ID = #{priceId}
+  </select>
+
+  <select id="getOriginAndNowOilPrice" resultType="java.util.LinkedHashMap">
+    select rownum "rownum",
+           r_o_price.PRICE_VALUE "priceValue"
+    from RMS_OIL_PRICE r_o_price where r_o_price.PRICE_OIL_NAME='0号柴油'
+    order by r_o_price.PRICE_DATE desc
+  </select>
+
+  <update id="batchUpdateTransportPriceByOilPrice" parameterType="double">
+    update AMS_CONTRACT_TRANSPORT_PRICE
+    set PRICE_VALUE = ROUND(PRICE_VALUE * 0.65 + PRICE_VALUE * 0.35 * (1 + #{updateOilPrice}),2)
+  </update>
+
+  <select id="getLinePathLength" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+    select LINE_PATH_LENGTH "linePathLength" from RMS_LINE where LINE_ID = #{lineId}
+  </select>
+
+  <select id="getPriceValueAndPriceTonKilometer" resultType="java.util.LinkedHashMap">
+    select a_t_price.PRICE_ID "priceId",
+           a_t_price.PRICE_VALUE "priceValue",
+           a_t_price.PRICE_TON_KILOMETER "priceTonKilometer"
+           from AMS_CONTRACT_TRANSPORT_PRICE a_t_price
+  </select>
+
+  <update id="updatePriceTonKilometer" parameterType="java.math.BigDecimal">
+    update AMS_CONTRACT_TRANSPORT_PRICE set PRICE_TON_KILOMETER = #{priceTonKilometer}
+    where PRICE_ID = #{priceId}
+  </update>
+</mapper>

+ 77 - 96
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -606,8 +606,8 @@
     select * from(
     select a_s_order.SALE_ORDER_ID "saleOrderId",
     a_s_order.SALE_NUMBER "saleNumber",
-    tt.SUM1 "materialTheoreticalWeight",
-    tt.SUM2 "saleOrderMaterialNumber",
+    allmaterial_info.saleSum1 "materialTheoreticalWeight",
+    allmaterial_info.saleSum2 "saleOrderMaterialNumber",
     r_shipper.SHIPPER_NAME "shipperName",
     r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
     a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
@@ -619,16 +619,25 @@
     a_s_order.SALE_ORDER_TAX "saleOrderTax",
     a_s_order.SALE_REMARK "saleRemark"
     from AMS_SALE_ORDER a_s_order
-    left join (select sale_material.SALE_ORDER_ID s_order,
-    sum(sale_material.material_theoretical_weight) sum1,
-    sum(sale_material.sale_order_material_number) sum2
-    from ams_sale_order_material sale_material where sale_material.deleted=0 group by
-    sale_material.SALE_ORDER_ID) tt
-    on a_s_order.SALE_ORDER_ID=tt.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
+    on a_s_order.CONSIGNEE_ID=r_consignee.CONSIGNEE_ID
     where a_s_order.SALE_ORDER_STATUS=0 and a_s_order.DELETED=0)
     <where>
       <if test="saleNumber != null">
@@ -717,8 +726,8 @@
     select * from(
     select a_s_order.SALE_ORDER_ID "saleOrderId",
     a_s_order.SALE_NUMBER "saleNumber",
-    tt.SUM1 "materialTheoreticalWeight",
-    tt.SUM2 "saleOrderMaterialNumber",
+    allmaterial_info.saleSum1 "materialTheoreticalWeight",
+    allmaterial_info.saleSum2 "saleOrderMaterialNumber",
     r_shipper.SHIPPER_NAME "shipperName",
     r_consignee.CONSIGNEE_COMPANY_NAME "consigneeCompanyName",
     a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
@@ -730,16 +739,25 @@
     a_s_order.SALE_ORDER_TAX "saleOrderTax",
     a_s_order.SALE_REMARK "saleRemark"
     from AMS_SALE_ORDER a_s_order
-    left join (select sale_material.SALE_ORDER_ID s_order,
-    sum(sale_material.material_theoretical_weight) sum1,
-    sum(sale_material.sale_order_material_number) sum2
-    from ams_sale_order_material sale_material group by
-    sale_material.SALE_ORDER_ID) tt
-    on a_s_order.SALE_ORDER_ID=tt.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
+    on a_s_order.CONSIGNEE_ID=r_consignee.CONSIGNEE_ID
     where a_s_order.SALE_ORDER_STATUS=1)
     <where>
       <if test="saleNumber != null">
@@ -828,17 +846,11 @@
     select * from(
     select sale_material.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
     sale_material.SALE_ORDER_MATERIAL_TRUCK_NO "saleOrderMaterialTruckNo",
-    r_material.MATERIAL_NAME "materialName",
-    r_material.MATERIAL_SPECIFICATION "materialSpecification",
-    sale_material.SALE_ORDER_MATERIAL_NUMBER "saleOrderMaterialNumber",
-    sale_material.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
     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"
     from AMS_SALE_ORDER_MATERIAL sale_material
-    left join RMS_MATERIAL r_material
-    on sale_material.MATERIAL_ID=r_material.MATERIAL_ID
     left join AMS_SALE_ORDER a_s_order
     on sale_material.SALE_ORDER_ID=a_s_order.SALE_ORDER_ID
     left join RMS_RECEIVE_ADDRESS receive_address
@@ -908,54 +920,17 @@
     select * from(
     select
     sale_material.SALE_ORDER_MATERIAL_TRUCK_NO "saleOrderMaterialTruckNo",
-    r_material.MATERIAL_NAME "materialName",
-    r_material.MATERIAL_SPECIFICATION "materialSpecification",
-    sale_material.SALE_ORDER_MATERIAL_NUMBER "saleOrderMaterialNumber",
-    sale_material.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
     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"
     from AMS_SALE_ORDER_MATERIAL sale_material
-    left join RMS_MATERIAL r_material
-    on sale_material.MATERIAL_ID=r_material.MATERIAL_ID
     left join AMS_SALE_ORDER a_s_order
     on sale_material.SALE_ORDER_ID=a_s_order.SALE_ORDER_ID
     left join RMS_RECEIVE_ADDRESS receive_address
     on sale_material.SALE_SHIPPING_ADDRESS_ID=receive_address.ADDRESS_ID
     where sale_material.SALE_ORDER_ID=#{saleOrderId} and sale_material.DELETED=0)
     <where>
-      <if test="saleOrderMaterialTruckNo != null">
-        and
-        <foreach collection="saleOrderMaterialTruckNo" item="item" open="(" separator="or" close=")">
-          "saleOrderMaterialTruckNo" 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="materialSpecification != null">
-        and
-        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
-          "materialSpecification" 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="materialTheoreticalWeight != null">
-        and
-        <foreach collection="materialTheoreticalWeight" item="item" open="(" separator="or" close=")">
-          "materialTheoreticalWeight" like '%${item}%'
-        </foreach>
-      </if>
-
       <if test="saleShippingAddress != null">
         and
         <foreach collection="saleShippingAddress" item="item" open="(" separator="or" close=")">
@@ -984,14 +959,12 @@
     <include refid="orderBy"></include>
   </select>
 
-  <select id="getSaleArea" resultType="java.util.LinkedHashMap">
+  <select id="getSalePlanName" resultType="java.util.LinkedHashMap">
     select
       a_s_plan.PLAN_ID "id",
       a_s_plan.PLAN_ID "value",
-      r_s_area.AREA_NAME "label"
-    from RMS_SALE_AREA r_s_area
-           left join AMS_SALE_PLAN a_s_plan
-                     on r_s_area.AREA_ID=a_s_plan.SALE_AREA_ID
+      a_s_plan.PLAN_NAME "label"
+    from AMS_SALE_PLAN a_s_plan
   </select>
 
   <select id="getShipperName" resultType="java.util.LinkedHashMap">
@@ -1027,7 +1000,7 @@
     select
       a_s_order.PLAN_ID "planId",
       a_s_order.SHIPPER_ID "shipperId",
-      a_s_order.RECEIVE_ID "consigneeId",
+      a_s_order.CONSIGNEE_ID "consigneeId",
       a_s_order.SALE_ORDER_RECEIVE_CUSTOMER "saleOrderReceiveCustomer",
       a_s_order.SALE_ORDER_ISSELF_MENTION "saleOrderIsselfMention",
       a_s_order.SALE_REMARK "saleRemark"
@@ -1041,35 +1014,43 @@
   
   <select id="getAmsSaleOrderApproved" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     select * from(
-                   select a_s_order.SALE_ORDER_ID "saleOrderId",
-                          a_s_order.SALE_NUMBER "saleNumber",
-                          tt.SUM1 "materialTheoreticalWeight",
-                          tt.SUM2 "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"
-                   from AMS_SALE_ORDER a_s_order
-                          left join (select sale_material.SALE_ORDER_ID s_order,
-                                            sum(sale_material.material_theoretical_weight) sum1,
-                                            sum(sale_material.sale_order_material_number) sum2
-                                     from ams_sale_order_material sale_material where sale_material.deleted=0 group by
-                                       sale_material.SALE_ORDER_ID) tt
-                                    on a_s_order.SALE_ORDER_ID=tt.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
-                   )
+    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"
+    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.CONSIGNEE_ID=r_consignee.CONSIGNEE_ID
+    where a_s_order.SALE_ORDER_STATUS=4)
     <where>
       <if test="saleNumber != null">
         and

+ 86 - 141
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -5,10 +5,7 @@
     <id column="SALE_ORDER_MATERIAL_ID" jdbcType="DECIMAL" property="saleOrderMaterialId" />
     <result column="SALE_ORDER_ID" jdbcType="DECIMAL" property="saleOrderId" />
     <result column="SALE_ORDER_MATERIAL_TRUCK_NO" jdbcType="DECIMAL" property="saleOrderMaterialTruckNo" />
-    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
-    <result column="SALE_ORDER_MATERIAL_NUMBER" jdbcType="DECIMAL" property="saleOrderMaterialNumber" />
-    <result column="MATERIAL_THEORETICAL_WEIGHT" jdbcType="DECIMAL" property="materialTheoreticalWeight" />
-    <result column="SALE_SHIPPING_ADDRESS" jdbcType="VARCHAR" property="saleShippingAddress" />
+    <result column="SALE_SHIPPING_ADDRESS_ID" jdbcType="DECIMAL" property="saleShippingAddressId" />
     <result column="SALE_DATE_OF_RECEIPT" jdbcType="TIMESTAMP" property="saleDateOfReceipt" />
     <result column="SALE_ORDER_CONSIGNEE" jdbcType="VARCHAR" property="saleOrderConsignee" />
     <result column="SALE_ORDER_CONSIGNEE_TEL" jdbcType="VARCHAR" property="saleOrderConsigneeTel" />
@@ -21,23 +18,21 @@
     <result column="UPDATED" jdbcType="DECIMAL" property="updated" />
   </resultMap>
   <sql id="columns">
-    SALE_ORDER_MATERIAL_ID, SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO, MATERIAL_ID, 
-    SALE_ORDER_MATERIAL_NUMBER, MATERIAL_THEORETICAL_WEIGHT, SALE_SHIPPING_ADDRESS, SALE_DATE_OF_RECEIPT, 
-    SALE_ORDER_CONSIGNEE, SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
-    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED, UPDATED
+    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
   </sql>
   <sql id="columns_alias">
-    t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_ID, t.SALE_ORDER_MATERIAL_TRUCK_NO, t.MATERIAL_ID, 
-    t.SALE_ORDER_MATERIAL_NUMBER, t.MATERIAL_THEORETICAL_WEIGHT, t.SALE_SHIPPING_ADDRESS, 
+    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
   </sql>
   <sql id="select">
-    SELECT <include refid="columns"/> FROM AMS_SALE_ORDER_MATERIAL
+    SELECT <include refid="columns" /> FROM AMS_SALE_ORDER_MATERIAL
   </sql>
   <sql id="select_alias">
-    SELECT <include refid="columns_alias"/> FROM AMS_SALE_ORDER_MATERIAL t
+    SELECT <include refid="columns_alias" /> FROM AMS_SALE_ORDER_MATERIAL t
   </sql>
   <sql id="where">
     <where>
@@ -50,17 +45,8 @@
       <if test="saleOrderMaterialTruckNo != null">
         and SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
       </if>
-      <if test="materialId != null">
-        and MATERIAL_ID = #{materialId}
-      </if>
-      <if test="saleOrderMaterialNumber != null">
-        and SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
-      </if>
-      <if test="materialTheoreticalWeight != null">
-        and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
-      </if>
-      <if test="saleShippingAddress != null and saleShippingAddress != ''">
-        and SALE_SHIPPING_ADDRESS = #{saleShippingAddress}
+      <if test="saleShippingAddressId != null">
+        and SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
       </if>
       <if test="saleDateOfReceipt != null">
         and TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = #{saleDateOfReceipt}
@@ -105,17 +91,8 @@
       <if test="saleOrderMaterialTruckNo != null">
         and SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
       </if>
-      <if test="materialId != null">
-        and MATERIAL_ID = #{materialId}
-      </if>
-      <if test="saleOrderMaterialNumber != null">
-        and SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
-      </if>
-      <if test="materialTheoreticalWeight != null">
-        and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
-      </if>
-      <if test="saleShippingAddress != null and saleShippingAddress != ''">
-        and SALE_SHIPPING_ADDRESS LIKE '%${saleShippingAddress}%'
+      <if test="saleShippingAddressId != null">
+        and SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId}
       </if>
       <if test="saleDateOfReceipt != null">
         and TO_CHAR(SALE_DATE_OF_RECEIPT,'yyyy-MM-dd') = #{saleDateOfReceipt}
@@ -162,17 +139,8 @@
     <if test="saleOrderMaterialTruckNo != null">
       or SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo}
     </if>
-    <if test="materialId != null">
-      or MATERIAL_ID = #{materialId}
-    </if>
-    <if test="saleOrderMaterialNumber != null">
-      or SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
-    </if>
-    <if test="materialTheoreticalWeight != null">
-      or MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
-    </if>
-    <if test="saleShippingAddress != null and saleShippingAddress != ''">
-      or SALE_SHIPPING_ADDRESS = #{saleShippingAddress}
+    <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}'
@@ -207,16 +175,14 @@
   </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, MATERIAL_ID, SALE_ORDER_MATERIAL_NUMBER,
-                                         MATERIAL_THEORETICAL_WEIGHT, SALE_SHIPPING_ADDRESS,
+                                         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}, #{materialId,jdbcType=DECIMAL}, #{saleOrderMaterialNumber,jdbcType=DECIMAL},
-            #{materialTheoreticalWeight,jdbcType=DECIMAL}, #{saleShippingAddress,jdbcType=VARCHAR},
+            #{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},
@@ -235,17 +201,8 @@
       <if test="saleOrderMaterialTruckNo != null">
         SALE_ORDER_MATERIAL_TRUCK_NO,
       </if>
-      <if test="materialId != null">
-        MATERIAL_ID,
-      </if>
-      <if test="saleOrderMaterialNumber != null">
-        SALE_ORDER_MATERIAL_NUMBER,
-      </if>
-      <if test="materialTheoreticalWeight != null">
-        MATERIAL_THEORETICAL_WEIGHT,
-      </if>
-      <if test="saleShippingAddress != null">
-        SALE_SHIPPING_ADDRESS,
+      <if test="saleShippingAddressId != null">
+        SALE_SHIPPING_ADDRESS_ID,
       </if>
       <if test="saleDateOfReceipt != null">
         SALE_DATE_OF_RECEIPT,
@@ -288,17 +245,8 @@
       <if test="saleOrderMaterialTruckNo != null">
         #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
       </if>
-      <if test="materialId != null">
-        #{materialId,jdbcType=DECIMAL},
-      </if>
-      <if test="saleOrderMaterialNumber != null">
-        #{saleOrderMaterialNumber,jdbcType=DECIMAL},
-      </if>
-      <if test="materialTheoreticalWeight != null">
-        #{materialTheoreticalWeight,jdbcType=DECIMAL},
-      </if>
-      <if test="saleShippingAddress != null">
-        #{saleShippingAddress,jdbcType=VARCHAR},
+      <if test="saleShippingAddressId != null">
+        #{saleShippingAddressId,jdbcType=DECIMAL},
       </if>
       <if test="saleDateOfReceipt != null">
         #{saleDateOfReceipt,jdbcType=TIMESTAMP},
@@ -336,10 +284,7 @@
     update AMS_SALE_ORDER_MATERIAL
     set SALE_ORDER_ID = #{saleOrderId,jdbcType=DECIMAL},
         SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
-        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-        SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber,jdbcType=DECIMAL},
-        MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
-        SALE_SHIPPING_ADDRESS = #{saleShippingAddress,jdbcType=VARCHAR},
+        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},
@@ -361,17 +306,8 @@
       <if test="saleOrderMaterialTruckNo != null">
         SALE_ORDER_MATERIAL_TRUCK_NO = #{saleOrderMaterialTruckNo,jdbcType=DECIMAL},
       </if>
-      <if test="materialId != null">
-        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-      </if>
-      <if test="saleOrderMaterialNumber != null">
-        SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber,jdbcType=DECIMAL},
-      </if>
-      <if test="materialTheoreticalWeight != null">
-        MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
-      </if>
-      <if test="saleShippingAddress != null">
-        SALE_SHIPPING_ADDRESS = #{saleShippingAddress,jdbcType=VARCHAR},
+      <if test="saleShippingAddressId != null">
+        SALE_SHIPPING_ADDRESS_ID = #{saleShippingAddressId,jdbcType=DECIMAL},
       </if>
       <if test="saleDateOfReceipt != null">
         SALE_DATE_OF_RECEIPT = #{saleDateOfReceipt,jdbcType=TIMESTAMP},
@@ -407,121 +343,107 @@
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </update>
   <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
-    <include refid="select"/>
+    <include refid="select" />
     where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL}
   </select>
   <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="where"/>
+    <include refid="select" />
+    <include refid="where" />
   </select>
   <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
-    <include refid="select"/>
-    <include refid="whereLike"/>
+    <include refid="select" />
+    <include refid="whereLike" />
   </select>
   <insert id="batchInsert" parameterType="java.util.List">
     insert into AMS_SALE_ORDER_MATERIAL
     (SALE_ORDER_MATERIAL_ID,
     SALE_ORDER_ID, SALE_ORDER_MATERIAL_TRUCK_NO,
-    MATERIAL_ID, SALE_ORDER_MATERIAL_NUMBER,
-    MATERIAL_THEORETICAL_WEIGHT, SALE_SHIPPING_ADDRESS,
-    SALE_DATE_OF_RECEIPT, SALE_ORDER_CONSIGNEE,
-    SALE_ORDER_CONSIGNEE_TEL, INSERT_USERNAME,
-    INSERT_TIME, UPDATE_USERNAME,
-    UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, UPDATED)
+    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.materialId,jdbcType=DECIMAL}, #{item.saleOrderMaterialNumber,jdbcType=DECIMAL},
-    #{item.materialTheoreticalWeight,jdbcType=DECIMAL}, #{item.saleShippingAddress,jdbcType=VARCHAR},
-    #{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
+    #{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>
   <update id="batchUpdate" parameterType="java.util.List">
     update AMS_SALE_ORDER_MATERIAL
     set
     SALE_ORDER_MATERIAL_ID=
-    <foreach collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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>
-    ,MATERIAL_ID=
-    <foreach collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_ORDER_MATERIAL_NUMBER=
-    <foreach collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialNumber,jdbcType=DECIMAL}
-    </foreach>
-    ,MATERIAL_THEORETICAL_WEIGHT=
-    <foreach collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.materialTheoreticalWeight,jdbcType=DECIMAL}
-    </foreach>
-    ,SALE_SHIPPING_ADDRESS=
-    <foreach collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
-      when #{item.saleOrderMaterialId,jdbcType=DECIMAL} then #{item.saleShippingAddress,jdbcType=VARCHAR}
+    ,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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" item="item" index="index" separator=" " open="case SALE_ORDER_MATERIAL_ID" close="end">
+    <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 collection="list" index="index" item="item" separator="," open="(" close=")">
+    <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
-    <foreach collection="list" item="id" open="(" close=")" separator=",">
+    <foreach close=")" collection="list" item="id" open="(" separator=",">
       #{id}
     </foreach>
   </delete>
@@ -532,22 +454,45 @@
     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>
+
+  <insert id="insertReceiveAddress" parameterType="java.util.Map">
+    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
-      sale_material.SALE_ORDER_MATERIAL_TRUCK_NO "saleOrderMaterialTruckNo",
-      sale_material.MATERIAL_ID "materialId",
-      sale_material.SALE_ORDER_MATERIAL_NUMBER "saleOrderMaterialNumber",
-      sale_material.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
-      sale_material.SALE_SHIPPING_ADDRESS "saleShippingAddress",
+      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
     where sale_material.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
 
   <select id="getAddress" parameterType="java.math.BigDecimal" resultType="String">
-    select SALE_SHIPPING_ADDRESS from AMS_SALE_ORDER_MATERIAL where SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    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
+    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}
+  </select>
+
+  <select id="getAddressDeliveryAddress" resultType="java.util.LinkedHashMap">
+    select
+      ADDRESS_ID "id",
+      ADDRESS_ID "value",
+      ADDRESS_DELIVERY_ADDRESS "label"
+    from RMS_RECEIVE_ADDRESS
   </select>
 
   <!-- 展示所有未分派车辆的销售订单的车序号 -->

+ 37 - 77
src/main/resources/com/steerinfo/dil/mapper/AmsSalePlanMapper.xml

@@ -4,8 +4,7 @@
   <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSalePlan">
     <id column="PLAN_ID" jdbcType="DECIMAL" property="planId" />
     <result column="PLAN_DATE" jdbcType="TIMESTAMP" property="planDate" />
-    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
-    <result column="PLAN_MATERIAL_NUMBER" jdbcType="DECIMAL" property="planMaterialNumber" />
+    <result column="PLAN_NAME" jdbcType="VARCHAR" property="planName" />
     <result column="SALE_AREA_ID" jdbcType="DECIMAL" property="saleAreaId" />
     <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
     <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
@@ -15,12 +14,12 @@
     <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
   </resultMap>
   <sql id="columns">
-    PLAN_ID, PLAN_DATE, MATERIAL_ID, PLAN_MATERIAL_NUMBER, SALE_AREA_ID, INSERT_USERNAME, 
-    INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED
+    PLAN_ID, PLAN_DATE, PLAN_NAME, SALE_AREA_ID, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
+    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED
   </sql>
   <sql id="columns_alias">
-    t.PLAN_ID, t.PLAN_DATE, t.MATERIAL_ID, t.PLAN_MATERIAL_NUMBER, t.SALE_AREA_ID, t.INSERT_USERNAME, 
-    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED
+    t.PLAN_ID, t.PLAN_DATE, t.PLAN_NAME, t.SALE_AREA_ID, t.INSERT_USERNAME, t.INSERT_TIME,
+    t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.DELETED
   </sql>
   <sql id="select">
     SELECT <include refid="columns"/> FROM AMS_SALE_PLAN
@@ -36,11 +35,8 @@
       <if test="planDate != null">
         and TO_CHAR(PLAN_DATE,'yyyy-MM-dd') = #{planDate}
       </if>
-      <if test="materialId != null">
-        and MATERIAL_ID = #{materialId}
-      </if>
-      <if test="planMaterialNumber != null">
-        and PLAN_MATERIAL_NUMBER = #{planMaterialNumber}
+      <if test="planName != null and planName != ''">
+        and PLAN_NAME = #{planName}
       </if>
       <if test="saleAreaId != null">
         and SALE_AREA_ID = #{saleAreaId}
@@ -73,11 +69,8 @@
       <if test="planDate != null">
         and TO_CHAR(PLAN_DATE,'yyyy-MM-dd') = #{planDate}
       </if>
-      <if test="materialId != null">
-        and MATERIAL_ID = #{materialId}
-      </if>
-      <if test="planMaterialNumber != null">
-        and PLAN_MATERIAL_NUMBER = #{planMaterialNumber}
+      <if test="planName != null and planName != ''">
+        and PLAN_NAME LIKE '%${planName}%'
       </if>
       <if test="saleAreaId != null">
         and SALE_AREA_ID = #{saleAreaId}
@@ -112,11 +105,8 @@
     <if test="planDate != null">
       or TO_CHAR(PLAN_DATE,'yyyy-MM-dd') = '#{planDate}'
     </if>
-    <if test="materialId != null">
-      or MATERIAL_ID = #{materialId}
-    </if>
-    <if test="planMaterialNumber != null">
-      or PLAN_MATERIAL_NUMBER = #{planMaterialNumber}
+    <if test="planName != null and planName != ''">
+      or PLAN_NAME = #{planName}
     </if>
     <if test="saleAreaId != null">
       or SALE_AREA_ID = #{saleAreaId}
@@ -141,14 +131,14 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSalePlan">
-    insert into AMS_SALE_PLAN (PLAN_ID, PLAN_DATE, MATERIAL_ID,
-                               PLAN_MATERIAL_NUMBER, SALE_AREA_ID, INSERT_USERNAME,
-                               INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
-                               INSERT_UPDATE_REMARK, DELETED)
-    values (#{planId,jdbcType=DECIMAL}, #{planDate,jdbcType=TIMESTAMP}, #{materialId,jdbcType=DECIMAL},
-            #{planMaterialNumber,jdbcType=DECIMAL}, #{saleAreaId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR},
-            #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
-            #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL})
+    insert into AMS_SALE_PLAN (PLAN_ID, PLAN_DATE, PLAN_NAME,
+                               SALE_AREA_ID, INSERT_USERNAME, INSERT_TIME,
+                               UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
+                               DELETED)
+    values (#{planId,jdbcType=DECIMAL}, #{planDate,jdbcType=TIMESTAMP}, #{planName,jdbcType=VARCHAR},
+            #{saleAreaId,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP},
+            #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR},
+            #{deleted,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSalePlan">
     insert into AMS_SALE_PLAN
@@ -159,11 +149,8 @@
       <if test="planDate != null">
         PLAN_DATE,
       </if>
-      <if test="materialId != null">
-        MATERIAL_ID,
-      </if>
-      <if test="planMaterialNumber != null">
-        PLAN_MATERIAL_NUMBER,
+      <if test="planName != null">
+        PLAN_NAME,
       </if>
       <if test="saleAreaId != null">
         SALE_AREA_ID,
@@ -194,11 +181,8 @@
       <if test="planDate != null">
         #{planDate,jdbcType=TIMESTAMP},
       </if>
-      <if test="materialId != null">
-        #{materialId,jdbcType=DECIMAL},
-      </if>
-      <if test="planMaterialNumber != null">
-        #{planMaterialNumber,jdbcType=DECIMAL},
+      <if test="planName != null">
+        #{planName,jdbcType=VARCHAR},
       </if>
       <if test="saleAreaId != null">
         #{saleAreaId,jdbcType=DECIMAL},
@@ -226,8 +210,7 @@
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSalePlan">
     update AMS_SALE_PLAN
     set PLAN_DATE = #{planDate,jdbcType=TIMESTAMP},
-        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-        PLAN_MATERIAL_NUMBER = #{planMaterialNumber,jdbcType=DECIMAL},
+        PLAN_NAME = #{planName,jdbcType=VARCHAR},
         SALE_AREA_ID = #{saleAreaId,jdbcType=DECIMAL},
         INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
         INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
@@ -243,11 +226,8 @@
       <if test="planDate != null">
         PLAN_DATE = #{planDate,jdbcType=TIMESTAMP},
       </if>
-      <if test="materialId != null">
-        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
-      </if>
-      <if test="planMaterialNumber != null">
-        PLAN_MATERIAL_NUMBER = #{planMaterialNumber,jdbcType=DECIMAL},
+      <if test="planName != null">
+        PLAN_NAME = #{planName,jdbcType=VARCHAR},
       </if>
       <if test="saleAreaId != null">
         SALE_AREA_ID = #{saleAreaId,jdbcType=DECIMAL},
@@ -288,15 +268,15 @@
   <insert id="batchInsert" parameterType="java.util.List">
     insert into AMS_SALE_PLAN
     (PLAN_ID,
-    PLAN_DATE, MATERIAL_ID, PLAN_MATERIAL_NUMBER,
-    SALE_AREA_ID, INSERT_USERNAME, INSERT_TIME,
+    PLAN_DATE, PLAN_NAME, SALE_AREA_ID,
+    INSERT_USERNAME, INSERT_TIME,
     UPDATE_USERNAME, UPDATE_TIME,
     INSERT_UPDATE_REMARK, DELETED)
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.planId,jdbcType=DECIMAL},
-    #{item.planDate,jdbcType=TIMESTAMP}, #{item.materialId,jdbcType=DECIMAL}, #{item.planMaterialNumber,jdbcType=DECIMAL},
-    #{item.saleAreaId,jdbcType=DECIMAL}, #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+    #{item.planDate,jdbcType=TIMESTAMP}, #{item.planName,jdbcType=VARCHAR}, #{item.saleAreaId,jdbcType=DECIMAL},
+    #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
     #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
     #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL} from dual
   </foreach> )
@@ -312,13 +292,9 @@
     <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
       when #{item.planId,jdbcType=DECIMAL} then #{item.planDate,jdbcType=TIMESTAMP}
     </foreach>
-    ,MATERIAL_ID=
-    <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
-      when #{item.planId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
-    </foreach>
-    ,PLAN_MATERIAL_NUMBER=
+    ,PLAN_NAME=
     <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
-      when #{item.planId,jdbcType=DECIMAL} then #{item.planMaterialNumber,jdbcType=DECIMAL}
+      when #{item.planId,jdbcType=DECIMAL} then #{item.planName,jdbcType=VARCHAR}
     </foreach>
     ,SALE_AREA_ID=
     <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_ID" close="end">
@@ -367,15 +343,11 @@
     select * from(
     select a_s_plan.PLAN_ID "planId",
     a_s_plan.PLAN_DATE "planDate",
-    r_material.MATERIAL_SPECIFICATION "materialSpecification",
     r_s_area.AREA_NAME "areaName",
-    a_s_plan.PLAN_MATERIAL_NUMBER "planMaterialNumber",
     a_s_plan.INSERT_USERNAME "insertUsername",
     a_s_plan.INSERT_TIME "insertTime",
     a_s_plan.INSERT_UPDATE_REMARK "insertUpdateRemark"
     from AMS_SALE_PLAN a_s_plan
-    left join RMS_MATERIAL r_material
-    on a_s_plan.MATERIAL_ID=r_material.MATERIAL_ID
     left join RMS_SALE_AREA r_s_area
     on a_s_plan.SALE_AREA_ID=r_s_area.AREA_ID
     where a_s_plan.DELETED=0)
@@ -386,24 +358,12 @@
           "planDate" like '%${item}%'
         </foreach>
       </if>
-      <if test="materialSpecification != null">
-        and
-        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
-          "materialSpecification" like '%${item}%'
-        </foreach>
-      </if>
       <if test="areaName != null">
         and
         <foreach collection="areaName" item="item" open="(" separator="or" close=")">
           "areaName" like '%${item}%'
         </foreach>
       </if>
-      <if test="planMaterialNumber != null">
-        and
-        <foreach collection="planMaterialNumber" item="item" open="(" separator="or" close=")">
-          "planMaterialNumber" like '%${item}%'
-        </foreach>
-      </if>
       <if test="insertUsername != null">
         and
         <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
@@ -443,7 +403,7 @@
     select
       MATERIAL_ID "id",
       MATERIAL_ID "value",
-      MATERIAL_SPECIFICATION "label"
+      MATERIAL_CODE "label"
     from RMS_MATERIAL
   </select>
 
@@ -458,17 +418,17 @@
   <select id="selectByPlanId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
     select
       a_s_plan.PLAN_DATE "planDate",
-      r_material.MATERIAL_SPECIFICATION "materialSpecification",
       r_s_area.AREA_NAME "areaName",
-      a_s_plan.PLAN_MATERIAL_NUMBER "planMaterialNumber",
       a_s_plan.INSERT_USERNAME "insertUsername",
       a_s_plan.INSERT_TIME "insertTime",
       a_s_plan.INSERT_UPDATE_REMARK "insertUpdateRemark"
     from AMS_SALE_PLAN a_s_plan
-           left join RMS_MATERIAL r_material
-                     on a_s_plan.MATERIAL_ID=r_material.MATERIAL_ID
            left join RMS_SALE_AREA r_s_area
                      on a_s_plan.SALE_AREA_ID=r_s_area.AREA_ID
     where a_s_plan.PLAN_ID = #{planId}
   </select>
+
+  <select id="getAreaNameByAreaId" parameterType="java.math.BigDecimal" resultType="String">
+    select r_s_area.AREA_NAME "areaName" from RMS_SALE_AREA r_s_area where r_s_area.AREA_ID = #{areaId}
+  </select>
 </mapper>

+ 339 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSalePlanMaterialMapper.xml

@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmsSalePlanMaterialMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSalePlanMaterial">
+    <id column="PLAN_MATERIAL_ID" jdbcType="DECIMAL" property="planMaterialId" />
+    <result column="SALE_PLAN_ID" jdbcType="DECIMAL" property="salePlanId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="MATERIAL_NUMBER" jdbcType="DECIMAL" property="materialNumber" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+  </resultMap>
+  <sql id="columns">
+    PLAN_MATERIAL_ID, SALE_PLAN_ID, MATERIAL_ID, MATERIAL_NUMBER, INSERT_USERNAME, INSERT_TIME, 
+    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.PLAN_MATERIAL_ID, t.SALE_PLAN_ID, t.MATERIAL_ID, t.MATERIAL_NUMBER, t.INSERT_USERNAME, 
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM AMS_SALE_PLAN_MATERIAL
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM AMS_SALE_PLAN_MATERIAL t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="planMaterialId != null">
+        and PLAN_MATERIAL_ID = #{planMaterialId}
+      </if>
+      <if test="salePlanId != null">
+        and SALE_PLAN_ID = #{salePlanId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="planMaterialId != null">
+        and PLAN_MATERIAL_ID = #{planMaterialId}
+      </if>
+      <if test="salePlanId != null">
+        and SALE_PLAN_ID = #{salePlanId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="materialNumber != null">
+        and MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_SALE_PLAN_MATERIAL
+    where PLAN_MATERIAL_ID = #{planMaterialId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_SALE_PLAN_MATERIAL
+    where 1!=1 
+      <if test="salePlanId != null">
+        or SALE_PLAN_ID = #{salePlanId}
+      </if>
+      <if test="materialId != null">
+        or MATERIAL_ID = #{materialId}
+      </if>
+      <if test="materialNumber != null">
+        or MATERIAL_NUMBER = #{materialNumber}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSalePlanMaterial">
+    insert into AMS_SALE_PLAN_MATERIAL (PLAN_MATERIAL_ID, SALE_PLAN_ID, MATERIAL_ID, 
+      MATERIAL_NUMBER, INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK
+      )
+    values (#{planMaterialId,jdbcType=DECIMAL}, #{salePlanId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, 
+      #{materialNumber,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, 
+      #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSalePlanMaterial">
+    insert into AMS_SALE_PLAN_MATERIAL
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="planMaterialId != null">
+        PLAN_MATERIAL_ID,
+      </if>
+      <if test="salePlanId != null">
+        SALE_PLAN_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="planMaterialId != null">
+        #{planMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="salePlanId != null">
+        #{salePlanId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialNumber != null">
+        #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSalePlanMaterial">
+    update AMS_SALE_PLAN_MATERIAL
+    set SALE_PLAN_ID = #{salePlanId,jdbcType=DECIMAL},
+      MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR}
+    where PLAN_MATERIAL_ID = #{planMaterialId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSalePlanMaterial">
+    update AMS_SALE_PLAN_MATERIAL
+    <set>
+      <if test="salePlanId != null">
+        SALE_PLAN_ID = #{salePlanId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialNumber != null">
+        MATERIAL_NUMBER = #{materialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where PLAN_MATERIAL_ID = #{planMaterialId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where PLAN_MATERIAL_ID = #{planMaterialId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMS_SALE_PLAN_MATERIAL 
+      (PLAN_MATERIAL_ID, 
+      SALE_PLAN_ID, MATERIAL_ID, MATERIAL_NUMBER, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.planMaterialId,jdbcType=DECIMAL}, 
+      #{item.salePlanId,jdbcType=DECIMAL}, #{item.materialId,jdbcType=DECIMAL}, #{item.materialNumber,jdbcType=DECIMAL}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.insertUpdateRemark,jdbcType=VARCHAR} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update AMS_SALE_PLAN_MATERIAL
+     set
+       PLAN_MATERIAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.planMaterialId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_PLAN_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.salePlanId,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_NUMBER=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.materialNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach collection="list" item="item" index="index" separator=" " open="case PLAN_MATERIAL_ID" close="end">
+          when #{item.planMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where PLAN_MATERIAL_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.planMaterialId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_SALE_PLAN_MATERIAL
+    where PLAN_MATERIAL_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  <select id="getSalePlanMaterialInfo" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select plan_material.PLAN_MATERIAL_ID "planMaterialId",
+           r_material.MATERIAL_CODE "materialCode",
+           plan_material.MATERIAL_NUMBER "materialNumber"
+    from AMS_SALE_PLAN_MATERIAL plan_material
+           left join RMS_MATERIAL r_material
+                     on plan_material.MATERIAL_ID=r_material.MATERIAL_ID
+    where plan_material.SALE_PLAN_ID = #{planId}
+  </select>
+
+  <select id="selectMaxId"  resultType="java.math.BigDecimal">
+    select max(PLAN_MATERIAL_ID) from AMS_SALE_PLAN_MATERIAL
+  </select>
+
+  <select id="selectByPlanMaterialId" parameterType="java.math.BigDecimal" resultType="java.util.LinkedHashMap">
+    select
+      plan_material.MATERIAL_ID "materialId",
+      plan_material.MATERIAL_NUMBER "materialNumber"
+    from AMS_SALE_PLAN_MATERIAL plan_material
+    where plan_material.PLAN_MATERIAL_ID = #{planMaterialId}
+  </select>
+</mapper>

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

@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.AmsSaleTrucknoMaterial">
+    <id column="TRUCKNO_MATERIAL_ID" jdbcType="DECIMAL" property="trucknoMaterialId" />
+    <result column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+    <result column="SALE_ORDER_MATERIAL_ID" jdbcType="DECIMAL" property="saleOrderMaterialId" />
+    <result column="SALE_ORDER_MATERIAL_NUMBER" jdbcType="DECIMAL" property="saleOrderMaterialNumber" />
+    <result column="MATERIAL_THEORETICAL_WEIGHT" jdbcType="DECIMAL" property="materialTheoreticalWeight" />
+    <result column="INSERT_USERNAME" jdbcType="VARCHAR" property="insertUsername" />
+    <result column="INSERT_TIME" jdbcType="TIMESTAMP" property="insertTime" />
+    <result column="UPDATE_USERNAME" jdbcType="VARCHAR" property="updateUsername" />
+    <result column="UPDATE_TIME" jdbcType="TIMESTAMP" property="updateTime" />
+    <result column="INSERT_UPDATE_REMARK" jdbcType="VARCHAR" property="insertUpdateRemark" />
+  </resultMap>
+  <sql id="columns">
+    TRUCKNO_MATERIAL_ID, MATERIAL_ID, SALE_ORDER_MATERIAL_ID, SALE_ORDER_MATERIAL_NUMBER, 
+    MATERIAL_THEORETICAL_WEIGHT, INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, 
+    INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="columns_alias">
+    t.TRUCKNO_MATERIAL_ID, t.MATERIAL_ID, t.SALE_ORDER_MATERIAL_ID, t.SALE_ORDER_MATERIAL_NUMBER, 
+    t.MATERIAL_THEORETICAL_WEIGHT, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, 
+    t.UPDATE_TIME, t.INSERT_UPDATE_REMARK
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM AMS_SALE_TRUCKNO_MATERIAL
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM AMS_SALE_TRUCKNO_MATERIAL t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="trucknoMaterialId != null">
+        and TRUCKNO_MATERIAL_ID = #{trucknoMaterialId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="saleOrderMaterialId != null">
+        and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        and SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="trucknoMaterialId != null">
+        and TRUCKNO_MATERIAL_ID = #{trucknoMaterialId}
+      </if>
+      <if test="materialId != null">
+        and MATERIAL_ID = #{materialId}
+      </if>
+      <if test="saleOrderMaterialId != null">
+        and SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        and SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        and INSERT_USERNAME LIKE '%${insertUsername}%'
+      </if>
+      <if test="insertTime != null">
+        and TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = #{insertTime}
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        and UPDATE_USERNAME LIKE '%${updateUsername}%'
+      </if>
+      <if test="updateTime != null">
+        and TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = #{updateTime}
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        and INSERT_UPDATE_REMARK LIKE '%${insertUpdateRemark}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from AMS_SALE_TRUCKNO_MATERIAL
+    where TRUCKNO_MATERIAL_ID = #{trucknoMaterialId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from AMS_SALE_TRUCKNO_MATERIAL
+    where 1!=1 
+      <if test="materialId != null">
+        or MATERIAL_ID = #{materialId}
+      </if>
+      <if test="saleOrderMaterialId != null">
+        or SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        or SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber}
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        or MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+      </if>
+      <if test="insertUsername != null and insertUsername != ''">
+        or INSERT_USERNAME = #{insertUsername}
+      </if>
+      <if test="insertTime != null">
+        or TO_CHAR(INSERT_TIME,'yyyy-MM-dd') = '#{insertTime}'
+      </if>
+      <if test="updateUsername != null and updateUsername != ''">
+        or UPDATE_USERNAME = #{updateUsername}
+      </if>
+      <if test="updateTime != null">
+        or TO_CHAR(UPDATE_TIME,'yyyy-MM-dd') = '#{updateTime}'
+      </if>
+      <if test="insertUpdateRemark != null and insertUpdateRemark != ''">
+        or INSERT_UPDATE_REMARK = #{insertUpdateRemark}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleTrucknoMaterial">
+    insert into AMS_SALE_TRUCKNO_MATERIAL (TRUCKNO_MATERIAL_ID, MATERIAL_ID, SALE_ORDER_MATERIAL_ID, 
+      SALE_ORDER_MATERIAL_NUMBER, MATERIAL_THEORETICAL_WEIGHT, 
+      INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, 
+      UPDATE_TIME, INSERT_UPDATE_REMARK)
+    values (#{trucknoMaterialId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL}, #{saleOrderMaterialId,jdbcType=DECIMAL}, 
+      #{saleOrderMaterialNumber,jdbcType=DECIMAL}, #{materialTheoreticalWeight,jdbcType=DECIMAL}, 
+      #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, 
+      #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleTrucknoMaterial">
+    insert into AMS_SALE_TRUCKNO_MATERIAL
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="trucknoMaterialId != null">
+        TRUCKNO_MATERIAL_ID,
+      </if>
+      <if test="materialId != null">
+        MATERIAL_ID,
+      </if>
+      <if test="saleOrderMaterialId != null">
+        SALE_ORDER_MATERIAL_ID,
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        SALE_ORDER_MATERIAL_NUMBER,
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        MATERIAL_THEORETICAL_WEIGHT,
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME,
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME,
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME,
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME,
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="trucknoMaterialId != null">
+        #{trucknoMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="materialId != null">
+        #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialId != null">
+        #{saleOrderMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        #{saleOrderMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        #{materialTheoreticalWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleTrucknoMaterial">
+    update AMS_SALE_TRUCKNO_MATERIAL
+    set MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL},
+      SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber,jdbcType=DECIMAL},
+      MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
+      INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR}
+    where TRUCKNO_MATERIAL_ID = #{trucknoMaterialId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleTrucknoMaterial">
+    update AMS_SALE_TRUCKNO_MATERIAL
+    <set>
+      <if test="materialId != null">
+        MATERIAL_ID = #{materialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialId != null">
+        SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId,jdbcType=DECIMAL},
+      </if>
+      <if test="saleOrderMaterialNumber != null">
+        SALE_ORDER_MATERIAL_NUMBER = #{saleOrderMaterialNumber,jdbcType=DECIMAL},
+      </if>
+      <if test="materialTheoreticalWeight != null">
+        MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
+      </if>
+      <if test="insertUsername != null">
+        INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="insertTime != null">
+        INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateUsername != null">
+        UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+      </if>
+      <if test="updateTime != null">
+        UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="insertUpdateRemark != null">
+        INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where TRUCKNO_MATERIAL_ID = #{trucknoMaterialId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.math.BigDecimal" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where TRUCKNO_MATERIAL_ID = #{trucknoMaterialId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into AMS_SALE_TRUCKNO_MATERIAL 
+      (TRUCKNO_MATERIAL_ID, 
+      MATERIAL_ID, SALE_ORDER_MATERIAL_ID, 
+      SALE_ORDER_MATERIAL_NUMBER, MATERIAL_THEORETICAL_WEIGHT, 
+      INSERT_USERNAME, INSERT_TIME, 
+      UPDATE_USERNAME, UPDATE_TIME, 
+      INSERT_UPDATE_REMARK)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.trucknoMaterialId,jdbcType=DECIMAL}, 
+      #{item.materialId,jdbcType=DECIMAL}, #{item.saleOrderMaterialId,jdbcType=DECIMAL}, 
+      #{item.saleOrderMaterialNumber,jdbcType=DECIMAL}, #{item.materialTheoreticalWeight,jdbcType=DECIMAL}, 
+      #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP}, 
+      #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, 
+      #{item.insertUpdateRemark,jdbcType=VARCHAR} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update AMS_SALE_TRUCKNO_MATERIAL
+     set
+       TRUCKNO_MATERIAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.trucknoMaterialId,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_ORDER_MATERIAL_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialId,jdbcType=DECIMAL}
+       </foreach>
+       ,SALE_ORDER_MATERIAL_NUMBER=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.saleOrderMaterialNumber,jdbcType=DECIMAL}
+       </foreach>
+       ,MATERIAL_THEORETICAL_WEIGHT=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.materialTheoreticalWeight,jdbcType=DECIMAL}
+       </foreach>
+       ,INSERT_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,INSERT_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,UPDATE_USERNAME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+       </foreach>
+       ,UPDATE_TIME=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+       </foreach>
+       ,INSERT_UPDATE_REMARK=
+       <foreach collection="list" item="item" index="index" separator=" " open="case TRUCKNO_MATERIAL_ID" close="end">
+          when #{item.trucknoMaterialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+       </foreach>
+     where TRUCKNO_MATERIAL_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.trucknoMaterialId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from AMS_SALE_TRUCKNO_MATERIAL
+    where TRUCKNO_MATERIAL_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+  <sql id="orderBy">
+    <if test="orderField != null and orderField != ''">
+      order by  "${orderField}"
+      <if test="orderType != null and orderType != ''">
+        ${orderType}
+      </if>
+    </if>
+  </sql>
+
+  <select id="getTruckNoDetail" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+    select * from(
+    select truckno_material.TRUCKNO_MATERIAL_ID "trucknoMaterialId",
+    r_material.MATERIAL_CODE "materialCode",
+    truckno_material.SALE_ORDER_MATERIAL_NUMBER "saleOrderMaterialNumber",
+    truckno_material.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight"
+    from AMS_SALE_TRUCKNO_MATERIAL truckno_material
+    left join RMS_MATERIAL r_material
+    on truckno_material.MATERIAL_ID=r_material.MATERIAL_ID
+    where truckno_material.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId})
+    <where>
+      <if test="materialCode != null">
+        and
+        <foreach collection="materialCode" item="item" open="(" separator="or" close=")">
+          "materialCode" 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="materialTheoreticalWeight != null">
+        and
+        <foreach collection="materialTheoreticalWeight" item="item" open="(" separator="or" close=")">
+          "materialTheoreticalWeight" like '%${item}%'
+        </foreach>
+      </if>
+      <include refid="orderBy"></include>
+    </where>
+  </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
+      truckno_material.MATERIAL_ID "materialId",
+      truckno_material.SALE_ORDER_MATERIAL_NUMBER "saleOrderMaterialNumber",
+      truckno_material.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight"
+    from AMS_SALE_TRUCKNO_MATERIAL truckno_material
+    where truckno_material.TRUCKNO_MATERIAL_ID = #{trucknoMaterialId}
+  </select>
+  
+  <select id="getSalePlanMaterialNumber" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+    select MATERIAL_NUMBER from AMS_SALE_PLAN_MATERIAL
+    where MATERIAL_ID = #{materialId} and SALE_PLAN_ID = #{planId}
+  </select>
+
+  <select id="getSalePalnIdBySaleOrderMaterialId" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+    select a_s_order.PLAN_ID "planId"
+    from AMS_SALE_ORDER1 a_s_order
+           left join AMS_SALE_ORDER_MATERIAL1 order_material
+                     on a_s_order.SALE_ORDER_ID=order_material.SALE_ORDER_ID
+    where order_material.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId} and a_s_order.SALE_ORDER_STATUS =0
+  </select>
+
+  <select id="getAllSaleOrderMaterialNumber" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+    select sum(truckno_material.SALE_ORDER_MATERIAL_NUMBER) "allmaterialNumber"
+    from AMS_SALE_TRUCKNO_MATERIAL truckno_material
+    left join AMS_SALE_ORDER_MATERIAL1 order_material
+    on truckno_material.SALE_ORDER_MATERIAL_ID=order_material.SALE_ORDER_MATERIAL_ID
+    left join AMS_SALE_ORDER1 a_s_order
+    on a_s_order.SALE_ORDER_ID=order_material.SALE_ORDER_ID
+    where a_s_order.PLAN_ID=#{planId} and truckno_material.MATERIAL_ID = #{materialId} and a_s_order.SALE_ORDER_STATUS =0
+    group by
+    truckno_material.MATERIAL_ID
+  </select>
+
+</mapper>