hujg 2 년 전
부모
커밋
670a727b0f

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

@@ -156,7 +156,7 @@ public class AmsSaleOrderController extends BaseRESTfulController {
             @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal")
     })
     @PostMapping(value = "/uploadSaleOrder")
-    public RESTfulResult uploadSaleOrder(@RequestParam BigDecimal saleOrderId){
+    public RESTfulResult uploadSaleOrder(@RequestParam BigDecimal saleOrderId) throws Exception {
         int i = amsSaleOrderService.uploadSaleOrder(saleOrderId);
         return success(i);
     }

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

@@ -44,7 +44,7 @@ public interface IAmsSaleOrderService {
     int addAmsSaleOrder(Map<String, Object> map) throws ParseException;
 
     //修改销售订单状态为已上报
-    int uploadSaleOrder(BigDecimal saleOrderId);
+    int uploadSaleOrder(BigDecimal saleOrderId) throws Exception;
 
     //获取要渲染的数据
     List<Map<String, Object>> selectBySaleOrderId(BigDecimal saleOrderId);

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

@@ -202,8 +202,9 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return i;
     }
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
-    public int uploadSaleOrder(BigDecimal saleOrderId) {
+    public int uploadSaleOrder(BigDecimal saleOrderId) throws Exception {
         AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(saleOrderId);
         // 调用金蝶接口,将销售订单推送到金蝶系统
         Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
@@ -218,7 +219,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         System.out.println(totalMap);
         String json = JSONUtils.toJSONString(totalMap);
         System.out.println(json);
+        // 得到金蝶返回结果
         Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
+        String status = (String) s.get("status");
+        if ("-1".equals(status)) {
+            throw new Exception(amsSaleOrder.getSaleNumber() + "上传金蝶失败!");
+        }
         System.out.println(s);
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));
         return amsSaleOrderMapper.updateByPrimaryKey(amsSaleOrder);
@@ -1010,6 +1016,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param saleOrderIdList
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int uploadSaleOrderList(List<Map<String, Object>> saleOrderIdList) {
         int result = 0;
@@ -1030,6 +1037,10 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             String json = JSONUtils.toJSONString(totalMap);
             System.out.println(json);
             Map<String,Object> s = joinFeign.pushSaleOrderToEas(totalMap);
+            String status = (String) s.get("status");
+            if ("-1".equals(status)) {
+                continue;
+            }
             System.out.println(s);
             amsSaleOrder.setSaleOrderId(saleOrderId);
             amsSaleOrder.setSaleOrderStatus(new BigDecimal(1));