luobang hace 2 años
padre
commit
9b785dc8ef

+ 1 - 1
pom.xml

@@ -111,7 +111,7 @@
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>
-                        <param>AMS_SALE_ORDER_MATERIAL</param>
+                        <param>AMS_SALE_MATERIAL</param>
                     </tables>
                 </configuration>
                 <executions>

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

@@ -1,11 +1,11 @@
 package com.steerinfo.dil.controller;
 
 import com.alibaba.druid.support.json.JSONUtils;
+import com.alibaba.fastjson.JSONObject;
 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.service.IAmsSaleOrderService;
 import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
@@ -73,9 +73,9 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     EASDeleteUtil easDeleteUtil;
     @Autowired
     EASCapacityTestUtil easCapacityTestUtil;
-
     @Autowired
-    private AmsSaleOrderMapper amsSaleOrderMapper;
+    EasFluMakeDateUtil easFluMakeDateUtil;
+
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -1633,15 +1633,15 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     public RESTfulResult addUnloadSteelSaleOrderList(@RequestBody List<Map<String,Object>> mapList){
         int count = 0;
         String saleOrderNo = null;
-        System.out.println("------销售订单批量导入Excel导入-----");
+        System.out.println("------销售订单批量导入Excel导入继续装-----");
         System.out.println(mapList);
-        System.out.println("------销售订单批量导入Excel导入-----");
+        System.out.println("------销售订单批量导入Excel导入继续装-----");
         try {
             for (Map<String,Object> map:mapList
             ) {
                 saleOrderNo = map.get("saleOrderNo").toString();
                 count++;
-                int saleOrderId= amsSaleOrderService.addSteelSaleOrder(map);
+                int saleOrderId= amsSaleOrderService.addSteelSaleOrderLoading(map);
                 if (map.get("isUploadEas") != null && saleOrderId != 0) {
                     amsSaleOrderService.uploadSaleOrder(new BigDecimal(saleOrderId));
                 }
@@ -1685,4 +1685,34 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
         System.out.println("重传结束,剩余失败数量:"+retryQueen.size());
     }
 
+    @ApiOperation("查询制单日期")
+    @PostMapping("getMakeOrderDate")
+    public RESTfulResult getMakeOrderDate(@RequestBody(required = false) Map<String,Object> map) {
+        List <String> easPrimaryIds = amsSaleOrderService.getEasPrimaryIds(map);
+        String easPrimaryList = "";
+        for (String easPrimaryId :easPrimaryIds) {
+            easPrimaryList = easPrimaryList + '\'' +  easPrimaryId + '\'' + ',';
+        }
+        easPrimaryList = easPrimaryList.substring(0,easPrimaryList.length() - 1);
+        ArrayList<String> easPrimaryList1 = new ArrayList<>();
+        easPrimaryList1.add(easPrimaryList);
+        System.out.println(easPrimaryList);
+        Map<String,Object> totalMap = easFluMakeDateUtil.getTotalMap();
+        Map<String, Object> input = new HashMap<>();
+        input.put("defineSqlNumber","defineXSCKTime");
+        input.put("defineSqlparams",easPrimaryList1);
+        totalMap.put("input",input);
+        totalMap.put("outerSystem","DG");
+        JSONObject jsonObject = new JSONObject(totalMap);
+        System.out.println(jsonObject);
+        Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+        String outPut = (String) resultMap.get("output");
+
+        System.out.println(outPut);
+        JSONObject jsonObject1 = new JSONObject(resultMap);
+        System.out.println(jsonObject1);
+        return success();
+
+    }
+
 }

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

@@ -200,4 +200,7 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     //查找是否允许GPS派车
     int isGPS(String capacityNumber);
+
+    List<String> getEasPrimaryIds(Map<String, Object> map);
+
 }

+ 137 - 3
src/main/java/com/steerinfo/dil/model/AmsSaleMaterial.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;
 
@@ -94,9 +93,9 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
     private BigDecimal steelMeter;
 
     /**
-     * 是否磅重销售(IS_POUND_SALE,DECIMAL,0)
+     * 是否磅重销售 0:磅重 1:理重(IS_POUND_SALE,DECIMAL,0)
      */
