From d8d04100777062a7e720c4eabac650a76e45c8ea Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 17 九月 2025 11:27:18 +0800
Subject: [PATCH] yys  退货管理

---
 src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java |   29 +++++++
 src/main/java/com/ruoyi/procurementrecord/service/ReturnManagementService.java          |   22 +++++
 src/main/resources/mapper/procurementrecord/ReturnManagementMapper.xml                  |   16 ++++
 src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java                    |   72 ++++++++++++++++++
 src/main/java/com/ruoyi/procurementrecord/controller/ReturnManagementController.java    |   69 +++++++++++++++++
 src/main/java/com/ruoyi/procurementrecord/mapper/ReturnManagementMapper.java            |   22 +++++
 src/main/java/com/ruoyi/procurementrecord/controller/InboundManagementController.java   |    4 +
 7 files changed, 234 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/InboundManagementController.java b/src/main/java/com/ruoyi/procurementrecord/controller/InboundManagementController.java
index ba167b2..b8ffa23 100644
--- a/src/main/java/com/ruoyi/procurementrecord/controller/InboundManagementController.java
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/InboundManagementController.java
@@ -10,6 +10,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
@@ -36,6 +37,7 @@
 
     @PostMapping("/add")
     @ApiOperation("鍒拌揣绠$悊-娣诲姞")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult add(@RequestBody InboundManagement inboundManagement) {
         inboundManagement.setArrivalTime(new Date());
         boolean result = inboundManagementService.save(inboundManagement);
@@ -44,6 +46,7 @@
 
     @PostMapping("/update")
     @ApiOperation("鍒拌揣绠$悊-淇敼")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult update(@RequestBody InboundManagement inboundManagement) {
         boolean result = inboundManagementService.updateById(inboundManagement);
         return result ? AjaxResult.success() : AjaxResult.error();
@@ -51,6 +54,7 @@
 
     @DeleteMapping("/del")
     @ApiOperation("鍒拌揣绠$悊-鍒犻櫎")
+    @Transactional(rollbackFor = Exception.class)
     public AjaxResult del(@RequestBody List<Long> ids) {
         if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         boolean result = inboundManagementService.removeByIds(ids);
diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ReturnManagementController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ReturnManagementController.java
new file mode 100644
index 0000000..3cb1e59
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/controller/ReturnManagementController.java
@@ -0,0 +1,69 @@
+package com.ruoyi.procurementrecord.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.procurementrecord.mapper.ReturnManagementMapper;
+import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+import com.ruoyi.procurementrecord.service.ReturnManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/9/17 10:34
+ */
+@RestController
+@Api(tags = "鍒拌揣绠$悊")
+@RequestMapping("/returnManagement")
+public class ReturnManagementController extends BaseController {
+
+    @Autowired
+    private ReturnManagementService returnManagementService;
+
+    @Autowired
+    private ReturnManagementMapper returnManagementMapper;
+
+    @GetMapping("/listPage")
+    @ApiOperation("鍒拌揣绠$悊-鏌ヨ")
+    public AjaxResult listPage(Page page, ReturnManagement returnManagement) {
+        IPage<ReturnManagement> result = returnManagementService.listPage(page, returnManagement);
+        return AjaxResult.success(result);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("鍒拌揣绠$悊-娣诲姞")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult add(@RequestBody ReturnManagement returnManagement) {
+        String rt = OrderUtils.countTodayByCreateTime(returnManagementMapper, "RT");
+        returnManagement.setReturnNo(rt);
+        boolean result = returnManagementService.save(returnManagement);
+        return result ? success() : error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("鍒拌揣绠$悊-淇敼")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult update(@RequestBody ReturnManagement returnManagement) {
+        boolean result = returnManagementService.updateById(returnManagement);
+        return result ? success() : error();
+    }
+
+    @DeleteMapping("/del")
+    @ApiOperation("鍒拌揣绠$悊-鍒犻櫎")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult del(@RequestBody List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)) return error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        boolean result = returnManagementService.removeByIds(ids);
+        return result ? success() : error();
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/ReturnManagementMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/ReturnManagementMapper.java
new file mode 100644
index 0000000..14953ad
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/mapper/ReturnManagementMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.procurementrecord.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author :yys
+ * @date : 2025/9/17 10:32
+ */
+public interface ReturnManagementMapper extends BaseMapper<ReturnManagement> {
+
+    /**
+     * 鏌ヨ鍒楄〃
+     *
+     * @param page
+     * @return
+     */
+    IPage<ReturnManagement> listPage(Page page,@Param("req") ReturnManagement returnManagement);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java
new file mode 100644
index 0000000..54091ab
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java
@@ -0,0 +1,72 @@
+package com.ruoyi.procurementrecord.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author :yys
+ * @date : 2025/9/17 10:28
+ */
+@Data
+@TableName("return_management")
+@ApiModel
+public class ReturnManagement {
+
+    private static final long serialVersionUID = 1L;
+    /**
+     * 搴忓彿
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "閫�璐у崟鍙�")
+    private String returnNo;
+
+    @ApiModelProperty(value = "鍏宠仈鍗曞彿")
+    private String relatedNo;
+
+    @ApiModelProperty(value = "閫�璐х被鍨�")
+    private String returnType;
+
+    @ApiModelProperty(value = "渚涘簲鍟嗗悕绉�")
+    private String supplierName;
+
+    @ApiModelProperty(value = "閫�璐у師鍥�")
+    private String returnReason;
+
+    @ApiModelProperty(value = "閫�璐х姸鎬�")
+    private String status;
+
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ReturnManagementService.java b/src/main/java/com/ruoyi/procurementrecord/service/ReturnManagementService.java
new file mode 100644
index 0000000..b35be31
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/service/ReturnManagementService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.procurementrecord.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+
+/**
+ * @author :yys
+ * @date : 2025/9/17 10:33
+ */
+public interface ReturnManagementService extends IService<ReturnManagement> {
+
+    /**
+     * 鏌ヨ鍒楄〃
+     *
+     * @param page
+     * @param returnManagement
+     * @return
+     */
+    IPage<ReturnManagement> listPage(Page page, ReturnManagement returnManagement);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
new file mode 100644
index 0000000..ef3f242
--- /dev/null
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
@@ -0,0 +1,29 @@
+package com.ruoyi.procurementrecord.service.impl;
+
+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.procurementrecord.mapper.ReturnManagementMapper;
+import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+import com.ruoyi.procurementrecord.service.ReturnManagementService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author :yys
+ * @date : 2025/9/17 10:34
+ */
+@Service
+@Slf4j
+public class ReturnManagementServiceImpl extends ServiceImpl<ReturnManagementMapper, ReturnManagement> implements ReturnManagementService {
+
+    @Autowired
+    private ReturnManagementMapper returnManagementMapper;
+
+    @Override
+    public IPage<ReturnManagement> listPage(Page page, ReturnManagement returnManagement) {
+        IPage<ReturnManagement> returnManagementIPage =  returnManagementMapper.listPage(page, returnManagement);
+        return returnManagementIPage;
+    }
+}
diff --git a/src/main/resources/mapper/procurementrecord/ReturnManagementMapper.xml b/src/main/resources/mapper/procurementrecord/ReturnManagementMapper.xml
new file mode 100644
index 0000000..ce8eb39
--- /dev/null
+++ b/src/main/resources/mapper/procurementrecord/ReturnManagementMapper.xml
@@ -0,0 +1,16 @@
+<?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.procurementrecord.mapper.ReturnManagementMapper">
+
+    <select id="listPage" resultType="com.ruoyi.procurementrecord.pojo.ReturnManagement">
+        select * from return_management
+        <where>
+            <if test="req.returnNo != null and req.returnNo != ''">
+                and return_no like concat('%',#{req.returnNo},'%')
+            </if>
+            <if test="req.returnType != null and req.returnType != ''">
+                and return_type = #{req.returnType}
+            </if>
+        </where>
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3