Browse Source

合同作废修改

yzc 1 year ago
parent
commit
deacd3968b

+ 29 - 2
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -41,6 +41,8 @@ import com.fjhx.file.entity.FileInfo;
 import com.fjhx.file.entity.FileInfoVo;
 import com.fjhx.file.service.FileInfoService;
 import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.flow.entity.flow.po.FlowExample;
+import com.fjhx.flow.enums.FlowStatusEnum;
 import com.fjhx.flow.service.flow.FlowExampleService;
 import com.fjhx.item.entity.product.bo.ProductAnalysisBo;
 import com.fjhx.item.entity.product.dto.ProductInfoDto;
@@ -1340,10 +1342,28 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
 
         //作废审批中的采购合同
         ehsdPurchaseService.update(q -> q
-                .eq(EhsdPurchase::getDataResourceId, businessId)
+                .eq(EhsdPurchase::getId, businessId)
                 .eq(EhsdPurchase::getStatus, 10)
                 .set(EhsdPurchase::getStatus, FlowStatusEnum1.CANCELLATION.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+        List<EhsdPurchase> purchaseList = ehsdPurchaseService.list(q -> q
+                .eq(EhsdPurchase::getDataResourceId, businessId)
+                .eq(EhsdPurchase::getStatus, 10)
         );
+        List<Long> flowIds = purchaseList.stream().map(EhsdPurchase::getFlowId).collect(Collectors.toList());
+        if (ObjectUtil.isNotEmpty(flowIds)) {
+            //修改流程审批状态
+            flowExampleService.update(q -> q
+                    .in(FlowExample::getId, flowIds)
+                    .in(FlowExample::getStatus, 0, 1)
+                    .set(FlowExample::getStatus, FlowStatusEnum.CANCELLATION.getKey())
+                    .set(BasePo::getUpdateTime, new Date())
+                    .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+            );
+        }
+
 
         //修改可用库存可用库存=可用库存-((待采购量-已采购量)-合同量)
         productInfoService.editAvailableQuantity(
@@ -1353,7 +1373,14 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 ProductAvailableRecordType.SALE_CANCEL, contract.getCompanyId()
         );
 
-        throw new ServiceException("aaaaaaaaaaaaaa");
+        //修改合同审批状态
+        flowExampleService.update(q -> q
+                .eq(FlowExample::getId, contract.getFlowId())
+                .in(FlowExample::getStatus, 0, 1)
+                .set(FlowExample::getStatus, FlowStatusEnum.CANCELLATION.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
     }
 
     @Override

+ 25 - 45
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseServiceImpl.java

@@ -22,6 +22,7 @@ import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.flow.entity.flow.po.FlowExample;
+import com.fjhx.flow.enums.FlowStatusEnum;
 import com.fjhx.flow.service.flow.FlowExampleService;
 import com.fjhx.item.enums.ProductAvailableRecordType;
 import com.fjhx.item.service.product.ProductInfoService;
@@ -62,13 +63,18 @@ import com.fjhx.sale.mapper.purchase.EhsdPurchaseMapper;
 import com.fjhx.sale.service.contract.ContractService;
 import com.fjhx.sale.service.pack.PackDetailProductService;
 import com.fjhx.sale.service.pack.PackDetailService;
-import com.fjhx.sale.service.purchase.*;
+import com.fjhx.sale.service.purchase.EhsdPurchaseProductMountingsService;
+import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
+import com.fjhx.sale.service.purchase.EhsdPurchaseProjectService;
+import com.fjhx.sale.service.purchase.EhsdPurchaseService;
 import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import com.fjhx.supply.entity.supplier.po.SupplierPrice;
 import com.fjhx.supply.entity.supplier.vo.SupplierPriceVo;
 import com.fjhx.supply.service.supplier.SupplierInfoService;
 import com.fjhx.supply.service.supplier.SupplierPriceService;
 import com.fjhx.tenant.utils.DeptUstil;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.core.domain.entity.SysUser;
@@ -119,8 +125,6 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
     @Autowired
     private EhsdPurchaseProjectService ehsdPurchaseProjectService;
     @Autowired
-    private EhsdPurchaseArrivalService ehsdPurchaseArrivalService;
-    @Autowired
     private EhsdPurchaseService ehsdPurchaseService;
     @Autowired
     private ProductInfoService productInfoService;
@@ -142,6 +146,8 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
     private EhsdPurchaseProductService purchaseProductService;
     @Autowired
     private SubscribeDetailMapper subscribeDetailMapper;
+    @Autowired
+    private StockWaitService stockWaitService;
 
     /**
      * 分页
@@ -167,12 +173,6 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
             wrapper.ne(EhsdPurchase::getStatus, FlowStatusEnum1.UPDATE.getKey());
         }
 
-        //不显示 在审批中 但是 有历史合同id的数据
-//        wrapper.not(q -> q
-//                .eq(EhsdPurchase::getStatus, FlowStatusEnum1.UNDER_REVIEW.getKey())
-//                .isNotNull("t1.old_purchase_id")
-//        );
-
         //权限过滤:采购-子公司看自己的,总公司看全部
         Long companyId = SecurityUtils.getCompanyId();
         if (!Objects.equals(companyId, 100L)) {
@@ -299,42 +299,6 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
                 BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
                 ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
             }
-
-
-//            //申购来源
-//            List<EhsdPurchaseProductVo> subscribeSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 0)).collect(Collectors.toList());
-//            if (ObjectUtils.isNotEmpty(subscribeSource)) {
-//                List<Long> subscribeDetailSourceIds = subscribeSource.stream().map(EhsdPurchaseProductVo::getSubscribeDetailId).distinct().collect(Collectors.toList());
-//                Map<Long, SubscribeDetail> contractProductMap = subscribeDetailService.mapKEntity(SubscribeDetail::getId, q -> q.in(SubscribeDetail::getId, subscribeDetailSourceIds));
-//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : subscribeSource) {
-//                    SubscribeDetail subscribeDetail = contractProductMap.get(ehsdPurchaseProductVo.getSubscribeDetailId());
-//                    BigDecimal count = subscribeDetail.getCount();
-//                    //获取已采购数量
-//                    List<EhsdPurchaseProduct> ehsdPurchaseProductList1 = ehsdPurchaseProductService.list(q -> q.eq(EhsdPurchaseProduct::getDataResource, 0).eq(EhsdPurchaseProduct::getSubscribeDetailId, subscribeDetail.getId()));
-//                    BigDecimal add = ObjectUtils.isEmpty(ehsdPurchaseProductList1) ? BigDecimal.ZERO : ehsdPurchaseProductList1.stream().map(EhsdPurchaseProduct::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
-//                    ehsdPurchaseProductVo.setExpendQuantity(count.subtract(add));
-//                }
-//            }
-//            //合同来源
-//            List<EhsdPurchaseProductVo> contractSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 1)).collect(Collectors.toList());
-//            if (ObjectUtils.isNotEmpty(contractSource)) {
-//                List<Long> contractSourceIds = contractSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
-//                Map<Long, ContractProduct> contractProductMap = contractProductService.mapKEntity(ContractProduct::getId, q -> q.in(ContractProduct::getId, contractSourceIds));
-//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : contractSource) {
-//                    ContractProduct stringObjectMap = contractProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
-//                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
-//                }
-//            }
-//            //样品单来源
-//            List<EhsdPurchaseProductVo> sampleSource = ehsdPurchaseProductVos.stream().filter(item -> Objects.equals(item.getDataResource(), 2)).collect(Collectors.toList());
-//            if (ObjectUtils.isNotEmpty(sampleSource)) {
-//                List<Long> sampleSourceIds = sampleSource.stream().map(EhsdPurchaseProductVo::getDataResourceId).distinct().collect(Collectors.toList());
-//                Map<Long, SampleProduct> sampleProductMap = sampleProductService.mapKEntity(SampleProduct::getId, q -> q.in(SampleProduct::getId, sampleSourceIds));
-//                for (EhsdPurchaseProductVo ehsdPurchaseProductVo : sampleSource) {
-//                    SampleProduct stringObjectMap = sampleProductMap.get(ehsdPurchaseProductVo.getDataResourceId());
-//                    ehsdPurchaseProductVo.setExpendQuantity(stringObjectMap.getExpendQuantity());
-//                }
-//            }
         }
 
         //赋值产品信息
@@ -513,6 +477,22 @@ public class EhsdPurchaseServiceImpl extends ServiceImpl<EhsdPurchaseMapper, Ehs
             }
         }
         productInfoService.editAvailableQuantity(inOutBoList, InOutType.OUT, id, ProductAvailableRecordType.PURCHASE_CANCEL, purchase.getCompanyId());
+        //同时结束待入库数据
+        stockWaitService.update(q -> q
+                .eq(StockWait::getPurchaseId, purchase.getId())
+                .set(StockWait::getStatus, 3)
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+        //修改流程审批状态
+        flowExampleService.update(q -> q
+                .eq(FlowExample::getId, purchase.getFlowId())
+                .in(FlowExample::getStatus, 0, 1)
+                .set(FlowExample::getStatus, FlowStatusEnum.CANCELLATION.getKey())
+                .set(BasePo::getUpdateTime, new Date())
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+
 
         //修改申购明细状态
         updateSubscribeStatus(id);