Переглянути джерело

Merge remote-tracking branch 'origin/master'

dongke 2 роки тому
батько
коміт
0c54668a82
21 змінених файлів з 1670 додано та 48 видалено
  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. 13 0
      src/main/java/com/dk/mdm/controller/mst/OrgController.java
  4. 6 2
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  5. 7 19
      src/main/java/com/dk/mdm/mapper/mst/CusFollowMapper.xml
  6. 14 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.java
  7. 177 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeItemMapper.xml
  8. 14 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.java
  9. 195 0
      src/main/java/com/dk/mdm/mapper/mst/FreezeMapper.xml
  10. 1 6
      src/main/java/com/dk/mdm/model/pojo/mst/CusFollow.java
  11. 211 0
      src/main/java/com/dk/mdm/model/pojo/mst/FreezeItem.java
  12. 0 6
      src/main/java/com/dk/mdm/model/query/mst/CusFollowQuery.java
  13. 209 0
      src/main/java/com/dk/mdm/model/query/mst/FreezeItemQuery.java
  14. 240 0
      src/main/java/com/dk/mdm/model/query/mst/FreezeQuery.java
  15. 2 8
      src/main/java/com/dk/mdm/model/response/mst/CusFollowResponse.java
  16. 209 0
      src/main/java/com/dk/mdm/model/response/mst/FreezeItemResponse.java
  17. 240 0
      src/main/java/com/dk/mdm/model/response/mst/FreezeResponse.java
  18. 0 7
      src/main/java/com/dk/mdm/model/vo/mst/CusFollowVO.java
  19. 23 0
      src/main/java/com/dk/mdm/service/mst/FreezeItemService.java
  20. 23 0
      src/main/java/com/dk/mdm/service/mst/FreezeService.java
  21. 38 0
      src/main/java/com/dk/mdm/service/mst/OrgService.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;
+
+}

+ 13 - 0
src/main/java/com/dk/mdm/controller/mst/OrgController.java

@@ -47,6 +47,19 @@ public class OrgController{
         return orgService.insert(orgVO);
     }
 