-    @ApiModelProperty(value="是否磅重销售",required=false)
+    @ApiModelProperty(value="是否磅重销售 0:磅重 1:理重",required=false)
     private BigDecimal isPoundSale;
 
     /**
@@ -105,6 +104,60 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
     @ApiModelProperty(value="物资理重",required=false)
     private BigDecimal meterWeight;
 
+    /**
+     * 调出仓库(TRANSFER_OUT_OF_WAREHOUSE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调出仓库",required=false)
+    private String transferOutOfWarehouse;
+
+    /**
+     * 调入仓库(TRANSFER_IN_OF_WAREHOUSE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="调入仓库",required=false)
+    private String transferInOfWarehouse;
+
+    /**
+     * 库存类型(INVENTORY_TYPE,VARCHAR,50)
+     */
+    @ApiModelProperty(value="库存类型",required=false)
+    private String inventoryType;
+
+    /**
+     * 库存状态(INVENTORY_STATUS,VARCHAR,50)
+     */
+    @ApiModelProperty(value="库存状态",required=false)
+    private String inventoryStatus;
+
+    /**
+     * 调入计划日期(TRANSFER_IN_PLAN_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="调入计划日期",required=false)
+    private Date transferInPlanDate;
+
+    /**
+     * 调出计划日期(TRANSFER_OUT_PLAN_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="调出计划日期",required=false)
+    private Date transferOutPlanDate;
+
+    /**
+     * 是否控制数量(CONTROL_QUANTITY,VARCHAR,20)
+     */
+    @ApiModelProperty(value="是否控制数量",required=false)
+    private String controlQuantity;
+
+    /**
+     * 制单日期(SALE_MAKE_DATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="制单日期",required=false)
+    private Date saleMakeDate;
+
+    /**
+     * 计划件数(MATERIAL_PLAN_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value="计划件数",required=false)
+    private BigDecimal materialPlanNumber;
+
     private static final long serialVersionUID = 1L;
 
     @Override
@@ -245,6 +298,78 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
         this.meterWeight = meterWeight;
     }
 
+    public String getTransferOutOfWarehouse() {
+        return transferOutOfWarehouse;
+    }
+
+    public void setTransferOutOfWarehouse(String transferOutOfWarehouse) {
+        this.transferOutOfWarehouse = transferOutOfWarehouse == null ? null : transferOutOfWarehouse.trim();
+    }
+
+    public String getTransferInOfWarehouse() {
+        return transferInOfWarehouse;
+    }
+
+    public void setTransferInOfWarehouse(String transferInOfWarehouse) {
+        this.transferInOfWarehouse = transferInOfWarehouse == null ? null : transferInOfWarehouse.trim();
+    }
+
+    public String getInventoryType() {
+        return inventoryType;
+    }
+
+    public void setInventoryType(String inventoryType) {
+        this.inventoryType = inventoryType == null ? null : inventoryType.trim();
+    }
+
+    public String getInventoryStatus() {
+        return inventoryStatus;
+    }
+
+    public void setInventoryStatus(String inventoryStatus) {
+        this.inventoryStatus = inventoryStatus == null ? null : inventoryStatus.trim();
+    }
+
+    public Date getTransferInPlanDate() {
+        return transferInPlanDate;
+    }
+
+    public void setTransferInPlanDate(Date transferInPlanDate) {
+        this.transferInPlanDate = transferInPlanDate;
+    }
+
+    public Date getTransferOutPlanDate() {
+        return transferOutPlanDate;
+    }
+
+    public void setTransferOutPlanDate(Date transferOutPlanDate) {
+        this.transferOutPlanDate = transferOutPlanDate;
+    }
+
+    public String getControlQuantity() {
+        return controlQuantity;
+    }
+
+    public void setControlQuantity(String controlQuantity) {
+        this.controlQuantity = controlQuantity == null ? null : controlQuantity.trim();
+    }
+
+    public Date getSaleMakeDate() {
+        return saleMakeDate;
+    }
+
+    public void setSaleMakeDate(Date saleMakeDate) {
+        this.saleMakeDate = saleMakeDate;
+    }
+
+    public BigDecimal getMaterialPlanNumber() {
+        return materialPlanNumber;
+    }
+
+    public void setMaterialPlanNumber(BigDecimal materialPlanNumber) {
+        this.materialPlanNumber = materialPlanNumber;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -267,6 +392,15 @@ public class AmsSaleMaterial implements IBasePO<BigDecimal> {
         sb.append(", steelMeter=").append(steelMeter);
         sb.append(", isPoundSale=").append(isPoundSale);
         sb.append(", meterWeight=").append(meterWeight);
+        sb.append(", transferOutOfWarehouse=").append(transferOutOfWarehouse);
+        sb.append(", transferInOfWarehouse=").append(transferInOfWarehouse);
+        sb.append(", inventoryType=").append(inventoryType);
+        sb.append(", inventoryStatus=").append(inventoryStatus);
+        sb.append(", transferInPlanDate=").append(transferInPlanDate);
+        sb.append(", transferOutPlanDate=").append(transferOutPlanDate);
+        sb.append(", controlQuantity=").append(controlQuantity);
+        sb.append(", saleMakeDate=").append(saleMakeDate);
+        sb.append(", materialPlanNumber=").append(materialPlanNumber);
         sb.append(", serialVersionUID=").append(serialVersionUID);
         sb.append("]");
         return sb.toString();

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

@@ -182,4 +182,7 @@ public interface IAmsSaleOrderService {
 
     int adverseCloseSaleMaterialByEas(BigDecimal saleMaterialId);
 
+    List<String> getEasPrimaryIds(Map<String, Object> map);
+
+    int addSteelSaleOrderLoading(Map<String, Object> mapValue) throws Exception;
 }

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

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service.impl;
 
+import com.alibaba.druid.sql.visitor.functions.Char;
 import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -799,6 +800,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleMaterial.setSaleOrderId(saleOrderId);
             amsSaleMaterial.setMaterialId(materialId);
             amsSaleMaterial.setMaterialNumber(materialNumber);
+            amsSaleMaterial.setMaterialPlanNumber(materialNumber);
             amsSaleMaterial.setInsertTime(new Date());
             amsSaleMaterial.setUpdateTime(new Date());
             amsSaleMaterial.setIsPoundSale(isPoundSale);
@@ -818,8 +820,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleTrucknoMaterial.setInsertUpdateRemark("物流新增");
             result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
         }
-
         result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+
         return saleOrderId.intValue();
     }
 
@@ -2450,5 +2452,222 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return result;
     }
 
+    @Override
+    public List<String> getEasPrimaryIds(Map<String, Object> map) {
+        return amsSaleOrderMapper.getEasPrimaryIds(map);
+    }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public synchronized int addSteelSaleOrderLoading(Map<String, Object> mapValue) throws Exception {
+        List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
+        //如果前端传输过来的销售订单id不是空,则改变为已上传
+        if (mapValue.get("saleOrderId") != null) {
+            //先判断该销售订单有没有被上传,如果传了则不允许重复上传
+            int count = amsSaleOrderMaterialMapper.selectSaleOrderIdIsUpload(DataChange.dataToBigDecimal(mapValue.get("saleOrderId")));
+            if(count != 0) {
+                return 0;
+            }
+            amsSaleOrderMapper.updateOldSaleOrderUpload(DataChange.dataToBigDecimal(mapValue.get("saleOrderId")));
+        }
+        // 得到发货单位
+        BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
+        // 收货单位
+        BigDecimal receiveId = DataChange.dataToBigDecimal(mapValue.get("receiveId"));
+        // 是否自提
+        String isSelfMention = (String) mapValue.get("isSelfMention");
+        // 备注
+        String saleRemark = (String) mapValue.get("saleRemark");
+        // 收款客户
+        String saleOrderReceiveCustomer = (String) mapValue.get("saleOrderReceiveCustomer");
+        // 业务员
+        BigDecimal salerId = DataChange.dataToBigDecimal(mapValue.get("salerId"));
+        BigDecimal saleOrderId = amsSaleOrderMapper.selectMaxId();
+        int result = 0;
+        // 销售订单
+        AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
+        amsSaleOrder.setReceiveId(receiveId);
+        amsSaleOrder.setSaleRemark(saleRemark == null ? "":saleRemark);
+        amsSaleOrder.setShipperId(shipperId);
+        amsSaleOrder.setSaleOrderIsselfMention(isSelfMention);
+        amsSaleOrder.setSaleOrderId(saleOrderId);
+        amsSaleOrder.setSalerId(salerId);
+        // 设置钢材订单
+        amsSaleOrder.setSaleType(new BigDecimal(1));
+        amsSaleOrder.setSaleNumber(DataChange.generateEightDigitsNumber("WXSDD",saleOrderId.intValue(),"-"));
+        amsSaleOrder.setInsertTime(new Date());
+        amsSaleOrder.setInsertUpdateRemark("物流新增继续装销售订单");
+        amsSaleOrder.setInsertUsername("物流");
+        amsSaleOrder.setUpdateTime(new Date());
+        amsSaleOrder.setDeleted(new BigDecimal(0));
+        amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
+        // 税率默认13%
+        amsSaleOrder.setSaleOrderTax("13%");
+        // 含税单价某人4000
+        amsSaleOrder.setSaleUnitPrice(new BigDecimal(4000));
+        // 收款客户
+        amsSaleOrder.setSaleOrderReceiveCustomer(saleOrderReceiveCustomer);
+        // 销售订单物资表
+        AmsSaleMaterial amsSaleMaterial = new AmsSaleMaterial();
+        // 车序号物资表
+        AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
+        // 遍历每一行
+        for (Map<String, Object> map : mapList) {
+            /*
+             车序号表
+             */
+            // 得到车序号
+            BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
+
+            Map<String,Object> saleMap = new HashMap<>();
+            saleMap.put("saleOrderId",saleOrderId);
+            saleMap.put("saleOrderMaterialTruckNo",truckNo);
+            // 检测销售订单下的车序号是否已存在
+            List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
+            // 车序号表
+            AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
+            if (amsSaleOrderMaterials == null || amsSaleOrderMaterials.size() == 0) {
+                // 车序号主键
+                BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
+                BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shipperAddressId"));
+                // 车号备注
+                String truckRemark = (String) (map.get("truckRemark"));
+                String place = (String) (map.get("place"));
+                amsSaleOrderMaterial.setSaleShippingAddressId(DataChange.dataToBigDecimal(map.get("placeId")));
+                if (amsSaleOrderMaterial.getSaleShippingAddressId() != null && isSelfMention.equals("否") && DataChange.dataToBigDecimal(map.get("carrierId")).intValue() == 0) {
+                    // 自动匹配承运商
+                    List<Map<String, Object>> carrierList = getCarrierByAddress(amsSaleOrderMaterial.getSaleShippingAddressId());
+                    BigDecimal carrierCount = null;
+                    if(place != null && !"null".equals(place)){
+                        carrierCount = amsSaleOrderMapper.getMoreCarrier(place);
+                    }
+                    //根据收货地址id查询备注,判断是否需要匹配承运商
+                    String addressRemark = amsSaleOrderMaterialMapper.getAddressRemark(shippingAddressId);
+                    // 单一承运商才进行匹配
+                    if (carrierList != null && carrierList.size() == 1 && carrierList.get(0) != null  && carrierCount.intValue() == 0 && addressRemark == null) {
+                        List<Map<String, Object>> list = new ArrayList<>();
+                        Map<String, Object> map1 = carrierList.get(0);
+                        // 传入车序号主键和承运商id
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                if (isSelfMention.equals("是")) {
+                    // 根据收货单位id查询出收货单位名称
+                    String consigneeName = amsSaleOrderMapper.selectConsigneeName(receiveId);
+                    // 根据收货单位名称查询承运商id
+                    BigDecimal carrierId = amsSaleOrderMapper.selectCarrierId(consigneeName);
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String,Object> map1 = new HashMap<>();
+                    // 传入车序号主键和承运商id
+                    if (carrierId != null) {
+                        map1.put("saleOrderMaterialId", saleOrderMaterialId);
+                        map1.put("carrierId", carrierId);
+                        list.add(map1);
+                        dispatchToCarrier(list);
+                    }
+                }
+                if (isSelfMention.equals("否") && DataChange.dataToBigDecimal(map.get("carrierId")).intValue() != 0) {
+                    //说明有承运商
+                    List<Map<String, Object>> list = new ArrayList<>();
+                    Map<String, Object> carrierMap = new HashMap<>();
+                    carrierMap.put("carrierId",map.get("carrierId"));
+                    carrierMap.put("saleOrderMaterialId",saleOrderMaterialId);
+                    list.add(carrierMap);
+                    dispatchToCarrier(list);
+                }
+                // 收货方姓名
+                String consigneeName = String.valueOf(map.get("saleOrderConsignee"));
+                // 收货方电话
+                String consigneeTel = String.valueOf(map.get("saleOrderConsigneeTel"));
+                // 截止日期
+                String dateOfReceiptStr = String.valueOf(map.get("saleDateOfReceipt"));
+                Date dateOfReceipt = null;
+                if (!"null".equals(dateOfReceiptStr) && !"undefined".equals(dateOfReceiptStr)) {
+                    dateOfReceipt = new Date(Long.valueOf(dateOfReceiptStr));
+                }
+                amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
+                amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
+                amsSaleOrderMaterial.setTruckRemark(truckRemark);
+                amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
+                if(map.get("orderNo") != null) {
+                    amsSaleOrderMaterial.setPreviousOrderNumber((String) map.get("orderNo"));
+                }
+                if (consigneeName != null && !consigneeName.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsignee(consigneeName);
+                }
+                if (consigneeTel != null && !consigneeTel.equals("null")) {
+                    amsSaleOrderMaterial.setSaleOrderConsigneeTel(consigneeTel);
+                }
+                amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
+                amsSaleOrderMaterial.setInsertTime(new Date());
+                amsSaleOrderMaterial.setUpdateTime(new Date());
+                amsSaleOrderMaterial.setInsertUpdateRemark("物流新增");
+                result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
+            }
+            else {
+                amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
+            }
+            /*
+            销售订单物资表
+             */
+            // 物资
+            BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+            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"));
+            // 销售订单物资表主键
+            BigDecimal saleMaterialId = amsSaleMaterialMapper.selectMaxId();
+            amsSaleMaterial.setSaleMaterialId(saleMaterialId);
+            amsSaleMaterial.setSaleOrderId(saleOrderId);
+            amsSaleMaterial.setMaterialId(materialId);
+            amsSaleMaterial.setMaterialNumber(materialNumber);
+            amsSaleMaterial.setMaterialPlanNumber(materialNumber);
+            amsSaleMaterial.setInsertTime(new Date());
+            amsSaleMaterial.setUpdateTime(new Date());
+            amsSaleMaterial.setIsPoundSale(isPoundSale);
+            amsSaleMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
+            /*
+            车序号物资表
+             */
+            // 车序号物资表主键
+            BigDecimal truckNoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
+            amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
+            amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
+            amsSaleTrucknoMaterial.setMaterialId(amsSaleMaterial.getSaleMaterialId());
+            amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
+            amsSaleTrucknoMaterial.setInsertTime(new Date());
+            amsSaleTrucknoMaterial.setUpdateTime(new Date());
+            amsSaleTrucknoMaterial.setInsertUpdateRemark("物流新增");
+            result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
+        }
+        result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+        return saleOrderId.intValue();
+    }
+
+
 
 }

