dongke 2 лет назад
Родитель
Сommit
cce8fe79aa
31 измененных файлов с 1416 добавлено и 269 удалено
  1. 24 0
      src/main/java/com/dk/mdm/controller/mst/FreezeController.java
  2. 24 0
      src/main/java/com/dk/mdm/controller/mst/FreezeItemController.java
  3. 12 1
      src/main/java/com/dk/mdm/controller/mst/StaffController.java
  4. 2 3
      src/main/java/com/dk/mdm/controller/mst/StaffPurviewController.java
  5. 2 4
      src/main/java/com/dk/mdm/controller/mst/StaffRightController.java
  6. 0 4
      src/main/java/com/dk/mdm/controller/mst/SupplierController.java
  7. 1 1
      src/main/java/com/dk/mdm/infrastructure/convert/mst/StaffConvert.java
  8. 1 1
      src/main/java/com/dk/mdm/infrastructure/convert/mst/StaffRightConvert.java
  9. 14 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.java
  10. 177 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.xml
  11. 14 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.java
  12. 195 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.xml
  13. 1 1
      src/main/java/com/dk/mdm/mapper/mst/StaffPurviewMapper.java
  14. 1 1
      src/main/java/com/dk/mdm/mapper/mst/StaffPurviewMapper.xml
  15. 1 1
      src/main/java/com/dk/mdm/mapper/mst/StaffRightMapper.java
  16. 1 1
      src/main/java/com/dk/mdm/mapper/mst/StaffRightMapper.xml
  17. 77 18
      src/main/java/com/dk/mdm/model/pojo/mst/FreezeItem.java
  18. 82 33
      src/main/java/com/dk/mdm/model/query/mst/FreezeItemQuery.java
  19. 240 0
      src/main/java/com/dk/mdm/model/query/mst/FreezeQuery.java
  20. 209 0
      src/main/java/com/dk/mdm/model/response/mst/FreezeItemResponse.java
  21. 240 0
      src/main/java/com/dk/mdm/model/response/mst/FreezeResponse.java
  22. 0 144
      src/main/java/com/dk/mdm/model/vo/mst/StaffVO.java
  23. 23 0
      src/main/java/com/dk/mdm/service/mst/FreezeItemService.java
  24. 23 0
      src/main/java/com/dk/mdm/service/mst/FreezeService.java
  25. 0 1
      src/main/java/com/dk/mdm/service/mst/RoleService.java
  26. 2 2
      src/main/java/com/dk/mdm/service/mst/StaffPurviewService.java
  27. 1 2
      src/main/java/com/dk/mdm/service/mst/StaffRightService.java
  28. 3 1
      src/main/java/com/dk/mdm/service/mst/StaffService.java
  29. 0 12
      src/main/java/com/dk/mdm/service/mst/SupplierService.java
  30. 0 8
      src/main/java/com/dk/mdm/service/pur/PurchaseService.java
  31. 46 30
      src/main/java/com/dk/mdm/service/sale/OutReturnService.java

