Browse Source

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

zx 2 years ago
parent
commit
bd249e6204

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

@@ -5,11 +5,7 @@ import com.steerinfo.dil.feign.ColumnDataFeign;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.JoinFeign;
 import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
-import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
 import com.steerinfo.dil.model.AmsDispatchSaleOrder;
-import com.steerinfo.dil.model.AmsSaleOrder;
-import com.steerinfo.dil.model.AmsSaleOrderCarrier;
-import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
 import com.steerinfo.dil.service.impl.AmsSaleOrderCarrierServiceImpl;
@@ -17,12 +13,10 @@ import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl;
 import com.steerinfo.dil.util.*;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
-//import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
-import oracle.jdbc.proxy.annotation.Post;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -34,6 +28,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+//import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
+
 /**
  * AmsSaleOrder RESTful接口:
  * @author generator
@@ -74,6 +70,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     @Autowired
     JoinFeign joinFeign;
     @Autowired
+    EASDeleteUtil easDeleteUtil;
+    @Autowired
     EASCapacityTestUtil easCapacityTestUtil;
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -485,7 +483,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                             String consigneeSsoId,
                                             String con,
                                             String startTime,
-                                            String endTime
+                                            String endTime,
+                                            String saler
                                             ){
         if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId",consigneeSsoId);
@@ -493,6 +492,9 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         if (con != null && !"".equals(con) && !"null".equals(con)) {
             mapValue.put("con",con);
         }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)){
+            mapValue.put("saler",saler);
+        }
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue);
@@ -512,13 +514,17 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                 String consigneeSsoId,
                                                 String con,
                                                 String startTime,
-                                                String endTime){
+                                                String endTime,
+                                                String saler){
         if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId",consigneeSsoId);
         }
         if (con != null && !"".equals(con) && !"null".equals(con)) {
             mapValue.put("con",con);
         }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
+            mapValue.put("saler",saler);
+        }
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         PageHelper.startPage(pageNum,pageSize);
         List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue);
@@ -542,7 +548,8 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                                          @RequestParam(required = false) Integer saleType,
                                                          String consigneeSsoId,
                                                          @RequestParam(required = false) String startTime,
-                                                         @RequestParam(required = false)String endTime
+                                                         @RequestParam(required = false)String endTime,
+                                                         String saler
                                                          ) {
         if (con != null  && !"".equals(con) && !"null".equals(con)) {
             mapValue.put("con", con);
@@ -553,6 +560,9 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         if (consigneeSsoId != null  && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId",consigneeSsoId);
         }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
+            mapValue.put("saler",saler);
+        }
         mapValue.put("saleType",saleType);
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
 //        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
@@ -845,10 +855,13 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                              Integer apiId,
                                              Integer pageNum,
                                              Integer pageSize,
-                                             String con) {
+                                             String con,
+                                             String startTime,
+                                             String endTime) {
         if (con != null && !con.equals("undefined") && !con.equals("null")) {
             mapValue.put("con", "%" + con + "%");
         }
+        DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
         PageHelper.startPage(pageNum, pageSize);
         //分页数据
         List<Map<String, Object>> saleOrderList = amsSaleOrderService.getHaveCarTruckNoList(mapValue);
@@ -959,21 +972,25 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         int result = amsSaleOrderService.updateCarAddress(mapValue);
         // 如果返回结果为0,则认定是关闭了车辆
         if (result == 0) {
-            // 调用修改接口同步修改金蝶数据
-            BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
-            // 调用金蝶接口,将销售订单推送到金蝶系统
-            Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
-            Map<String, Object> head = (Map<String, Object>) input.get("head");
-            head.put("status","update");
-            // 获得金蝶接口配置
-            Map<String, Object> totalMap = easUtil.getTotalMap();
-            // 组装报文
-            totalMap.put("input",input);
-            System.out.println(totalMap);
-            String json = JSONUtils.toJSONString(totalMap);
-            System.out.println(json);
-            Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
-            System.out.println(s);
+            BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(mapValue.get("saleOrderMaterialId"));
+            List<Map<String,Object>> saleMaterialIdList = amsSaleOrderService.getSaleMaterialId(saleOrderMaterialId);
+            String wholeOrder = "0";
+            String status = "close";
+            String reason = "收货地址修改超过片区范围";
+            // 循环调用关闭金蝶分录接口
+            for (Map<String, Object> head : saleMaterialIdList) {
+                head.put("wholeOrder",wholeOrder);
+                head.put("status",status);
+                head.put("reason",reason);
+                Map<String,Object> input = new HashMap<>();
+                input.put("head",head);
+                Map<String, Object> totalMap = easDeleteUtil.getTotalMap();
+                totalMap.put("input",input);
+                String json = JSONUtils.toJSONString(totalMap);
+                System.out.println(json);
+                Map<String, Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+                System.out.println(resultMap);
+            }
         }
         return success(result);
     }
@@ -1061,7 +1078,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
                                             String con,
                                                   String consigneeSsoId,
                                                   @RequestParam(required = false) String startTime,
-                                                  @RequestParam(required = false) String endTime
+                                                  @RequestParam(required = false) String endTime,String saler
     ) {
         if (con != null && !"".equals(con) && !"null".equals(con)) {
             mapValue.put("con", con);
@@ -1069,6 +1086,9 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
             mapValue.put("consigneeSsoId", consigneeSsoId);
         }
+        if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
+            mapValue.put("saler", saler);
+        }
         DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
         //不分页筛选数据
         PageHelper.startPage(pageNum, pageSize);

+ 6 - 1
src/main/java/com/steerinfo/dil/controller/AmstruckInwardRequirementController.java

@@ -177,7 +177,8 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
                                                  String enableStatus,
                                                  String planStatus,
                                                String startTime,
-                                               String endTime) {
+                                               String endTime,
+                                               BigDecimal planId) {
 
         if (mapValue == null) {
             mapValue = new HashMap<>();
@@ -197,6 +198,9 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
         if(con != null && !"null".equals(con)){
             mapValue.put("con","%" + con + "%");
         }
+        if(planId != null && !"null".equals(planId)){
+            mapValue.put("planId", planId);
+        }
         mapValue.put("requirementStatus",requirementStatus);
         DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
         PageHelper.startPage(pageNum, pageSize);
@@ -207,6 +211,7 @@ public class AmstruckInwardRequirementController extends BaseRESTfulController {
     }
 
 
+
     @ApiModelProperty(value = "展示批次信息")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),

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

@@ -10,4 +10,6 @@ import org.apache.ibatis.annotations.Select;
 public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigDecimal> {
     @Select("select seq_AMS_SALE_MATERIAL.nextval from dual")
     BigDecimal selectMaxId();
+    // 得到物资出现次数
+    Integer getMaterialCount(BigDecimal materialId);
 }

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

@@ -132,4 +132,6 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     List<Map<String, Object>> getAllSteelSaleOrderList(Map<String, Object> mapValue);
     // 修改厂内未装货车辆的运单车牌号
     int updateCapacityNumberInFactory(Map<String, Object> mapValue);
+    // 根据省市县id匹配承运商
+    List<Map<String, Object>> getCarrierByAddress(BigDecimal addressId);
 }

+ 23 - 0
src/main/java/com/steerinfo/dil/mapper/RmsMaterialMapper.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsMaterial;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface RmsMaterialMapper extends IBaseMapper<RmsMaterial, BigDecimal> {
+
+    @Select("SELECT seq_RMS_MATERIAL.nextval FROM dual")
+    BigDecimal getMaterialId();
+
+    @Override
+    List<RmsMaterial> selectByParameters(Map<String, Object> parameters);
+
+    // 展示物资信息
+    List<Map<String, Object>> getMaterialList(Map<String, Object> mapVal);
+}

+ 304 - 0
src/main/java/com/steerinfo/dil/model/RmsMaterial.java

@@ -0,0 +1,304 @@
+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 RmsMaterial implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(MATERIAL_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键ID",required=true)
+    private BigDecimal materialId;
+
+    /**
+     * 物资类型ID(MATERIAL_TYPE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资类型ID",required=false)
+    private BigDecimal materialTypeId;
+
+    /**
+     * 计量单位ID(UNIT_OF_MEASURE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计量单位ID",required=false)
+    private BigDecimal unitOfMeasureId;
+
+    /**
+     * 物资编码(物资名称+规格型号+物资长度)(MATERIAL_CODE,VARCHAR,200)
+     */
+    @ApiModelProperty(value="物资编码(物资名称+规格型号+物资长度)",required=false)
+    private String materialCode;
+
+    /**
+     * 物资名称(MATERIAL_NAME,VARCHAR,100)
+     */
+    @ApiModelProperty(value="物资名称",required=false)
+    private String materialName;
+
+    /**
+     * 规格(MATERIAL_SPECIFICATION,VARCHAR,500)
+     */
+    @ApiModelProperty(value="规格",required=false)
+    private String materialSpecification;
+
+    /**
+     * 型号(MATERIAL_MODEL,VARCHAR,500)
+     */
+    @ApiModelProperty(value="型号",required=false)
+    private String materialModel;
+
+    /**
+     * 长度(MATERIAL_LENGTH,DECIMAL,0)
+     */
+    @ApiModelProperty(value="长度",required=false)
+    private BigDecimal materialLength;
+
+    /**
+     * 记录创建人(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;
+
+    /**
+     * 金蝶物资主键ID(EAS_MATERIAL_ID,VARCHAR,50)
+     */
+    @ApiModelProperty(value="金蝶物资主键ID",required=false)
+    private String easMaterialId;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value="逻辑删除",required=false)
+    private BigDecimal deleted;
+
+    /**
+     * 物资理重(MATERIAL_THEORETICAL_WEIGHT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="物资理重",required=false)
+    private BigDecimal materialTheoreticalWeight;
+
+    /**
+     * 装卸货优先次序(MATERIAL_ORDER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="装卸货优先次序",required=false)
+    private BigDecimal materialOrder;
+
+    /**
+     * 钢材订单中出现次数(MATERIAL_COUNT,DECIMAL,0)
+     */
+    @ApiModelProperty(value="钢材订单中出现次数",required=false)
+    private BigDecimal materialCount;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.materialId;
+    }
+
+    @Override
+    public void setId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getMaterialId() {
+        return materialId;
+    }
+
+    public void setMaterialId(BigDecimal materialId) {
+        this.materialId = materialId;
+    }
+
+    public BigDecimal getMaterialTypeId() {
+        return materialTypeId;
+    }
+
+    public void setMaterialTypeId(BigDecimal materialTypeId) {
+        this.materialTypeId = materialTypeId;
+    }
+
+    public BigDecimal getUnitOfMeasureId() {
+        return unitOfMeasureId;
+    }
+
+    public void setUnitOfMeasureId(BigDecimal unitOfMeasureId) {
+        this.unitOfMeasureId = unitOfMeasureId;
+    }
+
+    public String getMaterialCode() {
+        return materialCode;
+    }
+
+    public void setMaterialCode(String materialCode) {
+        this.materialCode = materialCode == null ? null : materialCode.trim();
+    }
+
+    public String getMaterialName() {
+        return materialName;
+    }
+
+    public void setMaterialName(String materialName) {
+        this.materialName = materialName == null ? null : materialName.trim();
+    }
+
+    public String getMaterialSpecification() {
+        return materialSpecification;
+    }
+
+    public void setMaterialSpecification(String materialSpecification) {
+        this.materialSpecification = materialSpecification == null ? null : materialSpecification.trim();
+    }
+
+    public String getMaterialModel() {
+        return materialModel;
+    }
+
+    public void setMaterialModel(String materialModel) {
+        this.materialModel = materialModel == null ? null : materialModel.trim();
+    }
+
+    public BigDecimal getMaterialLength() {
+        return materialLength;
+    }
+
+    public void setMaterialLength(BigDecimal materialLength) {
+        this.materialLength = materialLength;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public String getEasMaterialId() {
+        return easMaterialId;
+    }
+
+    public void setEasMaterialId(String easMaterialId) {
+        this.easMaterialId = easMaterialId == null ? null : easMaterialId.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public BigDecimal getMaterialTheoreticalWeight() {
+        return materialTheoreticalWeight;
+    }
+
+    public void setMaterialTheoreticalWeight(BigDecimal materialTheoreticalWeight) {
+        this.materialTheoreticalWeight = materialTheoreticalWeight;
+    }
+
+    public BigDecimal getMaterialOrder() {
+        return materialOrder;
+    }
+
+    public void setMaterialOrder(BigDecimal materialOrder) {
+        this.materialOrder = materialOrder;
+    }
+
+    public BigDecimal getMaterialCount() {
+        return materialCount;
+    }
+
+    public void setMaterialCount(BigDecimal materialCount) {
+        this.materialCount = materialCount;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", materialId=").append(materialId);
+        sb.append(", materialTypeId=").append(materialTypeId);
+        sb.append(", unitOfMeasureId=").append(unitOfMeasureId);
+        sb.append(", materialCode=").append(materialCode);
+        sb.append(", materialName=").append(materialName);
+        sb.append(", materialSpecification=").append(materialSpecification);
+        sb.append(", materialModel=").append(materialModel);
+        sb.append(", materialLength=").append(materialLength);
+        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(", easMaterialId=").append(easMaterialId);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", materialTheoreticalWeight=").append(materialTheoreticalWeight);
+        sb.append(", materialOrder=").append(materialOrder);
+        sb.append(", materialCount=").append(materialCount);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

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

@@ -157,4 +157,6 @@ public interface IAmsSaleOrderService {
     List<Map<String, Object>> getAllSteelSaleOrderList(Map<String, Object> mapValue);
     // 修改厂内未装货车辆的运单车牌号
     int updateCapacityNumberInFactory(Map<String, Object> mapValue);
+    // 得到销售订单物资表主键
+    List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId);
 }

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

