Просмотр исходного кода

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

zhoux 2 лет назад
Родитель
Сommit
7f5a43219c
32 измененных файлов с 3156 добавлено и 30 удалено
  1. 24 0
      src/main/java/com/dk/mdm/controller/ivt/InboundItemController.java
  2. 42 0
      src/main/java/com/dk/mdm/controller/mst/MoneyAccountController.java
  3. 11 0
      src/main/java/com/dk/mdm/controller/mst/StaffController.java
  4. 38 1
      src/main/java/com/dk/mdm/controller/mst/StaffPurviewController.java
  5. 33 12
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  6. 14 0
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.java
  7. 267 0
      src/main/java/com/dk/mdm/mapper/ivt/InboundItemMapper.xml
  8. 32 0
      src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.java
  9. 177 0
      src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.xml
  10. 16 1
      src/main/java/com/dk/mdm/mapper/mst/StaffPurviewMapper.java
  11. 45 2
      src/main/java/com/dk/mdm/mapper/mst/StaffPurviewMapper.xml
  12. 127 5
      src/main/java/com/dk/mdm/mapper/pur/PurchaseItemMapper.xml
  13. 1 1
      src/main/java/com/dk/mdm/mapper/wxapi/basic/WxCommonMapper.xml
  14. 332 0
      src/main/java/com/dk/mdm/model/pojo/ivt/InboundItem.java
  15. 208 0
      src/main/java/com/dk/mdm/model/pojo/mst/MoneyAccount.java
  16. 1 1
      src/main/java/com/dk/mdm/model/pojo/mst/StaffPurview.java
  17. 333 0
      src/main/java/com/dk/mdm/model/query/ivt/InboundItemQuery.java
  18. 209 0
      src/main/java/com/dk/mdm/model/query/mst/MoneyAccountQuery.java
  19. 333 0
      src/main/java/com/dk/mdm/model/response/ivt/InboundItemResponse.java
  20. 209 0
      src/main/java/com/dk/mdm/model/response/mst/MoneyAccountResponse.java
  21. 20 0
      src/main/java/com/dk/mdm/model/response/pur/PurchaseItemResponse.java
  22. 333 0
      src/main/java/com/dk/mdm/model/vo/ivt/InboundItemVO.java
  23. 209 0
      src/main/java/com/dk/mdm/model/vo/mst/MoneyAccountVO.java
  24. 3 0
      src/main/java/com/dk/mdm/model/vo/mst/StaffVO.java
  25. 23 0
      src/main/java/com/dk/mdm/service/ivt/InboundItemService.java
  26. 51 0
      src/main/java/com/dk/mdm/service/mst/MoneyAccountService.java
  27. 36 0
      src/main/java/com/dk/mdm/service/mst/StaffPurviewService.java
  28. 2 2
      src/main/java/com/dk/mdm/service/mst/StaffRightService.java
  29. 23 4
      src/main/java/com/dk/mdm/service/mst/StaffService.java
  30. 2 1
      src/main/resources/dev/bootstrap.yml
  31. 1 0
      src/main/resources/st/bootstrap.yml
  32. 1 0
      src/main/resources/test/bootstrap.yml

+ 24 - 0
src/main/java/com/dk/mdm/controller/ivt/InboundItemController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.ivt;
+
+import com.dk.mdm.model.pojo.ivt.InboundItem;
+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.ivt.InboundItemService;
+
+@Api(tags = "入库明细API接口")
+@RestController
+@RequestMapping("/inboundItem")
+public class InboundItemController{
+
+    public BaseService<InboundItem> getService() {
+        return inboundItemService;
+    }
+
+    @Autowired
+    private InboundItemService inboundItemService;
+
+}

+ 42 - 0
src/main/java/com/dk/mdm/controller/mst/MoneyAccountController.java

