src/main/java/com/ruoyi/procurementrecord/bean/dto/ReturnSaleProductDto.java
@@ -35,4 +35,7 @@ @Schema(description = "发货出库数量") private BigDecimal stockOutNum; @Schema(description = "待处理退货数量") private BigDecimal pendingReturnNum; } src/main/java/com/ruoyi/procurementrecord/bean/vo/ShippingProductVo.java
@@ -40,4 +40,7 @@ @Schema(description = "含税单价") private BigDecimal taxInclusiveUnitPrice; @Schema(description = "待处理退货数量") private BigDecimal pendingReturnNum; } src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
@@ -33,6 +33,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; /** * @author :yys @@ -122,6 +123,14 @@ byId.setSettler(SecurityUtils.getLoginUser().getNickName()); byId.setRefundAmount(totalRefund); updateById(byId); //更新退货产品列表的状态 List<ReturnSaleProduct> updateList = list.stream().map(m -> { ReturnSaleProduct returnSaleProduct = new ReturnSaleProduct(); returnSaleProduct.setId(m.getId()); returnSaleProduct.setStatus(1); return returnSaleProduct; }).collect(Collectors.toList()); returnSaleProductService.updateBatchById(updateList); // 3. 更新销售台账的实际合同金额 if (byId.getShippingId() != null) { src/main/resources/mapper/procurementrecord/ReturnSaleProductMapper.xml
@@ -19,8 +19,9 @@ sor.outbound_batches, sor.stock_out_num, sor.batch_no, GREATEST(sor.stock_out_num - COALESCE(rs1.total_return_num1, 0), 0) AS un_quantity, COALESCE(rs.total_return_num, 0) AS total_return_num GREATEST( sor.stock_out_num - COALESCE ( rs.total_return_num, 0 ), 0 ) AS un_quantity, COALESCE ( rs.pending_return_num, 0 ) AS pending_return_num , COALESCE ( rs.return_num, 0 ) AS total_return_num FROM return_sale_product rsp LEFT JOIN return_management rm ON rm.id = rsp.return_management_id LEFT JOIN shipping_info si ON si.id = rm.shipping_id @@ -30,15 +31,11 @@ left join product_model pm on slp.product_model_id = pm.id LEFT JOIN product p on pm.product_id = p.id LEFT JOIN (SELECT stock_out_record_id, SUM(num) AS total_return_num SUM(num) AS total_return_num, SUM( CASE WHEN return_management_id =#{returnManagementId} AND STATUS = 0 THEN num ELSE 0 END ) AS pending_return_num , SUM( CASE WHEN STATUS = 1 THEN num ELSE 0 END ) AS return_num FROM return_sale_product WHERE 1 = 1 and return_management_id = #{returnManagementId} GROUP BY stock_out_record_id) rs ON rs.stock_out_record_id = sor.id LEFT JOIN (SELECT stock_out_record_id, SUM(num) AS total_return_num1 FROM return_sale_product WHERE 1 = 1 GROUP BY stock_out_record_id) rs1 ON rs1.stock_out_record_id = sor.id where rm.id =#{returnManagementId} </select> <select id="listReturnSaleProduct" resultType="com.ruoyi.procurementrecord.bean.dto.ReturnSaleProductDto"> src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -78,7 +78,8 @@ sor.batch_no, slp.tax_inclusive_unit_price, GREATEST(sor.stock_out_num - COALESCE(rs.total_return_num, 0), 0) AS un_quantity, COALESCE(rs.total_return_num, 0) AS total_return_num COALESCE(rs.return_num, 0) AS total_return_num, COALESCE(rs.pending_return_num, 0) AS pending_return_num FROM shipping_info si LEFT JOIN shipping_product_detail spd ON spd.shipping_info_id = si.id LEFT JOIN stock_out_record sor ON sor.record_id = si.id and sor.record_type = '13' @@ -86,7 +87,9 @@ LEFT JOIN ( SELECT stock_out_record_id, SUM(num) AS total_return_num SUM(num) AS total_return_num, SUM( CASE WHEN rsp.STATUS = 0 THEN rsp.num ELSE 0 END ) AS pending_return_num , SUM( CASE WHEN rsp.STATUS = 1 THEN rsp.num ELSE 0 END ) AS return_num FROM return_sale_product rsp left join return_management rm on rm.id = rsp.return_management_id left join shipping_info si on si.id = rm.shipping_id