1 年之前
父節點
當前提交
7eba4613ac

+ 5 - 1
platform-dao/src/main/java/com/platform/dao/dto/merge/LongYanPurchaseOrderMergeDTO.java

@@ -2,6 +2,7 @@ package com.platform.dao.dto.merge;
 
 import com.platform.common.bean.BaseDTO;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -9,6 +10,7 @@ import javax.validation.constraints.*;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @Description 龙岩采购合并表DTO
@@ -20,11 +22,13 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseOrderMergeDTO extends BaseDTO implements Serializable {
+    private Integer oldOrNew;//1:新厂,2老厂
+    private List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS;
     private String createdUserName;
     private String title;
     private Integer status;//0:草稿1:成功,2:失败
 
-    private String yongyouId;
+    private String yongYouId;
       /**
      *
      */

+ 7 - 1
platform-dao/src/main/java/com/platform/dao/entity/merge/LongYanPurchaseOrderMerge.java

@@ -1,5 +1,6 @@
 package com.platform.dao.entity.merge;
 
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import lombok.Data;
 
 import javax.persistence.Id;
@@ -7,6 +8,8 @@ import javax.persistence.Table;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
+import java.util.List;
+
 import lombok.experimental.Accessors;
 import com.platform.common.bean.DataScope;
 import javax.persistence.Transient;
@@ -21,10 +24,13 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_long_yan_purchase_order_merge")
 public class LongYanPurchaseOrderMerge implements Serializable{
+    private Integer oldOrNew;//1:新厂,2老厂
+    private List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS;
+
     private String createdUserName;
     private String title;
     private Integer status;//0:草稿1:成功,2:失败
-    private String yongyouId;
+    private String yongYouId;
 
     /**
      *

+ 4 - 1
platform-dao/src/main/java/com/platform/dao/vo/query/merge/LongYanPurchaseOrderMergeVO.java

@@ -1,5 +1,6 @@
 package com.platform.dao.vo.query.merge;
 
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import lombok.Data;
 import com.platform.common.bean.BaseVO;
 import com.platform.common.bean.BaseDTO;
@@ -10,6 +11,7 @@ import javax.validation.constraints.*;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @Description 龙岩采购合并表VO结果类
@@ -21,11 +23,12 @@ import java.time.LocalDate;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class LongYanPurchaseOrderMergeVO extends BaseVO implements Serializable{
+    private List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS;
     private String createdUserName;
     private String title;
     private Integer status;//0:草稿1:成功,2:失败
 
-    private String yongyouId;
+    private String yongYouId;
     /**
      *
      */

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

@@ -195,6 +195,12 @@ public class YongyouController {
         return new R<>(yongyouService.deletePurchaseOrder(id));
     }
 
+    @SysLog("合并请购单删除")
+    @DeleteMapping("/delete/mergePurcahseOrder/{id}")
+    public R deleteMergePurchaseOrder(@PathVariable String id) {
+        return new R<>(yongyouService.deleteMergePurchaseOrder(id));
+    }
+
     /**
      * 用友回调领用出库单
      * 推送实际出库数量和状态

+ 33 - 0
platform-service/src/main/java/com/platform/service/merge/impl/LongYanPurchaseOrderMergeServiceImpl.java

@@ -5,8 +5,10 @@ import com.platform.common.cache.DictCache;
 import com.platform.common.exception.BusinessException;
 import com.platform.dao.bean.MyPage;
 import com.github.pagehelper.PageHelper;
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
 import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
 import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
+import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import com.platform.dao.vo.query.merge.LongYanPurchaseOrderMergeVO;
 import com.platform.dao.dto.merge.LongYanPurchaseOrderMergeDTO;
 import com.platform.dao.entity.merge.LongYanPurchaseOrderMerge;
@@ -33,6 +35,36 @@ import java.util.stream.Collectors;
 @Service("longYanPurchaseOrderMergeService")
 public class LongYanPurchaseOrderMergeServiceImpl extends BaseServiceImpl<LongYanPurchaseOrderMergeMapper, LongYanPurchaseOrderMerge, LongYanPurchaseOrderMergeDTO> implements LongYanPurchaseOrderMergeService {
     private LongYanPurchaseOrderMapper longYanPurchaseOrderMapper;
+
+    @Override
+    public void modModelByDTO(LongYanPurchaseOrderMergeDTO model) {
+        LongYanPurchaseOrder order = new LongYanPurchaseOrder();
+        order.setMergeId("");
+        Weekend<LongYanPurchaseOrder> weekend = new Weekend<>(LongYanPurchaseOrder.class);
+        WeekendCriteria<LongYanPurchaseOrder,Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andEqualTo(LongYanPurchaseOrder::getMergeId,model.getId());
+        longYanPurchaseOrderMapper.updateByExampleSelective(order,weekend);
+        if (model.getLongYanPurchaseOrderVOS()!=null&&model.getLongYanPurchaseOrderVOS().size()>0){
+            order.setMergeId(model.getId());
+            List<String> orderIds = model.getLongYanPurchaseOrderVOS().stream().map(LongYanPurchaseOrderVO::getId).collect(Collectors.toList());
+            Weekend<LongYanPurchaseOrder> weekend2 = new Weekend<>(LongYanPurchaseOrder.class);
+            WeekendCriteria<LongYanPurchaseOrder,Object> weekendCriteria2 = weekend2.weekendCriteria();
+            weekendCriteria2.andIn(LongYanPurchaseOrder::getId,orderIds);
+            longYanPurchaseOrderMapper.updateByExampleSelective(order,weekend2);
+        }
+        super.modModelByDTO(model);
+    }
+
+    @Override
+    public LongYanPurchaseOrderMerge getModelById(Object id) {
+        LongYanPurchaseOrderMerge merge = super.getModelById(id);
+        LongYanPurchaseOrderDTO longYanPurchaseOrderDTO = new LongYanPurchaseOrderDTO();
+        longYanPurchaseOrderDTO.setMergeId(id.toString());
+        List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS = longYanPurchaseOrderMapper.selectList(longYanPurchaseOrderDTO);
+        merge.setLongYanPurchaseOrderVOS(longYanPurchaseOrderVOS);
+        return merge;
+    }
+
     @Override
     public void saveModelByList(String title,List<LongYanPurchaseOrder> longYanPurchaseOrders) {
         List<DictVO> dictVOS = DictCache.getChildren("MERGE_PARAM_JUGMENT");
@@ -106,6 +138,7 @@ public class LongYanPurchaseOrderMergeServiceImpl extends BaseServiceImpl<LongYa
         }
         LongYanPurchaseOrderMergeDTO longYanPurchaseOrderMergeDTO = new LongYanPurchaseOrderMergeDTO();
         longYanPurchaseOrderMergeDTO.setTitle(title);
+        longYanPurchaseOrderMergeDTO.setOldOrNew(first.getOldOrNew());
         LongYanPurchaseOrderMerge longYanPurchaseOrderMerge = this.saveModelByDTO(longYanPurchaseOrderMergeDTO);
         longYanPurchaseOrders.forEach(item->{
             item.setMergeId(longYanPurchaseOrderMerge.getId());

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

@@ -29,6 +29,8 @@ public interface YongyouService {
 
     String deletePurchaseOrder(String id);
 
+    String deleteMergePurchaseOrder(String id);
+
     String pushSpare(String id);
     String pushPurchaseOrder(String id);
     String addSpare(InventoryTest inventory, Integer tokenType);

+ 60 - 1
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -825,6 +825,65 @@ public class YongyouServiceImpl implements YongyouService {
         }
     }
 
+    @Override
+    public String deleteMergePurchaseOrder(String id) {
+        LongYanPurchaseOrderMerge merge = longYanPurchaseOrderMergeMapper.selectByPrimaryKey(id);
+        if (StringUtils.isBlank(merge.getYongYouId())) {
+            // 直接删除
+            LongYanPurchaseOrderDTO orderDTO = new LongYanPurchaseOrderDTO();
+            orderDTO.setMergeId(id);
+            List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS = longYanPurchaseOrderMapper.selectList(orderDTO);
+            Weekend<LongYanPurchaseOrder> weekend = new Weekend<>(LongYanPurchaseOrder.class);
+            WeekendCriteria<LongYanPurchaseOrder, Object> weekendCriteria = weekend.weekendCriteria();
+            List<String> orderIds = longYanPurchaseOrderVOS.stream().map(LongYanPurchaseOrderVO::getId).collect(Collectors.toList());
+            weekendCriteria.andIn(LongYanPurchaseOrder::getId, orderIds);
+            longYanPurchaseOrderMapper.deleteByExample(weekend);
+
+            Weekend<LongYanPurchaseDetail> weekend1 = new Weekend<>(LongYanPurchaseDetail.class);
+            WeekendCriteria<LongYanPurchaseDetail, Object> weekendCriteria1 = weekend1.weekendCriteria();
+            weekendCriteria1.andIn(LongYanPurchaseDetail::getLongYangPurchaseOrderId, orderIds);
+            longYanPurchaseDetailMapper.deleteByExample(weekend1);
+            return "删除成功";
+        } else {
+            DeletePurchaseOrderRequest request = new DeletePurchaseOrderRequest();
+            request.setCcode(merge.getYongYouId());
+            request.setTradeID("");
+            // 正式环境代码开始
+            request.setToken(geToken(merge.getOldOrNew()));
+            request.setCAcc_ID(getCAccId2(merge.getOldOrNew()));
+            request.setConn(getConn2(merge.getOldOrNew()));
+            // 正式环境代码结束
+            // 测试环境代码开始
+            /*request.setToken(geTokenTest());
+            request.setCAcc_ID(getCAccIdTest());
+            request.setConn(getConnTest());*/
+            // 测试环境代码结束
+            DeletePurchaseOrderHandler handler = new DeletePurchaseOrderHandler();
+            handler.setRequest(request);
+            String responseStr = handler.handler();
+            DeletePurchaseOrderResponse response = JSONObject.parseObject(responseStr, DeletePurchaseOrderResponse.class);
+            if (response.getResult()) {
+                longYanPurchaseOrderMergeMapper.delete(merge);
+                LongYanPurchaseOrderDTO orderDTO = new LongYanPurchaseOrderDTO();
+                orderDTO.setMergeId(id);
+                List<LongYanPurchaseOrderVO> longYanPurchaseOrderVOS = longYanPurchaseOrderMapper.selectList(orderDTO);
+                Weekend<LongYanPurchaseOrder> weekend = new Weekend<>(LongYanPurchaseOrder.class);
+                WeekendCriteria<LongYanPurchaseOrder, Object> weekendCriteria = weekend.weekendCriteria();
+                List<String> orderIds = longYanPurchaseOrderVOS.stream().map(LongYanPurchaseOrderVO::getId).collect(Collectors.toList());
+                weekendCriteria.andIn(LongYanPurchaseOrder::getId, orderIds);
+                longYanPurchaseOrderMapper.deleteByExample(weekend);
+
+                Weekend<LongYanPurchaseDetail> weekend1 = new Weekend<>(LongYanPurchaseDetail.class);
+                WeekendCriteria<LongYanPurchaseDetail, Object> weekendCriteria1 = weekend1.weekendCriteria();
+                weekendCriteria1.andIn(LongYanPurchaseDetail::getLongYangPurchaseOrderId, orderIds);
+                longYanPurchaseDetailMapper.deleteByExample(weekend1);
+            }
+
+            return response.getMsg();
+        }
+    }
+
+
     @Override
     public String deletePurchaseOrder(String id) {
         LongYanPurchaseOrder order = longYanPurchaseOrderMapper.selectByPrimaryKey(id);
@@ -1116,7 +1175,7 @@ public class YongyouServiceImpl implements YongyouService {
         longYanPurchaseOrderMerge.setId(id);
         if (response.getResult()){
             longYanPurchaseOrderMerge.setStatus(1);
-            longYanPurchaseOrderMerge.setYongyouId(response.getData());
+            longYanPurchaseOrderMerge.setYongYouId(response.getData());
         }else {
             longYanPurchaseOrderMerge.setStatus(2);
         }