Browse Source

'更改访问到金蝶正式环境'

HUJIANGUO 2 năm trước cách đây
mục cha
commit
b87766caf1

+ 21 - 15
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");
 
@@ -959,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);
     }

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

+ 8 - 2
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;
@@ -1560,4 +1561,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         return result;
     }
+
+    @Override
+    public List<Map<String, Object>> getSaleMaterialId(BigDecimal saleOrderMaterialId) {
+        return amsSaleOrderMapper.getSaleMaterialId(saleOrderMaterialId);
+    }
 }

+ 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

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

@@ -3500,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>