liyg 2 年之前
父节点
当前提交
ad71e633d9

+ 4 - 0
src/main/java/com/steerinfo/dil/feign/JoinFeign.java

@@ -38,4 +38,8 @@ public interface JoinFeign {
     //根据数组查询车牌号、承运商和金蝶分录
     @PostMapping("/api/v1/join/amssaleorder/findCarNumberByOrderList")
     Map<String, Object> findCarNumberByOrderList(@RequestBody List<Map<String, Object>> mapList);
+
+    //注册收货客户
+    @PostMapping("/api/v1/join/rmsconsignee/registerConsignee")
+    Map<String, Object> registerConsignee(@RequestBody Map<String, Object> map);
 }

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

@@ -567,22 +567,32 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         if (receiveId == null || receiveId.intValue() == 0) {
             receiveId = amsSaleOrderMapper.findReceiveId(mapValue.get("receiveName"));
             if (receiveId == null) {
-                throw new RuntimeException("您输入的下单客户:" + 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);
-                        }
+                if(mapValue.get("receiveName")!=null){
+                    //自动注册收货客户
+                    Map<String, Object> res = joinFeign.registerConsignee(mapValue);
+                    if("succeed".equals(res.get("status"))){
+                        receiveId=DataChange.dataToBigDecimal(res.get("data"));
+                    }else{
+                        System.out.println(res);
+                        throw new Exception("注册收货客户失败!请手动注册!");
+                    }
+                }else{
+                    throw new Exception("没有输入下单客户!!!");
+                }
+            }
+            //判断该收货客户有没有绑定片区
+            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);
                     }
                 }
             }