fubin 2 лет назад
Родитель
Сommit
48ff21ff47
32 измененных файлов с 5118 добавлено и 0 удалено
  1. 24 0
      src/main/java/com/dk/mdm/controller/mac/AccountObjectController.java
  2. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableController.java
  3. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableHandleController.java
  4. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableHandleItemController.java
  5. 14 0
      src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.java
  6. 189 0
      src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.xml
  7. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.java
  8. 195 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.xml
  9. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.java
  10. 195 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.xml
  11. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.java
  12. 243 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.xml
  13. 224 0
      src/main/java/com/dk/mdm/model/pojo/mac/AccountObject.java
  14. 306 0
      src/main/java/com/dk/mdm/model/pojo/mac/Receivable.java
  15. 240 0
      src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandle.java
  16. 238 0
      src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandleItem.java
  17. 224 0
      src/main/java/com/dk/mdm/model/query/mac/AccountObjectQuery.java
  18. 238 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleItemQuery.java
  19. 240 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleQuery.java
  20. 306 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableQuery.java
  21. 224 0
      src/main/java/com/dk/mdm/model/response/mac/AccountObjectResponse.java
  22. 238 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleItemResponse.java
  23. 240 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleResponse.java
  24. 306 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableResponse.java
  25. 224 0
      src/main/java/com/dk/mdm/model/vo/mac/AccountObjectVO.java
  26. 238 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleItemVO.java
  27. 240 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleVO.java
  28. 306 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableVO.java
  29. 28 0
      src/main/java/com/dk/mdm/service/mac/AccountObjectService.java
  30. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableHandleItemService.java
  31. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableHandleService.java
  32. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableService.java

