Explorar el Código

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

zhoux hace 2 años
padre
commit
482fa0d45d
Se han modificado 69 ficheros con 1264 adiciones y 409 borrados
  1. 14 0
      src/main/java/com/dk/mdm/controller/common/CommonController.java
  2. 36 1
      src/main/java/com/dk/mdm/controller/ivt/IntoReturnController.java
  3. 22 0
      src/main/java/com/dk/mdm/controller/mst/RoleController.java
  4. 25 14
      src/main/java/com/dk/mdm/controller/sale/OrderController.java
  5. 27 0
      src/main/java/com/dk/mdm/controller/sale/OutReturnController.java
  6. 7 8
      src/main/java/com/dk/mdm/generator/Generator.java
  7. 3 0
      src/main/java/com/dk/mdm/infrastructure/convert/ivt/IntoReturnItemConvert.java
  8. 2 2
      src/main/java/com/dk/mdm/infrastructure/convert/sale/OrderItemConvert.java
  9. 22 0
      src/main/java/com/dk/mdm/infrastructure/convert/sale/OutReturnConvert.java
  10. 22 0
      src/main/java/com/dk/mdm/infrastructure/convert/sale/OutReturnItemConvert.java
  11. 16 0
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.java
  12. 40 0
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  13. 2 0
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.java
  14. 13 0
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml
  15. 4 1
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.java
  16. 15 3
      src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml
  17. 19 1
      src/main/java/com/dk/mdm/mapper/ivt/IntoReturnMapper.java
  18. 181 10
      src/main/java/com/dk/mdm/mapper/ivt/IntoReturnMapper.xml
  19. 1 6
      src/main/java/com/dk/mdm/mapper/mst/DictionaryDataMapper.java
  20. 1 4
      src/main/java/com/dk/mdm/mapper/mst/DictionaryDataMapper.xml
  21. 1 6
      src/main/java/com/dk/mdm/mapper/mst/GoodsBrandMapper.java
  22. 0 6
      src/main/java/com/dk/mdm/mapper/mst/GoodsBrandMapper.xml
  23. 1 6
      src/main/java/com/dk/mdm/mapper/mst/GoodsCategoryMapper.java
  24. 1 4
      src/main/java/com/dk/mdm/mapper/mst/GoodsCategoryMapper.xml
  25. 1 6
      src/main/java/com/dk/mdm/mapper/mst/GoodsSeriesMapper.java
  26. 0 4
      src/main/java/com/dk/mdm/mapper/mst/GoodsSeriesMapper.xml
  27. 8 4
      src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml
  28. 1 6
      src/main/java/com/dk/mdm/mapper/mst/RoleMapper.java
  29. 2 5
      src/main/java/com/dk/mdm/mapper/mst/RoleMapper.xml
  30. 0 6
      src/main/java/com/dk/mdm/mapper/mst/SaleChannelMapper.java
  31. 1 4
      src/main/java/com/dk/mdm/mapper/mst/SaleChannelMapper.xml
  32. 7 3
      src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml
  33. 1 6
      src/main/java/com/dk/mdm/mapper/mst/UnitMapper.java
  34. 0 4
      src/main/java/com/dk/mdm/mapper/mst/UnitMapper.xml
  35. 1 6
      src/main/java/com/dk/mdm/mapper/mst/WarehouseMapper.java
  36. 1 4
      src/main/java/com/dk/mdm/mapper/mst/WarehouseMapper.xml
  37. 5 1
      src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.java
  38. 15 1
      src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.xml
  39. 7 0
      src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.java
  40. 32 1
      src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml
  41. 50 3
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml
  42. 1 13
      src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.xml
  43. 3 2
      src/main/java/com/dk/mdm/model/pojo/ivt/IntoReturn.java
  44. 4 0
      src/main/java/com/dk/mdm/model/pojo/mst/Supplier.java
  45. 3 19
      src/main/java/com/dk/mdm/model/pojo/sale/OutReturn.java
  46. 3 2
      src/main/java/com/dk/mdm/model/query/ivt/IntoReturnQuery.java
  47. 3 1
      src/main/java/com/dk/mdm/model/query/mst/SupplierQuery.java
  48. 3 19
      src/main/java/com/dk/mdm/model/query/sale/OutReturnQuery.java
  49. 15 69
      src/main/java/com/dk/mdm/model/response/ivt/IntoReturnResponse.java
  50. 3 1
      src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java
  51. 16 0
      src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java
  52. 3 19
      src/main/java/com/dk/mdm/model/response/sale/OutReturnResponse.java
  53. 2 2
      src/main/java/com/dk/mdm/model/vo/ivt/IntoReturnItemVO.java
  54. 6 13
      src/main/java/com/dk/mdm/model/vo/ivt/IntoReturnVO.java
  55. 4 0
      src/main/java/com/dk/mdm/model/vo/mst/SupplierVo.java
  56. 9 20
      src/main/java/com/dk/mdm/model/vo/sale/OutReturnVO.java
  57. 11 1
      src/main/java/com/dk/mdm/service/common/CommonService.java
  58. 292 6
      src/main/java/com/dk/mdm/service/ivt/IntoReturnService.java
  59. 29 3
      src/main/java/com/dk/mdm/service/ivt/OutboundService.java
  60. 6 8
      src/main/java/com/dk/mdm/service/mst/DictionaryDataService.java
  61. 2 7
      src/main/java/com/dk/mdm/service/mst/GoodsBrandService.java
  62. 3 7
      src/main/java/com/dk/mdm/service/mst/GoodsCategoryService.java
  63. 4 9
      src/main/java/com/dk/mdm/service/mst/GoodsSeriesService.java
  64. 50 7
      src/main/java/com/dk/mdm/service/mst/RoleService.java
  65. 2 8
      src/main/java/com/dk/mdm/service/mst/SaleChannelService.java
  66. 1 2
      src/main/java/com/dk/mdm/service/mst/UnitService.java
  67. 2 7
      src/main/java/com/dk/mdm/service/mst/WarehouseService.java
  68. 34 18
      src/main/java/com/dk/mdm/service/sale/OrderService.java
  69. 143 10
      src/main/java/com/dk/mdm/service/sale/OutReturnService.java

+ 14 - 0
src/main/java/com/dk/mdm/controller/common/CommonController.java

@@ -1541,6 +1541,20 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<List<Map<String, Object>>> getServiceCategories(@RequestBody Map<String, Object> param) {
         return commonService.getServiceCategories(param);
     }
+
+    /**
+     * @desc : 获取仓库
+     * @author : 王英杰
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "获取账户类别",
+            notes = "获取账户类别"
+    )
+    @PostMapping("get_dictionarydata_by_page")
+    public ResponseResultVO<PageList<Map<String, Object>>> getDictionaryDataByPage(@RequestBody Map<String, Object> param) {
+        return commonService.getDictionaryDataByPage(param);
+    }
 }
 
 

+ 36 - 1
src/main/java/com/dk/mdm/controller/ivt/IntoReturnController.java

@@ -1,8 +1,19 @@
 package com.dk.mdm.controller.ivt;
 
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.ivt.IntoReturn;
-import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.ivt.InboundQuery;
+import com.dk.mdm.model.query.ivt.IntoReturnQuery;
+import com.dk.mdm.model.query.pur.PurchaseQuery;
+import com.dk.mdm.model.response.ivt.InboundResponse;
+import com.dk.mdm.model.response.ivt.IntoReturnResponse;
+import com.dk.mdm.model.response.pur.PurchaseResponse;
+import com.dk.mdm.model.vo.ivt.IntoReturnVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,4 +32,28 @@ public class IntoReturnController{
     @Autowired
     private IntoReturnService intoReturnService;
 
+    /**
+     * @desc : 查询
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @ApiOperation(
+            value = "分页、关联、条件查询",
+            notes = "分页、关联、条件查询"
+    )
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<IntoReturnResponse>> selectByCond(@RequestBody IntoReturnQuery intoReturnQuery) {
+        return intoReturnService.selectByCond(intoReturnQuery);
+    }
+    /**
+     * @desc : 新建采购退货
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @ApiOperation(value = "新建", notes = "新建")
+    @PostMapping({"insert"})
+    public ResponseResultVO<?> insert(@RequestBody IntoReturnVO intoReturnVO) {
+        return intoReturnService.insert(intoReturnVO);
+    }
+
 }

+ 22 - 0
src/main/java/com/dk/mdm/controller/mst/RoleController.java

@@ -93,4 +93,26 @@ public class RoleController{
     public ResponseResultVO<Boolean> enable(@PathVariable String id) {
         return this.getService().enable(id);
     }
+
+    /**
+     * @desc   : 新建角色
+     * @author : 常皓宁
+     * @date   : 2024/3/7 8:37
+     */
+    @ApiOperation( value = "新建角色(权限)", notes = "新建角色权限" )
+    @PostMapping({"insert_web"})
+    public ResponseResultVO<?> insertWeb(@RequestBody RoleVo roleVO) {
+        return roleService.insert(roleVO);
+    }
+
+    /**
+     * @desc   : 编辑角色
+     * @author : 常皓宁
+     * @date   : 2024/3/7 8:37
+     */
+    @ApiOperation( value = "新建角色(权限)", notes = "新建角色权限" )
+        @PostMapping({"update_web"})
+    public ResponseResultVO<?> updateWeb(@RequestBody RoleVo roleVO) {
+        return roleService.update(roleVO);
+    }
 }

+ 25 - 14
src/main/java/com/dk/mdm/controller/sale/OrderController.java