+ 74 - 0
src/main/java/com/steerinfo/dil/util/EasFluMakeDateUtil.java

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

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

@@ -19,7 +19,7 @@ openfeign:
    ImFeign:
       url: ${IMFEIGN_URL:172.16.33.166:8055}
    JoinFeign:
-     url: ${JOINFEIGN_URL:172.16.33.166:8066}
+     url: ${JOINFEIGN_URL:localhost:8066}
    OTMSFeign:
      url: ${OTMSFEIGN_URL:172.16.33.166:8038}
    RmsFeign:

+ 247 - 7
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -18,17 +18,30 @@
     <result column="STEEL_METER" jdbcType="DECIMAL" property="steelMeter" />
     <result column="IS_POUND_SALE" jdbcType="DECIMAL" property="isPoundSale" />
     <result column="METER_WEIGHT" jdbcType="DECIMAL" property="meterWeight" />
+    <result column="TRANSFER_OUT_OF_WAREHOUSE" jdbcType="VARCHAR" property="transferOutOfWarehouse" />
+    <result column="TRANSFER_IN_OF_WAREHOUSE" jdbcType="VARCHAR" property="transferInOfWarehouse" />
+    <result column="INVENTORY_TYPE" jdbcType="VARCHAR" property="inventoryType" />
+    <result column="INVENTORY_STATUS" jdbcType="VARCHAR" property="inventoryStatus" />
+    <result column="TRANSFER_IN_PLAN_DATE" jdbcType="TIMESTAMP" property="transferInPlanDate" />
+    <result column="TRANSFER_OUT_PLAN_DATE" jdbcType="TIMESTAMP" property="transferOutPlanDate" />
+    <result column="CONTROL_QUANTITY" jdbcType="VARCHAR" property="controlQuantity" />
+    <result column="SALE_MAKE_DATE" jdbcType="TIMESTAMP" property="saleMakeDate" />
+    <result column="MATERIAL_PLAN_NUMBER" jdbcType="DECIMAL" property="materialPlanNumber" />
   </resultMap>
   <sql id="columns">
     SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID, MATERIAL_WEIGHT, MATERIAL_NUMBER, EAS_PRIMARY_ID,
     INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME, UPDATE_TIME, INSERT_UPDATE_REMARK,
