|
@@ -19,6 +19,7 @@ import com.fjhx.sale.entity.contract.dto.ContractDto;
|
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
import com.fjhx.sale.service.after.AfterSalesDetailService;
|
|
|
import com.fjhx.sale.service.after.AfterSalesService;
|
|
|
+import com.fjhx.sale.service.contract.ContractProductService;
|
|
|
import com.fjhx.sale.service.contract.ContractService;
|
|
|
import com.fjhx.tenant.utils.DictUtils;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
@@ -46,6 +47,8 @@ public class AfterSalesFlow extends FlowDelegate {
|
|
|
private ContractService contractService;
|
|
|
@Autowired
|
|
|
private FlowProcessService flowProcessService;
|
|
|
+ @Autowired
|
|
|
+ private ContractProductService contractProductService;
|
|
|
|
|
|
@Override
|
|
|
public String getFlowKey() {
|
|
@@ -108,12 +111,15 @@ public class AfterSalesFlow extends FlowDelegate {
|
|
|
if (type.contains("补发") || type.contains("换货")) {
|
|
|
ContractDto contractDto = BeanUtil.copyProperties(contractService.getById(afterSales.getContractId()), ContractDto.class);
|
|
|
contractDto.setId(null);
|
|
|
+ contractDto.setAfterSalesId(afterSales.getId());
|
|
|
contractDto.setAmount(BigDecimal.ZERO);
|
|
|
List<AfterSalesDetail> afterSalesDetailList = afterSalesDetailService.list(q -> q.eq(AfterSalesDetail::getAfterSalesId, afterSales.getId()));
|
|
|
List<ContractProduct> contractProductList = new ArrayList<>();
|
|
|
for (AfterSalesDetail afterSalesDetail : afterSalesDetailList) {
|
|
|
- ContractProduct contractProduct = new ContractProduct();
|
|
|
- contractProduct.setProductId(afterSalesDetail.getProductId());
|
|
|
+ ContractProduct contractProduct = contractProductService.getById(afterSalesDetail.getContractProductId());
|
|
|
+ contractProduct.setId(null);
|
|
|
+ contractProduct.setAfterSalesId(afterSales.getId());
|
|
|
+ contractProduct.setAfterSalesDetailId(afterSalesDetail.getId());
|
|
|
contractProduct.setPrice(BigDecimal.ZERO);
|
|
|
contractProduct.setAmount(BigDecimal.ZERO);
|
|
|
contractProduct.setQuantity(afterSalesDetail.getQuantity());
|