@@ -43,9 +43,9 @@ public class OrderController {
      * @author : 付斌
      * @date   : 2024-02-28 13:24
      */
-    @PostMapping({"select_order_item_by_id/{id}"})
-    public ResponseResultVO<Map<String, Object>> selectOrderItemById(@PathVariable String id) {
-        return orderService.selectOrderItemById(id);
+    @PostMapping({"select_order_info_by_id/{id}"})
+    public ResponseResultVO<Map<String, Object>> selectOrderInfoById(@PathVariable String id) {
+        return orderService.selectOrderInfoById(id);
     }
 
     /**
@@ -71,17 +71,6 @@ public class OrderController {
     }
 
     /**
-     * @desc   : 获取订单信息(编辑用)
-     * @author : 付斌
-     * @date   : 2024-03-03 9:28
-     */
-    @ApiOperation(value = "获取订单信息(编辑用)", notes = "获取订单信息(编辑用)")
-    @PostMapping({"get_order_for_update/{id}"})
-    public ResponseResultVO<?> getOrderForUpdate(@PathVariable String id) {
-        return orderService.getOrderForUpdate(id);
-    }
-
-    /**
      * @desc : 编辑订单
      * @author : 付斌
      * @date : 2023/1/9 10:49
@@ -93,6 +82,17 @@ public class OrderController {
     }
 
     /**
+     * @desc   : 获取订单信息(编辑用)
+     * @author : 付斌
+     * @date   : 2024-03-03 9:28
+     */
+    @ApiOperation(value = "获取订单信息(编辑用)", notes = "获取订单信息(编辑用)")
+    @PostMapping({"get_order_for_update/{id}"})
+    public ResponseResultVO<?> getOrderForUpdate(@PathVariable String id) {
+        return orderService.getOrderForUpdate(id);
+    }
+
+    /**
      * @desc   : 获取订单信息(出库用)
      * @author : 付斌
      * @date   : 2024-03-06 12:58
@@ -102,4 +102,15 @@ public class OrderController {
     public ResponseResultVO<?> getOrderForOut(@PathVariable String id) {
         return orderService.getOrderForOut(id);
     }
+
+    /**
+     * @desc   : 获取订单信息(退货用)
+     * @author : 付斌
+     * @date   : 2024-03-06 12:58
+     */
+    @ApiOperation(value = "获取订单信息(退货用)", notes = "获取订单信息(退货用)")
+    @PostMapping({"get_order_for_return/{id}"})
+    public ResponseResultVO<?> getOrderForReturn(@PathVariable String id) {
+        return orderService.getOrderForReturn(id);
+    }
 }

+ 27 - 0
src/main/java/com/dk/mdm/controller/sale/OutReturnController.java

@@ -1,7 +1,12 @@
 package com.dk.mdm.controller.sale;
 
+import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.model.pojo.sale.OutReturn;
 import com.dk.common.service.BaseService;
+import com.dk.mdm.model.vo.sale.OutReturnVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
@@ -20,4 +25,26 @@ public class OutReturnController{
     @Autowired
     private OutReturnService outReturnService;
 
+    /**
+     * @desc : 新建退货
+     * @author : 付斌
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建退货", notes = "新建退货")
+    @PostMapping({"insert"})
+    public ResponseResultVO<?> insert(@RequestBody OutReturnVO outReturnVO) {
+        return outReturnService.insert(outReturnVO);
+    }
+
+    /**
+     * @desc : 编辑退货
+     * @author : 付斌
+     * @date : 2023/1/9 10:49
+     */
+    @ApiOperation(value = "编辑退货", notes = "编辑退货")
+    @PostMapping({"update"})
+    public ResponseResultVO<Boolean> update(@RequestBody OutReturnVO outReturnVO) {
+        return outReturnService.update(outReturnVO);
+    }
+
 }

+ 7 - 8
src/main/java/com/dk/mdm/generator/Generator.java

@@ -79,11 +79,11 @@ public class Generator {
         PackageConfig pc = new PackageConfig();
 //        pc.setModuleName("task");                  //模块包名
         pc.setParent("com.dk.mdm");        //父包路径
-        pc.setEntity("model.pojo.mst");                     //实体层路径
-        pc.setMapper("mapper.mst");                 //mapper层路径
-        pc.setXml("mapper.mst");                       //xml层路径
-        pc.setServiceImpl("service.mst");                   //业务层路径
-        pc.setController("controller.mst");             //控制层路径
+        pc.setEntity("model.pojo.ivt");                     //实体层路径
+        pc.setMapper("mapper.ivt");                 //mapper层路径
+        pc.setXml("mapper.ivt");                       //xml层路径
+        pc.setServiceImpl("service.ivt");                   //业务层路径
+        pc.setController("controller.ivt");             //控制层路径
         //app相关路径
 //        pc.setEntity("model.app.pojo.pset");                     //实体层路径
 //        pc.setMapper("mapper.app.pset");                 //mapper层路径
@@ -94,9 +94,8 @@ public class Generator {
 
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setTablePrefix("t_mst");                                             //表名前缀
-        strategy.setInclude("t_mst_setting_value");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
-//        strategy.setInclude("t_mst_setting_value");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
+        strategy.setTablePrefix("t_psi");                                             //表名前缀
+        strategy.setInclude("t_psi_outbound_item");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
         strategy.setNaming(NamingStrategy.underline_to_camel);                      //转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);                //字段下划线转驼峰
         strategy.setEntityLombokModel(true);                                        //是否使用lombok开启注解

+ 3 - 0
src/main/java/com/dk/mdm/infrastructure/convert/ivt/IntoReturnItemConvert.java

@@ -5,8 +5,11 @@ import com.dk.mdm.model.vo.ivt.IntoReturnItemVO;
 
 import org.mapstruct.Mapper;
 
+import java.util.List;
+
 @Mapper(componentModel = "spring")
 public interface IntoReturnItemConvert {
 
     IntoReturnItem convertToPo(IntoReturnItemVO intoReturnVO);
+    List<IntoReturnItem> convertToPoList(List<IntoReturnItemVO> intoReturnVO);
 }

+ 2 - 2
src/main/java/com/dk/mdm/infrastructure/convert/sale/OrderItemConvert.java

@@ -5,7 +5,7 @@ import com.dk.mdm.model.vo.sale.OrderItemVO;
 import org.mapstruct.Mapper;
 
 /**
- * @desc   : Order转换类
+ * @desc   : OrderItem转换类
  * @author : 付斌
  * @date   : 2024-02-28 10:18
  */
@@ -17,6 +17,6 @@ public interface OrderItemConvert {
      * @author : 付斌
      * @date   : 2024-02-28 15:25
      */
-    OrderItem convertToPo(OrderItemVO orderVO);
+    OrderItem convertToPo(OrderItemVO orderItemVO);
 
 }

+ 22 - 0
src/main/java/com/dk/mdm/infrastructure/convert/sale/OutReturnConvert.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.infrastructure.convert.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturn;
+import com.dk.mdm.model.vo.sale.OutReturnVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : OutReturn转换类
+ * @author : 付斌
+ * @date   : 2024-02-28 10:18
+ */
+@Mapper(componentModel = "spring")
+public interface OutReturnConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : 付斌
+     * @date   : 2024-02-28 15:26
+     */
+    OutReturn convertToPo(OutReturnVO outReturnVO);
+
+}

+ 22 - 0
src/main/java/com/dk/mdm/infrastructure/convert/sale/OutReturnItemConvert.java

@@ -0,0 +1,22 @@
+package com.dk.mdm.infrastructure.convert.sale;
+
+import com.dk.mdm.model.pojo.sale.OutReturnItem;
+import com.dk.mdm.model.vo.sale.OutReturnItemVO;
+import org.mapstruct.Mapper;
+
+/**
+ * @desc   : OutReturnItem转换类
+ * @author : 付斌
+ * @date   : 2024-02-28 10:18
+ */
+@Mapper(componentModel = "spring")
+public interface OutReturnItemConvert {
+
+    /**
+     * @desc   : 转换vo为pojo
+     * @author : 付斌
+     * @date   : 2024-02-28 15:25
+     */
+    OutReturnItem convertToPo(OutReturnItemVO outReturnItemVO);
+
+}

+ 16 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.java

@@ -1081,4 +1081,20 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
      * @date   : 2024/3/6 10:45
      */
     List<Map<String, Object>> getServiceCategories(Map param);
+
+
+    /**
+     * @desc : 获取账户类别
+     * @author : 王英杰
+     * @date : 2024/3/1 9:21
+     */
+    List<Map<String, Object>> getDictionaryDataByPage(Map param);
+
+    /**
+     * @desc : 获取账户类别个数
+     * @author : 洪旭东
+     * @date : 2024/3/1 9:21
+     */
+    Long countDictionaryDataByPage(Map param);
+
 }

+ 40 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -3271,5 +3271,45 @@
           and tdk.kind_type = '服务类别'
         order by tdk.display_no
     </select>
+    <select id="getDictionaryDataByPage" resultType="java.util.Map">
+        SELECT
+        data_id AS dataId,
+        dict_code AS dictCode,
+        data_code AS dataCode,
+        data_value AS dataValue
+        FROM dkic_b.t_mst_dictionary_data
+        <where>
+              dict_code = '账户类别'
+            <if test="searchText !=null">
+                AND ( mac_name LIKE concat('%', #{searchText}, '%')
+                or  remarks LIKE concat('%', #{searchText}, '%'))
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+
+        </where>
+        order by CASE WHEN flg_default = true THEN 0 ELSE 1 END, display_no
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+
+
+    </select>
+    <select id="countDictionaryDataByPage" resultType="java.lang.Long">
+        SELECT
+        count(1)
+        FROM  dkic_b.t_mst_dictionary_data
+        <where>
+            <if test="searchText !=null">
+                AND ( mac_name LIKE concat('%', #{searchText}, '%')
+                or  remarks LIKE concat('%', #{searchText}, '%'))
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+        </where>
+
+    </select>
 
 </mapper>

+ 2 - 0
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.java

@@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository;
 */
 @Repository
 public interface InboundItemMapper extends BaseMapper<InboundItem>{
+
+    int  updateAmount(InboundItem inboundItem);
 	
 }
 

+ 13 - 0
src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml

@@ -252,4 +252,17 @@
             )
         </foreach>
     </insert>
+
+    <update id="updateAmount" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
+        update dkic_b.t_psi_inbound_item
+        <set>
+            <if test="returnQty!= null">
+                return_qty= #{returnQty},
+            </if>
+            <if test="returnAmt!= null">
+                return_amt = #{returnAmt},
+            </if>
+        </set>
+        where item_id = #{itemId}::uuid
+    </update>
 </mapper>

+ 4 - 1
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.java

@@ -2,6 +2,7 @@ package com.dk.mdm.mapper.ivt;
 
 import com.dk.mdm.model.pojo.ivt.Inbound;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.query.ivt.InboundQuery;
 import com.dk.mdm.model.response.mst.DictionaryDataResponse;
 import org.springframework.stereotype.Repository;
@@ -29,6 +30,8 @@ public interface InboundMapper extends BaseMapper<Inbound>{
      * @date : 2024/2/26 10:36
      */
     Long selectInboundAndItemCountByCond(InboundQuery inboundQuery);
-	
+
+
+    int  updateAmount(Inbound inbound);
 }
 

+ 15 - 3
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -10,7 +10,7 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.ivt.InboundResponse">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.Inbound">
         <id column="into_id" property="intoId"/>
         <result column="into_no" property="intoNo"/>
         <result column="into_type" property="intoType"/>
@@ -427,9 +427,7 @@
         tpii.from_item_id AS list_from_item_id,
         tpii.item_index AS list_item_index,
         tpii.sku_id AS list_sku_id,
-        tpii.item_qty AS list_item_qty,
         tpii.price_into AS list_price_into,
-        tpii.item_amt AS list_item_amt,
         tpii.non_std_code AS list_non_std_code,
         tpii.into_status AS list_into_status,
         tpii.intoing_qty AS list_intoing_qty,
@@ -477,4 +475,18 @@
         FROM dkic_b.t_psi_inbound tpi
         <include refid="Condition_Join"/>
     </select>
+
+
+    <update id="updateAmount" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
+        update dkic_b.t_psi_inbound
+        <set>
+            <if test="returnQty!= null">
+                return_qty= #{returnQty},
+            </if>
+            <if test="returnAmt!= null">
+                return_amt = #{returnAmt},
+            </if>
+        </set>
+        where into_id = #{intoId}::uuid
+    </update>
 </mapper>

+ 19 - 1
src/main/java/com/dk/mdm/mapper/ivt/IntoReturnMapper.java

@@ -2,13 +2,31 @@ package com.dk.mdm.mapper.ivt;
 
 import com.dk.mdm.model.pojo.ivt.IntoReturn;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.ivt.IntoReturnQuery;
+import com.dk.mdm.model.query.pur.PurchaseQuery;
+import com.dk.mdm.model.response.ivt.IntoReturnResponse;
+import com.dk.mdm.model.response.pur.PurchaseResponse;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
 *  入库退货 Mapper
 */
 @Repository
 public interface IntoReturnMapper extends BaseMapper<IntoReturn>{
-	
+    /**
+     * @desc   : 查询
+     * @author : 于继渤
+     * @date   : 2024/2/28 9:48
+     */
+    List<IntoReturnResponse> selectByCond(IntoReturnQuery intoReturnQuery);
+
+    /**
+     * @desc   : 查询个数
+     * @author : 于继渤
+     * @date   : 2024/2/28 9:48
+     */
+    Long countByCond(IntoReturnQuery intoReturnQuery);
 }
 

+ 181 - 10
src/main/java/com/dk/mdm/mapper/ivt/IntoReturnMapper.xml

@@ -51,6 +51,64 @@
                 <result column="op_db_user" property="opDbUser"/>
     </resultMap>
 
+
+
+
+    <sql id="Base_Column_List_Response">
+        tpir.return_id, tpir.return_no, tpir.return_type, tpir.into_id, tpir.pur_id, tpir.into_no, tpir.pur_no, tpir.org_id,
+        tpir.staff_id, tpir.sup_id, tpir.contact_name, tpir.contact_phone, tpir.delivery_date, tpir.sum_quantity,
+        tpir.sum_standard, tpir.sum_amount, tpir.sale_discount, tpir.return_status, tpir.out_status,
+        tpir.outing_qty, tpir.outing_amt, tpir.out_qty, tpir.out_amt, tpir.amt_payable, tpir.amt_handle, tpir.amt_residue,
+        tpir.remarks, tpir.annex_paths, tpir.make_staff, tpir.make_time, tpir.flg_valid, tpir.cp_id
+    </sql>
+
+
+    <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.ivt.IntoReturnResponse">
+        <id column="return_id" property="returnId"/>
+        <result column="return_no" property="returnNo"/>
+        <result column="return_type" property="returnType"/>
+        <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
+        <result column="pur_id" property="purId" typeHandler="UuidTypeHandler"/>
+        <result column="into_no" property="intoNo"/>
+        <result column="pur_no" property="purNo"/>
+        <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+        <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+        <result column="sup_id" property="supId" typeHandler="UuidTypeHandler"/>
+        <result column="contact_name" property="contactName"/>
+        <result column="contact_phone" property="contactPhone"/>
+        <result column="delivery_date" property="deliveryDate" typeHandler="TimestampTypeHandler"/>
+        <result column="sum_quantity" property="sumQuantity"/>
+        <result column="sum_standard" property="sumStandard"/>
+        <result column="sum_amount" property="sumAmount"/>
+        <result column="sale_discount" property="saleDiscount"/>
+        <result column="return_status" property="returnStatus"/>
+        <result column="out_status" property="outStatus"/>
+        <result column="outing_qty" property="outingQty"/>
+        <result column="outing_amt" property="outingAmt"/>
+        <result column="out_qty" property="outQty"/>
+        <result column="out_amt" property="outAmt"/>
+        <result column="amt_payable" property="amtPayable"/>
+        <result column="amt_handle" property="amtHandle"/>
+        <result column="amt_residue" property="amtResidue"/>
+        <result column="remarks" property="remarks"/>
+        <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
+        <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+        <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+
+        <result column="sup_name" property="supName"/>
+        <result column="sup_code" property="supCode"/>
+
+        <result column="staff_name" property="staffName"/>
+        <result column="staff_code" property="staffCode"/>
+
+        <result column="org_name" property="orgName"/>
+        <result column="org_code" property="orgCode"/>
+
+    </resultMap>
+
+
     <!-- 通用条件列 -->
     <sql id="Condition">
         <where>
@@ -171,6 +229,105 @@
         </where>
     </sql>
 
+    <sql id="Condition_Response">
+        <where>
+            <if test="returnNo != null and returnNo != ''">
+                AND tpir.return_no = #{returnNo}
+            </if>
+            <if test="returnType != null and returnType != ''">
+                AND tpir.return_type = #{returnType}
+            </if>
+            <if test="intoId != null and intoId != ''">
+                AND tpir.into_id = #{intoId}
+            </if>
+            <if test="purId != null and purId != ''">
+                AND tpir.pur_id = #{purId}
+            </if>
+            <if test="intoNo != null and intoNo != ''">
+                AND tpir.into_no = #{intoNo}
+            </if>
+            <if test="purNo != null and purNo != ''">
+                AND tpir.pur_no = #{purNo}
+            </if>
+            <if test="orgId != null and orgId != ''">
+                AND tpir.org_id = #{orgId}
+            </if>
+            <if test="staffId != null and staffId != ''">
+                AND tpir.staff_id = #{staffId}
+            </if>
+            <if test="supId != null and supId != ''">
+                AND tpir.sup_id = #{supId}
+            </if>
+            <if test="contactName != null and contactName != ''">
+                AND tpir.contact_name = #{contactName}
+            </if>
+            <if test="contactPhone != null and contactPhone != ''">
+                AND tpir.contact_phone = #{contactPhone}
+            </if>
+            <if test="deliveryDate != null">
+                AND tpir.delivery_date = #{deliveryDate}
+            </if>
+            <if test="sumQuantity != null">
+                AND tpir.sum_quantity = #{sumQuantity}
+            </if>
+            <if test="sumStandard != null">
+                AND tpir.sum_standard = #{sumStandard}
+            </if>
+            <if test="sumAmount != null">
+                AND tpir.sum_amount = #{sumAmount}
+            </if>
+            <if test="saleDiscount != null">
+                AND tpir.sale_discount = #{saleDiscount}
+            </if>
+            <if test="returnStatus != null and returnStatus != ''">
+                AND tpir.return_status = #{returnStatus}
+            </if>
+            <if test="outStatus != null and outStatus != ''">
+                AND tpir.out_status = #{outStatus}
+            </if>
+            <if test="outingQty != null">
+                AND tpir.outing_qty = #{outingQty}
+            </if>
+            <if test="outingAmt != null">
+                AND tpir.outing_amt = #{outingAmt}
+            </if>
+            <if test="outQty != null">
+                AND tpir.out_qty = #{outQty}
+            </if>
+            <if test="outAmt != null">
+                AND tpir.out_amt = #{outAmt}
+            </if>
+            <if test="amtPayable != null">
+                AND tpir.amt_payable = #{amtPayable}
+            </if>
+            <if test="amtHandle != null">
+                AND tpir.amt_handle = #{amtHandle}
+            </if>
+            <if test="amtResidue != null">
+                AND tpir.amt_residue = #{amtResidue}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND tpir.remarks = #{remarks}
+            </if>
+            <if test="annexPaths != null and annexPaths != ''">
+                AND tpir.annex_paths = #{annexPaths}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND tpir.make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND tpir.make_time = #{makeTime}
+            </if>
+            <if test="flgValid != null">
+                AND tpir.flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND tpir.cp_id = #{cpId}
+            </if>
+
+        </where>
+    </sql>
+
     <sql id="idsForeach">
         <!-- 根据主键returnId批量操作 -->
         WHERE return_id in
@@ -179,12 +336,26 @@
         </foreach>
     </sql>
 
+    <sql id="Base_Column_List_Join">
+
+        tms.sup_name AS sup_name,
+        tms.sup_code AS sup_code,
+        tmsf.staff_name AS staff_name,
+        tmsf.staff_code AS staff_code,
+        tmo.org_name AS org_name,
+        tmo.org_code AS org_code
+    </sql>
+
     <!-- 查询表t_psi_into_return,(条件查询+分页)列表 -->
-    <select id="selectByCond" resultMap="BaseResultMap">
+    <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM t_psi_into_return
-        <include refid="Condition"/>
+        <include refid="Base_Column_List_Response"/>,
+        <include refid="Base_Column_List_Join"/>
+        FROM dkic_b.t_psi_into_return  tpir
+        left join  dkic_b.t_mst_supplier tms  on  tms.sup_id = tpir.sup_id
+        left join  dkic_b.t_mst_staff tmsf  on  tmsf.staff_id = tpir.staff_id
+        left join  dkic_b.t_mst_org tmo  on  tmo.org_id = tpir.org_id
+        <include refid="Condition_Response"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>
@@ -194,15 +365,15 @@
     <select id="countByCond" resultType="Long">
         SELECT
         count(1)
-        FROM t_psi_into_return
-        <include refid="Condition"/>
+        FROM dkic_b.t_psi_into_return tpir
+        <include refid="Condition_Response"/>
     </select>
 
     <!-- 根据主键查询表t_psi_into_return的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_into_return
+        FROM dkic_b.t_psi_into_return
         WHERE return_id = #{returnId}::uuid
     </select>
 
@@ -210,7 +381,7 @@
     <select id="selectByIdForUpdate" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_into_return
+        FROM dkic_b.t_psi_into_return
         WHERE return_id = #{returnId}
         for update
     </select>
@@ -219,13 +390,13 @@
     <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_into_return
+        FROM dkic_b.t_psi_into_return
         <include refid="idsForeach"/>
         for update
     </select>
 
     <insert id="insertBatch">
-        insert into t_psi_into_return
+        insert into dkic_b.t_psi_into_return
         (
         <trim suffixOverrides=",">
             return_no,

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/DictionaryDataMapper.java

@@ -29,12 +29,7 @@ public interface DictionaryDataMapper extends BaseMapper<DictionaryData>{
      * @date : 2024/2/26 10:36
      */
     Long countByCond(DictionaryDataQuery dictionaryDataQuery);
-    /**
-     * @desc   : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(DictionaryDataQuery dictionaryDataQuery);
+
     /**
      * @desc : 批量编辑序号
      * @author : 于继渤

+ 1 - 4
src/main/java/com/dk/mdm/mapper/mst/DictionaryDataMapper.xml

@@ -191,10 +191,7 @@
     </insert>
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_dictionary_data
-        <include refid="Condition"/>
-    </select>
+
 
     <update id="updateBatchDictionaryDataDisplayNo">
         <foreach collection="list" index="index" item="item" separator=";">

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/GoodsBrandMapper.java

@@ -28,12 +28,7 @@ public interface GoodsBrandMapper extends BaseMapper<GoodsBrand>{
      * @date : 2024/2/26 10:36
      */
     Long countByCond(GoodsBrandQuery goodsBrandQuery);
-    /**
-     * @desc   : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(GoodsBrandQuery goodsBrandQuery);
+
     Integer saveSupplierBrand(String supId,String brandId);
 }
 

+ 0 - 6
src/main/java/com/dk/mdm/mapper/mst/GoodsBrandMapper.xml

@@ -176,12 +176,6 @@
 
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_goods_brand
-        <include refid="Condition"/>
-    </select>
-
-
     <insert id="saveSupplierBrand">
         insert into dkic_b.t_mst_supplier_brand
             (sup_id, brand_id)

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/GoodsCategoryMapper.java

@@ -32,12 +32,7 @@ public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> {
     Long countByCond(GoodsCategoryQuery goodsCategoryQuery);
 
 
-    /**
-     * @desc : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(GoodsCategoryQuery goodsCategoryQuery);
+
 
 
     /**

+ 1 - 4
src/main/java/com/dk/mdm/mapper/mst/GoodsCategoryMapper.xml

@@ -215,10 +215,7 @@
     </insert>
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1 FROM dkic_b.t_mst_goods_category
-        <include refid="Condition"/>
-    </select>
+
 
 
     <select id="resetLevelGoodsCategory" resultType="java.lang.Boolean">

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/GoodsSeriesMapper.java

@@ -35,12 +35,7 @@ public interface GoodsSeriesMapper extends BaseMapper<GoodsSeries>{
      * @date : 2024/2/26 10:36
      */
     Long countByCond(GoodsSeriesQuery goodsSeriesQuery);
-    /**
-     * @desc   : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(GoodsSeriesQuery goodsSeriesQuery);
+
 
 }
 

+ 0 - 4
src/main/java/com/dk/mdm/mapper/mst/GoodsSeriesMapper.xml

@@ -166,10 +166,6 @@
 
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1 FROM dkic_b.t_mst_goods_series
-        <include refid="Condition"/>
-    </select>
 
 
 </mapper>

+ 8 - 4
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml

@@ -7,7 +7,9 @@
     <sql id="Base_Column_List">
         mac_id, mac_code, mac_name, mac_type, balance, display_no, flg_default, mac_receipt_code, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
     </sql>
-
+    <sql id="Base_Column_List_">
+        tmma.mac_id, tmma.mac_code, tmma.mac_name, tmma.mac_type, tmma.balance, tmma.display_no, tmma.flg_default, tmma.mac_receipt_code, tmma.remarks, tmma.flg_valid, tmma.cp_id, tmma.op_create_time, tmma.op_create_user_id, tmma.op_update_time, tmma.op_update_user_id, tmma.op_app_code, tmma.op_timestamp, tmma.op_db_user
+    </sql>
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.mst.MoneyAccountResponse">
         <id column="mac_id" property="macId"/>
@@ -158,9 +160,11 @@
     <!-- 根据主键查询表t_mst_money_account的一行数据 -->
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM dkic_b.t_mst_money_account
-        WHERE mac_id = #{macId}::uuid
+        <include refid="Base_Column_List_"/>
+        ,tmdd.data_value AS "macTypeName"
+        FROM dkic_b.t_mst_money_account tmma
+        left join dkic_b.t_mst_dictionary_data tmdd on tmma.mac_type=tmdd.data_id
+        WHERE tmma.mac_id = #{macId}::uuid
     </select>
 
     <select id="selectDisplayNo" resultType="Integer">

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/RoleMapper.java

@@ -29,12 +29,7 @@ public interface RoleMapper extends BaseMapper<Role>{
     Long countByCond(RoleQuery roleQuery);
 
 
-    /**
-     * @desc   : 查询序号(数量)
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(RoleQuery roleQuery);
+
 
 }
 

+ 2 - 5
src/main/java/com/dk/mdm/mapper/mst/RoleMapper.xml

@@ -52,7 +52,7 @@
     <sql id="Condition">
         <where>
             <if test="roleName != null and roleName != ''">
-                AND role_name = #{roleName}
+                AND role_name like concat('%', my_ex.likequery(#{roleName}) , '%')
             </if>
             <if test="roleCode != null and roleCode != ''">
                 AND role_code = #{roleCode}
@@ -139,10 +139,7 @@
         <include refid="Condition"/>
     </select>
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_role
-        <include refid="Condition"/>
-    </select>
+
 
 
 

+ 0 - 6
src/main/java/com/dk/mdm/mapper/mst/SaleChannelMapper.java

@@ -29,12 +29,6 @@ public interface SaleChannelMapper extends BaseMapper<SaleChannel> {
     Long countByCond(SaleChannelQuery saleChannelQuery);
 
 
-    /**
-     * @desc : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(SaleChannelQuery saleChannelQuery);
 
     /**
      * @desc : 批量编辑序号

+ 1 - 4
src/main/java/com/dk/mdm/mapper/mst/SaleChannelMapper.xml

@@ -173,10 +173,7 @@
         </foreach>
     </insert>
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_sale_channel
-        <include refid="Condition"/>
-    </select>
+
 
 
     <update id="updateBatchSaleChannelDisplayNo">

+ 7 - 3
src/main/java/com/dk/mdm/mapper/mst/SupplierMapper.xml

@@ -14,7 +14,7 @@
         msl.remarks, msl.flg_valid, msl.cp_id,
         msl.op_create_time, msl.op_create_user_id, msl.op_update_time,
         msl.op_update_user_id, msl.op_app_code, msl.op_timestamp,
-        msl.op_db_user
+        msl.op_db_user, msl.return_address
     </sql>
 
     <!-- 通用查询映射结果 -->
@@ -31,6 +31,7 @@
                 <result column="remarks" property="remarks"/>
                 <result column="flg_valid" property="flgValid"/>
                 <result column="cp_id" property="cpId"/>
+        <result column="return_address" property="returnAddress"/>
         <result column="staff_name" property="staffName"/>
         <result column="org_name" property="orgName"/>
                 <result column="sum_residue" property="sumResidue"/>
@@ -50,7 +51,7 @@
                 AND sup_code = #{supCode}
             </if>
             <if test="supName != null and supName != ''">
-                AND sup_name = #{supName}
+                AND sup_name  LIKE concat('%',my_ex.likequery(#{supName}),'%')
             </if>
             <if test="supType != null and supType != ''">
                 AND sup_type = #{supType}
@@ -108,7 +109,7 @@
                 AND msl.sup_code = #{supCode}
             </if>
             <if test="supName != null and supName != ''">
-                AND msl.sup_name = #{supName}
+                AND msl.sup_name  LIKE concat('%', #{supName}, '%')
             </if>
             <if test="supType != null and supType != ''">
                 AND msl.sup_type = #{supType}
@@ -158,6 +159,9 @@
             <if test="opDbUser != null and opDbUser != ''">
                 AND msl.op_db_user = #{opDbUser}
             </if>
+            <if test="flgValidList != null and flgValidList.size>0">
+                AND msl.flg_valid  =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
+            </if>
             <if test="searchText !=null">
                 AND ( msl.sup_name LIKE concat('%', #{searchText}, '%')
                 or msl.contact_name LIKE concat('%', #{searchText}, '%')

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/UnitMapper.java

@@ -27,12 +27,7 @@ public interface UnitMapper extends BaseMapper<Unit>{
      * @date : 2024/2/26 10:36
      */
     Long countByCond(UnitQuery UnitQuery);
-    /**
-     * @desc   : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(UnitQuery UnitQuery);
+
 
 }
 

+ 0 - 4
src/main/java/com/dk/mdm/mapper/mst/UnitMapper.xml

@@ -163,9 +163,5 @@
 
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1 FROM dkic_b.t_mst_unit
-        <include refid="Condition"/>
-    </select>
 
 </mapper>

+ 1 - 6
src/main/java/com/dk/mdm/mapper/mst/WarehouseMapper.java

@@ -32,12 +32,7 @@ public interface WarehouseMapper extends BaseMapper<Warehouse>{
     Long countByCond(WarehouseQuery warehouseQuery);
 
 
-    /**
-     * @desc   : 查询排序
-     * @author : 于继渤
-     * @date : 2024/2/26 10:36
-     */
-    Integer selectDisplayNo(WarehouseQuery warehouseQuery);
+
     /**
      * @desc : 批量编辑序号
      * @author : 于继渤

+ 1 - 4
src/main/java/com/dk/mdm/mapper/mst/WarehouseMapper.xml

@@ -198,8 +198,5 @@
     </update>
 
 
-    <select id="selectDisplayNo" resultType="Integer">
-        SELECT MAX(display_no) + 1  FROM dkic_b.t_mst_warehouse
-        <include refid="Condition"/>
-    </select>
+
 </mapper>

+ 5 - 1
src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.java

@@ -1,5 +1,6 @@
 package com.dk.mdm.mapper.pur;
 
+import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.pojo.pur.PurchaseItem;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.query.pur.PurchaseItemQuery;
@@ -29,6 +30,9 @@ public interface PurchaseItemMapper extends BaseMapper<PurchaseItem>{
     Long countByCond(PurchaseItemQuery purchaseItemQuery);
 
     int deleteById(@Param("id") String id);
-	
+    PurchaseItemResponse selectById(@Param("itemId") String id);
+
+    int  updateAmount(PurchaseItem purchaseItem);
+
 }
 

+ 15 - 1
src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.xml

@@ -289,7 +289,7 @@
         SELECT
         <include refid="Base_Column_List"/>
         FROM dkic_b.t_psi_purchase_item
-        WHERE item_id = #{itemId}
+        WHERE item_id = #{itemId}::uuid
         for update
     </select>
 
@@ -306,4 +306,18 @@
         DELETE FROM dkic_b.t_psi_purchase_item
         WHERE item_id = #{id}::UUID;
     </delete>
+
+
+    <update id="updateAmount" parameterType="com.dk.mdm.model.pojo.pur.PurchaseItem">
+        update dkic_b.t_psi_purchase_item
+        <set>
+            <if test="returnQty!= null">
+                return_qty= #{returnQty},
+            </if>
+            <if test="returnAmt!= null">
+                return_amt = #{returnAmt},
+            </if>
+        </set>
+        where item_id = #{itemId}::uuid
+    </update>
 </mapper>

+ 7 - 0
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.java

@@ -41,5 +41,12 @@ public interface OrderItemMapper extends BaseMapper<OrderItem>{
      * @date   : 2024-03-06 12:59
      */
     List<OrderItemResponse> selectByCondForOut(OrderItemQuery orderQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(退货用)
+     * @author : 付斌
+     * @date   : 2024-03-06 12:59
+     */
+    List<OrderItemResponse> selectByCondForReturn(OrderItemQuery orderQuery);
 }
 

+ 32 - 1
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml

@@ -302,7 +302,38 @@
                            on tpi.sku_id = tpoi.sku_id and tpi.non_std_code = tpoi.non_std_code and
                               tpi.cp_id = tpoi.cp_id
                  left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id
-        where tpoi.order_id = #{orderId}::uuid
+        where tpoi.flg_valid
+          and tpoi.item_qty > tpoi.outing_qty
+          and tpoi.order_id = #{orderId}::uuid
+        order by tpoi.item_index
+    </select>
+
+    <!-- 根据条件进行查询(出库用) -->
+    <select id="selectByCondForReturn" resultMap="BaseResultMapResponse">
+        SELECT tpobi.out_id                                         as "outId",
+               tpobi.item_id                                        as "outItemId",
+               tpoi.order_id                                        as order_id,
+               tpoi.item_id                                         as "orderItemId",
+               tpoi.sku_id,
+               tmgs.sku_code                                        as "skuCode",
+               tmgs.sku_model                                       as "skuModel",
+               tmgs.sku_name                                        as "skuName",
+               tpobi.out_qty                                        as out_qty,
+               tpobi.out_qty - tpobi.return_qty                     as "canReturnQty",
+               tpobi.out_qty - tpobi.return_qty                     as item_qty,
+               tpoi.price_std,
+               tpoi.price_std * (tpobi.out_qty - tpobi.return_qty)  as amt_std,
+               tpoi.price_sale                                      as "priceReturn",
+               tpoi.price_sale * (tpobi.out_qty - tpobi.return_qty) as item_amt,
+               tpoi.non_std_code,
+               tpobi.remarks
+        FROM dkic_b.t_psi_outbound_item as tpobi
+                 inner join dkic_b.t_psi_order_item as tpoi on tpoi.item_id = tpobi.from_item_id
+                 inner join dkic_b.t_mst_goods_sku tmgs on tpoi.sku_id = tmgs.sku_id
+        where tpobi.flg_valid
+          and tpobi.out_type = '出库类型-销售出库'
+          and tpobi.out_qty > tpobi.return_qty
+          and tpoi.order_id = #{orderId}::uuid
         order by tpoi.item_index
     </select>
 </mapper>

+ 50 - 3
src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml

@@ -9,7 +9,54 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.sale.OrderResponse">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.sale.Order">
+        <id column="order_id" property="orderId"/>
+                <result column="order_no" property="orderNo"/>
+                <result column="order_type" property="orderType"/>
+                <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+                <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+                <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
+                <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
+                <result column="address_name" property="addressName"/>
+                <result column="address_no" property="addressNo"/>
+                <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
+                <result column="address_full" property="addressFull"/>
+                <result column="contact_name" property="contactName"/>
+                <result column="contact_phone" property="contactPhone"/>
+                <result column="sales_channel" property="salesChannel" typeHandler="UuidTypeHandler"/>
+            <result column="delivery_date" property="deliveryDate" typeHandler="TimestampTypeHandler"/>
+                <result column="sum_quantity" property="sumQuantity"/>
+                <result column="sum_standard" property="sumStandard"/>
+                <result column="sum_amount" property="sumAmount"/>
+                <result column="sale_discount" property="saleDiscount"/>
+                <result column="order_status" property="orderStatus"/>
+                <result column="out_status" property="outStatus"/>
+                <result column="outing_qty" property="outingQty"/>
+                <result column="outing_amt" property="outingAmt"/>
+                <result column="out_qty" property="outQty"/>
+                <result column="out_amt" property="outAmt"/>
+                <result column="return_qty" property="returnQty"/>
+                <result column="return_amt" property="returnAmt"/>
+                <result column="amt_receivable" property="amtReceivable"/>
+                <result column="amt_handle" property="amtHandle"/>
+                <result column="amt_residue" property="amtResidue"/>
+                <result column="remarks" property="remarks"/>
+                <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
+                <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+            <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.sale.OrderResponse">
         <id column="order_id" property="orderId"/>
                 <result column="order_no" property="orderNo"/>
                 <result column="order_type" property="orderType"/>
@@ -192,7 +239,7 @@
     </sql>
 
     <!-- 查询表t_psi_order,(条件查询+分页)列表 -->
-    <select id="selectByCond" resultMap="BaseResultMap">
+    <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT tpo.order_id,
                tpo.order_no,
                tpo.order_type,
@@ -265,7 +312,7 @@
     </select>
 
     <!-- 根据主键查询表t_psi_order的一行数据 -->
-    <select id="selectById" resultMap="BaseResultMap">
+    <select id="selectById" resultMap="BaseResultMapResponse">
         SELECT tpo.order_id,
                tpo.order_no,
                tpo.order_type,

+ 1 - 13
src/main/java/com/dk/mdm/mapper/sale/OutReturnMapper.xml

@@ -5,7 +5,7 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        return_id, return_no, return_type, out_id, order_id, out_no, order_no, org_id, staff_id, cus_id, address_area, address_name, address_no, address_gcj02, address_full, contact_name, contact_phone, sales_channel, pickup_date, sum_quantity, sum_standard, sum_amount, sale_discount, return_status, into_status, intoing_qty, intoing_amt, into_qty, into_amt, amt_receivable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+        return_id, return_no, return_type, order_id, order_no, org_id, staff_id, cus_id, address_area, address_name, address_no, address_gcj02, address_full, contact_name, contact_phone, sales_channel, pickup_date, sum_quantity, sum_standard, sum_amount, sale_discount, return_status, into_status, intoing_qty, intoing_amt, into_qty, into_amt, amt_receivable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
     </sql>
 
     <!-- 通用查询映射结果 -->
@@ -13,9 +13,7 @@
         <id column="return_id" property="returnId"/>
                 <result column="return_no" property="returnNo"/>
                 <result column="return_type" property="returnType"/>
-                <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
                 <result column="order_id" property="orderId" typeHandler="UuidTypeHandler"/>
-                <result column="out_no" property="outNo"/>
                 <result column="order_no" property="orderNo"/>
                 <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
                 <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
@@ -66,15 +64,9 @@
             <if test="returnType != null and returnType != ''">
                 AND return_type = #{returnType}
             </if>
-            <if test="outId != null and outId != ''">
-                AND out_id = #{outId}
-            </if>
             <if test="orderId != null and orderId != ''">
                 AND order_id = #{orderId}
             </if>
-            <if test="outNo != null and outNo != ''">
-                AND out_no = #{outNo}
-            </if>
             <if test="orderNo != null and orderNo != ''">
                 AND order_no = #{orderNo}
             </if>
@@ -254,9 +246,7 @@
         <trim suffixOverrides=",">
             return_no,
             return_type,
-            out_id,
             order_id,
-            out_no,
             order_no,
             org_id,
             staff_id,
@@ -297,9 +287,7 @@
             <trim suffixOverrides=",">
                 #{item.returnNo},
                 #{item.returnType},
-                #{item.outId}::uuid,
                 #{item.orderId}::uuid,
-                #{item.outNo},
                 #{item.orderNo},
                 #{item.orgId}::uuid,
                 #{item.staffId}::uuid,

+ 3 - 2
src/main/java/com/dk/mdm/model/pojo/ivt/IntoReturn.java

@@ -18,6 +18,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.alibaba.fastjson.JSONObject;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.List;
 import java.time.LocalDateTime;
 
@@ -144,9 +145,9 @@ public class IntoReturn extends PageInfo<IntoReturn> implements Serializable {
      */
     @Excel(name = "送货日期")
     @ApiModelProperty(value = "送货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime deliveryDate;
+    private LocalDate deliveryDate;
 
 
     /**

+ 4 - 0
src/main/java/com/dk/mdm/model/pojo/mst/Supplier.java

@@ -232,6 +232,10 @@ public class Supplier extends PageInfo<Supplier> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "供应品牌")
     private List<String> brandIds;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 3 - 19
src/main/java/com/dk/mdm/model/pojo/sale/OutReturn.java

@@ -18,6 +18,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.alibaba.fastjson.JSONObject;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.List;
 import java.time.LocalDateTime;
 
@@ -64,15 +65,6 @@ public class OutReturn extends PageInfo<OutReturn> implements Serializable {
 
 
     /**
-     * 出库单
-     */
-    @Excel(name = "出库单")
-    @ApiModelProperty(value = "出库单")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String outId;
-
-
-    /**
      * 销售订单
      */
     @Excel(name = "销售订单")
@@ -82,14 +74,6 @@ public class OutReturn extends PageInfo<OutReturn> implements Serializable {
 
 
     /**
-     * 出库单号
-     */
-    @Excel(name = "出库单号")
-    @ApiModelProperty(value = "出库单号")
-    private String outNo;
-
-
-    /**
      * 销售订单号
      */
     @Excel(name = "销售订单号")
@@ -196,9 +180,9 @@ public class OutReturn extends PageInfo<OutReturn> implements Serializable {
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 3 - 2
src/main/java/com/dk/mdm/model/query/ivt/IntoReturnQuery.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -145,9 +146,9 @@ public class IntoReturnQuery extends PageInfo<IntoReturnQuery> implements Serial
      */
     @Excel(name = "送货日期")
     @ApiModelProperty(value = "送货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime deliveryDate;
+    private LocalDate deliveryDate;
 
 
     /**

+ 3 - 1
src/main/java/com/dk/mdm/model/query/mst/SupplierQuery.java

@@ -149,7 +149,9 @@ import java.time.LocalDateTime;
 
 
 
-
+        @TableField(exist = false)
+        @ApiModelProperty(value = "退货地址")
+        private String returnAddress;
 
 
 

+ 3 - 19
src/main/java/com/dk/mdm/model/query/sale/OutReturnQuery.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -65,15 +66,6 @@ public class OutReturnQuery extends PageInfo<OutReturnQuery> implements Serializ
 
 
     /**
-     * 出库单
-     */
-    @Excel(name = "出库单")
-    @ApiModelProperty(value = "出库单")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String outId;
-
-
-    /**
      * 销售订单
      */
     @Excel(name = "销售订单")
@@ -83,14 +75,6 @@ public class OutReturnQuery extends PageInfo<OutReturnQuery> implements Serializ
 
 
     /**
-     * 出库单号
-     */
-    @Excel(name = "出库单号")
-    @ApiModelProperty(value = "出库单号")
-    private String outNo;
-
-
-    /**
      * 销售订单号
      */
     @Excel(name = "销售订单号")
@@ -197,9 +181,9 @@ public class OutReturnQuery extends PageInfo<OutReturnQuery> implements Serializ
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 15 - 69
src/main/java/com/dk/mdm/model/response/ivt/IntoReturnResponse.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -144,9 +145,9 @@ public class IntoReturnResponse  implements Serializable {
      */
     @Excel(name = "送货日期")
     @ApiModelProperty(value = "送货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime deliveryDate;
+    private LocalDate deliveryDate;
 
 
     /**
@@ -304,80 +305,25 @@ public class IntoReturnResponse  implements Serializable {
     @ApiModelProperty(value = "企业ID")
     private Integer cpId;
 
+    @ApiModelProperty(value = "供应商名称")
+    private String supName;
 
-    /**
-     * 创建时间 (触发器自动处理)
-     */
-    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
-    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime opCreateTime;
-
-
-    /**
-     * 创建用户 (触发器自动处理)
-     */
-    @Excel(name = "创建用户 (触发器自动处理)")
-    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String opCreateUserId;
-
-
-    /**
-     * 修改时间 (触发器自动处理)
-     */
-    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
-    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime opUpdateTime;
-
-
-    /**
-     * 修改用户 (触发器自动处理)
-     */
-    @Excel(name = "修改用户 (触发器自动处理)")
-    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String opUpdateUserId;
+    @ApiModelProperty(value = "供应商编码")
+    private String supCode;
 
+    @ApiModelProperty(value = "员工名称")
+    private String staffName;
 
-    /**
-     * 数据操作应用 (触发器自动处理)
-     */
-    @Excel(name = "数据操作应用 (触发器自动处理)")
-    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
-    private String opAppCode;
-
-
-    /**
-     * 数据时间戳 (触发器自动处理)
-     */
-    @Excel(name = "数据时间戳 (触发器自动处理)")
-    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime opTimestamp;
-
+    @ApiModelProperty(value = "员工编码")
+    private String staffCode;
 
-    /**
-     * 数据操作数据库用户 (触发器自动处理)
-     */
-    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
-    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
-    private String opDbUser;
+    @ApiModelProperty(value = "部门名称")
+    private String orgName;
 
+    @ApiModelProperty(value = "部门编码")
+    private String orgCode;
 
-    /*
-     * 相关属性
-     * @TableField(exist = false)
-     */
 
-    /*
-     * 关联属性 + 查询条件
-     * @TableField(exist = false)
-     */
 
 
     private static final long serialVersionUID = 1L;

+ 3 - 1
src/main/java/com/dk/mdm/model/response/mst/SpplierResponse.java

@@ -262,7 +262,9 @@ public class SpplierResponse extends PageInfo<SpplierResponse> implements Serial
      * 关联属性 + 查询条件
      * @TableField(exist = false)
      */
-
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
 
     private static final long serialVersionUID = 1L;
 

+ 16 - 0
src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java

@@ -311,6 +311,22 @@ public class OrderItemResponse extends PageInfo<OrderItemResponse> implements Se
 
     @ApiModelProperty(value = "仓库名称")
     private String whName;
+
+    @ApiModelProperty(value = "出库ID")
+    private String outId;
+
+    @ApiModelProperty(value = "出库明细ID")
+    private String outItemId;
+
+    @ApiModelProperty(value = "订单明细ID")
+    private String orderItemId;
+
+    @ApiModelProperty(value = "可退货数量")
+    private BigDecimal canReturnQty;
+
+    @ApiModelProperty(value = "退货价")
+    private BigDecimal priceReturn;
+
     /*
      * 相关属性
      * @TableField(exist = false)

+ 3 - 19
src/main/java/com/dk/mdm/model/response/sale/OutReturnResponse.java

@@ -20,6 +20,7 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 /**
@@ -65,15 +66,6 @@ public class OutReturnResponse extends PageInfo<OutReturnResponse> implements Se
 
 
     /**
-     * 出库单
-     */
-    @Excel(name = "出库单")
-    @ApiModelProperty(value = "出库单")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String outId;
-
-
-    /**
      * 销售订单
      */
     @Excel(name = "销售订单")
@@ -83,14 +75,6 @@ public class OutReturnResponse extends PageInfo<OutReturnResponse> implements Se
 
 
     /**
-     * 出库单号
-     */
-    @Excel(name = "出库单号")
-    @ApiModelProperty(value = "出库单号")
-    private String outNo;
-
-
-    /**
      * 销售订单号
      */
     @Excel(name = "销售订单号")
@@ -197,9 +181,9 @@ public class OutReturnResponse extends PageInfo<OutReturnResponse> implements Se
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**

+ 2 - 2
src/main/java/com/dk/mdm/model/vo/ivt/IntoReturnItemVO.java

@@ -6,13 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
-import com.dk.common.model.pojo.PageInfo;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
@@ -88,6 +86,8 @@ public class IntoReturnItemVO  implements Serializable {
     @TableField(typeHandler = UuidTypeHandler.class)
     private String purItemId;
 
+    private String fromItemId;
+
 
     /**
      * 商品顺序

+ 6 - 13
src/main/java/com/dk/mdm/model/vo/ivt/IntoReturnVO.java

@@ -20,7 +20,9 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  *  入库退货
@@ -144,9 +146,9 @@ public class IntoReturnVO  implements Serializable {
      */
     @Excel(name = "送货日期")
     @ApiModelProperty(value = "送货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime deliveryDate;
+    private LocalDate deliveryDate;
 
 
     /**
@@ -368,17 +370,8 @@ public class IntoReturnVO  implements Serializable {
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
-
-    /*
-     * 相关属性
-     * @TableField(exist = false)
-     */
-
-    /*
-     * 关联属性 + 查询条件
-     * @TableField(exist = false)
-     */
-
+    @ApiModelProperty(value = "退货明细")
+    private List<IntoReturnItemVO> intoReturnItemVOList;
 
     private static final long serialVersionUID = 1L;
 

+ 4 - 0
src/main/java/com/dk/mdm/model/vo/mst/SupplierVo.java

@@ -152,6 +152,10 @@ public class SupplierVo extends PageInfo<SupplierVo> implements Serializable {
     @TableField(exist = false)
     @ApiModelProperty(value = "供应品牌")
     private List<String> brandIds;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "退货地址")
+    private String returnAddress;
     /*
      * 相关属性
      * @TableField(exist = false)

+ 9 - 20
src/main/java/com/dk/mdm/model/vo/sale/OutReturnVO.java

@@ -20,7 +20,9 @@ import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  *  出库退货
@@ -63,16 +65,6 @@ public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
     @ApiModelProperty(value = "退货类型 (【系统字典】销售退货)")
     private String returnType;
 
-
-    /**
-     * 出库单
-     */
-    @Excel(name = "出库单")
-    @ApiModelProperty(value = "出库单")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String outId;
-
-
     /**
      * 销售订单
      */
@@ -83,14 +75,6 @@ public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
 
 
     /**
-     * 出库单号
-     */
-    @Excel(name = "出库单号")
-    @ApiModelProperty(value = "出库单号")
-    private String outNo;
-
-
-    /**
      * 销售订单号
      */
     @Excel(name = "销售订单号")
@@ -197,9 +181,9 @@ public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
      */
     @Excel(name = "取货日期")
     @ApiModelProperty(value = "取货日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime pickupDate;
+    private LocalDate pickupDate;
 
 
     /**
@@ -421,6 +405,11 @@ public class OutReturnVO extends PageInfo<OutReturnVO> implements Serializable {
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    @ApiModelProperty(value = "明细")
+    private List<OutReturnItemVO> itemList;
+
+    @ApiModelProperty(value = "删除明细")
+    private List<OutReturnItemVO> deleteItemList;
 
     /*
      * 相关属性

+ 11 - 1
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -84,7 +84,6 @@ public class CommonService extends BaseService<Map<String, Object>> {
             authUtils.saveStaff(new StaffEntity().setStaffId(staff.getStaffId())
                     .setStaffCode(staff.getStaffCode())
                     .setStaffName(staff.getStaffName())
-                    .setCpCode(param.get("cpCode").toString())
                     .setCpId(Integer.parseInt(param.get("cpId").toString()))
                     .setAppCode(param.get("appCode").toString()));
         }
@@ -1604,4 +1603,15 @@ public class CommonService extends BaseService<Map<String, Object>> {
         List<Map<String, Object>> list = commonMapper.getServiceCategories(param);
         return ResponseResultUtil.success(list);
     }
+
+    /**
+     * @desc : 获取仓库档案
+     * @author : 王英杰
+     * @date :2024/3/1 9:20
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getDictionaryDataByPage(Map<String, Object> param) {
+        this.getLimit(param);
+        return super.mergeListWithCount(param, commonMapper.getDictionaryDataByPage(param),
+                commonMapper.countDictionaryDataByPage(param));
+    }
 }

+ 292 - 6
src/main/java/com/dk/mdm/service/ivt/IntoReturnService.java

@@ -1,23 +1,309 @@
 package com.dk.mdm.service.ivt;
 
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.infrastructure.constant.Constant;
+import com.dk.common.infrastructure.enums.ErrorCodeEnum;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseCodeEnum;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.ivt.IntoReturnConvert;
+import com.dk.mdm.infrastructure.convert.ivt.IntoReturnItemConvert;
+import com.dk.mdm.infrastructure.util.AuthUtils;
+import com.dk.mdm.mapper.ivt.InboundItemMapper;
+import com.dk.mdm.mapper.ivt.InboundMapper;
+import com.dk.mdm.mapper.pur.PurchaseItemMapper;
+import com.dk.mdm.mapper.pur.PurchaseMapper;
+import com.dk.mdm.model.pojo.ivt.Inbound;
+import com.dk.mdm.model.pojo.ivt.InboundItem;
 import com.dk.mdm.model.pojo.ivt.IntoReturn;
 import com.dk.mdm.mapper.ivt.IntoReturnMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.ivt.IntoReturnItem;
+import com.dk.mdm.model.pojo.pur.PurchaseItem;
+import com.dk.mdm.model.query.ivt.IntoReturnQuery;
+import com.dk.mdm.model.query.pur.PurchaseQuery;
+import com.dk.mdm.model.response.ivt.IntoReturnResponse;
+import com.dk.mdm.model.response.pur.PurchaseItemResponse;
+import com.dk.mdm.model.response.pur.PurchaseResponse;
+import com.dk.mdm.model.vo.ivt.IntoReturnItemVO;
+import com.dk.mdm.model.vo.ivt.IntoReturnVO;
+import com.dk.mdm.model.vo.ivt.OutboundItemVO;
+import com.dk.mdm.model.vo.ivt.OutboundVO;
+import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 @Service
 @Transactional
 public class IntoReturnService extends BaseService<IntoReturn> {
 
-	@Override
-	public BaseMapper<IntoReturn> getRepository() {
-		return intoReturnMapper;
-	}
+    @Override
+    public BaseMapper<IntoReturn> getRepository() {
+        return intoReturnMapper;
+    }
+
+    @Autowired
+    private IntoReturnMapper intoReturnMapper;
+
+    @Autowired
+    private IntoReturnConvert intoReturnConvert;
+
+    @Autowired
+    private IntoReturnItemConvert intoReturnItemConvert;
+
+    @Autowired
+    private PurchaseMapper purchaseMapper;
+
+    @Autowired
+    private PurchaseItemMapper purchaseItemMapper;
+
+    @Autowired
+    private IntoReturnItemService intoReturnItemService;
+
+    @Autowired
+    private CommonService commonService;
+
+    @Autowired
+    private AuthUtils authUtils;
+
+    @Autowired
+    private OutboundService outboundService;
+
+    @Autowired
+    private InboundService inboundService;
+
+    @Autowired
+    private InboundMapper inboundMapper;
+
+    @Autowired
+    private InboundItemMapper inboundItemMapper;
+
+    /**
+     * @desc : 查询
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @Pagination
+    public ResponseResultVO<PageList<IntoReturnResponse>> selectByCond(IntoReturnQuery intoReturnQuery) {
+        return super.mergeListWithCount(intoReturnQuery, intoReturnMapper.selectByCond(intoReturnQuery), intoReturnMapper.countByCond(intoReturnQuery));
+    }
+
+    /**
+     * @desc : 新建采购退货
+     * @author : 于继渤
+     * @date : 2023/1/5 9:39
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(IntoReturnVO intoReturnVO) {
+        //校验明细长度
+        List<IntoReturnItemVO> intoReturnItemVOList = intoReturnVO.getIntoReturnItemVOList();
+        //明细不存在
+        if (intoReturnItemVOList == null || intoReturnItemVOList.size() == 0) {
+            //返回 采购退货明细不可为空,请重新操作
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
+        }
+        //设置总单
+        intoReturnVO = this.insertTotal(intoReturnVO);
+        //设置明细
+        intoReturnItemVOList = this.insertDetail(intoReturnVO, intoReturnItemVOList);
+
+        //反写入库单 反写退货数量金额
+        Inbound inbound = inboundMapper.selectById(intoReturnVO.getIntoId());
+        inboundMapper.updateAmount(new Inbound().setIntoId(intoReturnVO.getIntoId())
+                .setReturnQty(inbound.getReturnQty().add(intoReturnVO.getSumQuantity()))
+                .setReturnAmt(inbound.getReturnAmt().add(intoReturnVO.getSumAmount())));
+
+
+        //反写入库订单明细、反写订单明细
+        for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
+
+            //根据退货明细中入库明细id查询入库明细数据
+            InboundItem inboundItem = inboundItemMapper.selectById(intoReturnItemVO.getIntoItemId());
+            inboundItemMapper.updateAmount(
+                    new InboundItem()
+                    .setItemId(inboundItem.getItemId())
+                    .setReturnQty(inboundItem.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                    .setReturnAmt(inboundItem.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
+            );
+            //TODO 反写订单出库明细 退货数量和退货金额
+            //查询采购订单明细数据
+            PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getPurItemId());
+            //反写订单明细退货数量和退货金额
+            purchaseItemMapper.updateAmount(
+                    new PurchaseItem()
+                            .setItemId(intoReturnItemVO.getPurItemId())
+                            .setReturnQty(purchaseItemResponse.getReturnQty().add(intoReturnItemVO.getItemQty().setScale(6, BigDecimal.ROUND_HALF_UP)))
+                            .setReturnAmt(purchaseItemResponse.getReturnAmt().add(intoReturnItemVO.getItemAmt().setScale(6, BigDecimal.ROUND_HALF_UP)))
+
+            );
+        }
+
+//        //新建出库单
+//        OutboundVO outboundVO = new OutboundVO();
+//        //来源ID
+//        outboundVO.setFromId(intoReturnVO.getReturnId());
+//        //来源单号
+//        outboundVO.setFromNo(intoReturnVO.getReturnNo());
+//        //部门
+//        outboundVO.setOrgId(intoReturnVO.getOrgId());
+//        //员工
+//        outboundVO.setStaffId(intoReturnVO.getStaffId());
+//        //供应商
+//        outboundVO.setSupId(intoReturnVO.getSupId());
+//        //出库状态
+//        outboundVO.setOutStatus("出库状态-出库中");
+//        outboundVO.setMakeStaff(authUtils.getStaff().getStaffId());
+//        outboundVO.setCpId(authUtils.getStaff().getCpId());
+//        List<OutboundItemVO> itemList = new ArrayList<>();
+//        Integer itemIndex = 0;
+//
+//        for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
+//            OutboundItemVO outboundItemVO = new OutboundItemVO();
+//            outboundItemVO.setSkuId(intoReturnItemVO.getSkuId());
+//            outboundItemVO.setItemIndex(itemIndex +1);
+//            outboundItemVO.setPriceOut(intoReturnItemVO.getPriceReturn());
+//            outboundItemVO.setInvId("10112024-0305-0000-0000-000009593bb6");
+//            itemList.add(outboundItemVO);
+//        }
+//
+//        outboundVO.setItemList(itemList);
+//
+//
+//
+//        outboundService.insert(outboundVO);
+
+
+        return ResponseResultUtil.success();
+    }
+
+    /**
+     * @desc : 设置总单信息
+     * @date : 2023/9/28 16:20
+     * @author : 于继渤
+     */
+    @Transactional(rollbackFor = {Exception.class})
+    public IntoReturnVO insertTotal(IntoReturnVO intoReturnVO) {
+        // 获取单号
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.OUTBOUND.getName(), false);
+        intoReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
+                .setReturnType(Constant.returnType.PURRETURN.getName());
+        //查询采购订单上的客户信息
+        PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnVO.getPurId());
+        //部门Id
+        intoReturnVO.setOrgId(purchaseResponse.getOrgId());
+        intoReturnVO.setReturnStatus("退货状态-通过");
+        //出库状态
+        intoReturnVO.setOutStatus(Constant.OutStatus.DAICHUKU.getName());
+        //制单员
+        intoReturnVO.setMakeStaff(authUtils.getStaff().getStaffId());
+        //业务员
+        intoReturnVO.setStaffId(purchaseResponse.getStaffId());
+        //供应商
+        intoReturnVO.setSupId(purchaseResponse.getSupId());
+        //联系人
+        intoReturnVO.setContactName(purchaseResponse.getContactName());
+        //联系电话
+        intoReturnVO.setContactPhone(purchaseResponse.getContactPhone());
+        //送货日期//取货日期
+        intoReturnVO.setDeliveryDate(purchaseResponse.getPickupDate());
+        //新建总单
+        IntoReturn intoReturn = intoReturnConvert.convertToPo(intoReturnVO);
+        intoReturnMapper.insert(intoReturn);
+        return intoReturnVO;
+    }
+
+
+    /**
+     * @desc : 设置明细信息
+     * @date : 2023/9/28 16:20
+     * @author : 于继渤
+     */
+    @Transactional(rollbackFor = {Exception.class})
+    public List<IntoReturnItemVO> insertDetail(IntoReturnVO intoReturnVO, List<IntoReturnItemVO> intoReturnItemVOList) {
+        for (IntoReturnItemVO intoReturnItemVO : intoReturnItemVOList) {
+            //总单Id
+            intoReturnItemVO.setReturnId(intoReturnVO.getReturnId());
+            //公司Id
+            intoReturnItemVO.setCpId(intoReturnVO.getCpId());
+            //根据分销订单明细Id查询数据
+            //查询明细数据
+            PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemVO.getFromItemId());
+            //采购订单id
+            intoReturnItemVO.setPurId(purchaseItemResponse.getPurId());
+            intoReturnItemVO.setPurItemId(purchaseItemResponse.getItemId());
+            intoReturnItemVO.setIntoItemId(intoReturnItemVO.getItemId());
+            intoReturnItemVO.setItemId(null);
+            //标价
+            intoReturnItemVO.setPriceStd(purchaseItemResponse.getPriceStd());
+            //标价金额 (商品数量*标价)
+            intoReturnItemVO.setAmtStd(intoReturnItemVO.getItemQty().multiply(intoReturnItemVO.getPriceStd()).setScale(2, BigDecimal.ROUND_HALF_UP));
+            //退货价格
+            intoReturnItemVO.setPriceReturn(purchaseItemResponse.getPricePur());
+            //退货金额 (商品数量*退货价)
+            intoReturnItemVO.setItemAmt(intoReturnItemVO.getItemQty().multiply(intoReturnItemVO.getPriceReturn()).setScale(2, BigDecimal.ROUND_HALF_UP));
+
+            //新建明细
+            IntoReturnItem intoReturnItem = intoReturnItemConvert.convertToPo(intoReturnItemVO);
+            intoReturnItemService.insert(intoReturnItem);
+
+//			//已出库数量
+
+//			orderOutRejectItemVO.setOutOutQuantity(orderItem.getOutQuantity());
+//			//已出库金额
+//			orderOutRejectItemVO.setOutOutAmount(orderItem.getOutAmount());
+//			//已出库退货数量
+//			orderOutRejectItemVO.setOutRejectQuantity(orderItem.getRejectQuantity());
+//			//已出库退货金额
+//			orderOutRejectItemVO.setOutRejectAmount(orderItem.getRejectAmount());
+//			//退货差价
+//			orderOutRejectItemVO.setDifferencePrice(orderItem.getPriceSale().subtract(orderOutRejectItemVO.getOrderPriceSale()));
+//			//退货差额
+//			orderOutRejectItemVO.setDifferenceAmount(orderOutRejectItemVO.getDifferencePrice().multiply(orderOutRejectItemVO.getOutRejectQuantity()));
+//			// 出库中数量 - 已出库数量 < 本次出库数量
+//			if (orderOutRejectItemVO.getOutOutQuantity().add(orderOutRejectItemVO.getOutRejectQuantity()).compareTo(orderOutRejectItemVO.getRejectQuantity().negate()) == -1) {
+//				throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORDER_GREATER_THAN_THE_REFUNDABLE_QUANTITY.getmessage());
+//			}
+//			//出库状态  出库中
+//			orderOutRejectItemVO.setOutStatus(Constant.OutStatusConstant.OUT_ORDER_NOT_OUT.getName());
+//			//出库中金额
+//			orderOutRejectItemVO.setOutGoingAmount(orderOutRejectItemVO.getRejectAmount().abs());
+//			//出库中数量
+//			orderOutRejectItemVO.setOutGoingQuantity(orderOutRejectItemVO.getRejectQuantity().abs());
+//			//出库中时间
+//			orderOutRejectItemVO.setOutGoingTime(LocalDateTime.now());
+//			//自动出库赋值  已出库数量、已出库金额、最后出库时间
+//			if (orderOutRejectVO.getFlgAutoIvt()) {
+//				//已出库数量
+//				orderOutRejectItemVO.setOutQuantity(orderOutRejectItemVO.getRejectQuantity().abs());
+//				//已出库金额
+//				orderOutRejectItemVO.setOutAmount(orderOutRejectItemVO.getRejectAmount().abs());
+//				//最后出库时间
+//				orderOutRejectItemVO.setOutTime(LocalDateTime.now());
+//			}
+//			//实体转换
+//			OrderOutRejectItem orderOutRejectItem = orderOutRejectItemConvert.convertToPo(orderOutRejectItemVO);
+//			//明细新建
+//			orderOutRejectItemMapper.insert(orderOutRejectItem);
+//			orderOutRejectItemVO.setItemId(orderOutRejectItem.getItemId());
+//		}
+//
+//		return orderOutRejectItemVOList;
+
+
+        }
+        return intoReturnItemVOList;
+    }
 
-	@Autowired
-	private IntoReturnMapper intoReturnMapper;
 
 }

+ 29 - 3
src/main/java/com/dk/mdm/service/ivt/OutboundService.java

@@ -11,23 +11,28 @@ import com.dk.mdm.infrastructure.convert.ivt.OutboundConvert;
 import com.dk.mdm.infrastructure.convert.ivt.OutboundItemConvert;
 import com.dk.mdm.mapper.ivt.OutboundItemMapper;
 import com.dk.mdm.mapper.sale.OrderItemMapper;
+import com.dk.mdm.mapper.sale.OrderMapper;
 import com.dk.mdm.model.pojo.ivt.Outbound;
 import com.dk.mdm.mapper.ivt.OutboundMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.pojo.ivt.OutboundItem;
+import com.dk.mdm.model.pojo.sale.Order;
 import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.model.query.ivt.OutboundItemQuery;
 import com.dk.mdm.model.response.ivt.OutboundItemResponse;
 import com.dk.mdm.model.response.ivt.OutboundResponse;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import com.dk.mdm.model.vo.ivt.OutboundItemVO;
 import com.dk.mdm.model.vo.ivt.OutboundVO;
 import com.dk.mdm.service.common.CommonService;
 import com.dk.mdm.service.sale.OrderItemService;
+import com.dk.mdm.service.sale.OrderService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -58,6 +63,12 @@ public class OutboundService extends BaseService<Outbound> {
 	private OutboundItemMapper outboundItemMapper;
 
 	@Autowired
+	private OrderService orderService;
+
+	@Autowired
+	private OrderMapper orderMapper;
+
+	@Autowired
 	private OrderItemService orderItemService;
 
 	@Autowired
@@ -93,23 +104,38 @@ public class OutboundService extends BaseService<Outbound> {
 
 		// 明细保存
 		if (outboundVO.getItemList() != null && outboundVO.getItemList().size() > 0) {
+			double sumOutingQty = 0;	// 合计出库中数量
+			double sumOutingAmt = 0;	// 合计出库中金额
 			for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
 				OutboundItem outboundItem = outboundItemConvert.convertToPo(outboundItemVO);
 				outboundItem.setOutId(outbound.getOutId()).setCpId(outbound.getCpId()).setOutStatus(Constant.OutStatus.CHUKUZHONG.getName())
 					.setOutType(Constant.OutType.SALE.getName());
 				outboundItemMapper.insert(outboundItem);
 
-				// 反写订单出库中数量
+				// 反写订单出库中数量、金额
 				OrderItem orderItem = orderItemMapper.selectById(outboundItem.getFromItemId());
 				// 如果商品数量小于订单+本次出库单上的出库中数量
 				if(orderItem.getItemQty().compareTo(orderItem.getOutingQty().add(outboundItem.getOutingQty())) == -1){
 					throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_OUTQTY.getMessage());
 				}else{
 					OrderItem orderItemUpdate = new OrderItem();
-					orderItemUpdate.setOutingQty(orderItem.getOutingQty().add(outboundItem.getOutingQty())).setItemId(orderItem.getItemId());
+					orderItemUpdate.setOutingQty(orderItem.getOutingQty().add(outboundItem.getOutingQty()))
+							.setOutingAmt(orderItem.getOutingAmt().add(outboundItem.getOutingAmt()))
+							.setItemId(orderItem.getItemId());
 					orderItemService.updateByUuid(orderItemUpdate);
+					// 累加出库中数量,金额
+					sumOutingQty += outboundItem.getOutingQty().doubleValue();
+					sumOutingAmt += outboundItem.getOutingAmt().doubleValue();
 				}
 			}
+			// 更新订单上的出库中数量,金额,状态
+			OrderResponse orderResponse = orderMapper.selectById(outboundVO.getFromId());
+			Order orderUpdate = new Order();
+			orderUpdate.setOutingQty(orderResponse.getOutingQty().add(new BigDecimal(sumOutingQty)))
+					.setOutingAmt(orderResponse.getOutingAmt().add(new BigDecimal(sumOutingAmt)))
+					.setOutStatus(Constant.OutStatus.CHUKUZHONG.getName())
+					.setOrderId(outboundVO.getFromId());
+			orderService.updateByUuid(orderUpdate);
 		}
 		return ResponseResultUtil.success();
 	}
@@ -147,7 +173,7 @@ public class OutboundService extends BaseService<Outbound> {
 		for (OutboundItemVO outboundItemVO : editOutboundItemVOList) {
 			// 出库中数量不能小于出库数量
 			if(outboundItemVO.getOutingQty().compareTo(outboundItemVO.getOutQty()) == -1){
-				throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ITEMQTY_NO_LESS_OUTQTY.getMessage());
+				throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.OUTINGQTY_NO_LESS_OUTQTY.getMessage());
 			} else {
 				OutboundItem outboundItem = outboundItemConvert.convertToPo(outboundItemVO);
 				outboundItemService.updateByUuid(outboundItem);

+ 6 - 8
src/main/java/com/dk/mdm/service/mst/DictionaryDataService.java

@@ -1,6 +1,7 @@
 package com.dk.mdm.service.mst;
 
 import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
@@ -18,6 +19,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
 import java.util.Map;
 
 @Service
@@ -74,14 +76,10 @@ public class DictionaryDataService extends BaseService<DictionaryData> {
 	public ResponseResultVO<?> insert(DictionaryDataVO dictionaryDataVO) {
 		//实体转换
 		DictionaryData dictionaryData = dictionaryDataConvert.convertToPo(dictionaryDataVO);
-
-		Integer displayNo = dictionaryDataMapper.selectDisplayNo(new DictionaryDataQuery());
-		if (displayNo != null) {
-			//插入序号
-			dictionaryData.setDisplayNo(displayNo);
-		} else {
-			dictionaryData.setDisplayNo(0);
-		}
+		Map<String, Object> map = new HashMap<>();
+		map.put("dictCode",dictionaryDataVO.getDictCode());
+		//设置序号
+		dictionaryData.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.DICTIONARYDATA,map));
 		//设置编码
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(dictionaryDataVO.getDictCode(), true);
 		dictionaryData.setDataId(uniqueNoteCode.get("outId").toString());

+ 2 - 7
src/main/java/com/dk/mdm/service/mst/GoodsBrandService.java

@@ -82,13 +82,8 @@ public class GoodsBrandService extends BaseService<GoodsBrand> {
         //实体转换
         GoodsBrand goodsBrand = goodsBrandConvert.convertToPo(goodsBrandVO);
         goodsBrand.setShortName(goodsBrand.getBrandName());
-        Integer displayNo = goodsBrandMapper.selectDisplayNo(new GoodsBrandQuery());
-        if (displayNo != null) {
-            //插入序号
-            goodsBrand.setDisplayNo(displayNo);
-        } else {
-            goodsBrand.setDisplayNo(0);
-        }
+        //设置序号
+        goodsBrand.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.GOODSBRAND));
         //设置编码
         Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.BRAND.getName(), true);
         goodsBrand.setBrandId(uniqueNoteCode.get("outId").toString());

+ 3 - 7
src/main/java/com/dk/mdm/service/mst/GoodsCategoryService.java

@@ -80,17 +80,13 @@ public class GoodsCategoryService extends BaseService<GoodsCategory> {
     public ResponseResultVO<?> insert(GoodsCategoryVO goodsCategoryVO) {
         //实体转换
         GoodsCategory goodsCategory = goodsCategoryConvert.convertToPo(goodsCategoryVO);
-        Integer displayNo = goodsCategoryMapper.selectDisplayNo(new GoodsCategoryQuery());
-        if (displayNo != null) {
-            //插入序号
-            goodsCategory.setDisplayNo(displayNo);
-        } else {
-            goodsCategory.setDisplayNo(0);
-        }
+        //设置序号
+        goodsCategory.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.GOODSSERIES));
         if (goodsCategory.getParentId() != null) {
             //插入TOPid
             goodsCategory.setTopId(goodsCategory.getParentId());
         }
+
         //设置编码
         Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.CATEGORY.getName(), true);
         goodsCategory.setCatId(uniqueNoteCode.get("outId").toString());

+ 4 - 9
src/main/java/com/dk/mdm/service/mst/GoodsSeriesService.java

@@ -76,7 +76,7 @@ public class GoodsSeriesService extends BaseService<GoodsSeries> {
 	@Pagination
 	public ResponseResultVO<List<GoodsSeriesResponse>> listByNopage(GoodsSeriesQuery goodsSeriesQuery) {
 
-		return  ResponseResultUtil.success(goodsSeriesMapper.listByNopage(goodsSeriesQuery)) ;
+			return  ResponseResultUtil.success(goodsSeriesMapper.listByNopage(goodsSeriesQuery)) ;
 	}
 
 	/**
@@ -90,14 +90,9 @@ public class GoodsSeriesService extends BaseService<GoodsSeries> {
 	public ResponseResultVO<?> insert(GoodsSeriesVO goodsSeriesVO) {
 		//实体转换
 		GoodsSeries goodsSeries = goodsSeriesConvert.convertToPo(goodsSeriesVO);
-		//查询序号
-		Integer displayNo = goodsSeriesMapper.selectDisplayNo(new GoodsSeriesQuery());
-		if (displayNo != null) {
-			//插入序号
-			goodsSeries.setDisplayNo(displayNo);
-		} else {
-			goodsSeries.setDisplayNo(0);
-		}
+
+		//设置序号
+		goodsSeries.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.GOODSSERIES));
 		//设置编码
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.SERIES.getName(), true);
 		goodsSeries.setSeriesId(uniqueNoteCode.get("outId").toString());

+ 50 - 7
src/main/java/com/dk/mdm/service/mst/RoleService.java

@@ -6,6 +6,7 @@ import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.RoleConvert;
+import com.dk.mdm.infrastructure.util.AuthUtils;
 import com.dk.mdm.model.pojo.mst.Role;
 import com.dk.mdm.mapper.mst.RoleMapper;
 import com.dk.common.service.BaseService;
@@ -15,6 +16,7 @@ import com.dk.mdm.model.pojo.mst.RoleSensitive;
 import com.dk.mdm.model.query.mst.RoleQuery;
 import com.dk.mdm.model.response.mst.RoleResponse;
 import com.dk.mdm.model.vo.mst.RoleVo;
+import com.dk.mdm.model.vo.mst.StaffVO;
 import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +48,10 @@ public class RoleService extends BaseService<Role> {
 
     @Autowired
     private CommonService commonService;
+
+    @Autowired
+    private AuthUtils authUtils;
+
     /**
      * @desc : 重写主键
      * @author : 周兴
@@ -77,13 +83,8 @@ public class RoleService extends BaseService<Role> {
     )
     public ResponseResultVO<?> saveRole(RoleVo roleVO) {
         Role role = roleConvert.convertToPo(roleVO);
-        Integer displayNo = roleMapper.selectDisplayNo(new RoleQuery());
-        if (displayNo != null) {
-            //插入序号
-            role.setDisplayNo(displayNo);
-        } else {
-            role.setDisplayNo(0);
-        }
+        // 获取显示顺序
+        role.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ROLE));
         //设置编码
         Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.ROLE.getName(), true);
         role.setRoleId(uniqueNoteCode.get("outId").toString());
@@ -140,6 +141,48 @@ public class RoleService extends BaseService<Role> {
         return ResponseResultUtil.success();
     }
 
+    /**
+     * @desc   : 保存方法
+     * @author : 常皓宁
+     * @date   : 2024/3/7 8:38
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(RoleVo roleVO) {
+        Role role = roleConvert.convertToPo(roleVO);
+        // 获取显示顺序
+        Integer displayNo =commonService.getMaxDisplayNo(Constant.DisplayNoTable.ROLE);
+        if (displayNo != null) {
+            //插入序号
+            role.setDisplayNo(displayNo);
+        } else {
+            role.setDisplayNo(0);
+        }
+        role.setCpId(authUtils.getStaff().getCpId());
+        //设置编码
+        Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.ROLE.getName(), true);
+        role.setRoleId(uniqueNoteCode.get("outId").toString());
+        role.setRoleCode(uniqueNoteCode.get("outNote").toString());
+        //新建
+        roleMapper.insert(role);
+        return ResponseResultUtil.success();
+    }
+
+    /**
+     * @desc   : 编辑角色
+     * @author : 常皓宁
+     * @date   : 2024/3/7 8:47
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> update(RoleVo roleVO) {
+        Role role = roleConvert.convertToPo(roleVO);
+        updateByUuid(role);
+        return ResponseResultUtil.success();
+    }
+
 
 
 }

+ 2 - 8
src/main/java/com/dk/mdm/service/mst/SaleChannelService.java

@@ -75,14 +75,8 @@ public class SaleChannelService extends BaseService<SaleChannel> {
 	public ResponseResultVO<?> insert(SaleChannelVO saleChannelVO) {
 		//实体转换
 		SaleChannel saleChannel = saleChannelConvert.convertToPo(saleChannelVO);
-
-		Integer displayNo = saleChannelMapper.selectDisplayNo(new SaleChannelQuery());
-		if (displayNo != null) {
-			//插入序号
-			saleChannel.setDisplayNo(displayNo);
-		} else {
-			saleChannel.setDisplayNo(0);
-		}
+		//设置序号
+		saleChannel.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.SALECHANNEL));
 		//设置编码
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.SALECHANNEL.getName(), true);
 		saleChannel.setChannelId(uniqueNoteCode.get("outId").toString());

+ 1 - 2
src/main/java/com/dk/mdm/service/mst/UnitService.java

@@ -74,9 +74,8 @@ public class UnitService extends BaseService<Unit> {
 	public ResponseResultVO<?> insert(UnitVO unitVO) {
 		//实体转换
 		Unit unit = unitConvert.convertToPo(unitVO);
-		Integer displayNo = unitMapper.selectDisplayNo(new UnitQuery());
 		//设置序号
-		unit.setDisplayNo(displayNo);
+		unit.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.UNIT));
 		//设置编码
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.UNIT.getName(), true);
 		unit.setUnitId(uniqueNoteCode.get("outId").toString());

+ 2 - 7
src/main/java/com/dk/mdm/service/mst/WarehouseService.java

@@ -74,13 +74,8 @@ public class WarehouseService extends BaseService<Warehouse> {
 	public ResponseResultVO<?> insert(WarehouseVO warehouseVO) {
 		//实体转换
 		Warehouse warehouse = warehouseConvert.convertToPo(warehouseVO);
-		Integer displayNo = warehouseMapper.selectDisplayNo(new WarehouseQuery());
-		if (displayNo != null) {
-			//插入序号
-			warehouse.setDisplayNo(displayNo);
-		} else {
-			warehouse.setDisplayNo(0);
-		}
+		//设置序号
+		warehouse.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.WAREHOUSE));
 		//设置编码
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.WAREHOUSE.getName(), true);
 		warehouse.setWhId(uniqueNoteCode.get("outId").toString());

+ 34 - 18
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -85,7 +85,7 @@ public class OrderService extends BaseService<Order> {
      * @date : 2024-02-28 13:25
      */
     @Pagination
-    public ResponseResultVO<Map<String, Object>> selectOrderItemById(String id) {
+    public ResponseResultVO<Map<String, Object>> selectOrderInfoById(String id) {
         Map<String, Object> result = new HashMap<>();
         // 商品明细
         List<OrderItemResponse> orderItem = orderItemMapper.selectByCond(new OrderItemQuery().setOrderId(id));
@@ -130,7 +130,7 @@ public class OrderService extends BaseService<Order> {
         // 获取单号
         Map<String , Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORDER.getName(),false);
         orderVO.setOrderId(codeMap.get("outId").toString()).setOrderNo(codeMap.get("outNote").toString())
-                .setOrderType(Constant.DocumentType.ORDER_CHASE.getName());
+                .setOrderType(Constant.DocumentType.ORDER.getName());
         // 转化实体
         Order order = orderConvert.convertToPo(orderVO);
         // 订单总单保存
@@ -155,22 +155,6 @@ public class OrderService extends BaseService<Order> {
     }
 
     /**
-     * @desc   : 获取订单信息(编辑用)
-     * @author : 付斌
-     * @date   : 2024-03-02 17:27
-     */
-    public ResponseResultVO<?> getOrderForUpdate(String id) {
-        Map<String, Object> orderInfo = new HashMap<>();
-        OrderResponse orderResponse = orderMapper.selectById(id);
-        orderInfo.put("order", orderResponse);
-
-        // 商品明细
-        List<OrderItemResponse> orderItem = orderItemMapper.selectByCond(new OrderItemQuery().setOrderId(id));
-        orderInfo.put("orderItem", orderItem);
-        return ResponseResultUtil.success(orderInfo);
-    }
-
-    /**
      * @desc : 编辑方法
      * @author : 付斌
      * @date : 2023/1/9 10:49
@@ -222,6 +206,22 @@ public class OrderService extends BaseService<Order> {
      * @author : 付斌
      * @date   : 2024-03-02 17:27
      */
+    public ResponseResultVO<?> getOrderForUpdate(String id) {
+        Map<String, Object> orderInfo = new HashMap<>();
+        OrderResponse orderResponse = orderMapper.selectById(id);
+        orderInfo.put("order", orderResponse);
+
+        // 商品明细
+        List<OrderItemResponse> orderItem = orderItemMapper.selectByCond(new OrderItemQuery().setOrderId(id));
+        orderInfo.put("orderItem", orderItem);
+        return ResponseResultUtil.success(orderInfo);
+    }
+
+    /**
+     * @desc   : 获取订单信息(出库用)
+     * @author : 付斌
+     * @date   : 2024-03-02 17:27
+     */
     public ResponseResultVO<?> getOrderForOut(String id) {
         Map<String, Object> orderInfo = new HashMap<>();
         OrderResponse orderResponse = orderMapper.selectById(id);
@@ -232,4 +232,20 @@ public class OrderService extends BaseService<Order> {
         orderInfo.put("orderItem", orderItem);
         return ResponseResultUtil.success(orderInfo);
     }
+
+    /**
+     * @desc   : 获取订单信息(退货用)
+     * @author : 付斌
+     * @date   : 2024-03-02 17:27
+     */
+    public ResponseResultVO<?> getOrderForReturn(String id) {
+        Map<String, Object> orderInfo = new HashMap<>();
+        OrderResponse orderResponse = orderMapper.selectById(id);
+        orderInfo.put("order", orderResponse);
+
+        // 商品明细
+        List<OrderItemResponse> orderItem = orderItemMapper.selectByCondForReturn(new OrderItemQuery().setOrderId(id));
+        orderInfo.put("orderItem", orderItem);
+        return ResponseResultUtil.success(orderInfo);
+    }
 }

+ 143 - 10
src/main/java/com/dk/mdm/service/sale/OutReturnService.java

@@ -1,28 +1,161 @@
 package com.dk.mdm.service.sale;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.dk.common.exception.BaseBusinessException;
+import com.dk.common.infrastructure.constant.Constant;
+import com.dk.common.infrastructure.enums.ErrorCodeEnum;
+import com.dk.common.response.ResponseCodeEnum;
+import com.dk.common.response.ResponseResultUtil;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.sale.OutReturnConvert;
+import com.dk.mdm.infrastructure.convert.sale.OutReturnItemConvert;
+import com.dk.mdm.mapper.sale.OrderItemMapper;
+import com.dk.mdm.mapper.sale.OrderMapper;
+import com.dk.mdm.mapper.sale.OutReturnItemMapper;
+import com.dk.mdm.model.pojo.sale.Order;
+import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.model.pojo.sale.OutReturn;
+import com.dk.mdm.model.pojo.sale.OutReturnItem;
 import com.dk.mdm.mapper.sale.OutReturnMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.response.sale.OrderResponse;
+import com.dk.mdm.model.vo.sale.OutReturnItemVO;
+import com.dk.mdm.model.vo.sale.OutReturnVO;
+import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
 @Service
 @Transactional
 public class OutReturnService extends BaseService<OutReturn> {
 
-	@Override
-	public String getPrimaryKey() {
-		return "return_id";
-	}
+    @Override
+    public String getPrimaryKey() {
+        return "return_id";
+    }
+
+    @Override
+    public BaseMapper<OutReturn> getRepository() {
+        return outReturnMapper;
+    }
+
+    @Autowired
+    private OutReturnMapper outReturnMapper;
+
+    @Autowired
+    private OutReturnItemService outReturnItemService;
+
+    @Autowired
+    private OutReturnItemMapper outReturnItemMapper;
+
+    @Autowired
+    private OrderService orderService;
+
+    @Autowired
+    private OrderMapper orderMapper;
+
+    @Autowired
+    private OrderItemService orderItemService;
+
+    @Autowired
+    private OrderItemMapper orderItemMapper;
+
+    @Autowired
+    private CommonService commonService;
+
+    @Autowired
+    private OutReturnConvert outReturnConvert;
+
+    @Autowired
+    private OutReturnItemConvert outReturnItemConvert;
+
+    /**
+     * @desc : 新建方法
+     * @author : 付斌
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(OutReturnVO outReturnVO) {
+
+        // 获取单号
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORDEROUT.getName(), false);
+        outReturnVO.setReturnId(codeMap.get("outId").toString()).setReturnNo(codeMap.get("outNote").toString())
+                .setReturnType(Constant.DocumentType.OUT_RETURN.getName());
+        // 转化实体
+        OutReturn outReturn = outReturnConvert.convertToPo(outReturnVO);
+        // 总单保存
+        super.insert(outReturn);
+
+        // 明细保存
+        if (outReturnVO.getItemList() != null && outReturnVO.getItemList().size() > 0) {
+            double sumReturnQty = 0;    // 合计已出库退货数量
+            double sumReturnAmt = 0;    // 合计已出库退货金额
+            for (OutReturnItemVO outReturnItemVO : outReturnVO.getItemList()) {
+                OutReturnItem outReturnItem = outReturnItemConvert.convertToPo(outReturnItemVO);
+                outReturnItem.setReturnId(outReturn.getReturnId()).setCpId(outReturn.getCpId()).setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
+                outReturnItemMapper.insert(outReturnItem);
+
+                // 反写订单已出库退货数量、金额
+                OrderItem orderItem = orderItemMapper.selectById(outReturnItem.getOrderItemId());
+                // 如果出库数量小于订单上已退货+本次退货数量
+                if (orderItem.getOutQty().compareTo(orderItem.getReturnQty().add(outReturnItem.getItemQty())) == -1) {
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.OUTQTY_NO_LESS_RETURNQTY.getMessage());
+                }
+                OrderItem orderItemUpdate = new OrderItem();
+                orderItemUpdate.setReturnQty(orderItem.getReturnQty().add(outReturnItem.getItemQty()))
+                        .setReturnAmt(orderItem.getReturnAmt().add(outReturnItem.getItemAmt()))
+                        .setItemId(orderItem.getItemId());
+                orderItemService.updateByUuid(orderItemUpdate);
+                // 累加退货数量,金额
+                sumReturnQty += outReturnItem.getItemQty().doubleValue();
+                sumReturnAmt += outReturnItem.getItemAmt().doubleValue();
+            }
+            // 更新订单上的退货数量,金额
+            OrderResponse orderResponse = orderMapper.selectById(outReturnVO.getOrderId());
+            Order orderUpdate = new Order();
+            orderUpdate.setReturnQty(orderResponse.getReturnQty().add(new BigDecimal(sumReturnQty)))
+                    .setReturnAmt(orderResponse.getReturnAmt().add(new BigDecimal(sumReturnAmt)))
+                    .setOrderId(outReturnVO.getOrderId());
+            orderService.updateByUuid(orderUpdate);
+        }
+        return ResponseResultUtil.success();
+    }
 
-	@Override
-	public BaseMapper<OutReturn> getRepository() {
-		return outReturnMapper;
-	}
+    /**
+     * @desc : 编辑方法
+     * @author : 付斌
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<Boolean> update(OutReturnVO outReturnVO) {
+        // 转化实体
+        OutReturn outReturn = outReturnConvert.convertToPo(outReturnVO);
 
-	@Autowired
-	private OutReturnMapper outReturnMapper;
+        // 编辑的
+        List<OutReturnItemVO> editOutReturnItemVOList = outReturnVO.getItemList().stream().filter(it -> it.getItemId() != null).collect(Collectors.toList());
+        for (OutReturnItemVO outReturnItemVO : editOutReturnItemVOList) {
+            // 入库中数量不能小于入库数量
+            if (outReturnItemVO.getIntoingQty().compareTo(outReturnItemVO.getIntoQty()) == -1) {
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.INTOINGQTY_NO_LESS_INTOQTY.getMessage());
+            } else {
+                OutReturnItem outReturnItem = outReturnItemConvert.convertToPo(outReturnItemVO);
+                outReturnItemService.updateByUuid(outReturnItem);
+            }
+        }
 
+        return ResponseResultUtil.success(super.update(outReturn, new UpdateWrapper<OutReturn>().lambda().eq(OutReturn::getReturnId,
+                UUID.fromString(outReturn.getReturnId()))));
+    }
 }