-    DELETED, SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE, METER_WEIGHT
+    DELETED, SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE, METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE,
+    TRANSFER_IN_OF_WAREHOUSE, INVENTORY_TYPE, INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+    TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY, SALE_MAKE_DATE, MATERIAL_PLAN_NUMBER
   </sql>
   <sql id="columns_alias">
     t.SALE_MATERIAL_ID, t.SALE_ORDER_ID, t.MATERIAL_ID, t.MATERIAL_WEIGHT, t.MATERIAL_NUMBER,
     t.EAS_PRIMARY_ID, t.INSERT_USERNAME, t.INSERT_TIME, t.UPDATE_USERNAME, t.UPDATE_TIME,
     t.INSERT_UPDATE_REMARK, t.DELETED, t.SALE_WAREHOUSE, t.STEEL_METER, t.IS_POUND_SALE,
-    t.METER_WEIGHT
+    t.METER_WEIGHT, t.TRANSFER_OUT_OF_WAREHOUSE, t.TRANSFER_IN_OF_WAREHOUSE, t.INVENTORY_TYPE,
+    t.INVENTORY_STATUS, t.TRANSFER_IN_PLAN_DATE, t.TRANSFER_OUT_PLAN_DATE, t.CONTROL_QUANTITY,
+    t.SALE_MAKE_DATE, t.MATERIAL_PLAN_NUMBER
   </sql>
   <sql id="select">
     SELECT <include refid="columns" /> FROM AMS_SALE_MATERIAL
