Преглед на файлове

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

luobang преди 2 години
родител
ревизия
724511b82a

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

@@ -74,6 +74,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");
 
@@ -695,24 +697,27 @@ public class AmsSaleOrderController extends BaseRESTfulController {
 
     @ApiModelProperty(value = "钢材派单")
     @PostMapping("/dispatchSteelOrder")
-    public RESTfulResult dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) {
+    public RESTfulResult dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) throws Exception {
         int result = amsSaleOrderService.dispatchSteelOrder(mapList);
         if (result == 0) {
             return failed("匹配不到车牌号!");
         }
         else {
-//            for (Map<String, Object> map : mapList) {
-//                // 调用EAS接口将车牌号传给金蝶
-//                BigDecimal saleOrderMaterialId = (BigDecimal) map.get("saleOrderMaterialId");
-//                Map<String,Object> input = joinFeign.findCarNumberByOrderId(saleOrderMaterialId);
-//                Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
-//                totalMap.put("input",input);
-//                System.out.println(totalMap);
-//                String json = JSONUtils.toJSONString(totalMap);
-//                System.out.println(json);
-//                Map<String,Object> s = joinFeign.pushCarNumberToEas(totalMap);
-//                System.out.println(s);
-//            }
+            for (Map<String, Object> map : mapList) {
+                // 调用EAS接口将车牌号传给金蝶
+                BigDecimal saleOrderMaterialId = new BigDecimal((Integer) map.get("saleOrderMaterialId")) ;
+                Map<String,Object> input = joinFeign.findCarNumberByOrderId(saleOrderMaterialId);
+                Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
+                totalMap.put("input",input);
+                System.out.println(totalMap);
+                String json = JSONUtils.toJSONString(totalMap);
+                System.out.println(json);
+                Map<String,Object> s = joinFeign.pushCarNumberToEas(totalMap);
+                if (s == null || s.size() == 0) {
+                    throw new Exception("登录金蝶失败");
+                }
+                System.out.println(s);
+            }
             return success(result);
         }
     }
@@ -956,21 +961,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);
     }
@@ -1126,6 +1135,21 @@ public class AmsSaleOrderController extends BaseRESTfulController {
     @PostMapping("/updateCapacityNumberInFactory")
     public RESTfulResult updateCapacityNumberInFactory(@RequestBody Map<String,Object> mapValue) {
         int result = amsSaleOrderService.updateCapacityNumberInFactory(mapValue);
-        return success(result);
+        if (result == 0) {
+            return failed("已装货车辆不允许修改车牌");
+        }
+        else {
+            // 调用EAS接口将车牌号传给金蝶
+            BigDecimal saleOrderMaterialId = new BigDecimal((Integer) mapValue.get("saleOrderMaterialId"));
+            Map<String, Object> input = joinFeign.findCarNumberByOrderId(saleOrderMaterialId);
+            Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
+            totalMap.put("input", input);
+            System.out.println(totalMap);
+            String json = JSONUtils.toJSONString(totalMap);
+            System.out.println(json);
+            Map<String, Object> s = joinFeign.pushCarNumberToEas(totalMap);
+            System.out.println(s);
+            return success(result);
+        }
     }
 }

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

@@ -31,6 +31,6 @@ public interface JoinFeign {
     Map<String,Object> pushCarNumberToEas(@RequestBody Map<String,Object> map);
 
     // 查询车牌号和金蝶分录
-    @PostMapping("/api/v1/join/wsface/findCarNumberByOrderId")
+    @PostMapping("/api/v1/join/amssaleorder/findCarNumberByOrderId")
     Map<String,Object> findCarNumberByOrderId(@RequestParam BigDecimal saleOrderMaterialId);
 }

+ 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);
 }

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

@@ -700,7 +700,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;
@@ -1243,6 +1243,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param mapValue
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int updateCarAddress(Map<String, Object> mapValue) {
         // 判断是否需要删除金蝶分录
@@ -1372,7 +1373,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;
@@ -1553,7 +1554,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      */
     @Override
     public int updateCapacityNumberInFactory(Map<String, Object> mapValue) {
-        int result = amsSaleOrderMapper.updateCapacityNumberInFactory(mapValue);
+        Object lineSequence = mapValue.get("lineSequence");
+        int result = 0;
+        if (lineSequence == null || lineSequence.equals("0") || lineSequence.equals("1") || lineSequence.equals("2")) {
+            result += amsSaleOrderMapper.updateCapacityNumberInFactory(mapValue);
+        }
         return result;
     }
+
+    @Override
+    public List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId) {
+        return amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);
+    }
 }

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

@@ -23,11 +23,11 @@ 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
-    public final String command = "saveSaleOrderBillHandler";
+    public final String command = "updateSaleOrderCarNumHandler";
 
     /**
      * 得到context的map

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

@@ -1924,7 +1924,8 @@
     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "specificationModel",
     ASM.MATERIAL_NUMBER "materialNumber",
     RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel",
-    ASM.SALE_WAREHOUSE "saleWareHouse"
+    ASM.SALE_WAREHOUSE "saleWareHouse",
+    a_s_order.DELETED "deleted"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID
@@ -2507,6 +2508,8 @@
     RM.MATERIAL_NAME "materialName",
     RM.MATERIAL_SPECIFICATION "materialSpecification",
     RM.MATERIAL_MODEL "materialModel",
+    RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "specificationModel",
+    ASM.MATERIAL_NUMBER "materialNumber",
     RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
@@ -3170,6 +3173,7 @@
     AND ADSO.DISPATCH_TYPE = 2
     AND OO.ORDER_ID IS NOT NULL
     AND OO.ORDER_STATUS IN (4,5)
+    AND ASO.DELETED != 2
     ) "HAVECAR"
     <where>
       <if test="con != null" >
@@ -3496,10 +3500,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>
   
@@ -3786,7 +3793,8 @@
     RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "specificationModel",
     ASM.MATERIAL_NUMBER "materialNumber",
     RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "nameSpecificationModel",
-    ASM.SALE_WAREHOUSE "saleWareHouse"
+    ASM.SALE_WAREHOUSE "saleWareHouse",
+    a_s_order.DELETED "deleted"
     from AMS_SALE_ORDER a_s_order
     left join RMS_SHIPPER r_shipper
     on a_s_order.SHIPPER_ID=r_shipper.SHIPPER_ID