@@ -0,0 +1,42 @@
+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.MoneyAccount;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import com.dk.mdm.model.query.mst.MoneyAccountQuery;
+import com.dk.mdm.model.response.mst.MoneyAccountResponse;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.MoneyAccountService;
+
+@Api(tags = "资金账户API接口")
+@RestController
+@RequestMapping("/mst/moneyAccount")
+public class MoneyAccountController{
+
+    public BaseService<MoneyAccount> getService() {
+        return moneyAccountService;
+    }
+
+    @Autowired
+    private MoneyAccountService moneyAccountService;
+
+    /**
+     * @desc : 条件查询
+     * @author : songy
+     * @date : 2023/2/29 10:36
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"list_by"})
+    public ResponseResultVO<PageList<MoneyAccountResponse>> selectByCond(@RequestBody MoneyAccountQuery moneyAccountQuery) {
+        return moneyAccountService.selectByCond(moneyAccountQuery);
+    }
+
+}

+ 11 - 0
src/main/java/com/dk/mdm/controller/mst/StaffController.java

@@ -70,6 +70,17 @@ public class StaffController{
         return staffService.saveStaffRight(staffVO);
     }
 
+    /**
+     * @desc : 新建员工--权限
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建员工--权限", notes = "新建员工--权限")
+    @PostMapping({"save_staff_preview"})
+    public ResponseResultVO<?> saveStaffPurview(@RequestBody StaffVO staffVO) {
+        return staffService.saveStaffPurview(staffVO);
+    }
+
 
     /**
      * @desc : 新建员工

+ 38 - 1
src/main/java/com/dk/mdm/controller/mst/StaffPurviewController.java

@@ -1,14 +1,22 @@
 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.service.BaseService;
+import com.dk.mdm.model.vo.mst.StaffVO;
+import com.dk.mdm.service.mst.StaffService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 import io.swagger.annotations.Api;
 import com.dk.mdm.service.mst.StaffPurviewService;
 
+import java.util.Map;
+
 /**
  * @desc   : 员工数据范围API接口
  * @author : 姜永辉
@@ -16,7 +24,7 @@ import com.dk.mdm.service.mst.StaffPurviewService;
  */
 @Api(tags = "员工数据范围API接口")
 @RestController
-@RequestMapping("/mst/staffPurview")
+@RequestMapping("/mst/staff_purview")
 public class StaffPurviewController{
 
     public BaseService<StaffPurview> getService() {
@@ -26,4 +34,33 @@ public class StaffPurviewController{
     @Autowired
     private StaffPurviewService staffPurviewService;
 
+    @Autowired
+    private StaffService staffService;
+
+
+    /**
+     * @desc : 员工数据范围
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    @ApiOperation(
+            value = "获取员工权限",
+            notes = "获取员工权限"
+    )
+    @PostMapping("get_staff_purview")
+    public ResponseResultVO<Map<String, Object>> getStaffPurview(@RequestBody Map<String, Object> param) {
+        return staffPurviewService.getStaffPurview(param);
+    }
+
+    /**
+     * @desc : 新建员工--员工数据范围
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:48
+     */
+    @ApiOperation(value = "新建员工--权限", notes = "新建员工--权限")
+    @PostMapping({"save_staff_purview"})
+    public ResponseResultVO<?> saveStaffPurview(@RequestBody StaffVO staffVO) {
+        return staffService.saveStaffPurview(staffVO);
+    }
+
 }

+ 33 - 12
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -2766,17 +2766,38 @@
 
     <!-- 获取商品 -->
     <select id="getGoods" resultType="java.util.Map">
-        select sku_id    as "skuId",
-               sku_code  as "skuCode",
-               sku_name  as "skuName",
-               sku_model as "skuModel"
-        from dkic_b.t_mst_goods_sku
-        where flg_valid
+        select tmgs.sku_id            as "skuId",
+               tmgs.sku_code          as "skuCode",
+               tmgs.sku_name          as "skuName",
+               tmgs.sku_model         as "skuModel",
+               tmgs.brand_id          as "brandId",
+               tmgb.brand_name        as "brandName",
+               tmgs.category_id       as "categoryId",
+               tmgc.cat_name          as "categoryName",
+               tmgs.unit_id           as "unitId",
+               tmgu.unit_name         as "unitName",
+               tmgs.sub_unit_id       as "subUnitId",
+               tmgs.conversion_factor as "conversionFactor",
+               tmgs.series_id         as "seriesId",
+               tmgseries.series_name  as "seriesName",
+               tmgs.sku_spec          as "skuSpec",
+               tmgs.price_purchase    as "pricePurchase",
+               tmgs.price_standard    as "priceStandard",
+               tmgs.price_wholesale   as "priceWholesale",
+               tmgs.price_limited     as "priceLimited",
+               tmgs.sku_images        as "skuImages",
+               tmgs.remarks
+        from dkic_b.t_mst_goods_sku as tmgs
+                 left join dkic_b.t_mst_goods_brand as tmgb on tmgs.brand_id = tmgb.brand_id
+                 left join dkic_b.t_mst_goods_category as tmgc on tmgs.category_id = tmgc.cat_id
+                 left join dkic_b.t_mst_goods_series as tmgseries on tmgs.series_id = tmgseries.series_id
+                 left join dkic_b.t_mst_unit as tmgu on tmgs.unit_id = tmgu.unit_id
+        where tmgs.flg_valid
         <if test="skuCode != null">
-            AND sku_code = #{skuCode}
+            AND tmgs.sku_code = #{skuCode}
         </if>
         <if test="skuName != null">
-            AND sku_name != #{skuName}
+            AND tmgs.sku_name != #{skuName}
         </if>
     </select>
 
@@ -2784,13 +2805,13 @@
     <select id="getGoodsCountByPage" resultType="Long">
         SELECT
         count(1)
-        from dkic_b.t_mst_goods_sku
-        where flg_valid
+        from dkic_b.t_mst_goods_sku as tmgs
+        where tmgs.flg_valid
         <if test="skuCode != null">
-            AND sku_code = #{skuCode}
+            AND tmgs.sku_code = #{skuCode}
         </if>
         <if test="skuName != null">
-            AND sku_name != #{skuName}
+            AND tmgs.sku_name != #{skuName}
         </if>
     </select>
 </mapper>

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

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.ivt;
+
+import com.dk.mdm.model.pojo.ivt.InboundItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  入库明细 Mapper
+*/
+@Repository
+public interface InboundItemMapper extends BaseMapper<InboundItem>{
+	
+}
+

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

@@ -0,0 +1,267 @@
+<?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.ivt.InboundItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, into_id, into_type, from_id, from_item_id, item_index, sku_id, item_qty, price_into, item_amt, non_std_code, into_status, intoing_qty, intoing_amt, into_qty, into_amt, return_qty, return_amt, remarks, inv_id, cost_price, cost_amt, out_qty, inv_qty, 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.mdm.model.pojo.ivt.InboundItem">
+        <id column="item_id" property="itemId"/>
+                <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
+                <result column="into_type" property="intoType"/>
+                <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+                <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
+                <result column="item_index" property="itemIndex"/>
+                <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+                <result column="item_qty" property="itemQty"/>
+                <result column="price_into" property="priceInto"/>
+                <result column="item_amt" property="itemAmt"/>
+                <result column="non_std_code" property="nonStdCode"/>
+                <result column="into_status" property="intoStatus"/>
+                <result column="intoing_qty" property="intoingQty"/>
+                <result column="intoing_amt" property="intoingAmt"/>
+                <result column="into_qty" property="intoQty"/>
+                <result column="into_amt" property="intoAmt"/>
+                <result column="return_qty" property="returnQty"/>
+                <result column="return_amt" property="returnAmt"/>
+                <result column="remarks" property="remarks"/>
+                <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+                <result column="cost_price" property="costPrice"/>
+                <result column="cost_amt" property="costAmt"/>
+                <result column="out_qty" property="outQty"/>
+                <result column="inv_qty" property="invQty"/>
+                <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="intoId != null and intoId != ''">
+                AND into_id = #{intoId}
+            </if>
+            <if test="intoType != null and intoType != ''">
+                AND into_type = #{intoType}
+            </if>
+            <if test="fromId != null and fromId != ''">
+                AND from_id = #{fromId}
+            </if>
+            <if test="fromItemId != null and fromItemId != ''">
+                AND from_item_id = #{fromItemId}
+            </if>
+            <if test="itemIndex != null">
+                AND item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND sku_id = #{skuId}
+            </if>
+            <if test="itemQty != null">
+                AND item_qty = #{itemQty}
+            </if>
+            <if test="priceInto != null">
+                AND price_into = #{priceInto}
+            </if>
+            <if test="itemAmt != null">
+                AND item_amt = #{itemAmt}
+            </if>
+            <if test="nonStdCode != null and nonStdCode != ''">
+                AND non_std_code = #{nonStdCode}
+            </if>
+            <if test="intoStatus != null and intoStatus != ''">
+                AND into_status = #{intoStatus}
+            </if>
+            <if test="intoingQty != null">
+                AND intoing_qty = #{intoingQty}
+            </if>
+            <if test="intoingAmt != null">
+                AND intoing_amt = #{intoingAmt}
+            </if>
+            <if test="intoQty != null">
+                AND into_qty = #{intoQty}
+            </if>
+            <if test="intoAmt != null">
+                AND into_amt = #{intoAmt}
+            </if>
+            <if test="returnQty != null">
+                AND return_qty = #{returnQty}
+            </if>
+            <if test="returnAmt != null">
+                AND return_amt = #{returnAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="invId != null and invId != ''">
+                AND inv_id = #{invId}
+            </if>
+            <if test="costPrice != null">
+                AND cost_price = #{costPrice}
+            </if>
+            <if test="costAmt != null">
+                AND cost_amt = #{costAmt}
+            </if>
+            <if test="outQty != null">
+                AND out_qty = #{outQty}
+            </if>
+            <if test="invQty != null">
+                AND inv_qty = #{invQty}
+            </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_inbound_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_inbound_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_inbound_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_psi_inbound_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_psi_inbound_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_inbound_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_psi_inbound_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_inbound_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_psi_inbound_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_psi_inbound_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_psi_inbound_item
+        (
+        <trim suffixOverrides=",">
+            into_id,
+            into_type,
+            from_id,
+            from_item_id,
+            item_index,
+            sku_id,
+            item_qty,
+            price_into,
+            item_amt,
+            non_std_code,
+            into_status,
+            intoing_qty,
+            intoing_amt,
+            into_qty,
+            into_amt,
+            return_qty,
+            return_amt,
+            remarks,
+            inv_id,
+            cost_price,
+            cost_amt,
+            out_qty,
+            inv_qty,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.intoId}::uuid,
+                #{item.intoType},
+                #{item.fromId}::uuid,
+                #{item.fromItemId}::uuid,
+                #{item.itemIndex},
+                #{item.skuId}::uuid,
+                #{item.itemQty},
+                #{item.priceInto},
+                #{item.itemAmt},
+                #{item.nonStdCode},
+                #{item.intoStatus},
+                #{item.intoingQty},
+                #{item.intoingAmt},
+                #{item.intoQty},
+                #{item.intoAmt},
+                #{item.returnQty},
+                #{item.returnAmt},
+                #{item.remarks},
+                #{item.invId}::uuid,
+                #{item.costPrice},
+                #{item.costAmt},
+                #{item.outQty},
+                #{item.invQty},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 32 - 0
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.java

@@ -0,0 +1,32 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.MoneyAccount;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.core.StaffQuery;
+import com.dk.mdm.model.query.mst.MoneyAccountQuery;
+import com.dk.mdm.model.response.mst.MoneyAccountResponse;
+import com.dk.mdm.model.response.mst.StaffResponse;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+*  资金账户 Mapper
+*/
+@Repository
+public interface MoneyAccountMapper extends BaseMapper<MoneyAccount>{
+    /**
+     * @desc   : 根据条件进行查询
+     * @author : songy
+     * @date   : 2023/1/9 10:42
+     */
+    List<MoneyAccountResponse> selectByCond(MoneyAccountQuery moneyAccountQuery);
+
+    /**
+     * @desc   : 根据条件进行查询(数量)
+     * @author : songy
+     * @date   : 2023/1/9 10:42
+     */
+    Long countByCond(MoneyAccountQuery moneyAccountQuery);
+}
+

+ 177 - 0
src/main/java/com/dk/mdm/mapper/mst/MoneyAccountMapper.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.MoneyAccountMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        mac_id, mac_code, mac_name, mac_type, balance, display_no, flg_default, mac_receipt_code, remarks, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.MoneyAccount">
+        <id column="mac_id" property="macId"/>
+                <result column="mac_code" property="macCode"/>
+                <result column="mac_name" property="macName"/>
+                <result column="mac_type" property="macType" typeHandler="UuidTypeHandler"/>
+                <result column="balance" property="balance"/>
+                <result column="display_no" property="displayNo"/>
+                <result column="flg_default" property="flgDefault"/>
+                <result column="mac_receipt_code" property="macReceiptCode"/>
+                <result column="remarks" property="remarks"/>
+                <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="macCode != null and macCode != ''">
+                AND mac_code = #{macCode}
+            </if>
+            <if test="macName != null and macName != ''">
+                AND mac_name = #{macName}
+            </if>
+            <if test="macType != null and macType != ''">
+                AND mac_type = #{macType}
+            </if>
+            <if test="balance != null">
+                AND balance = #{balance}
+            </if>
+            <if test="displayNo != null">
+                AND display_no = #{displayNo}
+            </if>
+            <if test="flgDefault != null">
+                AND flg_default = #{flgDefault}
+            </if>
+            <if test="macReceiptCode != null and macReceiptCode != ''">
+                AND mac_receipt_code = #{macReceiptCode}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </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">
+        <!-- 根据主键macId批量操作 -->
+        WHERE mac_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mst_money_account,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_account
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mst_money_account,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mst_money_account
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mst_money_account的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_account
+        WHERE mac_id = #{macId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mst_money_account的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_account
+        WHERE mac_id = #{macId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mst_money_account的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_account
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mst_money_account
+        (
+        <trim suffixOverrides=",">
+            mac_code,
+            mac_name,
+            mac_type,
+            balance,
+            display_no,
+            flg_default,
+            mac_receipt_code,
+            remarks,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.macCode},
+                #{item.macName},
+                #{item.macType}::uuid,
+                #{item.balance},
+                #{item.displayNo},
+                #{item.flgDefault},
+                #{item.macReceiptCode},
+                #{item.remarks},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

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

@@ -2,13 +2,28 @@ package com.dk.mdm.mapper.mst;
 
 import com.dk.mdm.model.pojo.mst.StaffPurview;
 import com.dk.common.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+import java.util.Map;
+
 /**
 *  员工数据范围 Mapper
 */
 @Repository
 public interface StaffPurviewMapper extends BaseMapper<StaffPurview>{
-	
+    /**
+     * @desc   : 获取获取范围权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    List<Map<String, Object>> getStaffPurview(Map param);
+    /**
+     * @desc   : 保存员工范围权限权限
+     * @author : 姜永辉
+     * @date : 2024/2/26 10:36
+     */
+    int insertOrUpdateCondition(@Param("list") List<StaffPurview> list);
 }
 

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

@@ -124,7 +124,6 @@
             flg_nolimit,
             data_ids,
             cp_id,
-            op_app_code,
         </trim>
         )
         values
@@ -135,9 +134,53 @@
                 #{item.flgNolimit},
                 #{item.dataIds},
                 #{item.cpId},
-                #{item.opAppCode},
             </trim>
             )
         </foreach>
     </insert>
+
+
+    <!-- 获取范围权限 -->
+    <select id="getStaffPurview" resultType="java.util.Map">
+        SELECT  org.org_id    AS "id",
+                org.org_name    AS "orgName",
+                org.parent_id  AS "parentId",
+               orgb.org_id   AS "orgId",
+               CASE WHEN orgb.org_id IS NULL THEN FALSE ELSE TRUE END    AS "checked"
+        FROM dkic_b.t_mst_org org
+                 left JOIN dkic_b.t_mst_org orgb ON orgb.org_id = org.org_id  and org.org_id::uuid =  any ( (
+                 select  data_ids from dkic_b.t_mst_staff_purview where staff_id = #{staffId}::uuid)::uuid[])
+        WHERE org.flg_valid
+          AND org.cp_id = #{cpId}
+        ORDER BY org.level_code;
+    </select>
+
+    <insert id="insertOrUpdateCondition">
+        insert into t_mst_staff_purview
+        (
+        <trim suffixOverrides=",">
+            staff_id,
+            purview_code,
+            flg_nolimit,
+            data_ids,
+            cp_id,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.staffId}::uuid,
+                #{item.purviewCode},
+                #{item.flgNolimit},
+                #{item.dataIds},
+                #{item.cpId},
+            </trim>
+            )
+        </foreach>
+        on conflict (staff_id,purview_code) do update set
+        flg_nolimit = excluded."flg_nolimit",
+        data_ids = excluded."data_ids";
+    </insert>
+
 </mapper>

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

@@ -8,8 +8,39 @@
         item_id, pur_id, item_index, sku_id, item_qty, price_std, amt_std, price_pur, item_amt, price_discount, non_std_code, into_status, intoing_qty, intoing_amt, into_qty, into_amt, return_qty, return_amt, 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_1">
+        tppi.item_id,
+        tppi.pur_id,
+        tppi.item_index,
+        tppi.sku_id,
+        tppi.item_qty,
+        tppi.price_std,
+        tppi.amt_std,
+        tppi.price_pur,
+        tppi.item_amt,
+        tppi.price_discount,
+        tppi.non_std_code,
+        tppi.into_status,
+        tppi.intoing_qty,
+        tppi.intoing_amt,
+        tppi.into_qty,
+        tppi.into_amt,
+        tppi.return_qty,
+        tppi.return_amt,
+        tppi.remarks,
+        tppi.flg_valid,
+        tppi.cp_id,
+        tppi.op_create_time,
+        tppi.op_create_user_id,
+        tppi.op_update_time,
+        tppi.op_update_user_id,
+        tppi.op_app_code,
+        tppi.op_timestamp,
+        tppi.op_db_user
+    </sql>
+
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.pur.PurchaseItem">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.response.pur.PurchaseItemResponse">
         <id column="item_id" property="itemId"/>
                 <result column="pur_id" property="purId" typeHandler="UuidTypeHandler"/>
                 <result column="item_index" property="itemIndex"/>
@@ -44,7 +75,7 @@
     <sql id="Condition">
         <where>
             <if test="purId != null and purId != ''">
-                AND pur_id = #{purId}
+                AND pur_id = #{purId}::uuid
             </if>
             <if test="itemIndex != null">
                 AND item_index = #{itemIndex}
@@ -127,6 +158,93 @@
         </where>
     </sql>
 
+    <!-- 通用条件列 -->
+    <sql id="Condition_1">
+        <where>
+            <if test="purId != null and purId != ''">
+                AND tppi.pur_id = #{purId}::uuid
+            </if>
+            <if test="itemIndex != null">
+                AND tppi.item_index = #{itemIndex}
+            </if>
+            <if test="skuId != null and skuId != ''">
+                AND tppi.sku_id = #{skuId}
+            </if>
+            <if test="itemQty != null">
+                AND tppi.item_qty = #{itemQty}
+            </if>
+            <if test="priceStd != null">
+                AND tppi.price_std = #{priceStd}
+            </if>
+            <if test="amtStd != null">
+                AND tppi.amt_std = #{amtStd}
+            </if>
+            <if test="pricePur != null">
+                AND tppi.price_pur = #{pricePur}
+            </if>
+            <if test="itemAmt != null">
+                AND tppi.item_amt = #{itemAmt}
+            </if>
+            <if test="priceDiscount != null">
+                AND tppi.price_discount = #{priceDiscount}
+            </if>
+            <if test="nonStdCode != null and nonStdCode != ''">
+                AND tppi.non_std_code = #{nonStdCode}
+            </if>
+            <if test="intoStatus != null and intoStatus != ''">
+                AND tppi.into_status = #{intoStatus}
+            </if>
+            <if test="intoingQty != null">
+                AND tppi.intoing_qty = #{intoingQty}
+            </if>
+            <if test="intoingAmt != null">
+                AND tppi.intoing_amt = #{intoingAmt}
+            </if>
+            <if test="intoQty != null">
+                AND tppi.into_qty = #{intoQty}
+            </if>
+            <if test="intoAmt != null">
+                AND tppi.into_amt = #{intoAmt}
+            </if>
+            <if test="returnQty != null">
+                AND tppi.return_qty = #{returnQty}
+            </if>
+            <if test="returnAmt != null">
+                AND tppi.return_amt = #{returnAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND tppi.remarks = #{remarks}
+            </if>
+            <if test="flgValid != null">
+                AND tppi.flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND tppi.cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND tppi.op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND tppi.op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND tppi.op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND tppi.op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND tppi.op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND tppi.op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND tppi.op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
     <sql id="idsForeach">
         <!-- 根据主键itemId批量操作 -->
         WHERE item_id in
@@ -138,9 +256,13 @@
     <!-- 查询表dkic_b.t_psi_purchase_item,(条件查询+分页)列表 -->
     <select id="selectByCond" resultMap="BaseResultMap">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM dkic_b.t_psi_purchase_item
-        <include refid="Condition"/>
+        <include refid="Base_Column_List_1"/>
+        ,tmgs.sku_code  as "skuCode"
+        ,tmgs.sku_model as "skuModel"
+        ,tmgs.sku_name  as "skuName"
+        FROM dkic_b.t_psi_purchase_item tppi
+        left join dkic_b.t_mst_goods_sku tmgs on tppi.sku_id = tmgs.sku_id
+        <include refid="Condition_1"/>
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>

+ 1 - 1
src/main/java/com/dk/mdm/mapper/wxapi/basic/WxCommonMapper.xml

@@ -102,7 +102,7 @@
         select tpt.purview_name_i18n as purviewName,
                tpt.purview_code as "code",
                "row_number"() OVER (ORDER BY tpt.display_no) as "id",
-                sys.f_get_name_i18n('zh_CN', tpt.purview_name_i18n) AS name
+                sys.f_get_name_i18n(tpt.purview_name_i18n,'zh_CN') AS name
         from sys.t_purview_type tpt
         where tpt.flg_valid
         order by tpt.display_no

+ 332 - 0
src/main/java/com/dk/mdm/model/pojo/ivt/InboundItem.java

@@ -0,0 +1,332 @@
+package com.dk.mdm.model.pojo.ivt;
+
+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_inbound_item", autoResultMap = true)
+@ApiModel(value="实体类:入库明细", description="表名:t_psi_inbound_item")
+public class InboundItem extends PageInfo<InboundItem> 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 intoId;
+
+
+    /**
+     * 入库类型 (【系统字典】采购入库、销退入库、其他入库)
+     */
+    @Excel(name = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    private String intoType;
+
+
+    /**
+     * 来源单ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单明细ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单明细ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @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 itemQty;
+
+
+    /**
+     * 入库价
+     */
+    @Excel(name = "入库价")
+    @ApiModelProperty(value = "入库价")
+    private BigDecimal priceInto;
+
+
+    /**
+     * 入库金额 (商品数量*入库价)
+     */
+    @Excel(name = "入库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "入库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 已入库退货数量
+     */
+    @Excel(name = "已入库退货数量")
+    @ApiModelProperty(value = "已入库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已入库退货金额
+     */
+    @Excel(name = "已入库退货金额")
+    @ApiModelProperty(value = "已入库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 出库数量
+     */
+    @Excel(name = "出库数量")
+    @ApiModelProperty(value = "出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 库存数量 (库存数量=商品数量-出库数量)
+     */
+    @Excel(name = "库存数量 (库存数量=商品数量-出库数量)")
+    @ApiModelProperty(value = "库存数量 (库存数量=商品数量-出库数量)")
+    private BigDecimal invQty;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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;
+
+}

+ 208 - 0
src/main/java/com/dk/mdm/model/pojo/mst/MoneyAccount.java

@@ -0,0 +1,208 @@
+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_mst_money_account", autoResultMap = true)
+@ApiModel(value="实体类:资金账户", description="表名:t_mst_money_account")
+public class MoneyAccount extends PageInfo<MoneyAccount> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 资金账户ID
+     */
+    @TableId(value = "mac_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 资金账户编码
+     */
+    @Excel(name = "资金账户编码")
+    @ApiModelProperty(value = "资金账户编码")
+    private String macCode;
+
+
+    /**
+     * 资金账户名称
+     */
+    @Excel(name = "资金账户名称")
+    @ApiModelProperty(value = "资金账户名称")
+    private String macName;
+
+
+    /**
+     * 账户类别 (【数据字典】)
+     */
+    @Excel(name = "账户类别 (【数据字典】)")
+    @ApiModelProperty(value = "账户类别 (【数据字典】)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macType;
+
+
+    /**
+     * 账户余额
+     */
+    @Excel(name = "账户余额")
+    @ApiModelProperty(value = "账户余额")
+    private BigDecimal balance;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 默认值
+     */
+    @Excel(name = "默认值")
+    @ApiModelProperty(value = "默认值")
+    private Boolean flgDefault;
+
+
+    /**
+     * 收款码 (图片路径)
+     */
+    @Excel(name = "收款码 (图片路径)")
+    @ApiModelProperty(value = "收款码 (图片路径)")
+    private String macReceiptCode;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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;
+
+}

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/StaffPurview.java

@@ -29,7 +29,7 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 @Accessors(chain = true)
 @ExportTitle("员工数据范围")
-@TableName(value = "t_mst_staff_purview", autoResultMap = true)
+@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 {
 

+ 333 - 0
src/main/java/com/dk/mdm/model/query/ivt/InboundItemQuery.java

@@ -0,0 +1,333 @@
+package com.dk.mdm.model.query.ivt;
+
+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.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_inbound_item", autoResultMap = true)
+@ApiModel(value="实体类:入库明细", description="表名:t_psi_inbound_item")
+public class InboundItemQuery extends PageInfo<InboundItemQuery> 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 intoId;
+
+
+    /**
+     * 入库类型 (【系统字典】采购入库、销退入库、其他入库)
+     */
+    @Excel(name = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    private String intoType;
+
+
+    /**
+     * 来源单ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单明细ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单明细ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @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 itemQty;
+
+
+    /**
+     * 入库价
+     */
+    @Excel(name = "入库价")
+    @ApiModelProperty(value = "入库价")
+    private BigDecimal priceInto;
+
+
+    /**
+     * 入库金额 (商品数量*入库价)
+     */
+    @Excel(name = "入库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "入库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 已入库退货数量
+     */
+    @Excel(name = "已入库退货数量")
+    @ApiModelProperty(value = "已入库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已入库退货金额
+     */
+    @Excel(name = "已入库退货金额")
+    @ApiModelProperty(value = "已入库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 出库数量
+     */
+    @Excel(name = "出库数量")
+    @ApiModelProperty(value = "出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 库存数量 (库存数量=商品数量-出库数量)
+     */
+    @Excel(name = "库存数量 (库存数量=商品数量-出库数量)")
+    @ApiModelProperty(value = "库存数量 (库存数量=商品数量-出库数量)")
+    private BigDecimal invQty;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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/query/mst/MoneyAccountQuery.java

@@ -0,0 +1,209 @@
+package com.dk.mdm.model.query.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.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_mst_money_account", autoResultMap = true)
+@ApiModel(value="实体类:资金账户", description="表名:t_mst_money_account")
+public class MoneyAccountQuery extends PageInfo<MoneyAccountQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 资金账户ID
+     */
+    @TableId(value = "mac_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 资金账户编码
+     */
+    @Excel(name = "资金账户编码")
+    @ApiModelProperty(value = "资金账户编码")
+    private String macCode;
+
+
+    /**
+     * 资金账户名称
+     */
+    @Excel(name = "资金账户名称")
+    @ApiModelProperty(value = "资金账户名称")
+    private String macName;
+
+
+    /**
+     * 账户类别 (【数据字典】)
+     */
+    @Excel(name = "账户类别 (【数据字典】)")
+    @ApiModelProperty(value = "账户类别 (【数据字典】)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macType;
+
+
+    /**
+     * 账户余额
+     */
+    @Excel(name = "账户余额")
+    @ApiModelProperty(value = "账户余额")
+    private BigDecimal balance;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 默认值
+     */
+    @Excel(name = "默认值")
+    @ApiModelProperty(value = "默认值")
+    private Boolean flgDefault;
+
+
+    /**
+     * 收款码 (图片路径)
+     */
+    @Excel(name = "收款码 (图片路径)")
+    @ApiModelProperty(value = "收款码 (图片路径)")
+    private String macReceiptCode;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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;
+
+}

+ 333 - 0
src/main/java/com/dk/mdm/model/response/ivt/InboundItemResponse.java

@@ -0,0 +1,333 @@
+package com.dk.mdm.model.response.ivt;
+
+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.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_inbound_item", autoResultMap = true)
+@ApiModel(value="实体类:入库明细", description="表名:t_psi_inbound_item")
+public class InboundItemResponse extends PageInfo<InboundItemResponse> 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 intoId;
+
+
+    /**
+     * 入库类型 (【系统字典】采购入库、销退入库、其他入库)
+     */
+    @Excel(name = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    private String intoType;
+
+
+    /**
+     * 来源单ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单明细ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单明细ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @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 itemQty;
+
+
+    /**
+     * 入库价
+     */
+    @Excel(name = "入库价")
+    @ApiModelProperty(value = "入库价")
+    private BigDecimal priceInto;
+
+
+    /**
+     * 入库金额 (商品数量*入库价)
+     */
+    @Excel(name = "入库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "入库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 已入库退货数量
+     */
+    @Excel(name = "已入库退货数量")
+    @ApiModelProperty(value = "已入库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已入库退货金额
+     */
+    @Excel(name = "已入库退货金额")
+    @ApiModelProperty(value = "已入库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 出库数量
+     */
+    @Excel(name = "出库数量")
+    @ApiModelProperty(value = "出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 库存数量 (库存数量=商品数量-出库数量)
+     */
+    @Excel(name = "库存数量 (库存数量=商品数量-出库数量)")
+    @ApiModelProperty(value = "库存数量 (库存数量=商品数量-出库数量)")
+    private BigDecimal invQty;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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/MoneyAccountResponse.java

@@ -0,0 +1,209 @@
+package com.dk.mdm.model.response.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.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_mst_money_account", autoResultMap = true)
+@ApiModel(value="实体类:资金账户", description="表名:t_mst_money_account")
+public class MoneyAccountResponse extends PageInfo<MoneyAccountResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 资金账户ID
+     */
+    @TableId(value = "mac_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 资金账户编码
+     */
+    @Excel(name = "资金账户编码")
+    @ApiModelProperty(value = "资金账户编码")
+    private String macCode;
+
+
+    /**
+     * 资金账户名称
+     */
+    @Excel(name = "资金账户名称")
+    @ApiModelProperty(value = "资金账户名称")
+    private String macName;
+
+
+    /**
+     * 账户类别 (【数据字典】)
+     */
+    @Excel(name = "账户类别 (【数据字典】)")
+    @ApiModelProperty(value = "账户类别 (【数据字典】)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macType;
+
+
+    /**
+     * 账户余额
+     */
+    @Excel(name = "账户余额")
+    @ApiModelProperty(value = "账户余额")
+    private BigDecimal balance;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 默认值
+     */
+    @Excel(name = "默认值")
+    @ApiModelProperty(value = "默认值")
+    private Boolean flgDefault;
+
+
+    /**
+     * 收款码 (图片路径)
+     */
+    @Excel(name = "收款码 (图片路径)")
+    @ApiModelProperty(value = "收款码 (图片路径)")
+    private String macReceiptCode;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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;
+
+}

+ 20 - 0
src/main/java/com/dk/mdm/model/response/pur/PurchaseItemResponse.java

@@ -272,6 +272,26 @@ public class PurchaseItemResponse extends PageInfo<PurchaseItemResponse> impleme
     @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
     private String opDbUser;
 
+    /**
+     * 商品编号
+     */
+    @Excel(name = "商品编号")
+    @ApiModelProperty(value = "商品编号")
+    private String skuCode;
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "商品名称")
+    @ApiModelProperty(value = "商品名称")
+    private String skuName;
+
+    /**
+     * 商品型号
+     */
+    @Excel(name = "商品型号")
+    @ApiModelProperty(value = "商品型号")
+    private String skuModel;
 
     /*
      * 相关属性

+ 333 - 0
src/main/java/com/dk/mdm/model/vo/ivt/InboundItemVO.java

@@ -0,0 +1,333 @@
+package com.dk.mdm.model.vo.ivt;
+
+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.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_inbound_item", autoResultMap = true)
+@ApiModel(value="实体类:入库明细", description="表名:t_psi_inbound_item")
+public class InboundItemVO extends PageInfo<InboundItemVO> 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 intoId;
+
+
+    /**
+     * 入库类型 (【系统字典】采购入库、销退入库、其他入库)
+     */
+    @Excel(name = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    @ApiModelProperty(value = "入库类型 (【系统字典】采购入库、销退入库、其他入库)")
+    private String intoType;
+
+
+    /**
+     * 来源单ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromId;
+
+
+    /**
+     * 来源单明细ID (采购订单、出库退货)
+     */
+    @Excel(name = "来源单明细ID (采购订单、出库退货)")
+    @ApiModelProperty(value = "来源单明细ID (采购订单、出库退货)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String fromItemId;
+
+
+    /**
+     * 商品顺序
+     */
+    @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 itemQty;
+
+
+    /**
+     * 入库价
+     */
+    @Excel(name = "入库价")
+    @ApiModelProperty(value = "入库价")
+    private BigDecimal priceInto;
+
+
+    /**
+     * 入库金额 (商品数量*入库价)
+     */
+    @Excel(name = "入库金额 (商品数量*入库价)")
+    @ApiModelProperty(value = "入库金额 (商品数量*入库价)")
+    private BigDecimal itemAmt;
+
+
+    /**
+     * 非标号
+     */
+    @Excel(name = "非标号")
+    @ApiModelProperty(value = "非标号")
+    private String nonStdCode;
+
+
+    /**
+     * 入库状态 (【系统字典】)
+     */
+    @Excel(name = "入库状态 (【系统字典】)")
+    @ApiModelProperty(value = "入库状态 (【系统字典】)")
+    private String intoStatus;
+
+
+    /**
+     * 入库中数量
+     */
+    @Excel(name = "入库中数量")
+    @ApiModelProperty(value = "入库中数量")
+    private BigDecimal intoingQty;
+
+
+    /**
+     * 入库中金额
+     */
+    @Excel(name = "入库中金额")
+    @ApiModelProperty(value = "入库中金额")
+    private BigDecimal intoingAmt;
+
+
+    /**
+     * 已入库数量
+     */
+    @Excel(name = "已入库数量")
+    @ApiModelProperty(value = "已入库数量")
+    private BigDecimal intoQty;
+
+
+    /**
+     * 已入库金额
+     */
+    @Excel(name = "已入库金额")
+    @ApiModelProperty(value = "已入库金额")
+    private BigDecimal intoAmt;
+
+
+    /**
+     * 已入库退货数量
+     */
+    @Excel(name = "已入库退货数量")
+    @ApiModelProperty(value = "已入库退货数量")
+    private BigDecimal returnQty;
+
+
+    /**
+     * 已入库退货金额
+     */
+    @Excel(name = "已入库退货金额")
+    @ApiModelProperty(value = "已入库退货金额")
+    private BigDecimal returnAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 库存ID
+     */
+    @Excel(name = "库存ID")
+    @ApiModelProperty(value = "库存ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invId;
+
+
+    /**
+     * 成本单价
+     */
+    @Excel(name = "成本单价")
+    @ApiModelProperty(value = "成本单价")
+    private BigDecimal costPrice;
+
+
+    /**
+     * 成本金额
+     */
+    @Excel(name = "成本金额")
+    @ApiModelProperty(value = "成本金额")
+    private BigDecimal costAmt;
+
+
+    /**
+     * 出库数量
+     */
+    @Excel(name = "出库数量")
+    @ApiModelProperty(value = "出库数量")
+    private BigDecimal outQty;
+
+
+    /**
+     * 库存数量 (库存数量=商品数量-出库数量)
+     */
+    @Excel(name = "库存数量 (库存数量=商品数量-出库数量)")
+    @ApiModelProperty(value = "库存数量 (库存数量=商品数量-出库数量)")
+    private BigDecimal invQty;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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/vo/mst/MoneyAccountVO.java

@@ -0,0 +1,209 @@
+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.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_mst_money_account", autoResultMap = true)
+@ApiModel(value="实体类:资金账户", description="表名:t_mst_money_account")
+public class MoneyAccountVO extends PageInfo<MoneyAccountVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 资金账户ID
+     */
+    @TableId(value = "mac_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 资金账户编码
+     */
+    @Excel(name = "资金账户编码")
+    @ApiModelProperty(value = "资金账户编码")
+    private String macCode;
+
+
+    /**
+     * 资金账户名称
+     */
+    @Excel(name = "资金账户名称")
+    @ApiModelProperty(value = "资金账户名称")
+    private String macName;
+
+
+    /**
+     * 账户类别 (【数据字典】)
+     */
+    @Excel(name = "账户类别 (【数据字典】)")
+    @ApiModelProperty(value = "账户类别 (【数据字典】)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macType;
+
+
+    /**
+     * 账户余额
+     */
+    @Excel(name = "账户余额")
+    @ApiModelProperty(value = "账户余额")
+    private BigDecimal balance;
+
+
+    /**
+     * 显示顺序 (【1 ~ 46655】)
+     */
+    @Excel(name = "显示顺序 (【1 ~ 46655】)")
+    @ApiModelProperty(value = "显示顺序 (【1 ~ 46655】)")
+    private Integer displayNo;
+
+
+    /**
+     * 默认值
+     */
+    @Excel(name = "默认值")
+    @ApiModelProperty(value = "默认值")
+    private Boolean flgDefault;
+
+
+    /**
+     * 收款码 (图片路径)
+     */
+    @Excel(name = "收款码 (图片路径)")
+    @ApiModelProperty(value = "收款码 (图片路径)")
+    private String macReceiptCode;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @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;
+
+}

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

@@ -10,6 +10,7 @@ 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;
@@ -123,6 +124,8 @@ public class StaffVO extends PageInfo<StaffVO> implements Serializable {
 
     private List<StaffRight> staffRightList;
 
+    private List<StaffPurview> staffPurviewList;
+
 
 
     private static final long serialVersionUID = 1L;

+ 23 - 0
src/main/java/com/dk/mdm/service/ivt/InboundItemService.java

@@ -0,0 +1,23 @@
+package com.dk.mdm.service.ivt;
+
+import com.dk.mdm.model.pojo.ivt.InboundItem;
+import com.dk.mdm.mapper.ivt.InboundItemMapper;
+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 InboundItemService extends BaseService<InboundItem> {
+
+	@Override
+	public BaseMapper<InboundItem> getRepository() {
+		return inboundItemMapper;
+	}
+
+	@Autowired
+	private InboundItemMapper inboundItemMapper;
+
+}

+ 51 - 0
src/main/java/com/dk/mdm/service/mst/MoneyAccountService.java

@@ -0,0 +1,51 @@
+package com.dk.mdm.service.mst;
+
+import com.dk.common.infrastructure.annotaiton.Pagination;
+import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultVO;
+import com.dk.mdm.infrastructure.convert.mst.StaffConvert;
+import com.dk.mdm.mapper.mst.StaffMapper;
+import com.dk.mdm.model.pojo.mst.MoneyAccount;
+import com.dk.mdm.mapper.mst.MoneyAccountMapper;
+import com.dk.common.service.BaseService;
+import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.query.mst.MoneyAccountQuery;
+import com.dk.mdm.model.response.mst.MoneyAccountResponse;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional
+public class MoneyAccountService extends BaseService<MoneyAccount> {
+
+	@Override
+	public BaseMapper<MoneyAccount> getRepository() {
+		return moneyAccountMapper;
+	}
+
+	@Autowired
+	private MoneyAccountMapper moneyAccountMapper;
+
+	/**
+	 * @desc   : 重写主键
+	 * @author : songy
+	 * @date   : 2023/1/9 10:39
+	 */
+	@Override
+	public String getPrimaryKey() {
+		return "staff_id";
+	}
+
+
+	/**
+	 * @desc   : 条件查询
+	 * @author : songy
+	 * @date   : 2023/1/9 10:40
+	 */
+	@Pagination
+	public ResponseResultVO<PageList<MoneyAccountResponse>> selectByCond(MoneyAccountQuery moneyAccountQuery) {
+		return super.mergeListWithCount(moneyAccountQuery, moneyAccountMapper.selectByCond(moneyAccountQuery),
+				moneyAccountMapper.countByCond(moneyAccountQuery));
+	}
+}

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

@@ -1,13 +1,20 @@
 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.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 org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @Service
 @Transactional
 public class StaffPurviewService extends BaseService<StaffPurview> {
@@ -20,4 +27,33 @@ public class StaffPurviewService extends BaseService<StaffPurview> {
 	@Autowired
 	private StaffPurviewMapper staffPurviewMapper;
 
+	/**
+	 * @desc : 获取员工权限
+	 * @author : 姜永辉
+	 * @date : 2024/2/26 10:36
+	 */
+	public ResponseResultVO<Map<String, Object>> getStaffPurview(Map<String, Object> param) {
+		// 获取系统基础数据
+		List<Map<String, Object>> list = staffPurviewMapper.getStaffPurview(param);
+		Map<String, Object> objectObjectHashMap = new HashMap<>();
+		objectObjectHashMap.put("list", list);
+		return ResponseResultUtil.success(objectObjectHashMap);
+	}
+
+
+	/**
+	 * @desc : 保存员工范围权限
+	 * @author : 姜永辉
+	 * @date : 2024/2/26 10:36
+	 */
+	@Transactional(rollbackFor = {Exception.class})
+	public ResponseResultVO<?> saveStaffPurview(List<StaffPurview> staffPurviews) {
+		staffPurviewMapper.insertOrUpdateCondition(staffPurviews);
+		return ResponseResultUtil.success();
+	}
+
+	public ResponseResultVO<Boolean> delete(String id) {
+		return  ResponseResultUtil.success(staffPurviewMapper.deleteById(new StaffRight().setStaffId(id)) > 0) ;
+	}
+
 }

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

@@ -52,8 +52,8 @@ public class StaffRightService extends BaseService<StaffRight> {
      * @date : 2024/2/26 10:36
      */
     @Transactional(rollbackFor = {Exception.class})
-    public ResponseResultVO<?> saveStaffRight(List<StaffRight> roleFun) {
-        staffRightMapper.insertBatch(roleFun);
+    public ResponseResultVO<?> saveStaffRight(List<StaffRight> staffRightList) {
+        staffRightMapper.insertBatch(staffRightList);
         return ResponseResultUtil.success();
     }
 

+ 23 - 4
src/main/java/com/dk/mdm/service/mst/StaffService.java

@@ -7,13 +7,10 @@ import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.StaffConvert;
-import com.dk.mdm.model.pojo.mst.Role;
-import com.dk.mdm.model.pojo.mst.RoleFun;
-import com.dk.mdm.model.pojo.mst.Staff;
+import com.dk.mdm.model.pojo.mst.*;
 import com.dk.mdm.mapper.mst.StaffMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
-import com.dk.mdm.model.pojo.mst.StaffRight;
 import com.dk.mdm.model.query.core.StaffQuery;
 import com.dk.mdm.model.query.mst.RoleQuery;
 import com.dk.mdm.model.response.mst.StaffResponse;
@@ -59,6 +56,9 @@ public class StaffService extends BaseService<Staff> {
     @Autowired
     private StaffRightService staffRightService;
 
+    @Autowired
+    private StaffPurviewService staffPurviewService;
+
     /**
      * @desc : 条件查询
      * @author : 姜永辉
@@ -121,6 +121,25 @@ public class StaffService extends BaseService<Staff> {
         return ResponseResultUtil.success();
     }
 
+    /**
+     * @desc : 保存权限方法
+     * @author : 姜永辉
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> saveStaffPurview(StaffVO staffVO) {
+        // 转化实体
+        Staff staff = staffConvert.convertToPo(staffVO);
+        for (StaffPurview staffRight : staffVO.getStaffPurviewList()) {
+            staffRight.setStaffId(staff.getStaffId());
+            staffRight.setCpId(staff.getCpId());
+        }
+        staffPurviewService.saveStaffPurview(staffVO.getStaffPurviewList());
+        return ResponseResultUtil.success();
+    }
+
 
     /**
      * @desc : 员工离职

+ 2 - 1
src/main/resources/dev/bootstrap.yml

@@ -84,6 +84,7 @@ mybatis-plus:
   configuration:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: true
+    call-setters-on-nulls: true
   type-aliases-package: com.dk.oauth.dto,com.dk.common.infrastructure.handler #类型转换器包名
   mapper-locations: classpath:/mapper/**/*Mapper.xml,com/hegii/scrm/common/mapper/opinfo/*.xml
 
@@ -127,7 +128,7 @@ dongke:
 #  单点登录是否开启
 single-sign-on: false
 uploadPath: ''
-printTemplatePath : ''
+printTemplatePath: ''
 
 aes-key: b6f64c1001b04b9f
 client-app-id: 48849faf-8bbb-4a29-9548-0ba1c3df963f

+ 1 - 0
src/main/resources/st/bootstrap.yml

@@ -85,6 +85,7 @@ mybatis-plus:
   configuration:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: true
+    call-setters-on-nulls: true
   type-aliases-package: com.dk.oauth.dto,com.dk.common.infrastructure.handler #类型转换器包名
   mapper-locations: classpath:/mapper/**/*Mapper.xml,com/hegii/scrm/common/mapper/opinfo/*.xml
 

+ 1 - 0
src/main/resources/test/bootstrap.yml

@@ -85,6 +85,7 @@ mybatis-plus:
   configuration:
     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: true
+    call-setters-on-nulls: true
   type-aliases-package: com.dk.oauth.dto,com.dk.common.infrastructure.handler #类型转换器包名
   mapper-locations: classpath:/mapper/**/*Mapper.xml,com/hegii/scrm/common/mapper/opinfo/*.xml