@@ -86,6 +99,33 @@
       <if test="meterWeight != null">
         and METER_WEIGHT = #{meterWeight}
       </if>
+      <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+        and TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse}
+      </if>
+      <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+        and TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse}
+      </if>
+      <if test="inventoryType != null and inventoryType != ''">
+        and INVENTORY_TYPE = #{inventoryType}
+      </if>
+      <if test="inventoryStatus != null and inventoryStatus != ''">
+        and INVENTORY_STATUS = #{inventoryStatus}
+      </if>
+      <if test="transferInPlanDate != null">
+        and TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = #{transferInPlanDate}
+      </if>
+      <if test="transferOutPlanDate != null">
+        and TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = #{transferOutPlanDate}
+      </if>
+      <if test="controlQuantity != null and controlQuantity != ''">
+        and CONTROL_QUANTITY = #{controlQuantity}
+      </if>
+      <if test="saleMakeDate != null">
+        and TO_CHAR(SALE_MAKE_DATE,'yyyy-MM-dd') = #{saleMakeDate}
+      </if>
+      <if test="materialPlanNumber != null">
+        and MATERIAL_PLAN_NUMBER = #{materialPlanNumber}
+      </if>
     </where>
   </sql>
   <sql id="whereLike">
@@ -138,6 +178,33 @@
       <if test="meterWeight != null">
         and METER_WEIGHT = #{meterWeight}
       </if>