+ 24 - 0
src/main/java/com/dk/mdm/controller/mac/AccountObjectController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mac;
+
+import com.dk.mdm.model.pojo.mac.AccountObject;
+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.mac.AccountObjectService;
+
+@Api(tags = "账款对象API接口")
+@RestController
+@RequestMapping("/accountObject")
+public class AccountObjectController{
+
+    public BaseService<AccountObject> getService() {
+        return accountObjectService;
+    }
+
+    @Autowired
+    private AccountObjectService accountObjectService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/mac/ReceivableController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mac;
+
+import com.dk.mdm.model.pojo.mac.Receivable;
+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.mac.ReceivableService;
+
+@Api(tags = "应收账款API接口")
+@RestController
+@RequestMapping("/receivable")
+public class ReceivableController{
+
+    public BaseService<Receivable> getService() {
+        return receivableService;
+    }
+
+    @Autowired
+    private ReceivableService receivableService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/mac/ReceivableHandleController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandle;
+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.mac.ReceivableHandleService;
+
+@Api(tags = "应收还款API接口")
+@RestController
+@RequestMapping("/receivableHandle")
+public class ReceivableHandleController{
+
+    public BaseService<ReceivableHandle> getService() {
+        return receivableHandleService;
+    }
+
+    @Autowired
+    private ReceivableHandleService receivableHandleService;
+
+}

+ 24 - 0
src/main/java/com/dk/mdm/controller/mac/ReceivableHandleItemController.java

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandleItem;
+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.mac.ReceivableHandleItemService;
+
+@Api(tags = "应收还款明细API接口")
+@RestController
+@RequestMapping("/receivableHandleItem")
+public class ReceivableHandleItemController{
+
+    public BaseService<ReceivableHandleItem> getService() {
+        return receivableHandleItemService;
+    }
+
+    @Autowired
+    private ReceivableHandleItemService receivableHandleItemService;
+
+}

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mac;
+
+import com.dk.mdm.model.pojo.mac.AccountObject;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  账款对象 Mapper
+*/
+@Repository
+public interface AccountObjectMapper extends BaseMapper<AccountObject>{
+	
+}
+

+ 189 - 0
src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.xml

@@ -0,0 +1,189 @@
+<?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.mac.AccountObjectMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        object_id, object_type, sum_payment, sum_refund, sum_money, sum_payable, sum_handle, sum_waive, sum_residue, amt_refundable, 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.mac.AccountObject">
+        <id column="object_id" property="objectId"/>
+                <result column="object_type" property="objectType"/>
+                <result column="sum_payment" property="sumPayment"/>
+                <result column="sum_refund" property="sumRefund"/>
+                <result column="sum_money" property="sumMoney"/>
+                <result column="sum_payable" property="sumPayable"/>
+                <result column="sum_handle" property="sumHandle"/>
+                <result column="sum_waive" property="sumWaive"/>
+                <result column="sum_residue" property="sumResidue"/>
+                <result column="amt_refundable" property="amtRefundable"/>
+                <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="objectType != null and objectType != ''">
+                AND object_type = #{objectType}
+            </if>
+            <if test="sumPayment != null">
+                AND sum_payment = #{sumPayment}
+            </if>
+            <if test="sumRefund != null">
+                AND sum_refund = #{sumRefund}
+            </if>
+            <if test="sumMoney != null">
+                AND sum_money = #{sumMoney}
+            </if>
+            <if test="sumPayable != null">
+                AND sum_payable = #{sumPayable}
+            </if>
+            <if test="sumHandle != null">
+                AND sum_handle = #{sumHandle}
+            </if>
+            <if test="sumWaive != null">
+                AND sum_waive = #{sumWaive}
+            </if>
+            <if test="sumResidue != null">
+                AND sum_residue = #{sumResidue}
+            </if>
+            <if test="amtRefundable != null">
+                AND amt_refundable = #{amtRefundable}
+            </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">
+        <!-- 根据主键objectId批量操作 -->
+        WHERE object_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mac_account_object,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_account_object
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mac_account_object,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mac_account_object
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mac_account_object的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_account_object
+        WHERE object_id = #{objectId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mac_account_object的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_account_object
+        WHERE object_id = #{objectId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mac_account_object的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_account_object
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mac_account_object
+        (
+        <trim suffixOverrides=",">
+            object_type,
+            sum_payment,
+            sum_refund,
+            sum_money,
+            sum_payable,
+            sum_handle,
+            sum_waive,
+            sum_residue,
+            amt_refundable,
+            remarks,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.objectType},
+                #{item.sumPayment},
+                #{item.sumRefund},
+                #{item.sumMoney},
+                #{item.sumPayable},
+                #{item.sumHandle},
+                #{item.sumWaive},
+                #{item.sumResidue},
+                #{item.amtRefundable},
+                #{item.remarks},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandleItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  应收还款明细 Mapper
+*/
+@Repository
+public interface ReceivableHandleItemMapper extends BaseMapper<ReceivableHandleItem>{
+	
+}
+

+ 195 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.xml

@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mac.ReceivableHandleItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, handle_id, handle_date, object_id, rec1_type, rec1_id, rec1_handle_amt, rec1_waive_amt, rec2_type, rec2_id, rec2_handle_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>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mac.ReceivableHandleItem">
+        <id column="item_id" property="itemId"/>
+                <result column="handle_id" property="handleId"/>
+            <result column="handle_date" property="handleDate" typeHandler="TimestampTypeHandler"/>
+                <result column="object_id" property="objectId" typeHandler="UuidTypeHandler"/>
+                <result column="rec1_type" property="rec1Type"/>
+                <result column="rec1_id" property="rec1Id" typeHandler="UuidTypeHandler"/>
+                <result column="rec1_handle_amt" property="rec1HandleAmt"/>
+                <result column="rec1_waive_amt" property="rec1WaiveAmt"/>
+                <result column="rec2_type" property="rec2Type"/>
+                <result column="rec2_id" property="rec2Id" typeHandler="UuidTypeHandler"/>
+                <result column="rec2_handle_amt" property="rec2HandleAmt"/>
+                <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="handleId != null and handleId != ''">
+                AND handle_id = #{handleId}
+            </if>
+            <if test="handleDate != null">
+                AND handle_date = #{handleDate}
+            </if>
+            <if test="objectId != null and objectId != ''">
+                AND object_id = #{objectId}
+            </if>
+            <if test="rec1Type != null and rec1Type != ''">
+                AND rec1_type = #{rec1Type}
+            </if>
+            <if test="rec1Id != null and rec1Id != ''">
+                AND rec1_id = #{rec1Id}
+            </if>
+            <if test="rec1HandleAmt != null">
+                AND rec1_handle_amt = #{rec1HandleAmt}
+            </if>
+            <if test="rec1WaiveAmt != null">
+                AND rec1_waive_amt = #{rec1WaiveAmt}
+            </if>
+            <if test="rec2Type != null and rec2Type != ''">
+                AND rec2_type = #{rec2Type}
+            </if>
+            <if test="rec2Id != null and rec2Id != ''">
+                AND rec2_id = #{rec2Id}
+            </if>
+            <if test="rec2HandleAmt != null">
+                AND rec2_handle_amt = #{rec2HandleAmt}
+            </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">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mac_receivable_handle_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle_item
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mac_receivable_handle_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mac_receivable_handle_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mac_receivable_handle_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable_handle_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable_handle_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mac_receivable_handle_item
+        (
+        <trim suffixOverrides=",">
+            handle_id,
+            handle_date,
+            object_id,
+            rec1_type,
+            rec1_id,
+            rec1_handle_amt,
+            rec1_waive_amt,
+            rec2_type,
+            rec2_id,
+            rec2_handle_amt,
+            remarks,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.handleId},
+                #{item.handleDate},
+                #{item.objectId}::uuid,
+                #{item.rec1Type},
+                #{item.rec1Id}::uuid,
+                #{item.rec1HandleAmt},
+                #{item.rec1WaiveAmt},
+                #{item.rec2Type},
+                #{item.rec2Id}::uuid,
+                #{item.rec2HandleAmt},
+                #{item.remarks},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandle;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  应收还款 Mapper
+*/
+@Repository
+public interface ReceivableHandleMapper extends BaseMapper<ReceivableHandle>{
+	
+}
+

+ 195 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.xml

@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mac.ReceivableHandleMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        handle_id, handle_no, handle_date, handle_rec_type, handle_rec_id, handle_rec_dir, object_id, sum_handle_amt, sum_waive_amt, remarks, make_staff, make_time, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mac.ReceivableHandle">
+        <id column="handle_id" property="handleId"/>
+                <result column="handle_no" property="handleNo"/>
+            <result column="handle_date" property="handleDate" typeHandler="TimestampTypeHandler"/>
+                <result column="handle_rec_type" property="handleRecType"/>
+                <result column="handle_rec_id" property="handleRecId" typeHandler="UuidTypeHandler"/>
+                <result column="handle_rec_dir" property="handleRecDir"/>
+                <result column="object_id" property="objectId" typeHandler="UuidTypeHandler"/>
+                <result column="sum_handle_amt" property="sumHandleAmt"/>
+                <result column="sum_waive_amt" property="sumWaiveAmt"/>
+                <result column="remarks" property="remarks"/>
+                <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+            <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="handleNo != null and handleNo != ''">
+                AND handle_no = #{handleNo}
+            </if>
+            <if test="handleDate != null">
+                AND handle_date = #{handleDate}
+            </if>
+            <if test="handleRecType != null and handleRecType != ''">
+                AND handle_rec_type = #{handleRecType}
+            </if>
+            <if test="handleRecId != null and handleRecId != ''">
+                AND handle_rec_id = #{handleRecId}
+            </if>
+            <if test="handleRecDir != null">
+                AND handle_rec_dir = #{handleRecDir}
+            </if>
+            <if test="objectId != null and objectId != ''">
+                AND object_id = #{objectId}
+            </if>
+            <if test="sumHandleAmt != null">
+                AND sum_handle_amt = #{sumHandleAmt}
+            </if>
+            <if test="sumWaiveAmt != null">
+                AND sum_waive_amt = #{sumWaiveAmt}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND make_time = #{makeTime}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键handleId批量操作 -->
+        WHERE handle_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mac_receivable_handle,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mac_receivable_handle,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mac_receivable_handle
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mac_receivable_handle的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle
+        WHERE handle_id = #{handleId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable_handle的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle
+        WHERE handle_id = #{handleId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable_handle的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable_handle
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mac_receivable_handle
+        (
+        <trim suffixOverrides=",">
+            handle_no,
+            handle_date,
+            handle_rec_type,
+            handle_rec_id,
+            handle_rec_dir,
+            object_id,
+            sum_handle_amt,
+            sum_waive_amt,
+            remarks,
+            make_staff,
+            make_time,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.handleNo},
+                #{item.handleDate},
+                #{item.handleRecType},
+                #{item.handleRecId}::uuid,
+                #{item.handleRecDir},
+                #{item.objectId}::uuid,
+                #{item.sumHandleAmt},
+                #{item.sumWaiveAmt},
+                #{item.remarks},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 14 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mac;
+
+import com.dk.mdm.model.pojo.mac.Receivable;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  应收账款 Mapper
+*/
+@Repository
+public interface ReceivableMapper extends BaseMapper<Receivable>{
+	
+}
+

+ 243 - 0
src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.xml

@@ -0,0 +1,243 @@
+<?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.mac.ReceivableMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        rec_id, rec_no, rec_type, acc_type, rec_direction, object_id, org_id, staff_id, acc_date, rec_status, amt_receivable, amt_waive, amt_handle, amt_residue, biznis_type, biznis_id, biznis_no, remarks, make_staff, make_time, flg_valid, cp_id, op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user
+    </sql>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mac.Receivable">
+        <id column="rec_id" property="recId"/>
+                <result column="rec_no" property="recNo"/>
+                <result column="rec_type" property="recType"/>
+                <result column="acc_type" property="accType"/>
+                <result column="rec_direction" property="recDirection"/>
+                <result column="object_id" property="objectId" typeHandler="UuidTypeHandler"/>
+                <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+                <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+            <result column="acc_date" property="accDate" typeHandler="TimestampTypeHandler"/>
+                <result column="rec_status" property="recStatus"/>
+                <result column="amt_receivable" property="amtReceivable"/>
+                <result column="amt_waive" property="amtWaive"/>
+                <result column="amt_handle" property="amtHandle"/>
+                <result column="amt_residue" property="amtResidue"/>
+                <result column="biznis_type" property="biznisType"/>
+                <result column="biznis_id" property="biznisId" typeHandler="UuidTypeHandler"/>
+                <result column="biznis_no" property="biznisNo"/>
+                <result column="remarks" property="remarks"/>
+                <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+            <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+                <result column="flg_valid" property="flgValid"/>
+                <result column="cp_id" property="cpId"/>
+            <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+            <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
+                <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
+                <result column="op_app_code" property="opAppCode"/>
+            <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+                <result column="op_db_user" property="opDbUser"/>
+    </resultMap>
+
+    <!-- 通用条件列 -->
+    <sql id="Condition">
+        <where>
+            <if test="recNo != null and recNo != ''">
+                AND rec_no = #{recNo}
+            </if>
+            <if test="recType != null and recType != ''">
+                AND rec_type = #{recType}
+            </if>
+            <if test="accType != null">
+                AND acc_type = #{accType}
+            </if>
+            <if test="recDirection != null">
+                AND rec_direction = #{recDirection}
+            </if>
+            <if test="objectId != null and objectId != ''">
+                AND object_id = #{objectId}
+            </if>
+            <if test="orgId != null and orgId != ''">
+                AND org_id = #{orgId}
+            </if>
+            <if test="staffId != null and staffId != ''">
+                AND staff_id = #{staffId}
+            </if>
+            <if test="accDate != null">
+                AND acc_date = #{accDate}
+            </if>
+            <if test="recStatus != null and recStatus != ''">
+                AND rec_status = #{recStatus}
+            </if>
+            <if test="amtReceivable != null">
+                AND amt_receivable = #{amtReceivable}
+            </if>
+            <if test="amtWaive != null">
+                AND amt_waive = #{amtWaive}
+            </if>
+            <if test="amtHandle != null">
+                AND amt_handle = #{amtHandle}
+            </if>
+            <if test="amtResidue != null">
+                AND amt_residue = #{amtResidue}
+            </if>
+            <if test="biznisType != null and biznisType != ''">
+                AND biznis_type = #{biznisType}
+            </if>
+            <if test="biznisId != null and biznisId != ''">
+                AND biznis_id = #{biznisId}
+            </if>
+            <if test="biznisNo != null and biznisNo != ''">
+                AND biznis_no = #{biznisNo}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                AND remarks = #{remarks}
+            </if>
+            <if test="makeStaff != null and makeStaff != ''">
+                AND make_staff = #{makeStaff}
+            </if>
+            <if test="makeTime != null">
+                AND make_time = #{makeTime}
+            </if>
+            <if test="flgValid != null">
+                AND flg_valid = #{flgValid}
+            </if>
+            <if test="cpId != null">
+                AND cp_id = #{cpId}
+            </if>
+            <if test="opCreateTime != null">
+                AND op_create_time = #{opCreateTime}
+            </if>
+            <if test="opCreateUserId != null and opCreateUserId != ''">
+                AND op_create_user_id = #{opCreateUserId}
+            </if>
+            <if test="opUpdateTime != null">
+                AND op_update_time = #{opUpdateTime}
+            </if>
+            <if test="opUpdateUserId != null and opUpdateUserId != ''">
+                AND op_update_user_id = #{opUpdateUserId}
+            </if>
+            <if test="opAppCode != null and opAppCode != ''">
+                AND op_app_code = #{opAppCode}
+            </if>
+            <if test="opTimestamp != null">
+                AND op_timestamp = #{opTimestamp}
+            </if>
+            <if test="opDbUser != null and opDbUser != ''">
+                AND op_db_user = #{opDbUser}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="idsForeach">
+        <!-- 根据主键recId批量操作 -->
+        WHERE rec_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mac_receivable,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mac_receivable,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mac_receivable
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mac_receivable的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable
+        WHERE rec_id = #{recId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable
+        WHERE rec_id = #{recId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mac_receivable的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mac_receivable
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mac_receivable
+        (
+        <trim suffixOverrides=",">
+            rec_no,
+            rec_type,
+            acc_type,
+            rec_direction,
+            object_id,
+            org_id,
+            staff_id,
+            acc_date,
+            rec_status,
+            amt_receivable,
+            amt_waive,
+            amt_handle,
+            amt_residue,
+            biznis_type,
+            biznis_id,
+            biznis_no,
+            remarks,
+            make_staff,
+            make_time,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.recNo},
+                #{item.recType},
+                #{item.accType},
+                #{item.recDirection},
+                #{item.objectId}::uuid,
+                #{item.orgId}::uuid,
+                #{item.staffId}::uuid,
+                #{item.accDate},
+                #{item.recStatus},
+                #{item.amtReceivable},
+                #{item.amtWaive},
+                #{item.amtHandle},
+                #{item.amtResidue},
+                #{item.biznisType},
+                #{item.biznisId}::uuid,
+                #{item.biznisNo},
+                #{item.remarks},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

+ 224 - 0
src/main/java/com/dk/mdm/model/pojo/mac/AccountObject.java

@@ -0,0 +1,224 @@
+package com.dk.mdm.model.pojo.mac;
+
+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_mac_account_object", autoResultMap = true)
+@ApiModel(value="实体类:账款对象", description="表名:t_mac_account_object")
+public class AccountObject extends PageInfo<AccountObject> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 账务对象ID
+     */
+//    @TableId(value = "object_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "账务对象ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 对象类型 (【系统字典】客户、供应商)
+     */
+    @Excel(name = "对象类型 (【系统字典】客户、供应商)")
+    @ApiModelProperty(value = "对象类型 (【系统字典】客户、供应商)")
+    private String objectType;
+
+
+    /**
+     * 总收付金额 (SUM(收款)、SUM(付款))
+     */
+    @Excel(name = "总收付金额 (SUM(收款)、SUM(付款))")
+    @ApiModelProperty(value = "总收付金额 (SUM(收款)、SUM(付款))")
+    private BigDecimal sumPayment;
+
+
+    /**
+     * 总退款金额 (SUM(收款退款)、SUM(付款退款))
+     */
+    @Excel(name = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    @ApiModelProperty(value = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    private BigDecimal sumRefund;
+
+
+    /**
+     * 总资金往来 (总收付金额-总退款金额)
+     */
+    @Excel(name = "总资金往来 (总收付金额-总退款金额)")
+    @ApiModelProperty(value = "总资金往来 (总收付金额-总退款金额)")
+    private BigDecimal sumMoney;
+
+
+    /**
+     * 总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))
+     */
+    @Excel(name = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    @ApiModelProperty(value = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    private BigDecimal sumPayable;
+
+
+    /**
+     * 总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))
+     */
+    @Excel(name = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    @ApiModelProperty(value = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    private BigDecimal sumHandle;
+
+
+    /**
+     * 总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))
+     */
+    @Excel(name = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    @ApiModelProperty(value = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    private BigDecimal sumWaive;
+
+
+    /**
+     * 剩余应收付 (总应收付款-总还款金额-总优惠金额)
+     */
+    @Excel(name = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    @ApiModelProperty(value = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    private BigDecimal sumResidue;
+
+
+    /**
+     * 可退金额 (总资金往来-总应收付款+总优惠金额)
+     */
+    @Excel(name = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    @ApiModelProperty(value = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    private BigDecimal amtRefundable;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 306 - 0
src/main/java/com/dk/mdm/model/pojo/mac/Receivable.java

@@ -0,0 +1,306 @@
+package com.dk.mdm.model.pojo.mac;
+
+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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  应收账款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收账款")
+@TableName(value = "t_mac_receivable", autoResultMap = true)
+@ApiModel(value="实体类:应收账款", description="表名:t_mac_receivable")
+public class Receivable extends PageInfo<Receivable> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 应收单ID
+     */
+//    @TableId(value = "rec_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String recId;
+
+
+    /**
+     * 应收单号
+     */
+    @Excel(name = "应收单号")
+    @ApiModelProperty(value = "应收单号")
+    private String recNo;
+
+
+    /**
+     * 应收类型 (【系统字典】销售、其他、销退)
+     */
+    @Excel(name = "应收类型 (【系统字典】销售、其他、销退)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】销售、其他、销退)")
+    private String recType;
+
+
+    /**
+     * 账款类型 (1:款 2:账 0:期初)
+     */
+    @Excel(name = "账款类型 (1:款 2:账 0:期初)")
+    @ApiModelProperty(value = "账款类型 (1:款 2:账 0:期初)")
+    private Integer accType;
+
+
+    /**
+     * 应收方向 (true:正 false 反)
+     */
+    @Excel(name = "应收方向 (true:正 false 反)")
+    @ApiModelProperty(value = "应收方向 (true:正 false 反)")
+    private Boolean recDirection;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 账务日期
+     */
+    @Excel(name = "账务日期")
+    @ApiModelProperty(value = "账务日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accDate;
+
+
+    /**
+     * 应收状态 (【系统字典】未收、部分、完成)
+     */
+    @Excel(name = "应收状态 (【系统字典】未收、部分、完成)")
+    @ApiModelProperty(value = "应收状态 (【系统字典】未收、部分、完成)")
+    private String recStatus;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal amtWaive;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余金额 (应收金额-优惠金额-还款金额)
+     */
+    @Excel(name = "剩余金额 (应收金额-优惠金额-还款金额)")
+    @ApiModelProperty(value = "剩余金额 (应收金额-优惠金额-还款金额)")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 业务单据 (表名?)
+     */
+    @Excel(name = "业务单据 (表名?)")
+    @ApiModelProperty(value = "业务单据 (表名?)")
+    private String biznisType;
+
+
+    /**
+     * 业务单ID
+     */
+    @Excel(name = "业务单ID")
+    @ApiModelProperty(value = "业务单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String biznisId;
+
+
+    /**
+     * 业务单号
+     */
+    @Excel(name = "业务单号")
+    @ApiModelProperty(value = "业务单号")
+    private String biznisNo;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 240 - 0
src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandle.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.pojo.mac;
+
+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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款")
+@TableName(value = "t_mac_receivable_handle", autoResultMap = true)
+@ApiModel(value="实体类:应收还款", description="表名:t_mac_receivable_handle")
+public class ReceivableHandle extends PageInfo<ReceivableHandle> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 还款单ID
+     */
+//    @TableId(value = "handle_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "还款单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleId;
+
+
+    /**
+     * 还款单号
+     */
+    @Excel(name = "还款单号")
+    @ApiModelProperty(value = "还款单号")
+    private String handleNo;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 应收类型 (【系统字典】应收类型:谁触发的还款)
+     */
+    @Excel(name = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    private String handleRecType;
+
+
+    /**
+     * 应收单ID
+     */
+    @Excel(name = "应收单ID")
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleRecId;
+
+
+    /**
+     * 应收方向
+     */
+    @Excel(name = "应收方向")
+    @ApiModelProperty(value = "应收方向")
+    private Boolean handleRecDir;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 合计还款金额 (抵消的负应收金额)
+     */
+    @Excel(name = "合计还款金额 (抵消的负应收金额)")
+    @ApiModelProperty(value = "合计还款金额 (抵消的负应收金额)")
+    private BigDecimal sumHandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal sumWaiveAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 238 - 0
src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandleItem.java

@@ -0,0 +1,238 @@
+package com.dk.mdm.model.pojo.mac;
+
+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.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款明细")
+@TableName(value = "t_mac_receivable_handle_item", autoResultMap = true)
+@ApiModel(value="实体类:应收还款明细", description="表名:t_mac_receivable_handle_item")
+public class ReceivableHandleItem extends PageInfo<ReceivableHandleItem> 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")
+    private String handleId;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 应收类型 (正向应收单)
+     */
+    @Excel(name = "应收类型 (正向应收单)")
+    @ApiModelProperty(value = "应收类型 (正向应收单)")
+    private String rec1Type;
+
+
+    /**
+     * 应收单ID (正向应收单)
+     */
+    @Excel(name = "应收单ID (正向应收单)")
+    @ApiModelProperty(value = "应收单ID (正向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec1Id;
+
+
+    /**
+     * 还款金额 (正向应收金额(正数))
+     */
+    @Excel(name = "还款金额 (正向应收金额(正数))")
+    @ApiModelProperty(value = "还款金额 (正向应收金额(正数))")
+    private BigDecimal rec1HandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal rec1WaiveAmt;
+
+
+    /**
+     * 应收类型 (反向应收单)
+     */
+    @Excel(name = "应收类型 (反向应收单)")
+    @ApiModelProperty(value = "应收类型 (反向应收单)")
+    private String rec2Type;
+
+
+    /**
+     * 应收单ID (反向应收单)
+     */
+    @Excel(name = "应收单ID (反向应收单)")
+    @ApiModelProperty(value = "应收单ID (反向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec2Id;
+
+
+    /**
+     * 还款金额 (反向应收金额(负数))
+     */
+    @Excel(name = "还款金额 (反向应收金额(负数))")
+    @ApiModelProperty(value = "还款金额 (反向应收金额(负数))")
+    private BigDecimal rec2HandleAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 224 - 0
src/main/java/com/dk/mdm/model/query/mac/AccountObjectQuery.java

@@ -0,0 +1,224 @@
+package com.dk.mdm.model.query.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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_mac_account_object", autoResultMap = true)
+@ApiModel(value="实体类:账款对象", description="表名:t_mac_account_object")
+public class AccountObjectQuery extends PageInfo<AccountObjectQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 账务对象ID
+     */
+//    @TableId(value = "object_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "账务对象ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 对象类型 (【系统字典】客户、供应商)
+     */
+    @Excel(name = "对象类型 (【系统字典】客户、供应商)")
+    @ApiModelProperty(value = "对象类型 (【系统字典】客户、供应商)")
+    private String objectType;
+
+
+    /**
+     * 总收付金额 (SUM(收款)、SUM(付款))
+     */
+    @Excel(name = "总收付金额 (SUM(收款)、SUM(付款))")
+    @ApiModelProperty(value = "总收付金额 (SUM(收款)、SUM(付款))")
+    private BigDecimal sumPayment;
+
+
+    /**
+     * 总退款金额 (SUM(收款退款)、SUM(付款退款))
+     */
+    @Excel(name = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    @ApiModelProperty(value = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    private BigDecimal sumRefund;
+
+
+    /**
+     * 总资金往来 (总收付金额-总退款金额)
+     */
+    @Excel(name = "总资金往来 (总收付金额-总退款金额)")
+    @ApiModelProperty(value = "总资金往来 (总收付金额-总退款金额)")
+    private BigDecimal sumMoney;
+
+
+    /**
+     * 总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))
+     */
+    @Excel(name = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    @ApiModelProperty(value = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    private BigDecimal sumPayable;
+
+
+    /**
+     * 总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))
+     */
+    @Excel(name = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    @ApiModelProperty(value = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    private BigDecimal sumHandle;
+
+
+    /**
+     * 总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))
+     */
+    @Excel(name = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    @ApiModelProperty(value = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    private BigDecimal sumWaive;
+
+
+    /**
+     * 剩余应收付 (总应收付款-总还款金额-总优惠金额)
+     */
+    @Excel(name = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    @ApiModelProperty(value = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    private BigDecimal sumResidue;
+
+
+    /**
+     * 可退金额 (总资金往来-总应收付款+总优惠金额)
+     */
+    @Excel(name = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    @ApiModelProperty(value = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    private BigDecimal amtRefundable;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 238 - 0
src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleItemQuery.java

@@ -0,0 +1,238 @@
+package com.dk.mdm.model.query.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款明细")
+@TableName(value = "t_mac_receivable_handle_item", autoResultMap = true)
+@ApiModel(value="实体类:应收还款明细", description="表名:t_mac_receivable_handle_item")
+public class ReceivableHandleItemQuery extends PageInfo<ReceivableHandleItemQuery> 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")
+    private String handleId;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 应收类型 (正向应收单)
+     */
+    @Excel(name = "应收类型 (正向应收单)")
+    @ApiModelProperty(value = "应收类型 (正向应收单)")
+    private String rec1Type;
+
+
+    /**
+     * 应收单ID (正向应收单)
+     */
+    @Excel(name = "应收单ID (正向应收单)")
+    @ApiModelProperty(value = "应收单ID (正向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec1Id;
+
+
+    /**
+     * 还款金额 (正向应收金额(正数))
+     */
+    @Excel(name = "还款金额 (正向应收金额(正数))")
+    @ApiModelProperty(value = "还款金额 (正向应收金额(正数))")
+    private BigDecimal rec1HandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal rec1WaiveAmt;
+
+
+    /**
+     * 应收类型 (反向应收单)
+     */
+    @Excel(name = "应收类型 (反向应收单)")
+    @ApiModelProperty(value = "应收类型 (反向应收单)")
+    private String rec2Type;
+
+
+    /**
+     * 应收单ID (反向应收单)
+     */
+    @Excel(name = "应收单ID (反向应收单)")
+    @ApiModelProperty(value = "应收单ID (反向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec2Id;
+
+
+    /**
+     * 还款金额 (反向应收金额(负数))
+     */
+    @Excel(name = "还款金额 (反向应收金额(负数))")
+    @ApiModelProperty(value = "还款金额 (反向应收金额(负数))")
+    private BigDecimal rec2HandleAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 240 - 0
src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleQuery.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.query.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款")
+@TableName(value = "t_mac_receivable_handle", autoResultMap = true)
+@ApiModel(value="实体类:应收还款", description="表名:t_mac_receivable_handle")
+public class ReceivableHandleQuery extends PageInfo<ReceivableHandleQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 还款单ID
+     */
+//    @TableId(value = "handle_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "还款单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleId;
+
+
+    /**
+     * 还款单号
+     */
+    @Excel(name = "还款单号")
+    @ApiModelProperty(value = "还款单号")
+    private String handleNo;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 应收类型 (【系统字典】应收类型:谁触发的还款)
+     */
+    @Excel(name = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    private String handleRecType;
+
+
+    /**
+     * 应收单ID
+     */
+    @Excel(name = "应收单ID")
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleRecId;
+
+
+    /**
+     * 应收方向
+     */
+    @Excel(name = "应收方向")
+    @ApiModelProperty(value = "应收方向")
+    private Boolean handleRecDir;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 合计还款金额 (抵消的负应收金额)
+     */
+    @Excel(name = "合计还款金额 (抵消的负应收金额)")
+    @ApiModelProperty(value = "合计还款金额 (抵消的负应收金额)")
+    private BigDecimal sumHandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal sumWaiveAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 306 - 0
src/main/java/com/dk/mdm/model/query/mac/ReceivableQuery.java

@@ -0,0 +1,306 @@
+package com.dk.mdm.model.query.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收账款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收账款")
+@TableName(value = "t_mac_receivable", autoResultMap = true)
+@ApiModel(value="实体类:应收账款", description="表名:t_mac_receivable")
+public class ReceivableQuery extends PageInfo<ReceivableQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 应收单ID
+     */
+//    @TableId(value = "rec_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String recId;
+
+
+    /**
+     * 应收单号
+     */
+    @Excel(name = "应收单号")
+    @ApiModelProperty(value = "应收单号")
+    private String recNo;
+
+
+    /**
+     * 应收类型 (【系统字典】销售、其他、销退)
+     */
+    @Excel(name = "应收类型 (【系统字典】销售、其他、销退)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】销售、其他、销退)")
+    private String recType;
+
+
+    /**
+     * 账款类型 (1:款 2:账 0:期初)
+     */
+    @Excel(name = "账款类型 (1:款 2:账 0:期初)")
+    @ApiModelProperty(value = "账款类型 (1:款 2:账 0:期初)")
+    private Integer accType;
+
+
+    /**
+     * 应收方向 (true:正 false 反)
+     */
+    @Excel(name = "应收方向 (true:正 false 反)")
+    @ApiModelProperty(value = "应收方向 (true:正 false 反)")
+    private Boolean recDirection;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 账务日期
+     */
+    @Excel(name = "账务日期")
+    @ApiModelProperty(value = "账务日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accDate;
+
+
+    /**
+     * 应收状态 (【系统字典】未收、部分、完成)
+     */
+    @Excel(name = "应收状态 (【系统字典】未收、部分、完成)")
+    @ApiModelProperty(value = "应收状态 (【系统字典】未收、部分、完成)")
+    private String recStatus;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal amtWaive;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余金额 (应收金额-优惠金额-还款金额)
+     */
+    @Excel(name = "剩余金额 (应收金额-优惠金额-还款金额)")
+    @ApiModelProperty(value = "剩余金额 (应收金额-优惠金额-还款金额)")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 业务单据 (表名?)
+     */
+    @Excel(name = "业务单据 (表名?)")
+    @ApiModelProperty(value = "业务单据 (表名?)")
+    private String biznisType;
+
+
+    /**
+     * 业务单ID
+     */
+    @Excel(name = "业务单ID")
+    @ApiModelProperty(value = "业务单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String biznisId;
+
+
+    /**
+     * 业务单号
+     */
+    @Excel(name = "业务单号")
+    @ApiModelProperty(value = "业务单号")
+    private String biznisNo;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 224 - 0
src/main/java/com/dk/mdm/model/response/mac/AccountObjectResponse.java

@@ -0,0 +1,224 @@
+package com.dk.mdm.model.response.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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_mac_account_object", autoResultMap = true)
+@ApiModel(value="实体类:账款对象", description="表名:t_mac_account_object")
+public class AccountObjectResponse extends PageInfo<AccountObjectResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 账务对象ID
+     */
+//    @TableId(value = "object_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "账务对象ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 对象类型 (【系统字典】客户、供应商)
+     */
+    @Excel(name = "对象类型 (【系统字典】客户、供应商)")
+    @ApiModelProperty(value = "对象类型 (【系统字典】客户、供应商)")
+    private String objectType;
+
+
+    /**
+     * 总收付金额 (SUM(收款)、SUM(付款))
+     */
+    @Excel(name = "总收付金额 (SUM(收款)、SUM(付款))")
+    @ApiModelProperty(value = "总收付金额 (SUM(收款)、SUM(付款))")
+    private BigDecimal sumPayment;
+
+
+    /**
+     * 总退款金额 (SUM(收款退款)、SUM(付款退款))
+     */
+    @Excel(name = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    @ApiModelProperty(value = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    private BigDecimal sumRefund;
+
+
+    /**
+     * 总资金往来 (总收付金额-总退款金额)
+     */
+    @Excel(name = "总资金往来 (总收付金额-总退款金额)")
+    @ApiModelProperty(value = "总资金往来 (总收付金额-总退款金额)")
+    private BigDecimal sumMoney;
+
+
+    /**
+     * 总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))
+     */
+    @Excel(name = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    @ApiModelProperty(value = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    private BigDecimal sumPayable;
+
+
+    /**
+     * 总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))
+     */
+    @Excel(name = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    @ApiModelProperty(value = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    private BigDecimal sumHandle;
+
+
+    /**
+     * 总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))
+     */
+    @Excel(name = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    @ApiModelProperty(value = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    private BigDecimal sumWaive;
+
+
+    /**
+     * 剩余应收付 (总应收付款-总还款金额-总优惠金额)
+     */
+    @Excel(name = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    @ApiModelProperty(value = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    private BigDecimal sumResidue;
+
+
+    /**
+     * 可退金额 (总资金往来-总应收付款+总优惠金额)
+     */
+    @Excel(name = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    @ApiModelProperty(value = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    private BigDecimal amtRefundable;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 238 - 0
src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleItemResponse.java

@@ -0,0 +1,238 @@
+package com.dk.mdm.model.response.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款明细")
+@TableName(value = "t_mac_receivable_handle_item", autoResultMap = true)
+@ApiModel(value="实体类:应收还款明细", description="表名:t_mac_receivable_handle_item")
+public class ReceivableHandleItemResponse extends PageInfo<ReceivableHandleItemResponse> 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")
+    private String handleId;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 应收类型 (正向应收单)
+     */
+    @Excel(name = "应收类型 (正向应收单)")
+    @ApiModelProperty(value = "应收类型 (正向应收单)")
+    private String rec1Type;
+
+
+    /**
+     * 应收单ID (正向应收单)
+     */
+    @Excel(name = "应收单ID (正向应收单)")
+    @ApiModelProperty(value = "应收单ID (正向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec1Id;
+
+
+    /**
+     * 还款金额 (正向应收金额(正数))
+     */
+    @Excel(name = "还款金额 (正向应收金额(正数))")
+    @ApiModelProperty(value = "还款金额 (正向应收金额(正数))")
+    private BigDecimal rec1HandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal rec1WaiveAmt;
+
+
+    /**
+     * 应收类型 (反向应收单)
+     */
+    @Excel(name = "应收类型 (反向应收单)")
+    @ApiModelProperty(value = "应收类型 (反向应收单)")
+    private String rec2Type;
+
+
+    /**
+     * 应收单ID (反向应收单)
+     */
+    @Excel(name = "应收单ID (反向应收单)")
+    @ApiModelProperty(value = "应收单ID (反向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec2Id;
+
+
+    /**
+     * 还款金额 (反向应收金额(负数))
+     */
+    @Excel(name = "还款金额 (反向应收金额(负数))")
+    @ApiModelProperty(value = "还款金额 (反向应收金额(负数))")
+    private BigDecimal rec2HandleAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 240 - 0
src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleResponse.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.response.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款")
+@TableName(value = "t_mac_receivable_handle", autoResultMap = true)
+@ApiModel(value="实体类:应收还款", description="表名:t_mac_receivable_handle")
+public class ReceivableHandleResponse extends PageInfo<ReceivableHandleResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 还款单ID
+     */
+//    @TableId(value = "handle_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "还款单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleId;
+
+
+    /**
+     * 还款单号
+     */
+    @Excel(name = "还款单号")
+    @ApiModelProperty(value = "还款单号")
+    private String handleNo;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 应收类型 (【系统字典】应收类型:谁触发的还款)
+     */
+    @Excel(name = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    private String handleRecType;
+
+
+    /**
+     * 应收单ID
+     */
+    @Excel(name = "应收单ID")
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleRecId;
+
+
+    /**
+     * 应收方向
+     */
+    @Excel(name = "应收方向")
+    @ApiModelProperty(value = "应收方向")
+    private Boolean handleRecDir;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 合计还款金额 (抵消的负应收金额)
+     */
+    @Excel(name = "合计还款金额 (抵消的负应收金额)")
+    @ApiModelProperty(value = "合计还款金额 (抵消的负应收金额)")
+    private BigDecimal sumHandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal sumWaiveAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 306 - 0
src/main/java/com/dk/mdm/model/response/mac/ReceivableResponse.java

@@ -0,0 +1,306 @@
+package com.dk.mdm.model.response.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收账款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收账款")
+@TableName(value = "t_mac_receivable", autoResultMap = true)
+@ApiModel(value="实体类:应收账款", description="表名:t_mac_receivable")
+public class ReceivableResponse extends PageInfo<ReceivableResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 应收单ID
+     */
+//    @TableId(value = "rec_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String recId;
+
+
+    /**
+     * 应收单号
+     */
+    @Excel(name = "应收单号")
+    @ApiModelProperty(value = "应收单号")
+    private String recNo;
+
+
+    /**
+     * 应收类型 (【系统字典】销售、其他、销退)
+     */
+    @Excel(name = "应收类型 (【系统字典】销售、其他、销退)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】销售、其他、销退)")
+    private String recType;
+
+
+    /**
+     * 账款类型 (1:款 2:账 0:期初)
+     */
+    @Excel(name = "账款类型 (1:款 2:账 0:期初)")
+    @ApiModelProperty(value = "账款类型 (1:款 2:账 0:期初)")
+    private Integer accType;
+
+
+    /**
+     * 应收方向 (true:正 false 反)
+     */
+    @Excel(name = "应收方向 (true:正 false 反)")
+    @ApiModelProperty(value = "应收方向 (true:正 false 反)")
+    private Boolean recDirection;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 账务日期
+     */
+    @Excel(name = "账务日期")
+    @ApiModelProperty(value = "账务日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accDate;
+
+
+    /**
+     * 应收状态 (【系统字典】未收、部分、完成)
+     */
+    @Excel(name = "应收状态 (【系统字典】未收、部分、完成)")
+    @ApiModelProperty(value = "应收状态 (【系统字典】未收、部分、完成)")
+    private String recStatus;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal amtWaive;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余金额 (应收金额-优惠金额-还款金额)
+     */
+    @Excel(name = "剩余金额 (应收金额-优惠金额-还款金额)")
+    @ApiModelProperty(value = "剩余金额 (应收金额-优惠金额-还款金额)")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 业务单据 (表名?)
+     */
+    @Excel(name = "业务单据 (表名?)")
+    @ApiModelProperty(value = "业务单据 (表名?)")
+    private String biznisType;
+
+
+    /**
+     * 业务单ID
+     */
+    @Excel(name = "业务单ID")
+    @ApiModelProperty(value = "业务单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String biznisId;
+
+
+    /**
+     * 业务单号
+     */
+    @Excel(name = "业务单号")
+    @ApiModelProperty(value = "业务单号")
+    private String biznisNo;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 224 - 0
src/main/java/com/dk/mdm/model/vo/mac/AccountObjectVO.java

@@ -0,0 +1,224 @@
+package com.dk.mdm.model.vo.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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_mac_account_object", autoResultMap = true)
+@ApiModel(value="实体类:账款对象", description="表名:t_mac_account_object")
+public class AccountObjectVO extends PageInfo<AccountObjectVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 账务对象ID
+     */
+//    @TableId(value = "object_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "账务对象ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 对象类型 (【系统字典】客户、供应商)
+     */
+    @Excel(name = "对象类型 (【系统字典】客户、供应商)")
+    @ApiModelProperty(value = "对象类型 (【系统字典】客户、供应商)")
+    private String objectType;
+
+
+    /**
+     * 总收付金额 (SUM(收款)、SUM(付款))
+     */
+    @Excel(name = "总收付金额 (SUM(收款)、SUM(付款))")
+    @ApiModelProperty(value = "总收付金额 (SUM(收款)、SUM(付款))")
+    private BigDecimal sumPayment;
+
+
+    /**
+     * 总退款金额 (SUM(收款退款)、SUM(付款退款))
+     */
+    @Excel(name = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    @ApiModelProperty(value = "总退款金额 (SUM(收款退款)、SUM(付款退款))")
+    private BigDecimal sumRefund;
+
+
+    /**
+     * 总资金往来 (总收付金额-总退款金额)
+     */
+    @Excel(name = "总资金往来 (总收付金额-总退款金额)")
+    @ApiModelProperty(value = "总资金往来 (总收付金额-总退款金额)")
+    private BigDecimal sumMoney;
+
+
+    /**
+     * 总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))
+     */
+    @Excel(name = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    @ApiModelProperty(value = "总应收付款 (SUM(应收账款.应收金额)、SUM(应付账款.应付金额))")
+    private BigDecimal sumPayable;
+
+
+    /**
+     * 总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))
+     */
+    @Excel(name = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    @ApiModelProperty(value = "总还款金额 (SUM(应收账款.还款金额)、SUM(应付账款.还款金额))")
+    private BigDecimal sumHandle;
+
+
+    /**
+     * 总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))
+     */
+    @Excel(name = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    @ApiModelProperty(value = "总优惠金额 (SUM(应收账款.优惠金额)、SUM(应付账款.优惠金额))")
+    private BigDecimal sumWaive;
+
+
+    /**
+     * 剩余应收付 (总应收付款-总还款金额-总优惠金额)
+     */
+    @Excel(name = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    @ApiModelProperty(value = "剩余应收付 (总应收付款-总还款金额-总优惠金额)")
+    private BigDecimal sumResidue;
+
+
+    /**
+     * 可退金额 (总资金往来-总应收付款+总优惠金额)
+     */
+    @Excel(name = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    @ApiModelProperty(value = "可退金额 (总资金往来-总应收付款+总优惠金额)")
+    private BigDecimal amtRefundable;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 238 - 0
src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleItemVO.java

@@ -0,0 +1,238 @@
+package com.dk.mdm.model.vo.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款明细")
+@TableName(value = "t_mac_receivable_handle_item", autoResultMap = true)
+@ApiModel(value="实体类:应收还款明细", description="表名:t_mac_receivable_handle_item")
+public class ReceivableHandleItemVO extends PageInfo<ReceivableHandleItemVO> 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")
+    private String handleId;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 应收类型 (正向应收单)
+     */
+    @Excel(name = "应收类型 (正向应收单)")
+    @ApiModelProperty(value = "应收类型 (正向应收单)")
+    private String rec1Type;
+
+
+    /**
+     * 应收单ID (正向应收单)
+     */
+    @Excel(name = "应收单ID (正向应收单)")
+    @ApiModelProperty(value = "应收单ID (正向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec1Id;
+
+
+    /**
+     * 还款金额 (正向应收金额(正数))
+     */
+    @Excel(name = "还款金额 (正向应收金额(正数))")
+    @ApiModelProperty(value = "还款金额 (正向应收金额(正数))")
+    private BigDecimal rec1HandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal rec1WaiveAmt;
+
+
+    /**
+     * 应收类型 (反向应收单)
+     */
+    @Excel(name = "应收类型 (反向应收单)")
+    @ApiModelProperty(value = "应收类型 (反向应收单)")
+    private String rec2Type;
+
+
+    /**
+     * 应收单ID (反向应收单)
+     */
+    @Excel(name = "应收单ID (反向应收单)")
+    @ApiModelProperty(value = "应收单ID (反向应收单)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String rec2Id;
+
+
+    /**
+     * 还款金额 (反向应收金额(负数))
+     */
+    @Excel(name = "还款金额 (反向应收金额(负数))")
+    @ApiModelProperty(value = "还款金额 (反向应收金额(负数))")
+    private BigDecimal rec2HandleAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 240 - 0
src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleVO.java

@@ -0,0 +1,240 @@
+package com.dk.mdm.model.vo.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收还款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收还款")
+@TableName(value = "t_mac_receivable_handle", autoResultMap = true)
+@ApiModel(value="实体类:应收还款", description="表名:t_mac_receivable_handle")
+public class ReceivableHandleVO extends PageInfo<ReceivableHandleVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 还款单ID
+     */
+//    @TableId(value = "handle_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "还款单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleId;
+
+
+    /**
+     * 还款单号
+     */
+    @Excel(name = "还款单号")
+    @ApiModelProperty(value = "还款单号")
+    private String handleNo;
+
+
+    /**
+     * 还款日期
+     */
+    @Excel(name = "还款日期")
+    @ApiModelProperty(value = "还款日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate handleDate;
+
+
+    /**
+     * 应收类型 (【系统字典】应收类型:谁触发的还款)
+     */
+    @Excel(name = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】应收类型:谁触发的还款)")
+    private String handleRecType;
+
+
+    /**
+     * 应收单ID
+     */
+    @Excel(name = "应收单ID")
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String handleRecId;
+
+
+    /**
+     * 应收方向
+     */
+    @Excel(name = "应收方向")
+    @ApiModelProperty(value = "应收方向")
+    private Boolean handleRecDir;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 合计还款金额 (抵消的负应收金额)
+     */
+    @Excel(name = "合计还款金额 (抵消的负应收金额)")
+    @ApiModelProperty(value = "合计还款金额 (抵消的负应收金额)")
+    private BigDecimal sumHandleAmt;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal sumWaiveAmt;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 306 - 0
src/main/java/com/dk/mdm/model/vo/mac/ReceivableVO.java

@@ -0,0 +1,306 @@
+package com.dk.mdm.model.vo.mac;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+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.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ *  应收账款
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("应收账款")
+@TableName(value = "t_mac_receivable", autoResultMap = true)
+@ApiModel(value="实体类:应收账款", description="表名:t_mac_receivable")
+public class ReceivableVO extends PageInfo<ReceivableVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 应收单ID
+     */
+//    @TableId(value = "rec_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "应收单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String recId;
+
+
+    /**
+     * 应收单号
+     */
+    @Excel(name = "应收单号")
+    @ApiModelProperty(value = "应收单号")
+    private String recNo;
+
+
+    /**
+     * 应收类型 (【系统字典】销售、其他、销退)
+     */
+    @Excel(name = "应收类型 (【系统字典】销售、其他、销退)")
+    @ApiModelProperty(value = "应收类型 (【系统字典】销售、其他、销退)")
+    private String recType;
+
+
+    /**
+     * 账款类型 (1:款 2:账 0:期初)
+     */
+    @Excel(name = "账款类型 (1:款 2:账 0:期初)")
+    @ApiModelProperty(value = "账款类型 (1:款 2:账 0:期初)")
+    private Integer accType;
+
+
+    /**
+     * 应收方向 (true:正 false 反)
+     */
+    @Excel(name = "应收方向 (true:正 false 反)")
+    @ApiModelProperty(value = "应收方向 (true:正 false 反)")
+    private Boolean recDirection;
+
+
+    /**
+     * 账务对象 (客户)
+     */
+    @Excel(name = "账务对象 (客户)")
+    @ApiModelProperty(value = "账务对象 (客户)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String objectId;
+
+
+    /**
+     * 部门
+     */
+    @Excel(name = "部门")
+    @ApiModelProperty(value = "部门")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String orgId;
+
+
+    /**
+     * 员工
+     */
+    @Excel(name = "员工")
+    @ApiModelProperty(value = "员工")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String staffId;
+
+
+    /**
+     * 账务日期
+     */
+    @Excel(name = "账务日期")
+    @ApiModelProperty(value = "账务日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accDate;
+
+
+    /**
+     * 应收状态 (【系统字典】未收、部分、完成)
+     */
+    @Excel(name = "应收状态 (【系统字典】未收、部分、完成)")
+    @ApiModelProperty(value = "应收状态 (【系统字典】未收、部分、完成)")
+    private String recStatus;
+
+
+    /**
+     * 应收金额
+     */
+    @Excel(name = "应收金额")
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amtReceivable;
+
+
+    /**
+     * 优惠金额
+     */
+    @Excel(name = "优惠金额")
+    @ApiModelProperty(value = "优惠金额")
+    private BigDecimal amtWaive;
+
+
+    /**
+     * 还款金额
+     */
+    @Excel(name = "还款金额")
+    @ApiModelProperty(value = "还款金额")
+    private BigDecimal amtHandle;
+
+
+    /**
+     * 剩余金额 (应收金额-优惠金额-还款金额)
+     */
+    @Excel(name = "剩余金额 (应收金额-优惠金额-还款金额)")
+    @ApiModelProperty(value = "剩余金额 (应收金额-优惠金额-还款金额)")
+    private BigDecimal amtResidue;
+
+
+    /**
+     * 业务单据 (表名?)
+     */
+    @Excel(name = "业务单据 (表名?)")
+    @ApiModelProperty(value = "业务单据 (表名?)")
+    private String biznisType;
+
+
+    /**
+     * 业务单ID
+     */
+    @Excel(name = "业务单ID")
+    @ApiModelProperty(value = "业务单ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String biznisId;
+
+
+    /**
+     * 业务单号
+     */
+    @Excel(name = "业务单号")
+    @ApiModelProperty(value = "业务单号")
+    private String biznisNo;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 28 - 0
src/main/java/com/dk/mdm/service/mac/AccountObjectService.java

@@ -0,0 +1,28 @@
+package com.dk.mdm.service.mac;
+
+import com.dk.mdm.model.pojo.mac.AccountObject;
+import com.dk.mdm.mapper.mac.AccountObjectMapper;
+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 AccountObjectService extends BaseService<AccountObject> {
+
+	@Override
+	public String getPrimaryKey() {
+		return "object_id";
+	}
+
+	@Override
+	public BaseMapper<AccountObject> getRepository() {
+		return accountObjectMapper;
+	}
+
+	@Autowired
+	private AccountObjectMapper accountObjectMapper;
+
+}

+ 28 - 0
src/main/java/com/dk/mdm/service/mac/ReceivableHandleItemService.java

@@ -0,0 +1,28 @@
+package com.dk.mdm.service.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandleItem;
+import com.dk.mdm.mapper.mac.ReceivableHandleItemMapper;
+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 ReceivableHandleItemService extends BaseService<ReceivableHandleItem> {
+
+	@Override
+	public String getPrimaryKey() {
+		return "item_id";
+	}
+
+	@Override
+	public BaseMapper<ReceivableHandleItem> getRepository() {
+		return receivableHandleItemMapper;
+	}
+
+	@Autowired
+	private ReceivableHandleItemMapper receivableHandleItemMapper;
+
+}

+ 28 - 0
src/main/java/com/dk/mdm/service/mac/ReceivableHandleService.java

@@ -0,0 +1,28 @@
+package com.dk.mdm.service.mac;
+
+import com.dk.mdm.model.pojo.mac.ReceivableHandle;
+import com.dk.mdm.mapper.mac.ReceivableHandleMapper;
+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 ReceivableHandleService extends BaseService<ReceivableHandle> {
+
+	@Override
+	public String getPrimaryKey() {
+		return "handle_id";
+	}
+
+	@Override
+	public BaseMapper<ReceivableHandle> getRepository() {
+		return receivableHandleMapper;
+	}
+
+	@Autowired
+	private ReceivableHandleMapper receivableHandleMapper;
+
+}

+ 28 - 0
src/main/java/com/dk/mdm/service/mac/ReceivableService.java

@@ -0,0 +1,28 @@
+package com.dk.mdm.service.mac;
+
+import com.dk.mdm.model.pojo.mac.Receivable;
+import com.dk.mdm.mapper.mac.ReceivableMapper;
+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 ReceivableService extends BaseService<Receivable> {
+
+	@Override
+	public String getPrimaryKey() {
+		return "rec_id";
+	}
+
+	@Override
+	public BaseMapper<Receivable> getRepository() {
+		return receivableMapper;
+	}
+
+	@Autowired
+	private ReceivableMapper receivableMapper;
+
+}