src/main/java/com/ruoyi/account/controller/SalesReceiptReturnController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.ruoyi.account.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.account.dto.SalesReceiptReturnDto; import com.ruoyi.account.pojo.SalesReceiptReturn; import com.ruoyi.account.service.SalesReceiptReturnService; import com.ruoyi.account.service.impl.SalesReceiptReturnServiceImpl; import com.ruoyi.framework.web.domain.R; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * æ¶æ¬¾é货表 å端æ§å¶å¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 03:34:18 */ @RestController @RequestMapping("/salesReceiptReturn") public class SalesReceiptReturnController { @Autowired private SalesReceiptReturnService salesReceiptReturnService; @GetMapping("/page") @ApiOperation("æ¶æ¬¾é货表-å页æ¥è¯¢") public R<IPage<SalesReceiptReturnDto>> page(SalesReceiptReturnDto salesReceiptReturnDto) { return R.ok(salesReceiptReturnService.pageSalesReceiptReturnDto(salesReceiptReturnDto)); } } src/main/java/com/ruoyi/account/controller/SalesRefundAmountOrderController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.ruoyi.account.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import com.ruoyi.account.service.SalesRefundAmountOrderService; import com.ruoyi.framework.web.domain.R; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * <p> * éå®ç®¡ç--鿬¾å å端æ§å¶å¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-07 10:16:47 */ @RestController @RequestMapping("/salesRefundAmountOrder") public class SalesRefundAmountOrderController { @Autowired private SalesRefundAmountOrderService salesRefundAmountOrderService; @GetMapping("/page") public R pageSalesRefundAmountOrderDto(Page<SalesRefundAmountOrderDto> page, SalesRefundAmountOrderDto salesRefundAmountOrder) { return R.ok(salesRefundAmountOrderService.pageSalesRefundAmountOrderDto(page, salesRefundAmountOrder)); } @ApiOperation("å¤ç") @PostMapping("/dispose") public R dispose( SalesRefundAmountOrderDto salesRefundAmountOrderId) { return R.ok(salesRefundAmountOrderService.dispose(salesRefundAmountOrderId)); } } src/main/java/com/ruoyi/account/dto/SalesReceiptReturnDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.ruoyi.account.dto; import com.ruoyi.account.pojo.SalesReceiptReturn; import lombok.Data; @Data public class SalesReceiptReturnDto extends SalesReceiptReturn { } src/main/java/com/ruoyi/account/dto/SalesRefundAmountOrderDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.ruoyi.account.dto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class SalesRefundAmountOrderDto extends SalesRefundAmountOrder { @ApiModelProperty("éè´§åå·") private String returnManagementNo; @ApiModelProperty("客æ·åç§°") private String customerName; @ApiModelProperty("éå®åå·") private String salesContractNo; @ApiModelProperty("å建人åç§°") private String createUserName; } src/main/java/com/ruoyi/account/mapper/SalesReceiptReturnMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.account.mapper; import com.ruoyi.account.pojo.SalesReceiptReturn; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; /** * <p> * æ¶æ¬¾é货表 Mapper æ¥å£ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 03:34:18 */ @Mapper public interface SalesReceiptReturnMapper extends BaseMapper<SalesReceiptReturn> { } src/main/java/com/ruoyi/account/mapper/SalesRefundAmountOrderMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.ruoyi.account.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * <p> * éå®ç®¡ç--鿬¾å Mapper æ¥å£ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-07 10:16:47 */ @Mapper public interface SalesRefundAmountOrderMapper extends BaseMapper<SalesRefundAmountOrder> { IPage<SalesRefundAmountOrderDto> pageSalesRefundAmountOrderDto(Page<SalesRefundAmountOrderDto> page,@Param("ew") SalesRefundAmountOrderDto salesRefundAmountOrder); } src/main/java/com/ruoyi/account/pojo/SalesReceiptReturn.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ package com.ruoyi.account.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * æ¶æ¬¾é货表 * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 03:34:18 */ @Getter @Setter @TableName("sales_receipt_return") @ApiModel(value = "SalesReceiptReturn对象", description = "æ¶æ¬¾é货表") public class SalesReceiptReturn implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("ä¸»é® ID") @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("鿬¾åå·") private String refundId; @ApiModelProperty("仿¬¾è´¦å·") private String paymentAccount; @ApiModelProperty("仿¬¾è´¦å·åç§°") private String paymentAccountName; @ApiModelProperty("仿¬¾æ¹å¼") private Byte paymentMethod; @ApiModelProperty("å®é 仿¬¾éé¢") private BigDecimal actualAmount; @ApiModelProperty("æç»è´¹") private BigDecimal fee; @ApiModelProperty("交æå·") private String transactionNo; @ApiModelProperty("伿 éé¢") private BigDecimal discountAmount; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty("å建è ") @TableField(fill = FieldFill.INSERT) private Long createUser; } src/main/java/com/ruoyi/account/pojo/SalesRefundAmountOrder.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,70 @@ package com.ruoyi.account.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import org.springframework.format.annotation.DateTimeFormat; /** * <p> * éå®ç®¡ç--鿬¾å * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-07 10:16:47 */ @Getter @Setter @TableName("sales_refund_amount_order") @ApiModel(value = "SalesRefundAmountOrder对象", description = "éå®ç®¡ç--鿬¾å") public class SalesRefundAmountOrder implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("éè´§åå·id") private Long returnManagementId; @ApiModelProperty("ç¶æ") private Integer status; @ApiModelProperty("åºé款éé¢") private BigDecimal refundAmount; @ApiModelProperty("已鿬¾éé¢") private BigDecimal refundedAmount; @ApiModelProperty("æªé款éé¢") private BigDecimal notRefundedAmount; @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @ApiModelProperty("æ´æ°æ¶é´") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty("å建人id") private Long createUserId; @ApiModelProperty("æ´æ°äººid") private Long updateUserId; } src/main/java/com/ruoyi/account/service/SalesReceiptReturnService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.account.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.account.dto.SalesReceiptReturnDto; import com.ruoyi.account.pojo.SalesReceiptReturn; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * æ¶æ¬¾é货表 æå¡ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 03:34:18 */ public interface SalesReceiptReturnService extends IService<SalesReceiptReturn> { IPage<SalesReceiptReturnDto> pageSalesReceiptReturnDto(SalesReceiptReturnDto salesReceiptReturnDto); } src/main/java/com/ruoyi/account/service/SalesRefundAmountOrderService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.ruoyi.account.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * éå®ç®¡ç--鿬¾å æå¡ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-07 10:16:47 */ public interface SalesRefundAmountOrderService extends IService<SalesRefundAmountOrder> { IPage<SalesRefundAmountOrderDto> pageSalesRefundAmountOrderDto(Page<SalesRefundAmountOrderDto> page, SalesRefundAmountOrderDto salesRefundAmountOrder); Boolean addSalesRefundAmountOrderDto(SalesRefundAmountOrderDto salesRefundAmountOrder); Boolean dispose(SalesRefundAmountOrderDto salesRefundAmountOrder); } src/main/java/com/ruoyi/account/service/impl/SalesReceiptReturnServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.account.dto.SalesReceiptReturnDto; import com.ruoyi.account.pojo.SalesReceiptReturn; import com.ruoyi.account.mapper.SalesReceiptReturnMapper; import com.ruoyi.account.service.SalesReceiptReturnService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * æ¶æ¬¾é货表 æå¡å®ç°ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 03:34:18 */ @Service public class SalesReceiptReturnServiceImpl extends ServiceImpl<SalesReceiptReturnMapper, SalesReceiptReturn> implements SalesReceiptReturnService { @Override public IPage<SalesReceiptReturnDto> pageSalesReceiptReturnDto(SalesReceiptReturnDto salesReceiptReturnDto) { return null; } } src/main/java/com/ruoyi/account/service/impl/SalesRefundAmountOrderServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import com.ruoyi.account.mapper.SalesRefundAmountOrderMapper; import com.ruoyi.account.service.SalesRefundAmountOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * <p> * éå®ç®¡ç--鿬¾å æå¡å®ç°ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-07 10:16:47 */ @Service public class SalesRefundAmountOrderServiceImpl extends ServiceImpl<SalesRefundAmountOrderMapper, SalesRefundAmountOrder> implements SalesRefundAmountOrderService { @Autowired private SalesRefundAmountOrderMapper salesRefundAmountOrderMapper; @Override public IPage<SalesRefundAmountOrderDto> pageSalesRefundAmountOrderDto(Page<SalesRefundAmountOrderDto> page, SalesRefundAmountOrderDto salesRefundAmountOrder) { return salesRefundAmountOrderMapper.pageSalesRefundAmountOrderDto(page, salesRefundAmountOrder); } @Override public Boolean addSalesRefundAmountOrderDto(SalesRefundAmountOrderDto salesRefundAmountOrder) { return this.save(salesRefundAmountOrder); } @Override public Boolean dispose(SalesRefundAmountOrderDto salesRefundAmountOrder) { return null; } } src/main/java/com/ruoyi/procurementrecord/dto/ReturnSaleProductDto.java
@@ -18,4 +18,10 @@ private BigDecimal unQuantity; private BigDecimal totalReturnNum; // éè´§æ»ä»· private BigDecimal price; // éè´§æ»ä»· private BigDecimal taxInclusiveUnitPrice; } src/main/java/com/ruoyi/procurementrecord/mapper/ReturnSaleProductMapper.java
@@ -20,4 +20,6 @@ public interface ReturnSaleProductMapper extends BaseMapper<ReturnSaleProduct> { List<ReturnSaleProductDto> listReturnSaleProductDto(@Param("returnManagementId") Long returnManagementId); List<ReturnSaleProductDto> listReturnSaleProduct(@Param("returnManagementId") Long returnManagementId); } src/main/java/com/ruoyi/procurementrecord/service/ReturnSaleProductService.java
@@ -17,4 +17,6 @@ public interface ReturnSaleProductService extends IService<ReturnSaleProduct> { List<ReturnSaleProductDto> listReturnSaleProductDto(Long returnManagementId); List<ReturnSaleProductDto> listReturnSaleProduct(Long returnManagementId); } src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
@@ -1,10 +1,16 @@ package com.ruoyi.procurementrecord.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.pojo.SalesRefundAmountOrder; import com.ruoyi.account.service.SalesRefundAmountOrderService; import com.ruoyi.common.utils.OrderUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.procurementrecord.dto.ReturnManagementDto; import com.ruoyi.procurementrecord.dto.ReturnSaleProductDto; import com.ruoyi.procurementrecord.mapper.ReturnManagementMapper; import com.ruoyi.procurementrecord.pojo.ReturnManagement; import com.ruoyi.procurementrecord.pojo.ReturnSaleProduct; @@ -22,6 +28,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -42,6 +49,8 @@ private ShippingInfoService shippingInfoService; @Autowired private SalesLedgerMapper salesLedgerMapper; @Autowired private SalesRefundAmountOrderService salesRefundAmountOrderService; @Override public IPage<ReturnManagementDto> listPage(Page page, ReturnManagementDto returnManagement) { @@ -91,8 +100,22 @@ @Override public boolean handle(Long returnManagementId) { ReturnManagement byId = this.getById(returnManagementId); List<ReturnSaleProductDto> list = returnSaleProductService.listReturnSaleProduct(returnManagementId); byId.setStatus(1); updateById(byId); SalesRefundAmountOrderDto salesRefundAmountOrder = new SalesRefundAmountOrderDto(); salesRefundAmountOrder.setReturnManagementId(returnManagementId); salesRefundAmountOrder.setStatus(0); salesRefundAmountOrder.setCreateTime(byId.getCreateTime()); salesRefundAmountOrder.setCreateUserId(SecurityUtils.getUserId()); BigDecimal bigDecimal = new BigDecimal(0); for (ReturnSaleProductDto returnSaleProduct : list) { bigDecimal = bigDecimal.add(returnSaleProduct.getPrice()); salesRefundAmountOrder.setRefundedAmount(new BigDecimal(0)); } salesRefundAmountOrder.setRefundAmount(bigDecimal); salesRefundAmountOrder.setNotRefundedAmount(salesRefundAmountOrder.getRefundedAmount()); salesRefundAmountOrderService.addSalesRefundAmountOrderDto(salesRefundAmountOrder); return true; } src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnSaleProductServiceImpl.java
@@ -29,4 +29,9 @@ return returnSaleProductMapper.listReturnSaleProductDto(returnManagementId); } @Override public List<ReturnSaleProductDto> listReturnSaleProduct(Long returnManagementId) { return returnSaleProductMapper.listReturnSaleProduct(returnManagementId); } } src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrderProductsController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.purchase.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * å端æ§å¶å¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 01:37:44 */ @RestController @RequestMapping("/purchaseReturnOrderProducts") public class PurchaseReturnOrderProductsController { } src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java
@@ -42,6 +42,6 @@ if (purchaseReturnOrderDto.getIsDefaultNo()) { purchaseReturnOrderDto.setNo(OrderUtils.countTodayByCreateTime(purchaseReturnOrdersMapper, "CGTL")); } return AjaxResult.success(purchaseReturnOrdersService.save(purchaseReturnOrderDto)); return AjaxResult.success(purchaseReturnOrdersService.add(purchaseReturnOrderDto)); } } src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderDto.java
@@ -1,10 +1,16 @@ package com.ruoyi.purchase.dto; import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts; import com.ruoyi.purchase.pojo.PurchaseReturnOrders; import lombok.Data; import java.util.List; @Data public class PurchaseReturnOrderDto extends PurchaseReturnOrders { // æ¯å¦ä½¿ç¨ç³»ç»åå· private Boolean isDefaultNo; private List<PurchaseReturnOrderProductsDto> purchaseReturnOrderProductsDtos; } src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderProductsDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.ruoyi.purchase.dto; import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts; import lombok.Data; @Data public class PurchaseReturnOrderProductsDto extends PurchaseReturnOrderProducts { private String productName; private String model; private String unit; } src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrderProductsMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.purchase.mapper; import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; /** * <p> * Mapper æ¥å£ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 01:37:44 */ @Mapper public interface PurchaseReturnOrderProductsMapper extends BaseMapper<PurchaseReturnOrderProducts> { } src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrderProducts.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.ruoyi.purchase.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 01:37:44 */ @Getter @Setter @TableName("purchase_return_order_products") @ApiModel(value = "PurchaseReturnOrderProducts对象", description = "") public class PurchaseReturnOrderProducts implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @ApiModelProperty("éè´§åid") private Long purchaseReturnOrderId; @ApiModelProperty("éè´äº§åid") private Long salesLedgerProductId; @ApiModelProperty("å½å ¥æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty("éè´§æ°é") private BigDecimal num; } src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrderProductsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.purchase.service; import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * æå¡ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 01:37:44 */ public interface PurchaseReturnOrderProductsService extends IService<PurchaseReturnOrderProducts> { } src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
@@ -17,4 +17,6 @@ */ public interface PurchaseReturnOrdersService extends IService<PurchaseReturnOrders> { IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto); Boolean add(PurchaseReturnOrderDto purchaseReturnOrderDto); } src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrderProductsServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.purchase.service.impl; import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts; import com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper; import com.ruoyi.purchase.service.PurchaseReturnOrderProductsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * æå¡å®ç°ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-03-09 01:37:44 */ @Service public class PurchaseReturnOrderProductsServiceImpl extends ServiceImpl<PurchaseReturnOrderProductsMapper, PurchaseReturnOrderProducts> implements PurchaseReturnOrderProductsService { } src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.purchase.dto.PurchaseReturnOrderDto; import com.ruoyi.purchase.dto.PurchaseReturnOrderProductsDto; import com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper; import com.ruoyi.purchase.pojo.PurchaseReturnOrders; import com.ruoyi.purchase.mapper.PurchaseReturnOrdersMapper; import com.ruoyi.purchase.service.PurchaseReturnOrdersService; @@ -10,6 +12,7 @@ import com.ruoyi.purchase.vo.PurchaseReturnOrderVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -23,9 +26,24 @@ public class PurchaseReturnOrdersServiceImpl extends ServiceImpl<PurchaseReturnOrdersMapper, PurchaseReturnOrders> implements PurchaseReturnOrdersService { @Autowired private PurchaseReturnOrdersMapper purchaseReturnOrdersMapper; @Autowired private PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper; @Override public IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) { return purchaseReturnOrdersMapper.listPage(page, purchaseReturnOrderDto); } @Override @Transactional(rollbackFor = Exception.class) public Boolean add(PurchaseReturnOrderDto purchaseReturnOrderDto) { this.save(purchaseReturnOrderDto); if (purchaseReturnOrderDto.getPurchaseReturnOrderProductsDtos().isEmpty()) { for (PurchaseReturnOrderProductsDto purchaseReturnOrderProductsDto :purchaseReturnOrderDto.getPurchaseReturnOrderProductsDtos()) { purchaseReturnOrderProductsDto.setPurchaseReturnOrderId(purchaseReturnOrderDto.getId()); purchaseReturnOrderProductsMapper.insert(purchaseReturnOrderProductsDto); } } return true; } } src/main/resources/mapper/account/SalesReceiptReturnMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.account.mapper.SalesReceiptReturnMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.account.pojo.SalesReceiptReturn"> <id column="id" property="id" /> <result column="refund_id" property="refundId" /> <result column="payment_account" property="paymentAccount" /> <result column="payment_account_name" property="paymentAccountName" /> <result column="payment_method" property="paymentMethod" /> <result column="actual_amount" property="actualAmount" /> <result column="fee" property="fee" /> <result column="transaction_no" property="transactionNo" /> <result column="discount_amount" property="discountAmount" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="create_user" property="createUser" /> </resultMap> </mapper> src/main/resources/mapper/account/SalesRefundAmountOrderMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.account.mapper.SalesRefundAmountOrderMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.account.pojo.SalesRefundAmountOrder"> <id column="id" property="id" /> <result column="return_management_id" property="returnManagementId" /> <result column="status" property="status" /> <result column="refund_amount" property="refundAmount" /> <result column="refunded_amount" property="refundedAmount" /> <result column="not_refunded_amount" property="notRefundedAmount" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="create_user_id" property="createUserId" /> <result column="update_user_id" property="updateUserId" /> </resultMap> <select id="pageSalesRefundAmountOrderDto" resultType="com.ruoyi.account.dto.SalesRefundAmountOrderDto"> select sl.sales_contract_no, sl.customer_contract_no, slp.specification_model, slp.product_category as product_name, slp.unit, sl.customer_name, rm.return_no as return_management_no, srao.* from sales_refund_amount_order srao left join return_management rm on srao.return_management_id = rm.id left join return_sale_product rs on rm.id = rs.return_management_id left join sales_ledger_product slp on rs.return_sale_ledger_product_id = slp.id left join sales_ledger sl on slp.sales_ledger_id = sl.id <where> <if test="ew.salesContractNo != null and ew.salesContractNo !=''"> and sl.sales_contract_no like concat('%',#{ew.salesContractNo},'%') </if> <if test="ew.returnManagementNo != null and ew.returnManagementNo !=''"> and rm.return_no like concat('%',#{ew.returnManagementNo},'%') </if> </where> </select> </mapper> src/main/resources/mapper/procurementrecord/ReturnSaleProductMapper.xml
@@ -28,5 +28,11 @@ GROUP BY return_sale_ledger_product_id) rs ON rs.return_sale_ledger_product_id = slp.id where rm.id =#{returnManagementId} </select> <select id="listReturnSaleProduct" resultType="com.ruoyi.procurementrecord.dto.ReturnSaleProductDto"> select rsp.*,slp.tax_inclusive_unit_price ,slp.tax_inclusive_total_price*rsp.num as price from return_sale_product rsp left join sales_ledger_product slp on slp.id = rsp.return_sale_ledger_product_id where rsp.return_management_id = #{returnManagementId} </select> </mapper> src/main/resources/mapper/purchase/PurchaseReturnOrderProductsMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts"> <id column="id" property="id" /> <result column="purchase_return_order_id" property="purchaseReturnOrderId" /> <result column="sales_ledger_product_id" property="salesLedgerProductId" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="num" property="num" /> </resultMap> </mapper>