+      <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+        and TRANSFER_OUT_OF_WAREHOUSE LIKE '%${transferOutOfWarehouse}%'
+      </if>
+      <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+        and TRANSFER_IN_OF_WAREHOUSE LIKE '%${transferInOfWarehouse}%'
+      </if>
+      <if test="inventoryType != null and inventoryType != ''">
+        and INVENTORY_TYPE LIKE '%${inventoryType}%'
+      </if>
+      <if test="inventoryStatus != null and inventoryStatus != ''">
+        and INVENTORY_STATUS LIKE '%${inventoryStatus}%'
+      </if>
+      <if test="transferInPlanDate != null">
+        and TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = #{transferInPlanDate}
+      </if>
+      <if test="transferOutPlanDate != null">
+        and TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = #{transferOutPlanDate}
+      </if>
+      <if test="controlQuantity != null and controlQuantity != ''">
+        and CONTROL_QUANTITY LIKE '%${controlQuantity}%'
+      </if>
+      <if test="saleMakeDate != null">
+        and TO_CHAR(SALE_MAKE_DATE,'yyyy-MM-dd') = #{saleMakeDate}
+      </if>
+      <if test="materialPlanNumber != null">
+        and MATERIAL_PLAN_NUMBER = #{materialPlanNumber}
+      </if>
     </where>
   </sql>
   <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
@@ -192,6 +259,33 @@
     <if test="meterWeight != null">
       or METER_WEIGHT = #{meterWeight}
     </if>
+    <if test="transferOutOfWarehouse != null and transferOutOfWarehouse != ''">
+      or TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse}
+    </if>
+    <if test="transferInOfWarehouse != null and transferInOfWarehouse != ''">
+      or TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse}
+    </if>
+    <if test="inventoryType != null and inventoryType != ''">
+      or INVENTORY_TYPE = #{inventoryType}
+    </if>
+    <if test="inventoryStatus != null and inventoryStatus != ''">
+      or INVENTORY_STATUS = #{inventoryStatus}
+    </if>
+    <if test="transferInPlanDate != null">
+      or TO_CHAR(TRANSFER_IN_PLAN_DATE,'yyyy-MM-dd') = '#{transferInPlanDate}'
+    </if>
+    <if test="transferOutPlanDate != null">
+      or TO_CHAR(TRANSFER_OUT_PLAN_DATE,'yyyy-MM-dd') = '#{transferOutPlanDate}'
+    </if>
+    <if test="controlQuantity != null and controlQuantity != ''">
+      or CONTROL_QUANTITY = #{controlQuantity}
+    </if>
+    <if test="saleMakeDate != null">
+      or TO_CHAR(SALE_MAKE_DATE,'yyyy-MM-dd') = '#{saleMakeDate}'
+    </if>
+    <if test="materialPlanNumber != null">
+      or MATERIAL_PLAN_NUMBER = #{materialPlanNumber}
+    </if>
   </delete>
   <insert id="insert" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
     insert into AMS_SALE_MATERIAL (SALE_MATERIAL_ID, SALE_ORDER_ID, MATERIAL_ID,
@@ -199,13 +293,19 @@
                                    INSERT_USERNAME, INSERT_TIME, UPDATE_USERNAME,
                                    UPDATE_TIME, INSERT_UPDATE_REMARK, DELETED,
                                    SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
-                                   METER_WEIGHT)
+                                   METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE, TRANSFER_IN_OF_WAREHOUSE,
+                                   INVENTORY_TYPE, INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+                                   TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY,
+                                   SALE_MAKE_DATE, MATERIAL_PLAN_NUMBER)
     values (#{saleMaterialId,jdbcType=DECIMAL}, #{saleOrderId,jdbcType=DECIMAL}, #{materialId,jdbcType=DECIMAL},
             #{materialWeight,jdbcType=DECIMAL}, #{materialNumber,jdbcType=DECIMAL}, #{easPrimaryId,jdbcType=VARCHAR},
             #{insertUsername,jdbcType=VARCHAR}, #{insertTime,jdbcType=TIMESTAMP}, #{updateUsername,jdbcType=VARCHAR},
             #{updateTime,jdbcType=TIMESTAMP}, #{insertUpdateRemark,jdbcType=VARCHAR}, #{deleted,jdbcType=DECIMAL},
             #{saleWarehouse,jdbcType=VARCHAR}, #{steelMeter,jdbcType=DECIMAL}, #{isPoundSale,jdbcType=DECIMAL},
-            #{meterWeight,jdbcType=DECIMAL})
+            #{meterWeight,jdbcType=DECIMAL}, #{transferOutOfWarehouse,jdbcType=VARCHAR}, #{transferInOfWarehouse,jdbcType=VARCHAR},
+            #{inventoryType,jdbcType=VARCHAR}, #{inventoryStatus,jdbcType=VARCHAR}, #{transferInPlanDate,jdbcType=TIMESTAMP},
+            #{transferOutPlanDate,jdbcType=TIMESTAMP}, #{controlQuantity,jdbcType=VARCHAR},
+            #{saleMakeDate,jdbcType=TIMESTAMP}, #{materialPlanNumber,jdbcType=DECIMAL})
   </insert>
   <insert id="insertSelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
     insert into AMS_SALE_MATERIAL
@@ -258,6 +358,33 @@
       <if test="meterWeight != null">
         METER_WEIGHT,
       </if>
+      <if test="transferOutOfWarehouse != null">
+        TRANSFER_OUT_OF_WAREHOUSE,
+      </if>
+      <if test="transferInOfWarehouse != null">
+        TRANSFER_IN_OF_WAREHOUSE,
+      </if>
+      <if test="inventoryType != null">
+        INVENTORY_TYPE,
+      </if>
+      <if test="inventoryStatus != null">
+        INVENTORY_STATUS,
+      </if>
+      <if test="transferInPlanDate != null">
+        TRANSFER_IN_PLAN_DATE,
+      </if>
+      <if test="transferOutPlanDate != null">
+        TRANSFER_OUT_PLAN_DATE,
+      </if>
+      <if test="controlQuantity != null">
+        CONTROL_QUANTITY,
+      </if>
+      <if test="saleMakeDate != null">
+        SALE_MAKE_DATE,
+      </if>
+      <if test="materialPlanNumber != null">
+        MATERIAL_PLAN_NUMBER,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="saleMaterialId != null">
@@ -308,6 +435,33 @@
       <if test="meterWeight != null">
         #{meterWeight,jdbcType=DECIMAL},
       </if>
+      <if test="transferOutOfWarehouse != null">
+        #{transferOutOfWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInOfWarehouse != null">
+        #{transferInOfWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="inventoryType != null">
+        #{inventoryType,jdbcType=VARCHAR},
+      </if>
+      <if test="inventoryStatus != null">
+        #{inventoryStatus,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInPlanDate != null">
+        #{transferInPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="transferOutPlanDate != null">
+        #{transferOutPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="controlQuantity != null">
+        #{controlQuantity,jdbcType=VARCHAR},
+      </if>
+      <if test="saleMakeDate != null">
+        #{saleMakeDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="materialPlanNumber != null">
+        #{materialPlanNumber,jdbcType=DECIMAL},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
@@ -326,7 +480,16 @@
         SALE_WAREHOUSE = #{saleWarehouse,jdbcType=VARCHAR},
         STEEL_METER = #{steelMeter,jdbcType=DECIMAL},
         IS_POUND_SALE = #{isPoundSale,jdbcType=DECIMAL},
-        METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL}
+        METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL},
+        TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse,jdbcType=VARCHAR},
+        TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse,jdbcType=VARCHAR},
+        INVENTORY_TYPE = #{inventoryType,jdbcType=VARCHAR},
+        INVENTORY_STATUS = #{inventoryStatus,jdbcType=VARCHAR},
+        TRANSFER_IN_PLAN_DATE = #{transferInPlanDate,jdbcType=TIMESTAMP},
+        TRANSFER_OUT_PLAN_DATE = #{transferOutPlanDate,jdbcType=TIMESTAMP},
+        CONTROL_QUANTITY = #{controlQuantity,jdbcType=VARCHAR},
+        SALE_MAKE_DATE = #{saleMakeDate,jdbcType=TIMESTAMP},
+        MATERIAL_PLAN_NUMBER = #{materialPlanNumber,jdbcType=DECIMAL}
     where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
   </update>
   <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.AmsSaleMaterial">