+ 24 - 0
src/main/java/com/dk/mdm/controller/mst/FreezeController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.mdm.model.pojo.mst.Freeze;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.FreezeService;
+
+@Api(tags = "冻结单API接口")
+@RestController
+@RequestMapping("/freeze")
+public class FreezeController{
+
+    public BaseService<Freeze> getService() {
+        return freezeService;
+    }
+
+    @Autowired
+    private FreezeService freezeService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/mst/FreezeItemController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.mdm.model.pojo.mst.FreezeItem;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.FreezeItemService;
+
+@Api(tags = "冻结单明细API接口")
+@RestController
+@RequestMapping("/freezeItem")
+public class FreezeItemController{
+
+    public BaseService<FreezeItem> getService() {
+        return freezeItemService;
+    }
+
+    @Autowired
+    private FreezeItemService freezeItemService;
+
+}

+ 12 - 1
src/main/java/com/dk/mdm/controller/mst/StaffController.java

@@ -8,7 +8,7 @@ import com.dk.mdm.model.pojo.mst.Staff;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.model.query.mst.StaffQuery;
 import com.dk.common.model.response.mst.StaffResponse;
-import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.common.model.vo.mst.StaffVO;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.transaction.annotation.Transactional;
@@ -108,6 +108,17 @@ public class StaffController {
     }
 
     /**
+     * @desc : 新建员工--注册商户用的
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建员工", notes = "新建员工")
+    @PostMapping({"insert_feign_staff"})
+    public ResponseResultVO<?> insertFeignStaff(@RequestBody StaffVO staffVO) {
+        return staffService.insert(staffVO);
+    }
+
+    /**
      * @desc : 编辑员工
      * @author : 姜永辉
      * @date : 2023/1/9 10:49

+ 2 - 3
src/main/java/com/dk/mdm/controller/mst/StaffPurviewController.java

@@ -1,10 +1,9 @@
 package com.dk.mdm.controller.mst;
 
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.mst.StaffPurview;
-import com.dk.common.controller.BaseController;
+import com.dk.common.model.pojo.mst.StaffPurview;
 import com.dk.common.service.BaseService;
-import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.common.model.vo.mst.StaffVO;
 import com.dk.mdm.service.mst.StaffService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;

+ 2 - 4
src/main/java/com/dk/mdm/controller/mst/StaffRightController.java

@@ -1,11 +1,9 @@
 package com.dk.mdm.controller.mst;
 
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.mst.StaffRight;
-import com.dk.common.controller.BaseController;
+import com.dk.common.model.pojo.mst.StaffRight;
 import com.dk.common.service.BaseService;
-import com.dk.mdm.model.vo.mst.StaffRightVO;
-import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.common.model.vo.mst.StaffVO;
 import com.dk.mdm.service.mst.StaffService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.PostMapping;

+ 0 - 4
src/main/java/com/dk/mdm/controller/mst/SupplierController.java

@@ -2,13 +2,9 @@ package com.dk.mdm.controller.mst;
 
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.mdm.model.pojo.mst.Supplier;
-import com.dk.common.controller.BaseController;
 import com.dk.common.service.BaseService;
-import com.dk.mdm.model.query.mst.OrgQuery;
 import com.dk.mdm.model.query.mst.SupplierQuery;
-import com.dk.mdm.model.vo.mst.StaffVO;
 import com.dk.mdm.model.vo.mst.SupplierVo;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;

+ 1 - 1
src/main/java/com/dk/mdm/infrastructure/convert/mst/StaffConvert.java

@@ -3,7 +3,7 @@ package com.dk.mdm.infrastructure.convert.mst;
 import com.dk.common.model.vo.core.StaffEntity;
 import com.dk.mdm.model.pojo.mst.Staff;
 import com.dk.common.model.response.mst.StaffResponse;
-import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.common.model.vo.mst.StaffVO;
 import org.mapstruct.Mapper;
 
 /**

+ 1 - 1
src/main/java/com/dk/mdm/infrastructure/convert/mst/StaffRightConvert.java

@@ -1,6 +1,6 @@
 package com.dk.mdm.infrastructure.convert.mst;
 
-import com.dk.mdm.model.pojo.mst.StaffRight;
+import com.dk.common.model.pojo.mst.StaffRight;
 import com.dk.mdm.model.vo.mst.StaffRightVO;
 import org.mapstruct.Mapper;
 

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.FreezeItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  冻结单明细 Mapper
+*/
+@Repository
+public interface FreezeItemMapper extends BaseMapper<FreezeItem>{
+	
+}
+

+ 177 - 0
src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.xml

@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mst.FreezeItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, freeze_id, item_index, sku_id, freeze_qty, unfreeze_qty, surplus_qty, remarks, inv_id, 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>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.common.model.response.mst.FreezeItemResponse">
+        <id column="item_id" property="itemId"/>
+                <result column="freeze_id" property="freezeId" typeHandler="UuidTypeHandler"/>
+                <result column="item_index" property="itemIndex"/>
+                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+                <result column="freeze_qty" property="freezeQty"/>
+                <result column="unfreeze_qty" property="unfreezeQty"/>
+                <result column="surplus_qty" property="surplusQty"/>
+                <result column="remarks" property="remarks"/>
+                <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+                <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>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="freezeId != null and freezeId != ''">
+                AND freeze_id = #{freezeId}
+            </if>
+            <if test="itemIndex != null">
+                AND item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND sku_id = #{skuId}
+            </if>
+            <if test="freezeQty != null">
+                AND freeze_qty = #{freezeQty}
+            </if>
+            <if test="unfreezeQty != null">
+                AND unfreeze_qty = #{unfreezeQty}
+            </if>
+            <if test="surplusQty != null">
+                AND surplus_qty = #{surplusQty}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="invId != null and invId != ''">
+                AND inv_id = #{invId}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_freeze_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze_item
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_freeze_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_freeze_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_freeze_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_freeze_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_freeze_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_freeze_item
+        (
+        <trim suffixOverrides=",">
+            freeze_id,
+            item_index,
+            sku_id,
+            freeze_qty,
+            unfreeze_qty,
+            surplus_qty,
+            remarks,
+            inv_id,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.freezeId}::uuid,
+                #{item.itemIndex},
+                #{item.skuId}::uuid,
+                #{item.freezeQty},
+                #{item.unfreezeQty},
+                #{item.surplusQty},
+                #{item.remarks},
+                #{item.invId}::uuid,
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.Freeze;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  冻结单 Mapper
+*/
+@Repository
+public interface FreezeMapper extends BaseMapper<Freeze>{
+	
+}
+

+ 195 - 0
src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.xml

@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mst.FreezeMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        freeze_id, freeze_no, cus_id, org_id, staff_id, freeze_status, freeze_date, auto_unfreeze_date, sum_quantity, remarks, 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>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.common.model.response.mst.FreezeResponse">
+        <id column="freeze_id" property="freezeId"/>
+                <result column="freeze_no" property="freezeNo"/>
+                <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
+                <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+                <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+                <result column="freeze_status" property="freezeStatus"/>
+            <result column="freeze_date" property="freezeDate" typeHandler="TimestampTypeHandler"/>
+            <result column="auto_unfreeze_date" property="autoUnfreezeDate" typeHandler="TimestampTypeHandler"/>
+                <result column="sum_quantity" property="sumQuantity"/>
+                <result column="remarks" property="remarks"/>
+                <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>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="freezeNo != null and freezeNo != ''">
+                AND freeze_no = #{freezeNo}
+            </if>
+            <if test="cusId != null and cusId != ''">
+                AND cus_id = #{cusId}
+            </if>
+            <if test="orgId != null and orgId != ''">
+                AND org_id = #{orgId}
+            </if>
+            <if test="staffId != null and staffId != ''">
+                AND staff_id = #{staffId}
+            </if>
+            <if test="freezeStatus != null and freezeStatus != ''">
+                AND freeze_status = #{freezeStatus}
+            </if>
+            <if test="freezeDate != null">
+                AND freeze_date = #{freezeDate}
+            </if>
+            <if test="autoUnfreezeDate != null">
+                AND auto_unfreeze_date = #{autoUnfreezeDate}
+            </if>
+            <if test="sumQuantity != null">
+                AND sum_quantity = #{sumQuantity}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND make_time = #{makeTime}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键freezeId批量操作 -->
+        WHERE freeze_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_psi_freeze,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_psi_freeze,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_freeze
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_freeze的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze
+        WHERE freeze_id = #{freezeId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_freeze的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze
+        WHERE freeze_id = #{freezeId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_freeze的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_freeze
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_freeze
+        (
+        <trim suffixOverrides=",">
+            freeze_no,
+            cus_id,
+            org_id,
+            staff_id,
+            freeze_status,
+            freeze_date,
+            auto_unfreeze_date,
+            sum_quantity,
+            remarks,
+            make_staff,
+            make_time,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.freezeNo},
+                #{item.cusId}::uuid,
+                #{item.orgId}::uuid,
+                #{item.staffId}::uuid,
+                #{item.freezeStatus},
+                #{item.freezeDate},
+                #{item.autoUnfreezeDate},
+                #{item.sumQuantity},
+                #{item.remarks},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

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

@@ -1,6 +1,6 @@
 package com.dk.mdm.mapper.mst;
 
-import com.dk.mdm.model.pojo.mst.StaffPurview;
+import com.dk.common.model.pojo.mst.StaffPurview;
 import com.dk.common.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;

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

@@ -10,7 +10,7 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.StaffPurview">
+    <resultMap id="BaseResultMap" type="com.dk.common.model.pojo.mst.StaffPurview">
         <id column="staff_id" property="staffId"/>
         <result column="purview_code" property="purviewCode"/>
         <result column="flg_nolimit" property="flgNolimit"/>

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

@@ -1,6 +1,6 @@
 package com.dk.mdm.mapper.mst;
 
-import com.dk.mdm.model.pojo.mst.StaffRight;
+import com.dk.common.model.pojo.mst.StaffRight;
 import com.dk.common.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 

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

@@ -10,7 +10,7 @@
     </sql>
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.StaffRight">
+    <resultMap id="BaseResultMap" type="com.dk.common.model.pojo.mst.StaffRight">
         <id column="staff_id" property="staffId"/>
         <result column="fun_uuid" property="funUuid" typeHandler="UuidTypeHandler"/>
         <result column="right_type" property="rightType"/>

+ 77 - 18
src/main/java/com/dk/mdm/model/pojo/mst/StaffRight.java → src/main/java/com/dk/mdm/model/pojo/mst/FreezeItem.java

@@ -17,58 +17,117 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.alibaba.fastjson.JSONObject;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.time.LocalDateTime;
 
 /**
- *  员工权限
+ *  冻结单明细
  */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
-@ExportTitle("员工权限")
-@TableName(value = "t_mst_staff_right", autoResultMap = true,schema = "dkic_b")
-@ApiModel(value="实体类:员工权限", description="表名:t_mst_staff_right")
-public class StaffRight extends PageInfo<StaffRight> implements Serializable {
+@ExportTitle("冻结单明细")
+@TableName(value = "t_psi_freeze_item", autoResultMap = true)
+@ApiModel(value="实体类:冻结单明细", description="表名:t_psi_freeze_item")
+public class FreezeItem extends PageInfo<FreezeItem> implements Serializable {
 
     /*
      * 数据库字段
      */
 
     /**
-     * 员工ID
+     * 明细ID
      */
-    @TableId(value = "staff_id", type = IdType.AUTO)
-    @ApiModelProperty(value = "员工ID")
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
     @TableField(typeHandler = UuidTypeHandler.class)
-    private String staffId;
+    private String itemId;
 
 
     /**
-     * 功能权限
+     * 冻结ID
      */
-    @Excel(name = "功能权限")
-    @ApiModelProperty(value = "功能权限")
+    @Excel(name = "冻结ID")
+    @ApiModelProperty(value = "冻结ID")
     @TableField(typeHandler = UuidTypeHandler.class)
-    private String funUuid;
+    private String freezeId;
 
 
     /**
-     * 权限类型 (1:授予 -1:拒绝)
+     * 商品顺序
      */
-    @Excel(name = "权限类型 (1:授予 -1:拒绝)")
-    @ApiModelProperty(value = "权限类型 (1:授予 -1:拒绝)")
-    private Integer rightType;
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 冻结数量
+     */
+    @Excel(name = "冻结数量")
+    @ApiModelProperty(value = "冻结数量")
+    private BigDecimal freezeQty;
+
+
+    /**
+     * 解冻数量
+     */
+    @Excel(name = "解冻数量")
+    @ApiModelProperty(value = "解冻数量")
+    private BigDecimal unfreezeQty;
+
+
+    /**
+     * 剩余冻结量
+     */
+    @Excel(name = "剩余冻结量")
+    @ApiModelProperty(value = "剩余冻结量")
+    private BigDecimal surplusQty;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
 
 
     /**
      * 企业ID
      */
+    @TableField(fill = FieldFill.INSERT)
     @Excel(name = "企业ID")
     @ApiModelProperty(value = "企业ID")
-    @TableField(fill = FieldFill.INSERT)
     private Integer cpId;
 
 

+ 82 - 33
src/main/java/com/dk/mdm/model/pojo/mst/StaffPurview.java → src/main/java/com/dk/mdm/model/query/mst/FreezeItemQuery.java

@@ -1,82 +1,131 @@
-package com.dk.mdm.model.pojo.mst;
+package com.dk.mdm.model.query.mst;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.baomidou.mybatisplus.annotation.*;
-import java.io.Serializable;
-
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
-import com.dk.common.infrastructure.handler.*;
+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 lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
-import lombok.NoArgsConstructor;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.alibaba.fastjson.JSONObject;
 
-import java.util.List;
+import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
- *  员工数据范围
+ *  冻结单明细
  */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
-@ExportTitle("员工数据范围")
-@TableName(value = "t_mst_staff_purview", schema =  "dkic_b",autoResultMap = true)
-@ApiModel(value="实体类:员工数据范围", description="表名:t_mst_staff_purview")
-public class StaffPurview extends PageInfo<StaffPurview> implements Serializable {
+@ExportTitle("冻结单明细")
+@TableName(value = "t_psi_freeze_item", autoResultMap = true)
+@ApiModel(value="实体类:冻结单明细", description="表名:t_psi_freeze_item")
+public class FreezeItemQuery extends PageInfo<FreezeItemQuery> implements Serializable {
 
     /*
      * 数据库字段
      */
 
     /**
-     * 员工ID
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 冻结ID
+     */
+    @Excel(name = "冻结ID")
+    @ApiModelProperty(value = "冻结ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String freezeId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
      */
-    @TableId(value = "staff_id", type = IdType.AUTO)
-    @ApiModelProperty(value = "员工ID")
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
     @TableField(typeHandler = UuidTypeHandler.class)
-    private String staffId;
+    private String skuId;
+
+
+    /**
+     * 冻结数量
+     */
+    @Excel(name = "冻结数量")
+    @ApiModelProperty(value = "冻结数量")
+    private BigDecimal freezeQty;
+
+
+    /**
+     * 解冻数量
+     */
+    @Excel(name = "解冻数量")
+    @ApiModelProperty(value = "解冻数量")
+    private BigDecimal unfreezeQty;
+
+
+    /**
+     * 剩余冻结量
+     */
+    @Excel(name = "剩余冻结量")
+    @ApiModelProperty(value = "剩余冻结量")
+    private BigDecimal surplusQty;
 
 
     /**
-     * 范围权限编码
+     * 备注
      */
-    @Excel(name = "范围权限编码")
-    @ApiModelProperty(value = "范围权限编码")
-    private String purviewCode;
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
 
 
     /**
-     * 范围权限标识 (true:不限制)
+     * 库存ID
      */
-    @Excel(name = "范围权限标识 (true:不限制)")
-    @ApiModelProperty(value = "范围权限标识 (true:不限制)")
-    private Boolean flgNolimit;
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
 
 
     /**
-     * 数据ID
+     * 有效标识 (1:正常 0:停用)
      */
-    @Excel(name = "数据ID")
-    @ApiModelProperty(value = "数据ID")
-    @TableField(typeHandler = UuidListTypeHandler.class)
-    private List<String> dataIds;
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
 
 
     /**
      * 企业ID
      */
+    @TableField(fill = FieldFill.INSERT)
     @Excel(name = "企业ID")
     @ApiModelProperty(value = "企业ID")
-    @TableField(fill = FieldFill.INSERT)
     private Integer cpId;
 
 

+ 240 - 0
src/main/java/com/dk/mdm/model/query/mst/FreezeQuery.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.query.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+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;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  冻结单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("冻结单")
+@TableName(value = "t_psi_freeze", autoResultMap = true)
+@ApiModel(value="实体类:冻结单", description="表名:t_psi_freeze")
+public class FreezeQuery extends PageInfo<FreezeQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 冻结ID
+     */
+    @TableId(value = "freeze_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "冻结ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String freezeId;
+
+
+    /**
+     * 冻结单号
+     */
+    @Excel(name = "冻结单号")
+    @ApiModelProperty(value = "冻结单号")
+    private String freezeNo;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))
+     */
+    @Excel(name = "冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))")
+    @ApiModelProperty(value = "冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))")
+    private String freezeStatus;
+
+
+    /**
+     * 冻结日期
+     */
+    @Excel(name = "冻结日期")
+    @ApiModelProperty(value = "冻结日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime freezeDate;
+
+
+    /**
+     * 自动解冻日期
+     */
+    @Excel(name = "自动解冻日期")
+    @ApiModelProperty(value = "自动解冻日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime autoUnfreezeDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 209 - 0
src/main/java/com/dk/mdm/model/response/mst/FreezeItemResponse.java

@@ -0,0 +1,209 @@
+package com.dk.mdm.model.response.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+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;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  冻结单明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("冻结单明细")
+@TableName(value = "t_psi_freeze_item", autoResultMap = true)
+@ApiModel(value="实体类:冻结单明细", description="表名:t_psi_freeze_item")
+public class FreezeItemResponse extends PageInfo<FreezeItemResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 冻结ID
+     */
+    @Excel(name = "冻结ID")
+    @ApiModelProperty(value = "冻结ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String freezeId;
+
+
+    /**
+     * 商品顺序
+     */
+    @Excel(name = "商品顺序")
+    @ApiModelProperty(value = "商品顺序")
+    private Integer itemIndex;
+
+
+    /**
+     * 商品ID
+     */
+    @Excel(name = "商品ID")
+    @ApiModelProperty(value = "商品ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String skuId;
+
+
+    /**
+     * 冻结数量
+     */
+    @Excel(name = "冻结数量")
+    @ApiModelProperty(value = "冻结数量")
+    private BigDecimal freezeQty;
+
+
+    /**
+     * 解冻数量
+     */
+    @Excel(name = "解冻数量")
+    @ApiModelProperty(value = "解冻数量")
+    private BigDecimal unfreezeQty;
+
+
+    /**
+     * 剩余冻结量
+     */
+    @Excel(name = "剩余冻结量")
+    @ApiModelProperty(value = "剩余冻结量")
+    private BigDecimal surplusQty;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 240 - 0
src/main/java/com/dk/mdm/model/response/mst/FreezeResponse.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.response.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+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;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *  冻结单
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("冻结单")
+@TableName(value = "t_psi_freeze", autoResultMap = true)
+@ApiModel(value="实体类:冻结单", description="表名:t_psi_freeze")
+public class FreezeResponse extends PageInfo<FreezeResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 冻结ID
+     */
+    @TableId(value = "freeze_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "冻结ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String freezeId;
+
+
+    /**
+     * 冻结单号
+     */
+    @Excel(name = "冻结单号")
+    @ApiModelProperty(value = "冻结单号")
+    private String freezeNo;
+
+
+    /**
+     * 客户ID
+     */
+    @Excel(name = "客户ID")
+    @ApiModelProperty(value = "客户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String cusId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))
+     */
+    @Excel(name = "冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))")
+    @ApiModelProperty(value = "冻结状态 (【系统字典】(全部冻结,部分解冻,全部解冻))")
+    private String freezeStatus;
+
+
+    /**
+     * 冻结日期
+     */
+    @Excel(name = "冻结日期")
+    @ApiModelProperty(value = "冻结日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime freezeDate;
+
+
+    /**
+     * 自动解冻日期
+     */
+    @Excel(name = "自动解冻日期")
+    @ApiModelProperty(value = "自动解冻日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime autoUnfreezeDate;
+
+
+    /**
+     * 商品总数量
+     */
+    @Excel(name = "商品总数量")
+    @ApiModelProperty(value = "商品总数量")
+    private BigDecimal sumQuantity;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @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;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 0 - 144
src/main/java/com/dk/mdm/model/vo/mst/StaffVO.java

@@ -1,144 +0,0 @@
-package com.dk.mdm.model.vo.mst;
-
-import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.dk.common.infrastructure.annotaiton.ExportTitle;
-import com.dk.common.infrastructure.handler.UuidListTypeHandler;
-import com.dk.common.infrastructure.handler.UuidTypeHandler;
-import com.dk.common.model.pojo.PageInfo;
-import com.dk.mdm.model.pojo.mst.RoleFun;
-import com.dk.mdm.model.pojo.mst.StaffPurview;
-import com.dk.mdm.model.pojo.mst.StaffRight;
-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;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- *  员工
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@EqualsAndHashCode(callSuper = true)
-@Accessors(chain = true)
-@ExportTitle("员工")
-@TableName(value = "t_mst_staff", autoResultMap = true)
-@ApiModel(value="实体类:员工", description="表名:t_mst_staff")
-public class StaffVO extends PageInfo<StaffVO> implements Serializable {
-
-    /*
-     * 数据库字段
-     */
-    /**
-     * 员工ID
-     */
-    @TableId(value = "staff_id", type = IdType.AUTO)
-    @ApiModelProperty(value = "员工ID")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String staffId;
-
-
-    /**
-     * 员工编码
-     */
-    @Excel(name = "员工编码", width = 20, type = 10)
-    @ApiModelProperty(value = "员工编码")
-    private String staffCode;
-
-
-    /**
-     * 员工名称
-     */
-    @Excel(name = "员工名称", width = 20, type = 10)
-    @ApiModelProperty(value = "员工名称")
-    private String staffName;
-
-    /**
-     * 员工电话
-     */
-    @Excel(name = "员工电话")
-    @ApiModelProperty(value = "员工电话")
-    private String staffPhone;
-
-    /**
-     * 微信用户
-     */
-    @Excel(name = "微信用户")
-    @ApiModelProperty(value = "微信用户")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String wxUserId;
-
-    /**
-     * 组织部门
-     */
-    @ApiModelProperty(value = "组织部门")
-    @TableField(typeHandler = UuidTypeHandler.class)
-    private String orgId;
-
-
-
-    /**
-     * 备注
-     */
-    @Excel(name = "备注", width = 30, orderNum = "99")
-    @ApiModelProperty(value = "备注")
-    private String remarks;
-
-
-    /**
-     * 有效标识 (1:正常 0:停用)
-     */
-    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
-    private Boolean flgValid;
-
-    /**
-     * 登录标识
-     */
-    @ApiModelProperty(value = "登录标识")
-    private Boolean flgCanLogin;
-    /**
-     * @desc   : 角色list
-     */
-    @ApiModelProperty(value = "员工状态list")
-    @TableField(typeHandler = UuidListTypeHandler.class)
-    private List<String>  roleIds;
-
-    /**
-     * 工厂ID
-     */
-    @ApiModelProperty(value = "工厂ID")
-    private Integer cpId;
-    /**
-     * 登录标识1能登录 0不能登录
-     */
-    @Excel(name = "登录标识")
-    @ApiModelProperty(value = "登录标识")
-    private Integer hrStatus;
-
-
-    /**
-     * 部门
-     */
-    @Excel(name = "部门", width = 20)
-    @ApiModelProperty(value = "部门")
-    private String orgName;
-
-    private List<StaffRight> staffRightList;
-
-    private List<StaffPurview> staffPurviewList;
-
-
-
-    private static final long serialVersionUID = 1L;
-
-}

+ 23 - 0
src/main/java/com/dk/mdm/service/mst/FreezeItemService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.mdm.model.pojo.mst.FreezeItem;
+import com.dk.mdm.mapper.mst.FreezeItemMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class FreezeItemService extends BaseService<FreezeItem> {
+
+	@Override
+	public BaseMapper<FreezeItem> getRepository() {
+		return freezeItemMapper;
+	}
+
+	@Autowired
+	private FreezeItemMapper freezeItemMapper;
+
+}

+ 23 - 0
src/main/java/com/dk/mdm/service/mst/FreezeService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.mdm.model.pojo.mst.Freeze;
+import com.dk.mdm.mapper.mst.FreezeMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class FreezeService extends BaseService<Freeze> {
+
+	@Override
+	public BaseMapper<Freeze> getRepository() {
+		return freezeMapper;
+	}
+
+	@Autowired
+	private FreezeMapper freezeMapper;
+
+}

+ 0 - 1
src/main/java/com/dk/mdm/service/mst/RoleService.java

@@ -16,7 +16,6 @@ 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;

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

@@ -2,11 +2,11 @@ package com.dk.mdm.service.mst;
 
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.mst.StaffPurview;
+import com.dk.common.model.pojo.mst.StaffPurview;
 import com.dk.mdm.mapper.mst.StaffPurviewMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.pojo.mst.StaffRight;
+import com.dk.common.model.pojo.mst.StaffRight;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;

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

@@ -2,8 +2,7 @@ package com.dk.mdm.service.mst;
 
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
-import com.dk.mdm.model.pojo.mst.RoleFun;
-import com.dk.mdm.model.pojo.mst.StaffRight;
+import com.dk.common.model.pojo.mst.StaffRight;
 import com.dk.mdm.mapper.mst.StaffRightMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;

+ 3 - 1
src/main/java/com/dk/mdm/service/mst/StaffService.java

@@ -3,6 +3,8 @@ 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.model.pojo.mst.StaffPurview;
+import com.dk.common.model.pojo.mst.StaffRight;
 import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
@@ -15,7 +17,7 @@ import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.query.mst.StaffQuery;
 import com.dk.common.model.response.mst.StaffResponse;
-import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.common.model.vo.mst.StaffVO;
 import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 12
src/main/java/com/dk/mdm/service/mst/SupplierService.java

@@ -1,23 +1,16 @@
 package com.dk.mdm.service.mst;
 
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 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;
-import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
 import com.dk.mdm.infrastructure.convert.mst.SupplierConvert;
-import com.dk.mdm.model.pojo.mst.Org;
-import com.dk.mdm.model.pojo.mst.Staff;
 import com.dk.mdm.model.pojo.mst.Supplier;
 import com.dk.mdm.mapper.mst.SupplierMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.query.mst.OrgQuery;
 import com.dk.mdm.model.query.mst.SupplierQuery;
-import com.dk.mdm.model.vo.mst.OrgVO;
-import com.dk.mdm.model.vo.mst.StaffVO;
 import com.dk.mdm.model.vo.mst.SupplierVo;
 import com.dk.mdm.service.common.CommonService;
 import org.springframework.stereotype.Service;
@@ -25,14 +18,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.sql.CallableStatement;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 
 @Service
 @Transactional

+ 0 - 8
src/main/java/com/dk/mdm/service/pur/PurchaseService.java

@@ -9,12 +9,10 @@ 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.controller.ivt.InboundController;
 import com.dk.mdm.infrastructure.convert.pur.PurChaseConvert;
 import com.dk.mdm.infrastructure.convert.pur.PurChaseItemConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.pur.PurchaseItemMapper;
-import com.dk.mdm.model.pojo.mst.Staff;
 import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.mdm.mapper.pur.PurchaseMapper;
 import com.dk.common.service.BaseService;
@@ -26,21 +24,15 @@ import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
 import com.dk.mdm.model.vo.ivt.InboundItemVO;
 import com.dk.mdm.model.vo.ivt.InboundVO;
-import com.dk.mdm.model.vo.mst.StaffVO;
 import com.dk.mdm.model.vo.pur.PurchaseItemVO;
 import com.dk.mdm.model.vo.pur.PurchaseVO;
 import com.dk.mdm.service.common.CommonService;
 import com.dk.mdm.service.ivt.InboundItemService;
 import com.dk.mdm.service.ivt.InboundService;
-import com.sun.xml.internal.bind.v2.TODO;
-import io.micrometer.shaded.org.pcollections.PSet;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
 
-import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.ArrayList;

+ 46 - 30
src/main/java/com/dk/mdm/service/sale/OutReturnService.java

@@ -149,9 +149,13 @@ public class OutReturnService extends BaseService<OutReturn> {
         if (outReturnVO.getItemList() != null && outReturnVO.getItemList().size() > 0) {
             OrderItem orderItemForUpdate;
             OutboundItem outboundItemForUpdate;
-            String outId = "";
+            // 出库IdList,一个退货单可能有多个出库单
+            List<String> outIdList = new ArrayList<>();
             for (OutReturnItemVO outReturnItemVO : outReturnVO.getItemList()) {
-                outId = outReturnItemVO.getOutId();
+                // 把出库Id存起来
+                if (!outIdList.contains(outReturnItemVO.getOutId())) {
+                    outIdList.add(outReturnItemVO.getOutId());
+                }
                 OutReturnItem outReturnItem = outReturnItemConvert.convertToPo(outReturnItemVO);
                 outReturnItem.setReturnId(outReturn.getReturnId()).setCpId(outReturn.getCpId()).setIntoStatus(Constant.IntoStatus.DAIRUKU.getName());
                 outReturnItemMapper.insert(outReturnItem);
@@ -184,18 +188,21 @@ public class OutReturnService extends BaseService<OutReturn> {
                 /*********************  反写订单明细退货数量、金额 end **********************/
             }
 
-            // 计算出库明细的退货数量,金额合计
-            List<OutboundItem> outboundItemList = outboundItemMapper.selectByZIdForUpdate(outId);
-            OutboundItem outboundItem = outboundItemList.stream().reduce((x, y) -> {
-                OutboundItem item = new OutboundItem();
-                item.setReturnQty(x.getReturnQty().add(y.getReturnQty()));
-                item.setReturnAmt(x.getReturnAmt().add(y.getReturnAmt()));
-                return item;
-            }).get();
-            // 更新出库单上的退货数量,金额
-            Outbound outboundUpdate = new Outbound();
-            outboundUpdate.setReturnQty(outboundItem.getReturnQty()).setReturnAmt(outboundItem.getReturnAmt()).setOutId(outId);
-            outboundService.updateByUuid(outboundUpdate);
+            // 可能有多个出库单,所以要循环更新总单
+            for (String outId : outIdList) {
+                // 计算出库明细的退货数量,金额合计
+                List<OutboundItem> outboundItemList = outboundItemMapper.selectByZIdForUpdate(outId);
+                OutboundItem outboundItem = outboundItemList.stream().reduce((x, y) -> {
+                    OutboundItem item = new OutboundItem();
+                    item.setReturnQty(x.getReturnQty().add(y.getReturnQty()));
+                    item.setReturnAmt(x.getReturnAmt().add(y.getReturnAmt()));
+                    return item;
+                }).get();
+                // 更新出库单上的退货数量,金额
+                Outbound outboundUpdate = new Outbound();
+                outboundUpdate.setReturnQty(outboundItem.getReturnQty()).setReturnAmt(outboundItem.getReturnAmt()).setOutId(outId);
+                outboundService.updateByUuid(outboundUpdate);
+            }
 
             // 计算订单明细的退货数量,金额合计
             List<OrderItem> orderItemList = orderItemMapper.selectByZIdForUpdate(outReturnVO.getOrderId());
@@ -326,21 +333,27 @@ public class OutReturnService extends BaseService<OutReturn> {
         List<OutReturnItem> outReturnItemList = outReturnItemMapper.selectByZIdForUpdate(id);
         OutboundItem outboundItemForUpdate;
         OrderItem orderItemForUpdate;
-        String outId = "";
         String orderId = "";
+
+        // 出库IdList,一个退货单可能有多个出库单
+        List<String> outIdList = new ArrayList<>();
         for (OutReturnItem outReturnItemForUpdate : outReturnItemList) {
-            outId = outReturnItemForUpdate.getOutId();
+            // 把出库Id存起来
+            if (!outIdList.contains(outReturnItemForUpdate.getOutId())) {
+                outIdList.add(outReturnItemForUpdate.getOutId());
+            }
             orderId = outReturnItemForUpdate.getOrderId();
-            outboundItemForUpdate = outboundItemMapper.selectByIdForUpdate(outReturnItemForUpdate.getOutItemId());
+
             // 更新出库明细退货数量
+            outboundItemForUpdate = outboundItemMapper.selectByIdForUpdate(outReturnItemForUpdate.getOutItemId());
             OutboundItem outboundItemUpdate = new OutboundItem();
             outboundItemUpdate.setReturnQty(outboundItemForUpdate.getReturnQty().subtract(outReturnItemForUpdate.getItemQty()))
                     .setReturnAmt(outboundItemForUpdate.getReturnAmt().subtract(outReturnItemForUpdate.getItemAmt()))
                     .setItemId(outboundItemForUpdate.getItemId());
             outboundItemService.updateByUuid(outboundItemUpdate);
 
-            orderItemForUpdate = orderItemMapper.selectByIdForUpdate(outReturnItemForUpdate.getOrderItemId());
             // 更新订单明细退货数量
+            orderItemForUpdate = orderItemMapper.selectByIdForUpdate(outReturnItemForUpdate.getOrderItemId());
             OrderItem orderItemUpdate = new OrderItem();
             orderItemUpdate.setReturnQty(orderItemForUpdate.getReturnQty().subtract(outReturnItemForUpdate.getItemQty()))
                     .setReturnAmt(orderItemForUpdate.getReturnAmt().subtract(outReturnItemForUpdate.getItemAmt()))
@@ -348,18 +361,21 @@ public class OutReturnService extends BaseService<OutReturn> {
             orderItemService.updateByUuid(orderItemUpdate);
         }
 
-        // 计算出库明细的退货数量,金额合计
-        List<OutboundItem> outboundItemList = outboundItemMapper.selectByZIdForUpdate(outId);
-        OutboundItem outboundItem = outboundItemList.stream().reduce((x, y) -> {
-            OutboundItem item = new OutboundItem();
-            item.setReturnQty(x.getReturnQty().add(y.getReturnQty()));
-            item.setReturnAmt(x.getReturnAmt().add(y.getReturnAmt()));
-            return item;
-        }).get();
-        // 更新出库单上的退货数量,金额
-        Outbound outboundUpdate = new Outbound();
-        outboundUpdate.setReturnQty(outboundItem.getReturnQty()).setReturnAmt(outboundItem.getReturnAmt()).setOutId(outId);
-        outboundService.updateByUuid(outboundUpdate);
+        // 可能有多个出库单,所以要循环更新总单
+        for (String outId : outIdList) {
+            // 计算出库明细的退货数量,金额合计
+            List<OutboundItem> outboundItemList = outboundItemMapper.selectByZIdForUpdate(outId);
+            OutboundItem outboundItem = outboundItemList.stream().reduce((x, y) -> {
+                OutboundItem item = new OutboundItem();
+                item.setReturnQty(x.getReturnQty().add(y.getReturnQty()));
+                item.setReturnAmt(x.getReturnAmt().add(y.getReturnAmt()));
+                return item;
+            }).get();
+            // 更新出库单上的退货数量,金额
+            Outbound outboundUpdate = new Outbound();
+            outboundUpdate.setReturnQty(outboundItem.getReturnQty()).setReturnAmt(outboundItem.getReturnAmt()).setOutId(outId);
+            outboundService.updateByUuid(outboundUpdate);
+        }
 
         // 计算订单明细的退货数量,金额合计
         List<OrderItem> orderItemList = orderItemMapper.selectByZIdForUpdate(orderId);