@@ -65,6 +65,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     EASTestUtil easTestUtil;
     @Autowired
     EASDeleteTestUtil easDeleteTestUtil;
+    @Autowired
+    RmsMaterialMapper rmsMaterialMapper;
 
     @Override
     public List<Map<String, Object>> getSaleOrderInfo(Map<String, Object> map) {
@@ -578,14 +580,13 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
                 if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否")) {
                     // 自动匹配承运商
-                    List<Map<String, Object>> carrierList = getCarrierByPlace(amsSaleOrderMaterial.getSaleShippingAddressId());
+                    List<Map<String, Object>> carrierList = getCarrierByAddress(amsSaleOrderMaterial.getSaleShippingAddressId());
                     // 单一承运商才进行匹配
                     if (carrierList != null && carrierList.size() == 1) {
                         List<Map<String, Object>> list = new ArrayList<>();
                         Map<String, Object> map1 = carrierList.get(0);
                         // 传入车序号主键和承运商id
                         map1.put("saleOrderMaterialId", saleOrderMaterialId);
-                        map1.put("carrierId", map1.get("value"));
                         list.add(map1);
                         dispatchToCarrier(list);
                     }
@@ -639,10 +640,27 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
              */
             // 物资
             BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            Integer materialCount = amsSaleMaterialMapper.getMaterialCount(materialId);
+            RmsMaterial rmsMaterial = new RmsMaterial();
+            rmsMaterial.setMaterialId(materialId);
+            if (materialCount == null) {
+                materialCount = new Integer(0);
+            }
+            rmsMaterial.setMaterialCount(new BigDecimal(materialCount + 1));
+            rmsMaterialMapper.updateByPrimaryKeySelective(rmsMaterial);
             // 物资件数
             BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
+            // 物资名称
+            Object materialName = map.get("materialName");
             // 钢材米数
             BigDecimal steelMeters = DataChange.dataToBigDecimal(map.get("steelMeters"));
+            // 判断物资是否是盘螺或盘元/盘圆
+            if (materialName != null && (materialName.toString().contains("盘螺") || materialName.toString().contains("盘元") || materialName.toString().contains("盘圆"))) {
+                amsSaleMaterial.setSteelMeter(null);
+            }
+            else {
+                amsSaleMaterial.setSteelMeter(steelMeters);
+            }
             // 是否磅重销售(0:磅重;1:理重)
             BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
             // 销售订单物资表主键
@@ -653,9 +671,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleMaterial.setMaterialNumber(materialNumber);
             amsSaleMaterial.setInsertTime(new Date());
             amsSaleMaterial.setUpdateTime(new Date());
-            if (steelMeters != null && !steelMeters.toString().equals("0")) {
-                amsSaleMaterial.setSteelMeter(steelMeters);
-            }
             amsSaleMaterial.setIsPoundSale(isPoundSale);
             amsSaleMaterial.setInsertUpdateRemark("物流新增");
             result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
@@ -700,7 +715,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param mapList
      * @return
      */
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int dispatchSteelOrder(List<Map<String, Object>> mapList) {
         int result = 0;
@@ -857,6 +872,17 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return mapList;
     }
 
+    /**
+     * 根据省市县匹配承运商
+     * @param placeId
+     * @return
+     */
+    public synchronized List<Map<String,Object>> getCarrierByAddress(BigDecimal placeId) {
+        BigDecimal addressId = amsSaleOrderMapper.getAddressByPlace(placeId);
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.getCarrierByAddress(addressId);
+        return mapList;
+    }
+
     /**
      * 根据详细地址和承运商匹配单价
      * @param mapValue
@@ -944,7 +970,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         Map<String,Object> map = new HashMap<>();
         map.put("saleOrderId",saleOrderId);
         List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(map);
-        if (amsSaleMaterials != null && amsSaleMaterials.get(0).getSaleWarehouse().equals("副产品库")) {
+        if (amsSaleMaterials != null && amsSaleMaterials.get(0).getSaleWarehouse() != null && amsSaleMaterials.get(0).getSaleWarehouse().equals("副产品库")) {
             result += amsSaleOrderMapper.closeOrderNotIn(saleOrderId);
         }
         result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
@@ -1243,6 +1269,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param mapValue
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int updateCarAddress(Map<String, Object> mapValue) {
         // 判断是否需要删除金蝶分录
@@ -1372,7 +1399,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param mapValue
      * @return
      */
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int updateAllMaterialInSale(Map<String, Object> mapValue) {
         int result = 0;
@@ -1560,4 +1587,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return result;
     }
+
+    @Override
+    public List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId) {
+        return amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);
+    }
 }

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