@@ -377,6 +540,33 @@
       <if test="meterWeight != null">
         METER_WEIGHT = #{meterWeight,jdbcType=DECIMAL},
       </if>
+      <if test="transferOutOfWarehouse != null">
+        TRANSFER_OUT_OF_WAREHOUSE = #{transferOutOfWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInOfWarehouse != null">
+        TRANSFER_IN_OF_WAREHOUSE = #{transferInOfWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="inventoryType != null">
+        INVENTORY_TYPE = #{inventoryType,jdbcType=VARCHAR},
+      </if>
+      <if test="inventoryStatus != null">
+        INVENTORY_STATUS = #{inventoryStatus,jdbcType=VARCHAR},
+      </if>
+      <if test="transferInPlanDate != null">
+        TRANSFER_IN_PLAN_DATE = #{transferInPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="transferOutPlanDate != null">
+        TRANSFER_OUT_PLAN_DATE = #{transferOutPlanDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="controlQuantity != null">
+        CONTROL_QUANTITY = #{controlQuantity,jdbcType=VARCHAR},
+      </if>
+      <if test="saleMakeDate != null">
+        SALE_MAKE_DATE = #{saleMakeDate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="materialPlanNumber != null">
+        MATERIAL_PLAN_NUMBER = #{materialPlanNumber,jdbcType=DECIMAL},
+      </if>
     </set>
     where SALE_MATERIAL_ID = #{saleMaterialId,jdbcType=DECIMAL}
   </update>
