|
@@ -17,9 +17,12 @@ import com.fjhx.purchase.entity.purchase.po.Purchase;
|
|
|
import com.fjhx.purchase.entity.purchase.po.PurchaseDetail;
|
|
|
import com.fjhx.purchase.entity.purchase.po.PurchaseOtherFee;
|
|
|
import com.fjhx.purchase.entity.purchase.vo.PurchaseVo;
|
|
|
+import com.fjhx.purchase.entity.subscribe.enums.SubscribeDetailStatusEnum;
|
|
|
+import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseDetailService;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseOtherFeeService;
|
|
|
import com.fjhx.purchase.service.purchase.PurchaseService;
|
|
|
+import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.entity.sample.po.SampleProduct;
|
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
@@ -58,6 +61,8 @@ public class PurchaseFlow extends FlowDelegate {
|
|
|
private CodingRuleService codingRuleService;
|
|
|
@Autowired
|
|
|
private PurchaseOtherFeeService purchaseOtherFeeService;
|
|
|
+ @Autowired
|
|
|
+ private SubscribeDetailService subscribeDetailService;
|
|
|
|
|
|
@Override
|
|
|
public String getFlowKey() {
|
|
@@ -86,6 +91,23 @@ public class PurchaseFlow extends FlowDelegate {
|
|
|
s.setPurchaseId(purchase.getId());
|
|
|
}
|
|
|
purchaseDetailService.saveBatch(purchaseDetailList);
|
|
|
+ //修改申购明细的采购状态
|
|
|
+ for (PurchaseDetail purchaseDetail : purchaseDetailList) {
|
|
|
+ //计算已经采购的数量
|
|
|
+ List<PurchaseDetail> purchaseDetails = purchaseDetailService.list(q -> q
|
|
|
+ .eq(PurchaseDetail::getSubscribeDetailId, purchaseDetail.getSubscribeDetailId())
|
|
|
+ );
|
|
|
+ BigDecimal pdCount = purchaseDetails.stream().map(PurchaseDetail::getCount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ SubscribeDetail subscribeDetail = subscribeDetailService.getById(purchaseDetail.getSubscribeDetailId());
|
|
|
+ if (pdCount.compareTo(subscribeDetail.getCount()) >= 0) {
|
|
|
+ //修改为已采购
|
|
|
+ subscribeDetail.setStatus(SubscribeDetailStatusEnum.PURCHASED.getKey());
|
|
|
+ } else {
|
|
|
+ //修改为部分采购
|
|
|
+ subscribeDetail.setStatus(SubscribeDetailStatusEnum.LITT_PAID_AMOUNT.getKey());
|
|
|
+ }
|
|
|
+ subscribeDetailService.updateById(subscribeDetail);
|
|
|
+ }
|
|
|
}
|
|
|
//保存其他费用信息
|
|
|
List<PurchaseOtherFee> otherFeeList = purchase.getOtherFeeList();
|