+
+    /**
+     * @desc   : 新建组织部门--注册顶级部门
+     * @author : 姜永辉
+     * @date   : 2024/2/27 9:13
+     */
+    @ApiOperation( value = "新建组织部门", notes = "新建组织部门" )
+    @PostMapping({"insert_feign_org"})
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseResultVO<?> insertFeignOrg(@RequestBody OrgVO orgVO) {
+        return orgService.insertFeignOrg(orgVO);
+    }
+
     /**
      * @desc   : 通过ID查询
      * @author : 宋扬

+ 6 - 2
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -598,11 +598,13 @@
         select tms.sup_code       as "supplierCode",
         tms.sup_name              as "supplierName",
         tms.sup_id                as "supplierId",
-        tms.sup_type              as "supplierType",
+        sys.f_get_name_i18n(tdk.kind_name_i18n,'zh_CN' ) AS  "supplierType",
         tms.contact_name          as "contactName",
         tms.contact_phone         as "contactPhone",
         tms.flg_valid             as "flgValid"
         from dkic_b.t_mst_supplier tms
+        LEFT JOIN sys.t_data_kind tdk
+        ON tdk.kind_code = tms.sup_type
         where tms.cp_id = #{cpId}
         <if test="supplierName!=null and supplierName!=''">
             AND tms.sup_name LIKE concat('%',my_ex.likequery(#{supplierName}),'%')
@@ -611,7 +613,7 @@
             AND tms.sup_code LIKE concat('%',my_ex.likequery(#{supplierCode}),'%')
         </if>
         <if test="supplierType!=null and supplierType!=''">
-            AND tms.sup_type LIKE concat('%',my_ex.likequery(#{supplierType}),'%')
+            AND tms.sup_type = #{supplierType}
         </if>
         order by tms.sup_code
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
@@ -626,6 +628,8 @@
     <select id="countSupplier" resultType="java.lang.Long">
         select count(1)
         from dkic_b.t_mst_supplier tms
+        LEFT JOIN sys.t_data_kind tdk
+        ON tdk.kind_code = tms.sup_type
         where tms.cp_id = #{cpId}
         <if test="supplierName!=null and supplierName!=''">
             AND tms.sup_name LIKE concat('%',my_ex.likequery(#{supplierName}),'%')

+ 7 - 19
src/main/java/com/dk/mdm/mapper/mst/CusFollowMapper.xml

@@ -5,10 +5,10 @@
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
-        follow_id, cus_id, follow_status, follow_type, follow_org, follow_staff, follow_time, follow_data, follow_time_len, stay_time_len, intention, invite_result, invite_time, design_staff, next_follow_plan, next_follow_time, annex_paths, measure_status, 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
+        follow_id, cus_id, follow_status, follow_org, follow_staff, follow_time, follow_data, follow_time_len, stay_time_len, intention, invite_result, invite_time, design_staff, next_follow_plan, next_follow_time, annex_paths, measure_status, 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_Join">
-        tccf.follow_id, tccf.cus_id, tccf.follow_status, tccf.follow_type, tccf.follow_org, tccf.follow_staff, tccf.follow_time, tccf.follow_data,
+        tccf.follow_id, tccf.cus_id, tccf.follow_status,  tccf.follow_org, tccf.follow_staff, tccf.follow_time, tccf.follow_data,
                  tccf.follow_time_len, tccf.stay_time_len, tccf.intention, tccf.invite_result, tccf.invite_time, tccf.design_staff,
                  tccf.next_follow_plan, tccf.next_follow_time,tccf.annex_paths, tccf.measure_status, tccf.remarks, tccf.flg_valid,
                  tccf.cp_id
@@ -18,7 +18,6 @@
         <id column="follow_id" property="followId"/>
                 <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
                 <result column="follow_status" property="followStatus"/>
-                <result column="follow_type" property="followType"/>
                 <result column="follow_org" property="followOrg" typeHandler="UuidTypeHandler"/>
                 <result column="follow_staff" property="followStaff" typeHandler="UuidTypeHandler"/>
             <result column="follow_time" property="followTime" typeHandler="TimestampTypeHandler"/>
@@ -48,7 +47,6 @@
         <id column="follow_id" property="followId"/>
         <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
         <result column="follow_status" property="followStatus"/>
-        <result column="follow_type" property="followType"/>
         <result column="follow_org" property="followOrg" typeHandler="UuidTypeHandler"/>
         <result column="follow_staff" property="followStaff" typeHandler="UuidTypeHandler"/>
         <result column="follow_time" property="followTime" typeHandler="TimestampTypeHandler"/>
@@ -75,7 +73,6 @@
         <result column="follow_staff_name" property="followStaffName"/>
         <result column="create_time" property="createTime"  typeHandler="TimestampTypeHandler"/>
         <result column="follow_status_name" property="followStatusName"/>
-        <result column="follow_type_name" property="followTypeName"/>
     </resultMap>
 
     <!-- 通用条件列 -->
@@ -87,9 +84,7 @@
             <if test="followStatus != null and followStatus != ''">
                 AND follow_status = #{followStatus}
             </if>
-            <if test="followType != null and followType != ''">
-                AND follow_type = #{followType}
-            </if>
+
             <if test="followOrg != null and followOrg != ''">
                 AND follow_org = #{followOrg}
             </if>
@@ -173,9 +168,7 @@
             <if test="followStatus != null and followStatus != ''">
                 AND tccf.follow_status = #{followStatus}
             </if>
-            <if test="followType != null and followType != ''">
-                AND tccf.follow_type = #{followType}
-            </if>
+      
             <if test="followOrg != null and followOrg != ''">
                 AND tccf.follow_org = #{followOrg}
             </if>
@@ -249,14 +242,12 @@
         tmo.org_name  AS  "orgName",
         tms.staff_name  AS  "staffName",
         tmc.follow_count AS follow_count,
-        tdk1.kind_name_i18n  ->> 'zh_CN' AS "follow_status_name",
-        tdk2.kind_name_i18n  ->> 'zh_CN' AS "follow_type_name"
+        tdk1.kind_name_i18n  ->> 'zh_CN' AS "follow_status_name"
         FROM dkic_b.t_crm_cus_follow tccf
         LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = tccf.cus_id
         LEFT JOIN dkic_b.t_mst_org tmo on tmo.org_id = tccf.follow_org
         LEFT JOIN dkic_b.t_mst_staff tms on tms.staff_id = tccf.follow_staff
         LEFT JOIN  sys.t_data_kind tdk1  on tdk1.kind_code =  tccf.follow_status
-        LEFT JOIN  sys.t_data_kind tdk2  on tdk2.kind_code =  tccf.follow_type
         <include refid="Condition_Join"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
@@ -275,15 +266,14 @@
         tmc.follow_count AS follow_count,
         tms.staff_name AS follow_staff_name,
         tccf.op_create_time AS create_time,
-        tdk1.kind_name_i18n  ->> 'zh_CN' AS "follow_status_name",
-        tdk2.kind_name_i18n  ->> 'zh_CN' AS "follow_type_name"
+        tdk1.kind_name_i18n  ->> 'zh_CN' AS "follow_status_name"
         FROM dkic_b.t_crm_cus_follow tccf
         LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = tccf.cus_id
         LEFT JOIN dkic_b.t_mst_org tmo on tmo.org_id = tccf.follow_org
         LEFT JOIN dkic_b.t_mst_staff tms on tms.staff_id = tccf.follow_staff
 
         LEFT JOIN  sys.t_data_kind tdk1  on tdk1.kind_code =  tccf.follow_status
-        LEFT JOIN  sys.t_data_kind tdk2  on tdk2.kind_code =  tccf.follow_type
+
         <include refid="Condition_Join"/>
 
     </select>
@@ -328,7 +318,6 @@
         <trim suffixOverrides=",">
             cus_id,
             follow_status,
-            follow_type,
             follow_org,
             follow_staff,
             follow_time,
@@ -354,7 +343,6 @@
             <trim suffixOverrides=",">
                 #{item.cusId}::uuid,
                 #{item.followStatus},
-                #{item.followType},
                 #{item.followOrg}::uuid,
                 #{item.followStaff}::uuid,
                 #{item.followTime},

+ 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 - 6
src/main/java/com/dk/mdm/model/pojo/mst/CusFollow.java

@@ -61,12 +61,7 @@ public class CusFollow   implements Serializable {
     private String followStatus;
 
 
-    /**
-     * 跟进方式 (【系统字典】电话、微信、上门、进店)
-     */
-    @Excel(name = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    @ApiModelProperty(value = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    private String followType;
+
 
 
     /**

+ 211 - 0
src/main/java/com/dk/mdm/model/pojo/mst/FreezeItem.java

@@ -0,0 +1,211 @@
+package com.dk.mdm.model.pojo.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.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+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_psi_freeze_item", autoResultMap = true)
+@ApiModel(value="实体类:冻结单明细", description="表名:t_psi_freeze_item")
+public class FreezeItem extends PageInfo<FreezeItem> 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;
+
+}

+ 0 - 6
src/main/java/com/dk/mdm/model/query/mst/CusFollowQuery.java

@@ -64,12 +64,6 @@ public class CusFollowQuery extends PageInfo<CusFollowQuery> implements Serializ
     private String followStatus;
 
 
-    /**
-     * 跟进方式 (【系统字典】电话、微信、上门、进店)
-     */
-    @Excel(name = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    @ApiModelProperty(value = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    private String followType;
 
 
     /**

+ 209 - 0
src/main/java/com/dk/mdm/model/query/mst/FreezeItemQuery.java

@@ -0,0 +1,209 @@
+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_item", autoResultMap = true)
+@ApiModel(value="实体类:冻结单明细", description="表名:t_psi_freeze_item")
+public class FreezeItemQuery extends PageInfo<FreezeItemQuery> 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/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;
+
+}

+ 2 - 8
src/main/java/com/dk/mdm/model/response/mst/CusFollowResponse.java

@@ -62,12 +62,7 @@ public class CusFollowResponse implements Serializable {
     private String followStatus;
 
 
-    /**
-     * 跟进方式 (【系统字典】电话、微信、上门、进店)
-     */
-    @Excel(name = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    @ApiModelProperty(value = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    private String followType;
+
 
 
     /**
@@ -245,8 +240,7 @@ public class CusFollowResponse implements Serializable {
     @ApiModelProperty(value = "跟进状态 (【系统字典】陌生接待、留资接待(报备)、跟进、邀约、约尺)")
     private String followStatusName;
 
-    @ApiModelProperty(value = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    private String followTypeName;
+
 
 
     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 - 7
src/main/java/com/dk/mdm/model/vo/mst/CusFollowVO.java

@@ -61,13 +61,6 @@ public class CusFollowVO implements Serializable {
     private String followStatus;
 
 
-    /**
-     * 跟进方式 (【系统字典】电话、微信、上门、进店)
-     */
-    @Excel(name = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    @ApiModelProperty(value = "跟进方式 (【系统字典】电话、微信、上门、进店)")
-    private String followType;
-
 
     /**
      * 跟进部门

+ 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;
+
+}

+ 38 - 0
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -92,4 +92,42 @@ public class OrgService extends BaseService<Org> {
         //        return result == 1 ? ResponseResultUtil.success(organization) :
 //                ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
     }
+
+    /**
+     * @desc : 新建组织机构
+     * @author : 王英杰
+     * @date : 2024/2/27 9:17
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insertFeignOrg(OrgVO orgVO) {
+        // 转化实体
+        Org organization = orgConvert.convertToPo(orgVO);
+        // 获取显示顺序
+//        Integer displayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG);
+        Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
+        // 获取编码和主键UuId
+        organization.setDisplayNo(0);
+        organization.setOrgId(codeMap.get("outId").toString());
+//        organization.setOrgCode(codeMap.get("outNote").toString());
+
+        //查询 本次要加的 部门的 父级下 最大的DisplayNo  然后加1  就是现在要加的DisplayNo
+        Map<String, Object> param = new HashMap<>();
+        param.put("otherCond", "parent_id = #{parentID} ::uuid");
+        organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG ,param));
+        if (organization.getParentId() != null) {
+            //插入TOPid
+            organization.setTopId(organization.getParentId());
+        }
+
+
+        // 插入组织部门数据
+        super.insert(organization);
+        //执行函数
+        orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
+        return ResponseResultUtil.success();
+        //        return result == 1 ? ResponseResultUtil.success(organization) :
+//                ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
+    }
 }