@@ -311,6 +311,7 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
     public int insertPurInwardRequirement(Map<String, Object> mapValue) {
         BigDecimal purchaseOrderId = DataChange.dataToBigDecimal(mapValue.get("purchaseOrderId"));
         BigDecimal unloadPointId = DataChange.dataToBigDecimal(mapValue.get("unloadPointId"));
+        BigDecimal loadPointId  = DataChange.dataToBigDecimal(mapValue.get("loadPointId"));
         //承运起止范围ID
         BigDecimal lineId = DataChange.dataToBigDecimal(mapValue.get("rangeId"));
         String userId = (String)mapValue.get("userId");
@@ -325,6 +326,9 @@ public class AmstruckInwardRequirementServiceImpl extends BaseServiceImpl<Amstru
         amstruckInwardRequirement.setRequirementStatus(new BigDecimal(0));
         amstruckInwardRequirement.setPurchaseOrderId(purchaseOrderId);
         amstruckInwardRequirement.setRequirementUnloadUnitId(unloadPointId);
+        if(loadPointId != null){
+            amstruckInwardRequirement.setRequirementPlatformId(loadPointId);
+        }
         //采购内转现在先默认装货点是新区轨道衡
         // 设置常规字段
         amstruckInwardRequirement.setInsertTime(new Date());

+ 1 - 1
src/main/java/com/steerinfo/dil/util/EASCapacityTestUtil.java

@@ -23,7 +23,7 @@ public class EASCapacityTestUtil {
     // context
     public final Map<String,Object> login = new HashMap<>();
     public final String password = "dgjt@kingdee";
-    public final String dcName = "A004";
+    public final String dcName = "FDDGEAS85";
     public final String dbType = "0";
     public final String userName = "user";
     // context

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

@@ -920,7 +920,7 @@
         and actp.LINE_ID = #{rangeId}
       </if>
       <if test="materialId != null">
-        and acpm.MATERIAL_ID = #{materialId}
+        and acpm.MATERIAL_ID = #{materialTypeId}
       </if>
       <if test="capacityTypeId != null">
         and actp.CAPACITY_TYPE_ID = #{capacityTypeId}

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

@@ -496,4 +496,10 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
+  <select id="getMaterialCount" parameterType="DECIMAL" resultType="java.lang.Integer">
+    SELECT RM.MATERIAL_COUNT AS "materialCount"
+    FROM RMS_MATERIAL RM
+    WHERE RM.MATERIAL_ID = #{materialId}
+  </select>
+
 </mapper>

+ 61 - 10
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -718,7 +718,8 @@
     a_s_order.SALE_UNIT_PRICE "saleUnitPrice",
     a_s_order.SALE_ORDER_TAX "saleOrderTax",
     a_s_order.SALE_REMARK "saleRemark",
-    a_s_order.INSERT_TIME "insertTime"
+    a_s_order.INSERT_TIME "insertTime",
+
     from AMS_SALE_ORDER a_s_order
     left join (select sale_material.SALE_ORDER_ID saleOrderId,
     sum(tt.sum1) saleSum1,
@@ -1517,16 +1518,28 @@
     RM.MATERIAL_MODEL "materialModel",
     ASM.MATERIAL_NUMBER "materialNumber",
     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "specificationModel",
-    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
+    RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel",
+    RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS AS "addressPlace",
+    ASOM.SALE_ORDER_MATERIAL_ID AS "saleOrderMaterialId"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
     left join RMS_CONSIGNEE r_consignee
     on a_s_order.RECEIVE_ID=r_consignee.CONSIGNEE_ID
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+    ON ASOM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    LEFT JOIN RMS_RECEIVE_PLACE RRP
+    ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+    ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+    LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+    ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
     LEFT JOIN AMS_SALE_MATERIAL ASM
-    ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
+    ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
     LEFT JOIN RMS_MATERIAL RM
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    LEFT JOIN RMS_SALER R_SALER
+    ON R_SALER.SALER_ID = a_s_order.SALER_ID
     where a_s_order.SALE_ORDER_STATUS=0 and a_s_order.DELETED=0
     <if test="con != null">
       and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
@@ -1534,6 +1547,9 @@
     <if test="consigneeSsoId != null" >
       and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
     </if>
+    <if test="saler != null" >
+      and  R_SALER.SALER_NAME = #{saler}
+    </if>
     <if test="oneDate != null">
       and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= a_s_order.UPDATE_TIME
     </if>
@@ -1555,10 +1571,10 @@
           "materialName" like '%${item}%'
         </foreach>
       </if>
-      <if test="materialSpecification != null">
+      <if test="specificationModel != null">
         and
-        <foreach collection="materialSpecification" item="item" open="(" separator="or" close=")">
-          "materialSpecification" like '%${item}%'
+        <foreach collection="specificationModel" item="item" open="(" separator="or" close=")">
+          "specificationModel" like '%${item}%'
         </foreach>
       </if>
       <if test="materialModel != null">
@@ -1661,6 +1677,8 @@
     ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
     LEFT JOIN RMS_MATERIAL RM
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    LEFT JOIN RMS_SALER R_SALER
+    ON R_SALER.SALER_ID = a_s_order.SALER_ID
     where a_s_order.SALE_ORDER_STATUS=1
     and a_s_order.DELETED = 0
     <if test="con != null">
@@ -1675,6 +1693,9 @@
     </if>
     <if test="consigneeSsoId != null">
       and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
+    </if>
+    <if test="saler != null" >
+      and  R_SALER.SALER_NAME = #{saler}
     </if>
         )
     <where>
@@ -1935,6 +1956,8 @@
     ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
     LEFT JOIN RMS_MATERIAL RM
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    LEFT JOIN RMS_SALER R_SALER
+    ON R_SALER.SALER_ID = a_s_order.SALER_ID
     where a_s_order.SALE_ORDER_STATUS in (2,4)
     and a_s_order.CLOSE_STATUS is null
     and a_s_order.DELETED = 0
@@ -1957,6 +1980,9 @@
     <if test="saleType == null">
       and a_s_order.SALE_TYPE is null
     </if>
+    <if test="saler != null" >
+      and  R_SALER.SALER_NAME = #{saler}
+    </if>
     <if test="consigneeSsoId != null">
       and r_consignee.CONSIGNEE_SSO_ID = #{consigneeSsoId}
     </if>
@@ -3115,7 +3141,7 @@
     ORDER BY ASOM.SALE_ORDER_MATERIAL_TRUCK_NO ASC
   </select>
 
-  <select id="getHaveCarTruckNoList" parameterType="java.util.Map" resultType="java.util.Map">
+  <select id="getHaveCarTruckNoList" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
     SELECT * FROM (
     SELECT DISTINCT *
     FROM (
@@ -3141,7 +3167,8 @@
     RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL AS "nameSpecificationModel",
     RCP.CAPACITY_NUMBER AS "capacityNumber",
     OO.DRIVER_TEL AS "drivelTel",
-    ASM.MATERIAL_NUMBER AS "materialNumber"
+    ASM.MATERIAL_NUMBER AS "materialNumber",
+    OO.ORDER_ID AS "orderId"
     FROM AMS_SALE_ORDER_MATERIAL ASOM
     LEFT JOIN AMS_SALE_ORDER ASO
     ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
@@ -3174,6 +3201,14 @@
     AND OO.ORDER_ID IS NOT NULL
     AND OO.ORDER_STATUS IN (4,5)
     AND ASO.DELETED != 2
+    <if test="oneDate != null">
+      and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt; = ASOM.INSERT_TIME
+    </if>
+    <if test="startDate != null">
+      and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;=  ASOM.INSERT_TIME
+      and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASOM.INSERT_TIME
+    </if>
+    ORDER BY ASOM.SALE_ORDER_MATERIAL_ID DESC
     ) "HAVECAR"
     <where>
       <if test="con != null" >
@@ -3267,7 +3302,7 @@
         </foreach>
       </if>
     </where>
-    <include refid="orderBy"></include>
+
 
   </select>
 
@@ -3500,10 +3535,13 @@
   </select>
 
   <select id="getSaleMaterialId" parameterType="DECIMAL" resultType="java.util.Map" >
-    SELECT ASTM.MATERIAL_ID AS "saleMaterialId"
+    SELECT ASTM.MATERIAL_ID AS "saleMaterialId",
+           ASM.EAS_PRIMARY_ID AS "closeEntryId"
     FROM AMS_SALE_ORDER_MATERIAL ASOM
            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
                      ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+           LEFT JOIN AMS_SALE_MATERIAL ASM
+                     ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
     WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </select>
   
@@ -3801,12 +3839,17 @@
     ON ASM.SALE_ORDER_ID = a_s_order.SALE_ORDER_ID
     LEFT JOIN RMS_MATERIAL RM
     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    LEFT JOIN RMS_SALER R_SALER
+    ON R_SALER.SALER_ID = a_s_order.SALER_ID
     where a_s_order.SALE_ORDER_STATUS in (2,4)
     and a_s_order.DELETED = 1
     and a_s_order.SALE_TYPE = 1
     <if test="con != null">
       and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
     </if>
+    <if test="saler != null" >
+      and  R_SALER.SALER_NAME = #{saler}
+    </if>
     <if test="oneDate != null">
       and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= a_s_order.UPDATE_TIME
     </if>
@@ -4094,4 +4137,12 @@
     SET OO.CAPACITY_ID = #{capacityId}
     WHERE OO.ORDER_ID = #{orderId}
   </update>
+
+  <select id="getCarrierByAddress" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT ACTP.CARRIER_ID "carrierId"
+    FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
+           LEFT JOIN RMS_RECEIVE_PLACE RRP
+                     ON RRP.PLACE_ID = ACTP.PLACE_ID
+    WHERE RRP.ADDRESS_ID = #{addressId}
+  </select>
 </mapper>

+ 9 - 2
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -1295,11 +1295,13 @@
         RS.SUPPLIER_NAME          "supplierName",
         RC.CONSIGNEE_COMPANY_NAME "consigneeName",
         RW.WAREHOUSE_NAME         "warehouseName",
+        RW1.WAREHOUSE_NAME        "loadPointName",
         rm.material_id            "materialId",
         AIP.PLAN_STATUS           "planStatus",
         RM.MATERIAL_NAME          "materialName",
         RCR.CARRIER_NAME          "carrierName",
         AIP.PLAN_EABLE_STATUS     "enable",
+        AIP.PLAN_EABLE_STATUS     "enable1",
         AIR.INSERT_TIME           "insertTime",
         DB.RESULT_FOREIGN_SHIP_NAME     "shipName",
         APO.PURCHASE_ORDER_NO||RS.SUPPLIER_NAME||RW.WAREHOUSE_NAME||RM.MATERIAL_NAME||DB.RESULT_FOREIGN_SHIP_NAME "likeCon"
@@ -1312,6 +1314,8 @@
         ON RC.CONSIGNEE_ID = APO.RECEIVE_UNIT_ID
         LEFT JOIN RMS_WAREHOUSE RW
         ON RW.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
+        LEFT JOIN RMS_WAREHOUSE RW1
+        ON RW1.WAREHOUSE_ID = AIR.REQUIREMENT_PLATFORM_ID
         LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
         ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
         LEFT JOIN RMS_MATERIAL RM
@@ -1332,6 +1336,9 @@
         <if test="userId != null">
             and air.insert_username = #{userId}
         </if>
+        <if test="planId != null">
+            and AIP.PLAN_ID = #{planId}
+        </if>
         <if test="carrierSsoId != null">
             and AIP.CARRIER_ID = (select rc.carrier_id from rms_carrier rc
             where rc.carrier_sso_id  = #{carrierSsoId})
@@ -1342,10 +1349,10 @@
         <if test="planStatus != null">
             and AIP.PLAN_STATUS = #{planStatus}
         </if>
-        <if test="oneDate != null">
+        <if test="oneDate != null and planStatus !=3">
             and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= AIR.INSERT_TIME
         </if>
-        <if test="startDate != null">
+        <if test="startDate != null and planStatus !=3">
             and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= AIR.INSERT_TIME
             and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= AIR.INSERT_TIME
         </if>

+ 600 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsMaterialMapper.xml

@@ -0,0 +1,600 @@
+<?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.RmsMaterialMapper">
+    <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.RmsMaterial">
+        <id column="MATERIAL_ID" jdbcType="DECIMAL" property="materialId" />
+        <result column="MATERIAL_TYPE_ID" jdbcType="DECIMAL" property="materialTypeId" />
+        <result column="UNIT_OF_MEASURE_ID" jdbcType="DECIMAL" property="unitOfMeasureId" />
+        <result column="MATERIAL_CODE" jdbcType="VARCHAR" property="materialCode" />
+        <result column="MATERIAL_NAME" jdbcType="VARCHAR" property="materialName" />
+        <result column="MATERIAL_SPECIFICATION" jdbcType="VARCHAR" property="materialSpecification" />
+        <result column="MATERIAL_MODEL" jdbcType="VARCHAR" property="materialModel" />
+        <result column="MATERIAL_LENGTH" jdbcType="DECIMAL" property="materialLength" />
+        <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="EAS_MATERIAL_ID" jdbcType="VARCHAR" property="easMaterialId" />
+        <result column="DELETED" jdbcType="DECIMAL" property="deleted" />
+        <result column="MATERIAL_THEORETICAL_WEIGHT" jdbcType="DECIMAL" property="materialTheoreticalWeight" />
+        <result column="MATERIAL_ORDER" jdbcType="DECIMAL" property="materialOrder" />
+        <result column="MATERIAL_COUNT" jdbcType="DECIMAL" property="materialCount" />
+    </resultMap>
+    <sql id="columns">
+        MATERIAL_ID, MATERIAL_TYPE_ID, UNIT_OF_MEASURE_ID, MATERIAL_CODE, MATERIAL_NAME,
+    MATERIAL_SPECIFICATION, MATERIAL_MODEL, MATERIAL_LENGTH, INSERT_USERNAME, INSERT_TIME,
+    UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK, EAS_MATERIAL_ID, DELETED, MATERIAL_THEORETICAL_WEIGHT,
+    MATERIAL_ORDER, MATERIAL_COUNT
+    </sql>
+    <sql id="columns_alias">
+        t.MATERIAL_ID, t.MATERIAL_TYPE_ID, t.UNIT_OF_MEASURE_ID, t.MATERIAL_CODE, t.MATERIAL_NAME,
+    t.MATERIAL_SPECIFICATION, t.MATERIAL_MODEL, t.MATERIAL_LENGTH, t.INSERT_USERNAME,
+    t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME, t.INSERT_UPDATE_REMARK, t.EAS_MATERIAL_ID,
+    t.DELETED, t.MATERIAL_THEORETICAL_WEIGHT, t.MATERIAL_ORDER, t.MATERIAL_COUNT
+    </sql>
+    <sql id="select">
+        SELECT <include refid="columns" /> FROM RMS_MATERIAL
+    </sql>
+    <sql id="select_alias">
+        SELECT <include refid="columns_alias" /> FROM RMS_MATERIAL t
+    </sql>
+    <sql id="where">
+        <where>
+            <if test="materialId != null">
+                and MATERIAL_ID = #{materialId}
+            </if>
+            <if test="materialTypeId != null">
+                and MATERIAL_TYPE_ID = #{materialTypeId}
+            </if>
+            <if test="unitOfMeasureId != null">
+                and UNIT_OF_MEASURE_ID = #{unitOfMeasureId}
+            </if>
+            <if test="materialCode != null and materialCode != ''">
+                and MATERIAL_CODE = #{materialCode}
+            </if>
+            <if test="materialName != null and materialName != ''">
+                and MATERIAL_NAME = #{materialName}
+            </if>
+            <if test="materialSpecification != null and materialSpecification != ''">
+                and MATERIAL_SPECIFICATION = #{materialSpecification}
+            </if>
+            <if test="materialModel != null and materialModel != ''">
+                and MATERIAL_MODEL = #{materialModel}
+            </if>
+            <if test="materialLength != null">
+                and MATERIAL_LENGTH = #{materialLength}
+            </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="easMaterialId != null and easMaterialId != ''">
+                and EAS_MATERIAL_ID = #{easMaterialId}
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="materialTheoreticalWeight != null">
+                and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+            </if>
+            <if test="materialOrder != null">
+                and MATERIAL_ORDER = #{materialOrder}
+            </if>
+            <if test="materialCount != null">
+                and MATERIAL_COUNT = #{materialCount}
+            </if>
+        </where>
+    </sql>
+    <sql id="whereLike">
+        <where>
+            <if test="materialId != null">
+                and MATERIAL_ID = #{materialId}
+            </if>
+            <if test="materialTypeId != null">
+                and MATERIAL_TYPE_ID = #{materialTypeId}
+            </if>
+            <if test="unitOfMeasureId != null">
+                and UNIT_OF_MEASURE_ID = #{unitOfMeasureId}
+            </if>
+            <if test="materialCode != null and materialCode != ''">
+                and MATERIAL_CODE LIKE '%${materialCode}%'
+            </if>
+            <if test="materialName != null and materialName != ''">
+                and MATERIAL_NAME LIKE '%${materialName}%'
+            </if>
+            <if test="materialSpecification != null and materialSpecification != ''">
+                and MATERIAL_SPECIFICATION LIKE '%${materialSpecification}%'
+            </if>
+            <if test="materialModel != null and materialModel != ''">
+                and MATERIAL_MODEL LIKE '%${materialModel}%'
+            </if>
+            <if test="materialLength != null">
+                and MATERIAL_LENGTH = #{materialLength}
+            </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="easMaterialId != null and easMaterialId != ''">
+                and EAS_MATERIAL_ID LIKE '%${easMaterialId}%'
+            </if>
+            <if test="deleted != null">
+                and DELETED = #{deleted}
+            </if>
+            <if test="materialTheoreticalWeight != null">
+                and MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+            </if>
+            <if test="materialOrder != null">
+                and MATERIAL_ORDER = #{materialOrder}
+            </if>
+            <if test="materialCount != null">
+                and MATERIAL_COUNT = #{materialCount}
+            </if>
+        </where>
+    </sql>
+    <delete id="deleteByPrimaryKey" parameterType="DECIMAL">
+        delete from RMS_MATERIAL
+        where MATERIAL_ID = #{materialId,jdbcType=DECIMAL}
+    </delete>
+    <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+        delete from RMS_MATERIAL
+        where 1!=1
+        <if test="materialTypeId != null">
+            or MATERIAL_TYPE_ID = #{materialTypeId}
+        </if>
+        <if test="unitOfMeasureId != null">
+            or UNIT_OF_MEASURE_ID = #{unitOfMeasureId}
+        </if>
+        <if test="materialCode != null and materialCode != ''">
+            or MATERIAL_CODE = #{materialCode}
+        </if>
+        <if test="materialName != null and materialName != ''">
+            or MATERIAL_NAME = #{materialName}
+        </if>
+        <if test="materialSpecification != null and materialSpecification != ''">
+            or MATERIAL_SPECIFICATION = #{materialSpecification}
+        </if>
+        <if test="materialModel != null and materialModel != ''">
+            or MATERIAL_MODEL = #{materialModel}
+        </if>
+        <if test="materialLength != null">
+            or MATERIAL_LENGTH = #{materialLength}
+        </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="easMaterialId != null and easMaterialId != ''">
+            or EAS_MATERIAL_ID = #{easMaterialId}
+        </if>
+        <if test="deleted != null">
+            or DELETED = #{deleted}
+        </if>
+        <if test="materialTheoreticalWeight != null">
+            or MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight}
+        </if>
+        <if test="materialOrder != null">
+            or MATERIAL_ORDER = #{materialOrder}
+        </if>
+        <if test="materialCount != null">
+            or MATERIAL_COUNT = #{materialCount}
+        </if>
+    </delete>
+    <insert id="insert" parameterType="com.steerinfo.dil.model.RmsMaterial">
+        insert into RMS_MATERIAL (MATERIAL_ID, MATERIAL_TYPE_ID, UNIT_OF_MEASURE_ID,
+                                  MATERIAL_CODE, MATERIAL_NAME, MATERIAL_SPECIFICATION,
+                                  MATERIAL_MODEL, MATERIAL_LENGTH, INSERT_USERNAME,
+                                  INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME,
+                                  INSERT_UPDATE_REMARK, EAS_MATERIAL_ID, DELETED,
+                                  MATERIAL_THEORETICAL_WEIGHT, MATERIAL_ORDER,
+                                  MATERIAL_COUNT)
+        values (#{materialId,jdbcType=DECIMAL}, #{materialTypeId,jdbcType=DECIMAL}, #{unitOfMeasureId,jdbcType=DECIMAL},
+                #{materialCode,jdbcType=VARCHAR}, #{materialName,jdbcType=VARCHAR}, #{materialSpecification,jdbcType=VARCHAR},
+                #{materialModel,jdbcType=VARCHAR}, #{materialLength,jdbcType=DECIMAL}, #{insertUsername,jdbcType=VARCHAR},
+                #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
+                #{insertUpdateRemark,jdbcType=VARCHAR}, #{easMaterialId,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
+                #{materialTheoreticalWeight,jdbcType=DECIMAL}, #{materialOrder,jdbcType=DECIMAL},
+                #{materialCount,jdbcType=DECIMAL})
+    </insert>
+    <insert id="insertSelective" parameterType="com.steerinfo.dil.model.RmsMaterial">
+        insert into RMS_MATERIAL
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="materialId != null">
+                MATERIAL_ID,
+            </if>
+            <if test="materialTypeId != null">
+                MATERIAL_TYPE_ID,
+            </if>
+            <if test="unitOfMeasureId != null">
+                UNIT_OF_MEASURE_ID,
+            </if>
+            <if test="materialCode != null">
+                MATERIAL_CODE,
+            </if>
+            <if test="materialName != null">
+                MATERIAL_NAME,
+            </if>
+            <if test="materialSpecification != null">
+                MATERIAL_SPECIFICATION,
+            </if>
+            <if test="materialModel != null">
+                MATERIAL_MODEL,
+            </if>
+            <if test="materialLength != null">
+                MATERIAL_LENGTH,
+            </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="easMaterialId != null">
+                EAS_MATERIAL_ID,
+            </if>
+            <if test="deleted != null">
+                DELETED,
+            </if>
+            <if test="materialTheoreticalWeight != null">
+                MATERIAL_THEORETICAL_WEIGHT,
+            </if>
+            <if test="materialOrder != null">
+                MATERIAL_ORDER,
+            </if>
+            <if test="materialCount != null">
+                MATERIAL_COUNT,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="materialId != null">
+                #{materialId,jdbcType=DECIMAL},
+            </if>
+            <if test="materialTypeId != null">
+                #{materialTypeId,jdbcType=DECIMAL},
+            </if>
+            <if test="unitOfMeasureId != null">
+                #{unitOfMeasureId,jdbcType=DECIMAL},
+            </if>
+            <if test="materialCode != null">
+                #{materialCode,jdbcType=VARCHAR},
+            </if>
+            <if test="materialName != null">
+                #{materialName,jdbcType=VARCHAR},
+            </if>
+            <if test="materialSpecification != null">
+                #{materialSpecification,jdbcType=VARCHAR},
+            </if>
+            <if test="materialModel != null">
+                #{materialModel,jdbcType=VARCHAR},
+            </if>
+            <if test="materialLength != null">
+                #{materialLength,jdbcType=DECIMAL},
+            </if>
+            <if test="insertUsername != null">
+                #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="easMaterialId != null">
+                #{easMaterialId,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="materialTheoreticalWeight != null">
+                #{materialTheoreticalWeight,jdbcType=DECIMAL},
+            </if>
+            <if test="materialOrder != null">
+                #{materialOrder,jdbcType=DECIMAL},
+            </if>
+            <if test="materialCount != null">
+                #{materialCount,jdbcType=DECIMAL},
+            </if>
+        </trim>
+    </insert>
+    <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.RmsMaterial">
+        update RMS_MATERIAL
+        set MATERIAL_TYPE_ID = #{materialTypeId,jdbcType=DECIMAL},
+            UNIT_OF_MEASURE_ID = #{unitOfMeasureId,jdbcType=DECIMAL},
+            MATERIAL_CODE = #{materialCode,jdbcType=VARCHAR},
+            MATERIAL_NAME = #{materialName,jdbcType=VARCHAR},
+            MATERIAL_SPECIFICATION = #{materialSpecification,jdbcType=VARCHAR},
+            MATERIAL_MODEL = #{materialModel,jdbcType=VARCHAR},
+            MATERIAL_LENGTH = #{materialLength,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},
+            EAS_MATERIAL_ID = #{easMaterialId,jdbcType=VARCHAR},
+            DELETED = #{deleted,jdbcType=DECIMAL},
+            MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
+            MATERIAL_ORDER = #{materialOrder,jdbcType=DECIMAL},
+            MATERIAL_COUNT = #{materialCount,jdbcType=DECIMAL}
+        where MATERIAL_ID = #{materialId,jdbcType=DECIMAL}
+    </update>
+    <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.RmsMaterial">
+        update RMS_MATERIAL
+        <set>
+            <if test="materialTypeId != null">
+                MATERIAL_TYPE_ID = #{materialTypeId,jdbcType=DECIMAL},
+            </if>
+            <if test="unitOfMeasureId != null">
+                UNIT_OF_MEASURE_ID = #{unitOfMeasureId,jdbcType=DECIMAL},
+            </if>
+            <if test="materialCode != null">
+                MATERIAL_CODE = #{materialCode,jdbcType=VARCHAR},
+            </if>
+            <if test="materialName != null">
+                MATERIAL_NAME = #{materialName,jdbcType=VARCHAR},
+            </if>
+            <if test="materialSpecification != null">
+                MATERIAL_SPECIFICATION = #{materialSpecification,jdbcType=VARCHAR},
+            </if>
+            <if test="materialModel != null">
+                MATERIAL_MODEL = #{materialModel,jdbcType=VARCHAR},
+            </if>
+            <if test="materialLength != null">
+                MATERIAL_LENGTH = #{materialLength,jdbcType=DECIMAL},
+            </if>
+            <if test="insertUsername != null">
+                INSERT_USERNAME = #{insertUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="insertTime != null">
+                INSERT_TIME = #{insertTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="updateUsername != null">
+                UPDATE_USERNAME = #{updateUsername,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="insertUpdateRemark != null">
+                INSERT_UPDATE_REMARK = #{insertUpdateRemark,jdbcType=VARCHAR},
+            </if>
+            <if test="easMaterialId != null">
+                EAS_MATERIAL_ID = #{easMaterialId,jdbcType=VARCHAR},
+            </if>
+            <if test="deleted != null">
+                DELETED = #{deleted,jdbcType=DECIMAL},
+            </if>
+            <if test="materialTheoreticalWeight != null">
+                MATERIAL_THEORETICAL_WEIGHT = #{materialTheoreticalWeight,jdbcType=DECIMAL},
+            </if>
+            <if test="materialOrder != null">
+                MATERIAL_ORDER = #{materialOrder,jdbcType=DECIMAL},
+            </if>
+            <if test="materialCount != null">
+                MATERIAL_COUNT = #{materialCount,jdbcType=DECIMAL},
+            </if>
+        </set>
+        where MATERIAL_ID = #{materialId,jdbcType=DECIMAL}
+    </update>
+    <select id="selectByPrimaryKey" parameterType="DECIMAL" resultMap="BaseResultMap">
+        <include refid="select" />
+        where MATERIAL_ID = #{materialId,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 RMS_MATERIAL
+        (MATERIAL_ID,
+        MATERIAL_TYPE_ID, UNIT_OF_MEASURE_ID,
+        MATERIAL_CODE, MATERIAL_NAME, MATERIAL_SPECIFICATION,
+        MATERIAL_MODEL, MATERIAL_LENGTH,
+        INSERT_USERNAME, INSERT_TIME,
+        UPDATE_USERNAME, UPDATE_TIME,
+        INSERT_UPDATE_REMARK, EAS_MATERIAL_ID,
+        DELETED, MATERIAL_THEORETICAL_WEIGHT,
+        MATERIAL_ORDER, MATERIAL_COUNT)
+        ( <foreach collection="list" item="item" separator="union all">
+        select
+        #{item.materialId,jdbcType=DECIMAL},
+        #{item.materialTypeId,jdbcType=DECIMAL}, #{item.unitOfMeasureId,jdbcType=DECIMAL},
+        #{item.materialCode,jdbcType=VARCHAR}, #{item.materialName,jdbcType=VARCHAR}, #{item.materialSpecification,jdbcType=VARCHAR},
+        #{item.materialModel,jdbcType=VARCHAR}, #{item.materialLength,jdbcType=DECIMAL},
+        #{item.insertUsername,jdbcType=VARCHAR}, #{item.insertTime,jdbcType=TIMESTAMP},
+        #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
+        #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.easMaterialId,jdbcType=VARCHAR},
+        #{item.deleted,jdbcType=DECIMAL}, #{item.materialTheoreticalWeight,jdbcType=DECIMAL},
+        #{item.materialOrder,jdbcType=DECIMAL}, #{item.materialCount,jdbcType=DECIMAL} from dual
+    </foreach> )
+    </insert>
+    <update id="batchUpdate" parameterType="java.util.List">
+        update RMS_MATERIAL
+        set
+        MATERIAL_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialId,jdbcType=DECIMAL}
+        </foreach>
+        ,MATERIAL_TYPE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialTypeId,jdbcType=DECIMAL}
+        </foreach>
+        ,UNIT_OF_MEASURE_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.unitOfMeasureId,jdbcType=DECIMAL}
+        </foreach>
+        ,MATERIAL_CODE=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialCode,jdbcType=VARCHAR}
+        </foreach>
+        ,MATERIAL_NAME=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialName,jdbcType=VARCHAR}
+        </foreach>
+        ,MATERIAL_SPECIFICATION=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialSpecification,jdbcType=VARCHAR}
+        </foreach>
+        ,MATERIAL_MODEL=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialModel,jdbcType=VARCHAR}
+        </foreach>
+        ,MATERIAL_LENGTH=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialLength,jdbcType=DECIMAL}
+        </foreach>
+        ,INSERT_USERNAME=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.insertUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,INSERT_TIME=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.insertTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,UPDATE_USERNAME=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.updateUsername,jdbcType=VARCHAR}
+        </foreach>
+        ,UPDATE_TIME=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.updateTime,jdbcType=TIMESTAMP}
+        </foreach>
+        ,INSERT_UPDATE_REMARK=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.insertUpdateRemark,jdbcType=VARCHAR}
+        </foreach>
+        ,EAS_MATERIAL_ID=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.easMaterialId,jdbcType=VARCHAR}
+        </foreach>
+        ,DELETED=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.deleted,jdbcType=DECIMAL}
+        </foreach>
+        ,MATERIAL_THEORETICAL_WEIGHT=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialTheoreticalWeight,jdbcType=DECIMAL}
+        </foreach>
+        ,MATERIAL_ORDER=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialOrder,jdbcType=DECIMAL}
+        </foreach>
+        ,MATERIAL_COUNT=
+        <foreach close="end" collection="list" index="index" item="item" open="case MATERIAL_ID" separator=" ">
+            when #{item.materialId,jdbcType=DECIMAL} then #{item.materialCount,jdbcType=DECIMAL}
+        </foreach>
+        where MATERIAL_ID in
+        <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
+            #{item.materialId,jdbcType=DECIMAL}
+        </foreach>
+    </update>
+    <delete id="batchDelete" parameterType="java.util.List">
+        delete from RMS_MATERIAL
+        where MATERIAL_ID in
+        <foreach close=")" collection="list" item="id" open="(" separator=",">
+            #{id}
+        </foreach>
+    </delete>
+    <!-- 友情提示!!!-->
+    <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+
+    <!-- 展示物资信息 -->
+    <select id="getMaterialList" parameterType="java.util.Map" resultType="java.util.Map">
+        SELECT *
+        FROM (
+        SELECT RM.MATERIAL_CODE AS "materialCode",
+        RM.MATERIAL_NAME AS "materialName",
+        RMT.MATERIAL_TYPE_NAME AS "materialTypeName",
+        RMT.MATERIAL_TYPE_STATUS AS "materialTypeStatus",
+        RUOM.UNIT_OF_MEASURE_NAME AS "unitOfMeasureName"
+        FROM RMS_MATERIAL RM
+        LEFT JOIN RMS_MATERIAL_TYPE RMT
+        ON RM.MATERIAL_TYPE_ID = RMT.MATERIAL_TYPE_ID
+        LEFT JOIN RMS_UNIT_OF_MEASURE RUOM
+        ON RM.UNIT_OF_MEASURE_ID = RUOM.UNIT_OF_MEASURE_ID
+        )
+        <where>
+            <if test="materialCode!= null">
+                and
+                <foreach collection="materialCode" item="item" open="(" separator="," close=")">
+                    "materialCode" in #{item}
+                </foreach>
+            </if>
+            <if test="materialName!= null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="," close=")">
+                    "materialName" in #{item}
+                </foreach>
+            </if>
+            <if test="materialTypeName!= null">
+                and
+                <foreach collection="materialTypeName" item="item" open="(" separator="," close=")">
+                    "materialTypeName" in #{item}
+                </foreach>
+            </if>
+            <if test="materialTypeStatus!= null">
+                and
+                <foreach collection="materialTypeStatus" item="item" open="(" separator="," close=")">
+                    "materialTypeStatus" in #{item}
+                </foreach>
+            </if>
+            <if test="unitOfMeasureName!= null">
+                and
+                <foreach collection="unitOfMeasureName" item="item" open="(" separator="," close=")">
+                    "unitOfMeasureName" in #{item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+</mapper>