@@ -401,7 +591,12 @@
     UPDATE_USERNAME, UPDATE_TIME,
     INSERT_UPDATE_REMARK, DELETED,
     SALE_WAREHOUSE, STEEL_METER, IS_POUND_SALE,
-    METER_WEIGHT)
+    METER_WEIGHT, TRANSFER_OUT_OF_WAREHOUSE,
+    TRANSFER_IN_OF_WAREHOUSE, INVENTORY_TYPE,
+    INVENTORY_STATUS, TRANSFER_IN_PLAN_DATE,
+    TRANSFER_OUT_PLAN_DATE, CONTROL_QUANTITY,
+    SALE_MAKE_DATE, MATERIAL_PLAN_NUMBER
+    )
     ( <foreach collection="list" item="item" separator="union all">
     select
     #{item.saleMaterialId,jdbcType=DECIMAL},
@@ -411,7 +606,12 @@
     #{item.updateUsername,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
     #{item.insertUpdateRemark,jdbcType=VARCHAR}, #{item.deleted,jdbcType=DECIMAL},
     #{item.saleWarehouse,jdbcType=VARCHAR}, #{item.steelMeter,jdbcType=DECIMAL}, #{item.isPoundSale,jdbcType=DECIMAL},
-    #{item.meterWeight,jdbcType=DECIMAL} from dual
+    #{item.meterWeight,jdbcType=DECIMAL}, #{item.transferOutOfWarehouse,jdbcType=VARCHAR},
+    #{item.transferInOfWarehouse,jdbcType=VARCHAR}, #{item.inventoryType,jdbcType=VARCHAR},
+    #{item.inventoryStatus,jdbcType=VARCHAR}, #{item.transferInPlanDate,jdbcType=TIMESTAMP},
+    #{item.transferOutPlanDate,jdbcType=TIMESTAMP}, #{item.controlQuantity,jdbcType=VARCHAR},
+    #{item.saleMakeDate,jdbcType=TIMESTAMP}, #{item.materialPlanNumber,jdbcType=DECIMAL}
+    from dual
   </foreach> )
   </insert>
   <update id="batchUpdate" parameterType="java.util.List">
@@ -481,6 +681,42 @@
     <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
       when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.meterWeight,jdbcType=DECIMAL}
     </foreach>
+    ,TRANSFER_OUT_OF_WAREHOUSE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferOutOfWarehouse,jdbcType=VARCHAR}
+    </foreach>
+    ,TRANSFER_IN_OF_WAREHOUSE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferInOfWarehouse,jdbcType=VARCHAR}
+    </foreach>
+    ,INVENTORY_TYPE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.inventoryType,jdbcType=VARCHAR}
+    </foreach>
+    ,INVENTORY_STATUS=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.inventoryStatus,jdbcType=VARCHAR}
+    </foreach>
+    ,TRANSFER_IN_PLAN_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferInPlanDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,TRANSFER_OUT_PLAN_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.transferOutPlanDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,CONTROL_QUANTITY=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.controlQuantity,jdbcType=VARCHAR}
+    </foreach>
+    ,SALE_MAKE_DATE=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.saleMakeDate,jdbcType=TIMESTAMP}
+    </foreach>
+    ,MATERIAL_PLAN_NUMBER=
+    <foreach close="end" collection="list" index="index" item="item" open="case SALE_MATERIAL_ID" separator=" ">
+      when #{item.saleMaterialId,jdbcType=DECIMAL} then #{item.materialPlanNumber,jdbcType=DECIMAL}
+    </foreach>
     where SALE_MATERIAL_ID in
     <foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
       #{item.saleMaterialId,jdbcType=DECIMAL}
@@ -495,6 +731,10 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
 
   <select id="getMaterialCount" parameterType="DECIMAL" resultType="java.lang.Integer">
     SELECT RM.MATERIAL_COUNT AS "materialCount"

+ 11 - 2
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4239,8 +4239,8 @@
   <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
+    LEFT JOIN RMS_RECEIVE_PLACE RRP
+    ON RRP.PLACE_ID = ACTP.PLACE_ID
     WHERE
     ACTP.CARRIER_ID IS NOT NULL
     AND RRP.ADDRESS_ID = #{addressId}
@@ -4664,5 +4664,14 @@
   <select id="isGPS" resultType="java.lang.Integer">
     SELECT count(*) FROM RMS_CAPACITY WHERE CAPACITY_NUMBER=#{capacityNumber} and CAPACITY_GPS='是'
   </select>
+    <select id="getEasPrimaryIds" resultType="string" parameterType="map">
+      SELECT ASM.EAS_PRIMARY_ID FROM AMS_SALE_MATERIAL ASM
+      where NVL(ASM.DELETED,0) = 0
+      <if test="easPrimaryList != null and easPrimaryList.size > 0">
+        and <foreach collection="easPrimaryList" item="item" open="(" separator="or" close=")">
+        ASM.EAS_PRIMARY_ID LIKE '%${item}%'
+      </foreach>
+      </if>
+    </select>
 
 </mapper>