|
@@ -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);
|