Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

zyf vor 2 Jahren
Ursprung
Commit
f6f5b124ba

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsSaleOrder;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
@@ -158,4 +159,9 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     List<Map<String, Object>> getKucunList(Map<String, Object> map);
 
+    BigDecimal selectSaleAreaId(BigDecimal receiveId);
+
+    BigDecimal selectSaleAreaIdByName(String saleArea);
+
+    int bindSaleArea(@Param("receiveId") BigDecimal receiveId, @Param("saleAreaId") BigDecimal saleAreaId);
 }

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

@@ -74,6 +74,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Autowired
     EASDeleteTestUtil easDeleteTestUtil;
     @Autowired
+    EASDeleteApproveUtil easDeleteApproveUtil;
+    @Autowired
     RmsMaterialMapper rmsMaterialMapper;
     @Autowired
     TmstrainPleaseApproveResultMapper tmstrainPleaseApproveResultMapper;
@@ -533,6 +535,23 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             receiveId = amsSaleOrderMapper.findReceiveId(mapValue.get("receiveName"));
             if (receiveId == null) {
                 throw new Exception("您输入的下单客户:" + mapValue.get("receiveName") + "不存在!!");
+            }else {
+                //判断该收货客户有没有绑定片区
+                BigDecimal saleAreaId = amsSaleOrderMapper.selectSaleAreaId(receiveId);
+                if(saleAreaId == null){
+                    //如果片区为null,则绑定片区
+                    //根据片区名称去查找片区ID
+                    if(mapValue.get("saleArea") != null){
+                        String saleAreaName = (String) mapValue.get("saleArea");
+                        saleAreaId = amsSaleOrderMapper.selectSaleAreaIdByName(saleAreaName);
+                        if(saleAreaId == null){
+                            throw new Exception("您输入的销售片区:" + mapValue.get("saleArea") +"不存在!!");
+                        }else{
+                            //更新收货客户下的销售片区
+                            amsSaleOrderMapper.bindSaleArea(receiveId,saleAreaId);
+                        }
+                    }
+                }
             }
         }
         // 是否自提
@@ -1040,7 +1059,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setDeleted(new BigDecimal(2));
         // 如果是已经上传金蝶的销售订单,则同步删除
         AmsSaleOrder amsSaleOrder1 = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
-        if (amsSaleOrder1.getSaleOrderStatus().intValue() == 1 || amsSaleOrder1.getSaleOrderStatus().intValue() == 2 || amsSaleOrder1.getSaleOrderStatus().intValue() == 4) {
+        if (amsSaleOrder1.getSaleOrderStatus().intValue() == 4) {
             String reason = "修改物资关闭上一条销售订单";
             String number = amsSaleOrder1.getSaleNumber();
             String wholeOrder = "1";
@@ -1051,7 +1070,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             head.put("wholeOrder",wholeOrder);
             head.put("status",status);
             Map<String,Object> input = new HashMap<>();
-            Map<String, Object> totalMap = easDeleteUtil.getTotalMap();
+            Map<String, Object> totalMap = easDeleteApproveUtil.getTotalMap();
             input.put("head",head);
             totalMap.put("input",input);
             // 调用金蝶关闭接口
@@ -1059,6 +1078,14 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             System.out.println(json);
             Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
             System.out.println(resultMap);
+        }else if(amsSaleOrder1.getSaleOrderStatus().intValue() == 1 || amsSaleOrder1.getSaleOrderStatus().intValue() == 2){
+            String reason = "修改物资关闭上一条销售订单";
+            String number = amsSaleOrder1.getSaleNumber();
+            Map<String, Object> deleteMap = new HashMap<>();
+            deleteMap.put("saleOrderId",saleOrderId);
+            deleteMap.put("reason",reason);
+            deleteMap.put("number",number);
+            deleteSaleOrderSame(deleteMap);
         }
         // 如果是副产品订单则关闭时同步关闭未进厂的运单
         Map<String,Object> map = new HashMap<>();
@@ -1626,29 +1653,20 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public int deleteSaleOrderSame(Map<String, Object> mapValue) {
         int result = 0;
+        BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
         String reason = (String) mapValue.get("reason");
         String number = (String) mapValue.get("number");
-        String wholeOrder = "1";
-        String status = "close";
         Map<String,Object> head = new HashMap<>();
-        // 销售订单号
-        head.put("number",number);
-        // 关闭原因
-        head.put("reason",reason);
-        // 是否整单
-        head.put("wholeOrder",wholeOrder);
-        // 发送状态
-        head.put("status",status);
         Map<String,Object> input = new HashMap<>();
+        // 销售订单号
+        input.put("number",number);
         Map<String, Object> totalMap = easDeleteUtil.getTotalMap();
-        input.put("head",head);
         totalMap.put("input",input);
         // 调用金蝶关闭接口
         String json = JSONUtils.toJSONString(totalMap);
         System.out.println(json);
         Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
         System.out.println(resultMap);
-        BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
         AmsSaleOrder amsSaleOrder = new AmsSaleOrder();
         amsSaleOrder.setSaleOrderId(saleOrderId);
         amsSaleOrder.setDeleted(new BigDecimal(2));

+ 72 - 0
src/main/java/com/steerinfo/dil/util/EASDeleteApproveUtil.java

@@ -0,0 +1,72 @@
+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 EASDeleteApproveUtil {
+    // 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 = "FDDGEAS85";
+    public final String dbType = "0";
+    public final String userName = "user";
+    // context
+    public final String command = "saveSaleOrderBillHandler";
+
+    /**
+     * 得到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/java/com/steerinfo/dil/util/EASDeleteUtil.java

@@ -27,7 +27,7 @@ public class EASDeleteUtil {
     public final String dbType = "0";
     public final String userName = "user";
     // context
-    public final String command = "saveSaleOrderBillHandler";
+    public final String command = "deleteSaleOrderHandler";
 
     /**
      * 得到context的map

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

@@ -13,7 +13,7 @@ openfeign:
    ESFeign:
      url: ${ESFEIGN_URL:172.16.33.166:8089}
    ColumnDataFeign:
-     url: ${COLUMNDATAFEIGN_URL:172.16.33.161:8083}
+     url: ${COLUMNDATAFEIGN_URL:172.16.33.166:8083}
    TmsTruckFeign:
       url: ${TMSTRUCKFEIGN_URL:172.16.33.166:8088}
    ImFeign:

+ 15 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1559,6 +1559,7 @@
       and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= a_s_order.UPDATE_TIME
       and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= a_s_order.UPDATE_TIME
     </if>
+    ORDER BY a_s_order.SALE_ORDER_ID DESC
         )
     <where>
       <if test="saleNumber != null">
@@ -4176,6 +4177,11 @@
     SET OO.CAPACITY_ID = #{capacityId}
     WHERE OO.ORDER_ID = #{orderId}
   </update>
+  <update id="bindSaleArea">
+    UPDATE RMS_CONSIGNEE RC
+    SET RC.AREA_ID = #{saleAreaId}
+    WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </update>
 
   <select id="getCarrierByAddress" parameterType="DECIMAL" resultType="java.util.Map" >
     SELECT DISTINCT ACTP.CARRIER_ID "carrierId"
@@ -4502,4 +4508,13 @@
                       </if>
        )
     </select>
+  <select id="selectSaleAreaId" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT RC.AREA_ID AS "areaId"
+        FROM RMS_CONSIGNEE RC
+        WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </select>
+  <select id="selectSaleAreaIdByName" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT RSA.AREA_ID FROM RMS_SALE_AREA RSA
+        WHERE RSA.AREA_NAME = #{saleAreaName}
+  </select>
 </mapper>