1 year ago
parent
commit
6b2306585e

+ 11 - 9
platform-dao/src/main/java/com/platform/dao/dto/spareAdd/LongYanSpareAddDTO.java

@@ -20,9 +20,11 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanSpareAddDTO extends BaseDTO implements Serializable {
+    private Integer tokenType;//1:新厂,2:老厂
 
-      /**
-     * 
+
+    /**
+     *
      */
         @NotNull(groups = {UpdateGroup.class}, message = "ID不能为空")
     private String id;
@@ -51,19 +53,19 @@ public class LongYanSpareAddDTO extends BaseDTO implements Serializable {
      */
           private String remark;
           /**
-     * 
+     *
      */
           private Integer status;
           /**
-     * 
+     *
      */
           private String createdUserId;
           /**
-     * 
+     *
      */
           private String createdUserName;
           /**
-     * 
+     *
      */
         private LocalDateTime createdTime;
       /**
@@ -75,15 +77,15 @@ public class LongYanSpareAddDTO extends BaseDTO implements Serializable {
        */
       private LocalDateTime createdTimeEnd;
           /**
-     * 
+     *
      */
           private String updateUserId;
           /**
-     * 
+     *
      */
           private String updateUserName;
           /**
-     * 
+     *
      */
         private LocalDateTime updateTime;
       /**

+ 9 - 8
platform-dao/src/main/java/com/platform/dao/entity/spareAdd/LongYanSpareAdd.java

@@ -21,9 +21,10 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_spare_add")
 public class LongYanSpareAdd implements Serializable{
+    private Integer tokenType;//1:新厂,2:老厂
 
     /**
-     * 
+     *
      */
         @Id
     private String id;
@@ -52,31 +53,31 @@ public class LongYanSpareAdd implements Serializable{
      */
     private String remark;
     /**
-     * 
+     *
      */
     private Integer status;
     /**
-     * 
+     *
      */
     private String createdUserId;
     /**
-     * 
+     *
      */
     private String createdUserName;
     /**
-     * 
+     *
      */
     private LocalDateTime createdTime;
     /**
-     * 
+     *
      */
     private String updateUserId;
     /**
-     * 
+     *
      */
     private String updateUserName;
     /**
-     * 
+     *
      */
     private LocalDateTime updateTime;
 

+ 63 - 0
platform-dao/src/main/java/com/platform/dao/enums/LongYanSpareAddStatusEnum.java

@@ -0,0 +1,63 @@
+package com.platform.dao.enums;
+
+import com.google.common.collect.Lists;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 设备状态
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,合肥乾元坤合科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum LongYanSpareAddStatusEnum {
+
+    /**
+     * 待推送
+     */
+    WAIT_PUSH(1, "待推送"),
+    /**
+     * 已推送
+     */
+    PUSHED(2, "已推送"),
+    /**
+     * 推送失败
+     */
+    FAIL_PUSH(3, "推送失败");
+
+
+    private final Integer value;
+    private final String name;
+
+    //讲枚举转换成list格式,这样前台遍历的时候比较容易,列如 下拉框 后台调用toList方法,你就可以得到code 和name了
+    public static List<Map<String, Object>> toList() {
+        List<Map<String, Object>> list = Lists.newArrayList();//Lists.newArrayList()其实和new ArrayList()几乎一模
+        //  一样, 唯一它帮你做的(其实是javac帮你做的), 就是自动推导(不是"倒")尖括号里的数据类型.
+        for (LongYanSpareAddStatusEnum obj : LongYanSpareAddStatusEnum.values()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("value", obj.getValue());
+            map.put("name", obj.getName());
+            list.add(map);
+        }
+        return list;
+    }
+
+    //讲枚举转换成list格式,这样前台遍历的时候比较容易,列如 下拉框 后台调用toList方法,你就可以得到code 和name了
+    public static String getNameByValue(Integer value) {
+        String name = "";
+        for (LongYanSpareAddStatusEnum obj : LongYanSpareAddStatusEnum.values()) {
+            if(obj.getValue() == value){
+                name = obj.getName();
+                break;
+            }
+        }
+        return name;
+    }
+
+}

+ 11 - 9
platform-dao/src/main/java/com/platform/dao/vo/query/spareAdd/LongYanSpareAddVO.java

@@ -21,9 +21,11 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanSpareAddVO extends BaseVO implements Serializable{
+    private Integer tokenType;//1:新厂,2:老厂
+
 
     /**
-     * 
+     *
      */
         private String id;
         /**
@@ -51,34 +53,34 @@ public class LongYanSpareAddVO extends BaseVO implements Serializable{
      */
         private String remark;
         /**
-     * 
+     *
      */
         private Integer status;
         /**
-     * 
+     *
      */
         private String createdUserId;
         /**
-     * 
+     *
      */
         private String createdUserName;
         /**
-     * 
+     *
      */
         private LocalDateTime createdTime;
         /**
-     * 
+     *
      */
         private String updateUserId;
         /**
-     * 
+     *
      */
         private String updateUserName;
         /**
-     * 
+     *
      */
         private LocalDateTime updateTime;
-    
+
 
 
 }

+ 6 - 0
platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java

@@ -82,6 +82,12 @@ public class YongyouController {
         return new R<>(yongyouService.addSpare(inventory,inventory.getTokenType()));
     }
 
+    @SysLog("新增失败物料重新推送")
+    @GetMapping("/re/push/spare/{id}")
+    public R rePushSpare(@PathVariable String id) {
+        return new R(yongyouService.pushSpare(id));
+    }
+
     @SysLog("向用友推送采购单")
     @GetMapping("/push/purchaseOrder/{id}")
     public R pushPurchaseOrder(@PathVariable String id) {

+ 1 - 0
platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java

@@ -17,6 +17,7 @@ import handler.yongyou.response.OtherOutAddResponse;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface YongyouService {
+    String pushSpare(String id);
     String pushPurchaseOrder(String id);
     String addSpare(InventoryTest inventory, Integer tokenType);
 

+ 88 - 20
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -23,7 +23,9 @@ import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.spareAdd.LongYanSpareAdd;
 import com.platform.dao.entity.store.OutStoreDetail;
 import com.platform.dao.entity.store.OutStoreForm;
+import com.platform.dao.enums.LongYanSpareAddStatusEnum;
 import com.platform.dao.enums.OutStoreStatusEnum;
+import com.platform.dao.enums.SbInfoStatusEnum;
 import com.platform.dao.enums.YesNoEnum;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
@@ -432,6 +434,8 @@ public class YongyouServiceImpl implements YongyouService {
         return myVOPage;
     }
 
+
+
     @Override
     public String pushPurchaseOrder(String id) {
         LongYanPurchaseOrderDTO dto = new LongYanPurchaseOrderDTO();
@@ -499,13 +503,21 @@ public class YongyouServiceImpl implements YongyouService {
         throw new BusinessException("采购单申请失败,请联系管理员!");
     }
 
+
     @Override
-    public String addSpare(InventoryTest inventoryTest, Integer tokenType) {
+    public String pushSpare(String id) {
+        LongYanSpareAdd add = longYanSpareAddMapper.selectByPrimaryKey(id);
         Inventory Inventory = new Inventory();
-        Inventory.setCInvCCode(inventoryTest.getCestInvCode());
-        Inventory.setCCAComUnitCode(inventoryTest.getCestComUnitCode());
-        Inventory.setCInvName(inventoryTest.getCestInvName());
-        Inventory.setCInvStd(inventoryTest.getCestInvStd());
+        Inventory.setCInvCCode(add.getCategory());
+        Inventory.setCComUnitCode(add.getUnit());
+        Inventory.setCInvName(add.getName());
+        Inventory.setCInvStd(add.getGgxh());
+        packageAndPush(Inventory,add);
+        return null;
+    }
+
+    private String packageAndPush(Inventory Inventory,LongYanSpareAdd longYanSpareAdd){
+        try {
         AddSpareRequest request = new AddSpareRequest();
         UserInfo userInfo = SecurityUtils.getUserInfo();
         Inventory.setDInvCreateDatetime(DateUtils.dateToString(LocalDateTime.now()));
@@ -513,39 +525,95 @@ public class YongyouServiceImpl implements YongyouService {
         Inventory.setDModifyDate(DateUtils.dateToString(LocalDateTime.now()));
         request.setInventory(Inventory);
         request.setTradeID("");
-        request.setToken(geToken(tokenType));
-        request.setConn(getConn2(tokenType));
-        request.setCAcc_ID(getCAccId2(tokenType));
+        request.setToken(geToken(longYanSpareAdd.getTokenType()));
+        request.setConn(getConn2(longYanSpareAdd.getTokenType()));
+        request.setCAcc_ID(getCAccId2(longYanSpareAdd.getTokenType()));
         /*if (tokenType == 1){ // 新厂
             request.setCAcc_ID(RedisUtils.get(cAcc_ID_key1));
         }else if (tokenType==2){ // 老厂
             request.setCAcc_ID(RedisUtils.get(cAcc_ID_key2));
         }*/
+//            pakageAndInsertSpare(Inventory, userInfo,longYanSpareAdd);
         AddSpareHandler handler = new AddSpareHandler();
         handler.setRequest(request);
         String responseStr = handler.handler();
         AddSpareResponse response = JSONObject.parseObject(responseStr, AddSpareResponse.class);
+        if (response.getErrcode()) {
+            longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.PUSHED.getValue());
+            longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
+            return response.getErrmsg();
+        } else {
+            throw new BusinessException("新增失败!");
+        }
+    }catch (Exception e){
+        longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
+        longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
+        e.printStackTrace();
+    }
+        return null;
+    }
+
+
+    @Override
+    public String addSpare(InventoryTest inventoryTest, Integer tokenType) {
         LongYanSpareAdd longYanSpareAdd = new LongYanSpareAdd();
+        try {
+            Inventory Inventory = new Inventory();
+            Inventory.setCInvCCode(inventoryTest.getCestInvCode());
+            Inventory.setCComUnitCode(inventoryTest.getCestComUnitCode());
+            Inventory.setCInvName(inventoryTest.getCestInvName());
+            Inventory.setCInvStd(inventoryTest.getCestInvStd());
+            AddSpareRequest request = new AddSpareRequest();
+
+            UserInfo userInfo = SecurityUtils.getUserInfo();
+            Inventory.setDInvCreateDatetime(DateUtils.dateToString(LocalDateTime.now()));
+            Inventory.setCModifyPerson(userInfo.getRealName());
+            Inventory.setDModifyDate(DateUtils.dateToString(LocalDateTime.now()));
+            request.setInventory(Inventory);
+            request.setTradeID("");
+            request.setToken(geToken(tokenType));
+            request.setConn(getConn2(tokenType));
+            request.setCAcc_ID(getCAccId2(tokenType));
+        /*if (tokenType == 1){ // 新厂
+            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key1));
+        }else if (tokenType==2){ // 老厂
+            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key2));
+        }*/
+            pakageAndInsertSpare(Inventory, userInfo,longYanSpareAdd);
+            AddSpareHandler handler = new AddSpareHandler();
+            handler.setRequest(request);
+            String responseStr = handler.handler();
+            AddSpareResponse response = JSONObject.parseObject(responseStr, AddSpareResponse.class);
+            if (response.getErrcode()) {
+                longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.PUSHED.getValue());
+                longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
+                return response.getErrmsg();
+            } else {
+                throw new BusinessException("新增失败!");
+            }
+        }catch (Exception e){
+            longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.FAIL_PUSH.getValue());
+            longYanSpareAddMapper.updateByPrimaryKeySelective(longYanSpareAdd);
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    private void pakageAndInsertSpare(Inventory inventory, UserInfo userInfo,LongYanSpareAdd longYanSpareAdd) {
         longYanSpareAdd.setId(IdGeneratorUtils.getObjectId());
-        longYanSpareAdd.setBigCategory(Inventory.getCInvCCode());
-        longYanSpareAdd.setCategory(Inventory.getCInvCCode());
-        longYanSpareAdd.setGgxh(Inventory.getCInvStd());
-        longYanSpareAdd.setName(Inventory.getCInvName());
-        longYanSpareAdd.setUnit(Inventory.getCComUnitCode());
+        longYanSpareAdd.setStatus(LongYanSpareAddStatusEnum.WAIT_PUSH.getValue());
+        longYanSpareAdd.setBigCategory(inventory.getCInvCCode());
+        longYanSpareAdd.setCategory(inventory.getCInvCCode());
+        longYanSpareAdd.setGgxh(inventory.getCInvStd());
+        longYanSpareAdd.setName(inventory.getCInvName());
+        longYanSpareAdd.setUnit(inventory.getCComUnitCode());
         longYanSpareAdd.setCreatedUserId(userInfo.getUserId());
         longYanSpareAdd.setCreatedUserName(userInfo.getRealName());
         longYanSpareAdd.setCreatedTime(LocalDateTime.now());
         longYanSpareAdd.setUpdateUserId(userInfo.getUserId());
         longYanSpareAdd.setUpdateUserName(userInfo.getRealName());
         longYanSpareAdd.setUpdateTime(LocalDateTime.now());
-
         longYanSpareAddMapper.insert(longYanSpareAdd);
-        if (response.getErrcode()){
-            return response.getErrmsg();
-        }else {
-            throw new BusinessException("新增失败!");
-        }
-
     }
 
     /**