|
@@ -41,8 +41,6 @@ import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -168,27 +166,7 @@ public class PurchaseFlowByWdly extends FlowDelegate {
|
|
|
public void end(Long flowId, Long businessId, JSONObject submitData) {
|
|
|
//修改申购明细状态
|
|
|
List<PurchaseDetail> purchaseDetailList = purchaseDetailService.list(Wrappers.<PurchaseDetail>query().lambda().eq(PurchaseDetail::getPurchaseId, businessId));
|
|
|
- Map<Long, PurchaseDetail> purchaseDetailMap = purchaseDetailList.stream().collect(Collectors.toMap(PurchaseDetail::getSubscribeDetailId, Function.identity()));
|
|
|
- List<Long> subscribeDetailIds = purchaseDetailList.stream().map(PurchaseDetail::getSubscribeDetailId).collect(Collectors.toList());
|
|
|
- List<SubscribeDetail> subscribeDetails = subscribeDetailService.listByIds(subscribeDetailIds);
|
|
|
- for (SubscribeDetail subscribeDetail : subscribeDetails) {
|
|
|
- //获取申购明细下的所有采购记录 计算已采购数
|
|
|
- List<PurchaseDetail> purchaseDetails = purchaseDetailService.list(q -> q.eq(PurchaseDetail::getSubscribeDetailId,
|
|
|
- subscribeDetail.getId()).eq(PurchaseDetail::getBussinessId, subscribeDetail.getBussinessId()));
|
|
|
- BigDecimal count = purchaseDetails.stream()
|
|
|
- .map(PurchaseDetail::getCount)
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
-// PurchaseDetail purchaseDetail = purchaseDetailMap.get(subscribeDetail.getId());
|
|
|
- if (count.compareTo(subscribeDetail.getCount()) >= 0) {
|
|
|
- //修改为已采购
|
|
|
- subscribeDetail.setStatus(SubscribeDetailStatusEnum.PURCHASED.getKey());
|
|
|
- } else {
|
|
|
- //修改为部分采购
|
|
|
- subscribeDetail.setStatus(SubscribeDetailStatusEnum.LITT_PAID_AMOUNT.getKey());
|
|
|
- }
|
|
|
- }
|
|
|
- subscribeDetailService.updateBatchById(subscribeDetails);
|
|
|
-// purchaseFlow.end(flowId,businessId,submitData);
|
|
|
+ updateSubscribeStatus(businessId);
|
|
|
|
|
|
//通过业务ID查询采购数据
|
|
|
Purchase purchase = purchaseService.getById(businessId);
|
|
@@ -196,7 +174,6 @@ public class PurchaseFlowByWdly extends FlowDelegate {
|
|
|
throw new ServiceException("采购单不存在");
|
|
|
}
|
|
|
//查询采购产品
|
|
|
-// List<PurchaseDetail> purchaseDetailList = purchaseDetailService.list(Wrappers.<PurchaseDetail>query().lambda().eq(PurchaseDetail::getPurchaseId,businessId));
|
|
|
List<ContractProduct> upContractProduct = new ArrayList<>();
|
|
|
for (PurchaseDetail p : purchaseDetailList) {
|
|
|
if (ObjectUtils.isNotEmpty(p.getDataResourceId()) &&
|
|
@@ -250,6 +227,8 @@ public class PurchaseFlowByWdly extends FlowDelegate {
|
|
|
.set(BasePo::getUpdateTime, new Date())
|
|
|
.set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
);
|
|
|
+ //修改申购明细状态
|
|
|
+ updateSubscribeStatus(businessId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -320,4 +299,30 @@ public class PurchaseFlowByWdly extends FlowDelegate {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新申购明细的待采购状态
|
|
|
+ */
|
|
|
+ private void updateSubscribeStatus(Long businessId) {
|
|
|
+ //修改申购明细状态
|
|
|
+ List<PurchaseDetail> purchaseDetailList = purchaseDetailService.list(Wrappers.<PurchaseDetail>query().lambda().eq(PurchaseDetail::getPurchaseId, businessId));
|
|
|
+ List<Long> subscribeDetailIds = purchaseDetailList.stream().map(PurchaseDetail::getSubscribeDetailId).collect(Collectors.toList());
|
|
|
+ List<SubscribeDetail> subscribeDetails = subscribeDetailService.listByIds(subscribeDetailIds);
|
|
|
+ for (SubscribeDetail subscribeDetail : subscribeDetails) {
|
|
|
+ //获取申购明细下的所有采购记录 计算已采购数
|
|
|
+ List<PurchaseDetail> purchaseDetails = purchaseDetailService.list(q -> q.eq(PurchaseDetail::getSubscribeDetailId,
|
|
|
+ subscribeDetail.getId()).eq(PurchaseDetail::getBussinessId, subscribeDetail.getBussinessId()));
|
|
|
+ BigDecimal count = purchaseDetails.stream()
|
|
|
+ .map(PurchaseDetail::getCount)
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (count.compareTo(subscribeDetail.getCount()) >= 0) {
|
|
|
+ //修改为已采购
|
|
|
+ subscribeDetail.setStatus(SubscribeDetailStatusEnum.PURCHASED.getKey());
|
|
|
+ } else {
|
|
|
+ //修改为部分采购
|
|
|
+ subscribeDetail.setStatus(SubscribeDetailStatusEnum.LITT_PAID_AMOUNT.getKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ subscribeDetailService.updateBatchById(subscribeDetails);
|
|
|
+ }
|
|
|
+
|
|
|
}
|