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

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

zhoux 2 лет назад
Родитель
Сommit
ee107a598c
56 измененных файлов с 6612 добавлено и 88 удалено
  1. 21 5
      src/main/java/com/dk/mdm/controller/ivt/InboundPurchaseController.java
  2. 2 2
      src/main/java/com/dk/mdm/controller/ivt/IntoReturnController.java
  3. 24 0
      src/main/java/com/dk/mdm/controller/mac/AccountObjectController.java
  4. 4 2
      src/main/java/com/dk/mdm/controller/mac/ReceiptController.java
  5. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableController.java
  6. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableHandleController.java
  7. 24 0
      src/main/java/com/dk/mdm/controller/mac/ReceivableHandleItemController.java
  8. 24 0
      src/main/java/com/dk/mdm/controller/mst/MoneyItemController.java
  9. 10 1
      src/main/java/com/dk/mdm/controller/sale/OrderController.java
  10. 14 0
      src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.java
  11. 189 0
      src/main/java/com/dk/mdm/mapper/mac/AccountObjectMapper.xml
  12. 3 1
      src/main/java/com/dk/mdm/mapper/mac/ReceiptMapper.xml
  13. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.java
  14. 195 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleItemMapper.xml
  15. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.java
  16. 195 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableHandleMapper.xml
  17. 14 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.java
  18. 243 0
      src/main/java/com/dk/mdm/mapper/mac/ReceivableMapper.xml
  19. 1 1
      src/main/java/com/dk/mdm/mapper/mst/GoodsSkuMapper.xml
  20. 14 0
      src/main/java/com/dk/mdm/mapper/mst/MoneyItemMapper.java
  21. 177 0
      src/main/java/com/dk/mdm/mapper/mst/MoneyItemMapper.xml
  22. 1 1
      src/main/java/com/dk/mdm/mapper/mst/RoleMapper.xml
  23. 7 0
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.java
  24. 151 2
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml
  25. 224 0
      src/main/java/com/dk/mdm/model/pojo/mac/AccountObject.java
  26. 306 0
      src/main/java/com/dk/mdm/model/pojo/mac/Receivable.java
  27. 240 0
      src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandle.java
  28. 238 0
      src/main/java/com/dk/mdm/model/pojo/mac/ReceivableHandleItem.java
  29. 216 0
      src/main/java/com/dk/mdm/model/pojo/mst/MoneyItem.java
  30. 224 0
      src/main/java/com/dk/mdm/model/query/mac/AccountObjectQuery.java
  31. 238 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleItemQuery.java
  32. 240 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableHandleQuery.java
  33. 306 0
      src/main/java/com/dk/mdm/model/query/mac/ReceivableQuery.java
  34. 216 0
      src/main/java/com/dk/mdm/model/query/mst/MoneyItemQuery.java
  35. 224 0
      src/main/java/com/dk/mdm/model/response/mac/AccountObjectResponse.java
  36. 3 0
      src/main/java/com/dk/mdm/model/response/mac/ReceiptResponse.java
  37. 238 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleItemResponse.java
  38. 240 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableHandleResponse.java
  39. 306 0
      src/main/java/com/dk/mdm/model/response/mac/ReceivableResponse.java
  40. 216 0
      src/main/java/com/dk/mdm/model/response/mst/MoneyItemResponse.java
  41. 5 0
      src/main/java/com/dk/mdm/model/response/sale/OrderResponse.java
  42. 224 0
      src/main/java/com/dk/mdm/model/vo/mac/AccountObjectVO.java
  43. 238 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleItemVO.java
  44. 240 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableHandleVO.java
  45. 306 0
      src/main/java/com/dk/mdm/model/vo/mac/ReceivableVO.java
  46. 216 0
      src/main/java/com/dk/mdm/model/vo/mst/MoneyItemVO.java
  47. 0 2
      src/main/java/com/dk/mdm/service/common/CommonService.java
  48. 20 0
      src/main/java/com/dk/mdm/service/ivt/InboundPurchaseService.java
  49. 83 12
      src/main/java/com/dk/mdm/service/ivt/IntoReturnService.java
  50. 28 0
      src/main/java/com/dk/mdm/service/mac/AccountObjectService.java
  51. 66 58
      src/main/java/com/dk/mdm/service/mac/ReceiptService.java
  52. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableHandleItemService.java
  53. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableHandleService.java
  54. 28 0
      src/main/java/com/dk/mdm/service/mac/ReceivableService.java
  55. 28 0
      src/main/java/com/dk/mdm/service/mst/MoneyItemService.java
  56. 10 1
      src/main/java/com/dk/mdm/service/sale/OrderService.java

+ 21 - 5
src/main/java/com/dk/mdm/controller/ivt/InboundPurchaseController.java

@@ -1,11 +1,15 @@
 package com.dk.mdm.controller.ivt;
 
 
+import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.model.pojo.ivt.Inbound;
+import com.dk.mdm.model.query.ivt.InboundItemQuery;
 import com.dk.mdm.model.query.ivt.InboundQuery;
+import com.dk.mdm.model.response.ivt.InboundItemResponse;
 import com.dk.mdm.model.response.ivt.InboundResponse;
 import com.dk.mdm.model.vo.ivt.InboundVO;
 import com.dk.mdm.service.ivt.InboundOtherService;
@@ -13,12 +17,12 @@ import com.dk.mdm.service.ivt.InboundPurchaseService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 @Api(tags = "采购入库单API接口")
@@ -48,6 +52,18 @@ public class InboundPurchaseController {
     }
 
 
+    /**
+     * @desc   : 明细信息条件查询
+     * @date   : 2024/3/15 9:15
+     * @author : 寇珊珊
+     */
+    @ApiOperation(value = "明细信息条件查询", notes = "明细信息条件查询")
+    @PostMapping({"select_purchase_inbound_item_info_by_id/{id}"})
+    public ResponseResultVO<Map<String, Object>> selectPurchaseInboundItemInfoById(@PathVariable String id) {
+        return inheritedPurchaseService.selectPurchaseInboundItemInfoById(id);
+    }
+
+
 
     /**
      * @desc   : 采购入库新建
@@ -91,7 +107,7 @@ public class InboundPurchaseController {
             notes = "采购入库撤销"
     )
     @PostMapping({"purchase_inbound_cancel"})
-    public ResponseResultVO<?> purchaseInboundCancel(@RequestBody InboundVO inboundVO) {
+    public ResponseResultVO<?> purchaseInboundCancel(@Valid @RequestBody InboundVO inboundVO) {
         return inheritedPurchaseService.purchaseInboundCancel(inboundVO);
     }
 

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

@@ -60,8 +60,8 @@ public class IntoReturnController{
 
 
     /**
-     * @desc   : 冲正
-     * @date   : 2023/10/17 11:29
+     * @desc : 作废
+     * @date : 2022/6/28 16:58
      * @author : 于继渤
      */
     @ApiOperation(

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

+ 4 - 2
src/main/java/com/dk/mdm/controller/mac/ReceiptController.java

@@ -13,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import io.swagger.annotations.Api;
 import com.dk.mdm.service.mac.ReceiptService;
 
+import java.util.Map;
+
 
 @Api(tags = "收【退】款单API接口")
 @RestController
@@ -54,8 +56,8 @@ public class ReceiptController{
      */
     @ApiOperation(value = "新建", notes = "新建")
     @PostMapping({"insert"})
-    public ResponseResultVO<?> insert(@RequestBody ReceiptVO receiptVO) {
-        return receiptService.insert(receiptVO);
+    public ResponseResultVO<?> insert(@RequestBody Map<String, Object> map) {
+        return receiptService.insert(map);
     }
 
     /**

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

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

@@ -0,0 +1,24 @@
+package com.dk.mdm.controller.mst;
+
+import com.dk.mdm.model.pojo.mst.MoneyItem;
+import com.dk.common.controller.BaseController;
+import com.dk.common.service.BaseService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import com.dk.mdm.service.mst.MoneyItemService;
+
+@Api(tags = "资金流水明细API接口")
+@RestController
+@RequestMapping("/moneyItem")
+public class MoneyItemController{
+
+    public BaseService<MoneyItem> getService() {
+        return moneyItemService;
+    }
+
+    @Autowired
+    private MoneyItemService moneyItemService;
+
+}

+ 10 - 1
src/main/java/com/dk/mdm/controller/sale/OrderController.java

@@ -37,7 +37,16 @@ public class OrderController {
     public ResponseResultVO<PageList<OrderResponse>> selectByCond(@RequestBody OrderQuery orderQuery) {
         return orderService.selectByCond(orderQuery);
     }
-
+    /**
+     * @desc : 以销定采 查询
+     * @author : 王英杰
+     * @date : 2023/3/14 10:36
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"purchase_based_on_sales_list_by"})
+    public ResponseResultVO<PageList<OrderResponse>> purSaleSelectByCond(@RequestBody OrderQuery orderQuery) {
+        return orderService.purSaleSelectByCond(orderQuery);
+    }
     /**
      * @desc :查询订单明细(货物、收款、附件)
      * @author : 付斌

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

+ 3 - 1
src/main/java/com/dk/mdm/mapper/mac/ReceiptMapper.xml

@@ -167,6 +167,7 @@
                t.staff_id,
                tms.staff_name                                    as "staffName",
                t.receipt_mac,
+               tmma.mac_name                                     as "receiptMacName",
                t.receipt_amt,
                t.receivable_id,
                t.waive_amt,
@@ -181,12 +182,13 @@
                t.cp_id
         FROM dkic_b.t_mac_receipt as t
                  left join sys.t_data_kind as tdk1 on tdk1.kind_code = t.receipt_type
+                 left join dkic_b.t_mst_money_account as tmma on tmma.mac_id = t.receipt_mac
                  left join dkic_b.t_mst_org tmo on tmo.org_id = t.org_id
                  left join dkic_b.t_mst_staff tms on tms.staff_id = t.staff_id
                  left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.cus_id
                  left join dkic_b.t_mst_staff as makestaff on makestaff.staff_id = t.make_staff
                  left join dkic_b.t_psi_order as tpo on tpo.order_id = t.order_id
-                <include refid="Condition"/>
+        <include refid="Condition"/>
         order by t.op_create_time desc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}

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

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

@@ -147,7 +147,7 @@
     <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT
         <include refid="Base_Column_List_JOIN"/>
-        ,tmgb.short_name AS "shorName"
+        ,tmgb.short_name AS "shortName"
         ,tmgb.brand_name AS "brandName",tmgsr.series_name AS "seriesName",tpi.usable_qty AS "usableQty"
         FROM dkic_b.t_mst_goods_sku  tmgs
         LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = tmgs.brand_id

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

@@ -0,0 +1,14 @@
+package com.dk.mdm.mapper.mst;
+
+import com.dk.mdm.model.pojo.mst.MoneyItem;
+import com.dk.common.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+*  资金流水明细 Mapper
+*/
+@Repository
+public interface MoneyItemMapper extends BaseMapper<MoneyItem>{
+	
+}
+

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

@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dk.mdm.mapper.mst.MoneyItemMapper">
+
+    <!-- 通用设置 -->
+    <!-- 通用查询列 -->
+    <sql id="Base_Column_List">
+        item_id, mac_id, flow_type, invoice_id, inflow_amount, account_date, 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.mst.MoneyItem">
+        <id column="item_id" property="itemId"/>
+                <result column="mac_id" property="macId" typeHandler="UuidTypeHandler"/>
+                <result column="flow_type" property="flowType"/>
+                <result column="invoice_id" property="invoiceId" typeHandler="UuidTypeHandler"/>
+                <result column="inflow_amount" property="inflowAmount"/>
+            <result column="account_date" property="accountDate" typeHandler="TimestampTypeHandler"/>
+                <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="macId != null and macId != ''">
+                AND mac_id = #{macId}
+            </if>
+            <if test="flowType != null and flowType != ''">
+                AND flow_type = #{flowType}
+            </if>
+            <if test="invoiceId != null and invoiceId != ''">
+                AND invoice_id = #{invoiceId}
+            </if>
+            <if test="inflowAmount != null">
+                AND inflow_amount = #{inflowAmount}
+            </if>
+            <if test="accountDate != null">
+                AND account_date = #{accountDate}
+            </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">
+        <!-- 根据主键itemId批量操作 -->
+        WHERE item_id in
+        <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </sql>
+
+    <!-- 查询表t_mst_money_item,(条件查询+分页)列表 -->
+    <select id="selectByCond" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_item
+        <include refid="Condition"/>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 查询表t_mst_money_item,(条件查询)个数 -->
+    <select id="countByCond" resultType="Long">
+        SELECT
+        count(1)
+        FROM t_mst_money_item
+        <include refid="Condition"/>
+    </select>
+
+    <!-- 根据主键查询表t_mst_money_item的一行数据 -->
+    <select id="selectById" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_item
+        WHERE item_id = #{itemId}::uuid
+    </select>
+
+    <!-- 根据主键锁定表t_mst_money_item的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_item
+        WHERE item_id = #{itemId}
+        for update
+    </select>
+
+    <!-- 根据主键锁定表t_mst_money_item的多行数据 -->
+    <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_money_item
+        <include refid="idsForeach"/>
+        for update
+    </select>
+
+    <insert id="insertBatch">
+        insert into t_mst_money_item
+        (
+        <trim suffixOverrides=",">
+            mac_id,
+            flow_type,
+            invoice_id,
+            inflow_amount,
+            account_date,
+            remarks,
+            make_staff,
+            make_time,
+            cp_id,
+            op_app_code,
+        </trim>
+        )
+        values
+        <foreach collection="list" index="index" item="item" separator=",">
+            (
+            <trim suffixOverrides=",">
+                #{item.macId}::uuid,
+                #{item.flowType},
+                #{item.invoiceId}::uuid,
+                #{item.inflowAmount},
+                #{item.accountDate},
+                #{item.remarks},
+                #{item.makeStaff}::uuid,
+                #{item.makeTime},
+                #{item.cpId},
+                #{item.opAppCode},
+            </trim>
+            )
+        </foreach>
+    </insert>
+</mapper>

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

@@ -127,7 +127,7 @@
         '预制'  AS "displayStatus"
         FROM dkic_b.t_mst_role
         <include refid="Condition"/>
-        ORDER BY display_no
+        ORDER BY display_no desc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
         </if>

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

@@ -21,6 +21,13 @@ public interface OrderMapper extends BaseMapper<Order>{
     List<OrderResponse> selectByCond(OrderQuery orderQuery);
 
     /**
+     * @desc : 以销定采 查询
+     * @author : 王英杰
+     * @date : 2023/3/14 10:36
+     */
+    List<OrderResponse> purSaleSelectByCond(OrderQuery orderQuery);
+
+    /**
      * @desc   : 根据条件进行查询(数量)
      * @author : 付斌
      * @date   : 2024-02-28 10:19

+ 151 - 2
src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml

@@ -65,7 +65,20 @@
                 <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
                 <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
                 <result column="address_name" property="addressName"/>
-                <result column="address_no" property="addressNo"/>
+                <result column="orgName" property="orgName"/>
+        <result column="orderTypeName" property="orderTypeName"/>
+        <result column="staffName" property="staffName"/>
+        <result column="cusCode" property="cusCode"/>
+        <result column="cusName" property="cusName"/>
+        <result column="cusPhone" property="cusPhone"/>
+        <result column="cusFrom" property="cusFrom"/>
+        <result column="cusFromName" property="cusFromName"/>
+        <result column="channelName" property="channelName"/>
+        <result column="orderStatusName" property="orderStatusName"/>
+        <result column="outStatusName" property="outStatusName"/>
+        <result column="makeStaffName" property="makeStaffName"/>
+
+        <result column="address_no" property="addressNo"/>
                 <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
                 <result column="address_full" property="addressFull"/>
                 <result column="contact_name" property="contactName"/>
@@ -100,8 +113,43 @@
                 <result column="op_app_code" property="opAppCode"/>
             <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
                 <result column="op_db_user" property="opDbUser"/>
+        <collection property="orderItemResponseList" resultMap="orderItemListMap" columnPrefix="toi_"/>
+    </resultMap>
+    <resultMap id="orderItemListMap" type="java.util.Map">
+        <id column="item_id" property="itemId"/>
+        <result column="order_id" property="orderId" typeHandler="UuidTypeHandler"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="item_qty" property="itemQty"/>
+        <result column="price_std" property="priceStd"/>
+        <result column="amt_std" property="amtStd"/>
+        <result column="price_sale" property="priceSale"/>
+        <result column="item_amt" property="itemAmt"/>
+        <result column="price_discount" property="priceDiscount"/>
+        <result column="non_std_code" property="nonStdCode"/>
+        <result column="out_status" property="outStatus"/>
+        <result column="outing_qty" property="outingQty"/>
+        <result column="outing_amt" property="outingAmt"/>
+        <result column="out_qty" property="outQty"/>
+        <result column="out_amt" property="outAmt"/>
+        <result column="sku_code" property="skuCode"/>
+        <result column="sku_name" property="skuName"/>
+        <result column="sku_model" property="skuModel"/>
+        <result column="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="remarks" property="remarks"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="brand_name" property="brandName"/>
+        <result column="short_name" property="shortName"/>
+        <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>
@@ -306,6 +354,106 @@
             limit #{end} offset #{start}
         </if>
     </select>
+    <sql id="Base_Column_List_Item_Response_Join">
+        toi.item_id AS toi_item_id,
+    toi.order_id AS toi_order_id,
+    toi.item_index AS toi_item_index,
+    toi.sku_id AS toi_sku_id,
+    toi.item_qty AS toi_item_qty,
+    toi.price_std AS toi_price_std,
+    toi.amt_std AS toi_amt_std,
+    toi.price_sale AS toi_price_sale,
+    toi.item_amt AS toi_item_amt,
+    toi.price_discount AS toi_price_discount,
+    toi.non_std_code AS toi_non_std_code,
+    toi.out_status AS toi_out_status,
+    toi.outing_qty AS toi_outing_qty,
+    toi.outing_amt AS toi_outing_amt,
+    toi.out_qty AS toi_out_qty,
+    toi.out_amt AS toi_out_amt,
+    toi.return_qty AS toi_return_qty,
+    toi.return_amt AS toi_return_amt,
+    toi.remarks AS toi_remarks,
+    toi.flg_valid AS toi_flg_valid,
+    toi.cp_id AS toi_cp_id,
+    tmgs.sku_code AS toi_sku_code,
+    tmgs.sku_model AS toi_sku_model,
+    tmgs.sku_name AS toi_sku_name,
+    tmgb.brand_name AS toi_brand_name,
+    tmgb.short_name AS toi_short_name
+
+    </sql>
+    <!-- 查询表t_psi_order,(条件查询+分页)列表 -->
+    <select id="purSaleSelectByCond" resultMap="BaseResultMapResponse">
+        SELECT t.order_id,
+        t.order_no,
+        t.order_type,
+        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "orderTypeName",
+        t.org_id,
+        tmo.org_name                                      as "orgName",
+        t.staff_id,
+        tms.staff_name                                    as "staffName",
+        t.cus_id,
+        tmc.cus_code                                      as "cusCode",
+        tmc.cus_name                                      as "cusName",
+        tmc.cus_phone                                     as "cusPhone",
+        tmc.cus_from                                      as "cusFrom",
+        tmdd.data_value                                   as "cusFromName",
+        t.address_area,
+        t.address_name,
+        t.address_no,
+        t.address_gcj02,
+        t.address_full,
+        t.contact_name,
+        t.contact_phone,
+        t.sales_channel,
+        tmsc.channel_name                                 as "channelName",
+        t.delivery_date,
+        t.sum_quantity,
+        t.sum_standard,
+        t.sum_amount,
+        t.sale_discount,
+        t.order_status,
+        sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "orderStatusName",
+        t.out_status,
+        sys.f_get_name_i18n(tdk3.kind_name_i18n, #{i18n}) as "outStatusName",
+        t.outing_qty,
+        t.outing_amt,
+        t.out_qty,
+        t.out_amt,
+        t.return_qty,
+        t.return_amt,
+        t.amt_receivable,
+        t.amt_handle,
+        t.amt_residue,
+        t.remarks,
+        t.annex_paths,
+        makestaff.staff_name                              as "makeStaffName",
+        t.make_time,
+        t.cp_id,
+        t.flg_valid,
+        <include refid="Base_Column_List_Item_Response_Join"/>
+        FROM dkic_b.t_psi_order as t
+        left join dkic_b.t_psi_order_item toi on toi.order_id  = t.order_id
+        left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id  = toi.sku_id
+        left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id  = tmgs+.brand_id
+
+        left join dkic_b.t_mst_sale_channel tmsc on t.sales_channel = tmsc.channel_id
+        left join dkic_b.t_mst_org tmo on t.org_id = tmo.org_id
+        left join dkic_b.t_mst_staff tms on t.staff_id = tms.staff_id
+        left join dkic_b.t_mst_staff as makestaff on t.make_staff = makestaff.staff_id
+        left join dkic_b.t_mst_customer tmc on t.cus_id = tmc.cus_id
+        left join dkic_b.t_mst_dictionary_data tmdd on tmc.cus_from = tmdd.data_id
+        left join sys.t_data_kind as tdk1 on t.order_type = tdk1.kind_code
+        left join sys.t_data_kind as tdk2 on t.order_status = tdk2.kind_code
+        left join sys.t_data_kind as tdk3 on t.out_status = tdk3.kind_code
+        <include refid="Condition"/>
+        order by t.op_create_time desc
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
 
     <!-- 查询表t_psi_order,(条件查询)个数 -->
     <select id="countByCond" resultType="Long">
@@ -313,6 +461,7 @@
         count(1)
         FROM dkic_b.t_psi_order as t
                 left join dkic_b.t_mst_customer tmc on t.cus_id = tmc.cus_id
+        left join dkic_b.t_psi_order_item toi on toi.order_id  = t.order_id
         <include refid="Condition"/>
     </select>
 

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

+ 216 - 0
src/main/java/com/dk/mdm/model/pojo/mst/MoneyItem.java

@@ -0,0 +1,216 @@
+package com.dk.mdm.model.pojo.mst;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.*;
+import java.io.Serializable;
+
+import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.*;
+import com.dk.common.model.pojo.PageInfo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.AllArgsConstructor;
+import lombok.NoArgsConstructor;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.alibaba.fastjson.JSONObject;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+import java.time.LocalDateTime;
+
+/**
+ *  资金流水明细
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@ExportTitle("资金流水明细")
+@TableName(value = "t_mst_money_item", autoResultMap = true)
+@ApiModel(value="实体类:资金流水明细", description="表名:t_mst_money_item")
+public class MoneyItem extends PageInfo<MoneyItem> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 资金账户ID
+     */
+    @Excel(name = "资金账户ID")
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 流水类型 (数据字典:收退款单、付退款单、资金转账)
+     */
+    @Excel(name = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    @ApiModelProperty(value = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    private String flowType;
+
+
+    /**
+     * 流水单ID (为空时为期初)
+     */
+    @Excel(name = "流水单ID (为空时为期初)")
+    @ApiModelProperty(value = "流水单ID (为空时为期初)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invoiceId;
+
+
+    /**
+     * 流入金额 (流入为正数,流出为负数)
+     */
+    @Excel(name = "流入金额 (流入为正数,流出为负数)")
+    @ApiModelProperty(value = "流入金额 (流入为正数,流出为负数)")
+    private BigDecimal inflowAmount;
+
+
+    /**
+     * 账务日期 (账务日期)
+     */
+    @Excel(name = "账务日期 (账务日期)")
+    @ApiModelProperty(value = "账务日期 (账务日期)")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accountDate;
+
+
+    /**
+     * 备注
+     */
+    @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/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;
+
+}

+ 216 - 0
src/main/java/com/dk/mdm/model/query/mst/MoneyItemQuery.java

@@ -0,0 +1,216 @@
+package com.dk.mdm.model.query.mst;
+
+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_mst_money_item", autoResultMap = true)
+@ApiModel(value="实体类:资金流水明细", description="表名:t_mst_money_item")
+public class MoneyItemQuery extends PageInfo<MoneyItemQuery> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 资金账户ID
+     */
+    @Excel(name = "资金账户ID")
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 流水类型 (数据字典:收退款单、付退款单、资金转账)
+     */
+    @Excel(name = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    @ApiModelProperty(value = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    private String flowType;
+
+
+    /**
+     * 流水单ID (为空时为期初)
+     */
+    @Excel(name = "流水单ID (为空时为期初)")
+    @ApiModelProperty(value = "流水单ID (为空时为期初)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invoiceId;
+
+
+    /**
+     * 流入金额 (流入为正数,流出为负数)
+     */
+    @Excel(name = "流入金额 (流入为正数,流出为负数)")
+    @ApiModelProperty(value = "流入金额 (流入为正数,流出为负数)")
+    private BigDecimal inflowAmount;
+
+
+    /**
+     * 账务日期 (账务日期)
+     */
+    @Excel(name = "账务日期 (账务日期)")
+    @ApiModelProperty(value = "账务日期 (账务日期)")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accountDate;
+
+
+    /**
+     * 备注
+     */
+    @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;
+
+}

+ 3 - 0
src/main/java/com/dk/mdm/model/response/mac/ReceiptResponse.java

@@ -279,6 +279,9 @@ public class ReceiptResponse extends PageInfo<ReceiptResponse> implements Serial
     @ApiModelProperty(value = "收款类型")
     private String receiptTypeName;
 
+    @ApiModelProperty(value = "账户名称")
+    private String receiptMacName;
+
     @ApiModelProperty(value = "订单单号")
     private String orderNo;
 

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

+ 216 - 0
src/main/java/com/dk/mdm/model/response/mst/MoneyItemResponse.java

@@ -0,0 +1,216 @@
+package com.dk.mdm.model.response.mst;
+
+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_mst_money_item", autoResultMap = true)
+@ApiModel(value="实体类:资金流水明细", description="表名:t_mst_money_item")
+public class MoneyItemResponse extends PageInfo<MoneyItemResponse> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 资金账户ID
+     */
+    @Excel(name = "资金账户ID")
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 流水类型 (数据字典:收退款单、付退款单、资金转账)
+     */
+    @Excel(name = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    @ApiModelProperty(value = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    private String flowType;
+
+
+    /**
+     * 流水单ID (为空时为期初)
+     */
+    @Excel(name = "流水单ID (为空时为期初)")
+    @ApiModelProperty(value = "流水单ID (为空时为期初)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invoiceId;
+
+
+    /**
+     * 流入金额 (流入为正数,流出为负数)
+     */
+    @Excel(name = "流入金额 (流入为正数,流出为负数)")
+    @ApiModelProperty(value = "流入金额 (流入为正数,流出为负数)")
+    private BigDecimal inflowAmount;
+
+
+    /**
+     * 账务日期 (账务日期)
+     */
+    @Excel(name = "账务日期 (账务日期)")
+    @ApiModelProperty(value = "账务日期 (账务日期)")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accountDate;
+
+
+    /**
+     * 备注
+     */
+    @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;
+
+}

+ 5 - 0
src/main/java/com/dk/mdm/model/response/sale/OrderResponse.java

@@ -11,6 +11,7 @@ import com.dk.common.infrastructure.handler.JsonTypeHandler;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
+import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,6 +25,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  *  销售订单
@@ -441,6 +443,9 @@ public class OrderResponse extends PageInfo<OrderResponse> implements Serializab
 
     @ApiModelProperty(value = "出库状态")
     private String outStatusName;
+
+    @ApiModelProperty(value = "采购订单明细")
+    private List<OrderItemResponse> orderItemResponseList;
     /*
      * 相关属性
      * @TableField(exist = false)

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

+ 216 - 0
src/main/java/com/dk/mdm/model/vo/mst/MoneyItemVO.java

@@ -0,0 +1,216 @@
+package com.dk.mdm.model.vo.mst;
+
+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_mst_money_item", autoResultMap = true)
+@ApiModel(value="实体类:资金流水明细", description="表名:t_mst_money_item")
+public class MoneyItemVO extends PageInfo<MoneyItemVO> implements Serializable {
+
+    /*
+     * 数据库字段
+     */
+
+    /**
+     * 明细ID
+     */
+//    @TableId(value = "item_id", type = IdType.AUTO)
+    @ApiModelProperty(value = "明细ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String itemId;
+
+
+    /**
+     * 资金账户ID
+     */
+    @Excel(name = "资金账户ID")
+    @ApiModelProperty(value = "资金账户ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String macId;
+
+
+    /**
+     * 流水类型 (数据字典:收退款单、付退款单、资金转账)
+     */
+    @Excel(name = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    @ApiModelProperty(value = "流水类型 (数据字典:收退款单、付退款单、资金转账)")
+    private String flowType;
+
+
+    /**
+     * 流水单ID (为空时为期初)
+     */
+    @Excel(name = "流水单ID (为空时为期初)")
+    @ApiModelProperty(value = "流水单ID (为空时为期初)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String invoiceId;
+
+
+    /**
+     * 流入金额 (流入为正数,流出为负数)
+     */
+    @Excel(name = "流入金额 (流入为正数,流出为负数)")
+    @ApiModelProperty(value = "流入金额 (流入为正数,流出为负数)")
+    private BigDecimal inflowAmount;
+
+
+    /**
+     * 账务日期 (账务日期)
+     */
+    @Excel(name = "账务日期 (账务日期)")
+    @ApiModelProperty(value = "账务日期 (账务日期)")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDate accountDate;
+
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+
+    /**
+     * 制单员
+     */
+    @Excel(name = "制单员")
+    @ApiModelProperty(value = "制单员")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String makeStaff;
+
+
+    /**
+     * 制单时间
+     */
+    @Excel(name = "制单时间")
+    @ApiModelProperty(value = "制单时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime makeTime;
+
+
+    /**
+     * 有效标识 (1:正常 0:停用)
+     */
+    @Excel(name = "有效标识 (1:正常 0:停用)")
+    @ApiModelProperty(value = "有效标识 (1:正常 0:停用)")
+    private Boolean flgValid;
+
+
+    /**
+     * 企业ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Excel(name = "企业ID")
+    @ApiModelProperty(value = "企业ID")
+    private Integer cpId;
+
+
+    /**
+     * 创建时间 (触发器自动处理)
+     */
+    @Excel(name = "创建时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "创建时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opCreateTime;
+
+
+    /**
+     * 创建用户 (触发器自动处理)
+     */
+    @Excel(name = "创建用户 (触发器自动处理)")
+    @ApiModelProperty(value = "创建用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opCreateUserId;
+
+
+    /**
+     * 修改时间 (触发器自动处理)
+     */
+    @Excel(name = "修改时间 (触发器自动处理)", format = "yyyy-MM-dd HH:mm:ss", width = 20)
+    @ApiModelProperty(value = "修改时间 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opUpdateTime;
+
+
+    /**
+     * 修改用户 (触发器自动处理)
+     */
+    @Excel(name = "修改用户 (触发器自动处理)")
+    @ApiModelProperty(value = "修改用户 (触发器自动处理)")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String opUpdateUserId;
+
+
+    /**
+     * 数据操作应用 (触发器自动处理)
+     */
+    @Excel(name = "数据操作应用 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作应用 (触发器自动处理)")
+    private String opAppCode;
+
+
+    /**
+     * 数据时间戳 (触发器自动处理)
+     */
+    @Excel(name = "数据时间戳 (触发器自动处理)")
+    @ApiModelProperty(value = "数据时间戳 (触发器自动处理)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(typeHandler = TimestampTypeHandler.class)
+    private LocalDateTime opTimestamp;
+
+
+    /**
+     * 数据操作数据库用户 (触发器自动处理)
+     */
+    @Excel(name = "数据操作数据库用户 (触发器自动处理)")
+    @ApiModelProperty(value = "数据操作数据库用户 (触发器自动处理)")
+    private String opDbUser;
+
+
+    /*
+     * 相关属性
+     * @TableField(exist = false)
+     */
+
+    /*
+     * 关联属性 + 查询条件
+     * @TableField(exist = false)
+     */
+
+
+    private static final long serialVersionUID = 1L;
+
+}

+ 0 - 2
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -666,9 +666,7 @@ public class CommonService extends BaseService<Map<String, Object>> {
         String dataSourceCode = param.get("dataSourceCode").toString();
         //查询到的结果集
         List<Map<String, Object>> list = null;
-        Integer cpId = authUtils.getStaff().getCpId();
         Map<String, Object> map = new HashMap<>();
-        map.put("cpId",cpId);
         //客户来源
         if (dataSourceCode.equals("customerFrom")) {
             map.put("dictCode","基础资料-来源");

+ 20 - 0
src/main/java/com/dk/mdm/service/ivt/InboundPurchaseService.java

@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -88,6 +89,25 @@ public class InboundPurchaseService extends BaseService<Inbound> {
 	}
 
 
+
+
+	/**
+	 * @desc   : 查询明细
+	 * @date   : 2024/3/9 15:43
+	 * @author : 寇珊珊
+	 */
+	@Pagination
+	public ResponseResultVO<Map<String, Object>> selectPurchaseInboundItemInfoById(String id) {
+		Map<String, Object> result = new HashMap<>();
+		// 商品明细
+		List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery().setIntoId(id));
+		result.put("itemList", inboundItemResponses);
+		// 收款
+
+		// 附件
+		return ResponseResultUtil.success(result);
+	}
+
 	/**
 	 * @desc   : 采购入库新建
 	 * @date   : 2024/3/7 14:13

+ 83 - 12
src/main/java/com/dk/mdm/service/ivt/IntoReturnService.java

@@ -24,10 +24,12 @@ import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.pojo.ivt.IntoReturnItem;
 import com.dk.mdm.model.pojo.pur.Purchase;
 import com.dk.mdm.model.pojo.pur.PurchaseItem;
+import com.dk.mdm.model.query.ivt.IntoReturnItemQuery;
 import com.dk.mdm.model.query.ivt.IntoReturnQuery;
 import com.dk.mdm.model.query.pur.PurchaseQuery;
 import com.dk.mdm.model.response.ivt.InboundItemResponse;
 import com.dk.mdm.model.response.ivt.InboundResponse;
+import com.dk.mdm.model.response.ivt.IntoReturnItemResponse;
 import com.dk.mdm.model.response.ivt.IntoReturnResponse;
 import com.dk.mdm.model.response.pur.PurchaseItemResponse;
 import com.dk.mdm.model.response.pur.PurchaseResponse;
@@ -88,6 +90,8 @@ public class IntoReturnService extends BaseService<IntoReturn> {
     @Autowired
     private InboundItemMapper inboundItemMapper;
 
+    @Autowired
+    private InboundItemService inboundItemService;
 
     /**
      * @desc : 查询
@@ -272,7 +276,7 @@ public class IntoReturnService extends BaseService<IntoReturn> {
                 intoReturnItemVO.setOutQty(intoReturnItemVO.getItemQty().abs());
                 intoReturnItemVO.setOutAmt(intoReturnItemVO.getItemAmt().abs());
 
-            }else{
+            } else {
                 intoReturnItemVO.setOutingQty(intoReturnItemVO.getItemQty().abs());
                 intoReturnItemVO.setOutingAmt(intoReturnItemVO.getItemAmt().abs());
             }
@@ -285,7 +289,6 @@ public class IntoReturnService extends BaseService<IntoReturn> {
     }
 
 
-    //TODO 未完成
 
     /**
      * @desc : 作废
@@ -294,16 +297,84 @@ public class IntoReturnService extends BaseService<IntoReturn> {
      */
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<String> cancel(IntoReturnVO intoReturnVO) {
-        //根据订单id查询到订单
-//        Purchase purchase = purchaseMapper.selectPurchaseByRighting(new PurchaseQuery().setPurId(purId));
-//
-//
-//        //查询采购退货数据List
-//        List<IntoReturn> intoReturnList = intoReturnMapper.selectReturnList(intoReturnIdList);
-//
-//        //根据订单id查询所有退货单
-//        List<IntoReturnResponse> intoReturnResponsesList = intoReturnMapper.selectByCond(new IntoReturnQuery().setIntoReturnIdList(intoReturnIdList));
-        return null;
+        //根据入库退货单id查询到退货单
+        IntoReturnResponse intoReturnResponse = intoReturnMapper.selectById(intoReturnVO.getReturnId());
+        if(intoReturnResponse.getReturnStatus().equals(Constant.returnStatus.OUT_REJECT_STATUS_RIGHTING_NOT.getName())){
+            //当前单据已经作废,不能重复操
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ISFLGVALID_FALSE.getMessage());
+        }
+
+        //查询入库单 修改 已入库退货数量/金额
+        InboundResponse inboundResponse = inboundMapper.selectById(intoReturnVO.getIntoId());
+        if (inboundResponse == null ) {
+            //返回 单据所对应的原始单据不存在,请重新操作
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
+        }
+        inboundMapper.updateAmount(new Inbound()
+                .setReturnQty(inboundResponse.getReturnQty().subtract(intoReturnResponse.getSumQuantity()))
+                .setReturnAmt(inboundResponse.getReturnAmt().subtract(intoReturnResponse.getSumAmount())));
+
+        //查询采购单
+        PurchaseResponse purchaseResponse = purchaseMapper.selectById(intoReturnResponse.getPurId());
+        if (purchaseResponse == null ) {
+            //返回 单据所对应的原始单据不存在,请重新操作
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
+        }
+        //修改采购单 已入库数量/金额
+        purchaseMapper.updateAmount(
+                new Purchase().setReturnQty(purchaseResponse.getReturnQty().subtract(intoReturnResponse.getSumQuantity()))
+                        .setReturnAmt(purchaseResponse.getReturnAmt().subtract(intoReturnResponse.getSumAmount())).setPurId(intoReturnResponse.getPurId())
+        );
+
+        //查询入库退货单明细
+        List<IntoReturnItemResponse> intoReturnItemList = intoReturnItemService.selectByCond(new IntoReturnItemQuery().setReturnId(intoReturnResponse.getReturnId())).getData().getList();
+        //明细不存在
+        if (intoReturnItemList == null || intoReturnItemList.size() == 0) {
+            //返回 采购退货明细不可为空,请重新操作
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.PURCHASE_RETURN_DETAIL_NOT_EXIST.getMessage());
+        }
+
+        if (intoReturnItemList != null && intoReturnItemList.size() > 0) {
+            for (IntoReturnItemResponse intoReturnItemResponse : intoReturnItemList) {
+                //查询入库单明细
+                InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(intoReturnItemResponse.getIntoItemId());
+                if (inboundItemResponse == null) {
+                    //返回 单据所对应的原始单据不存在,请重新操作
+                    return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
+                }
+                //修改入库单明细 已入库退货数量/金额
+                inboundItemService.updateByUuid(new InboundItem()
+                        .setItemId(intoReturnItemResponse.getIntoItemId())
+                        .setReturnQty(inboundItemResponse.getReturnQty().subtract(intoReturnItemResponse.getItemQty()))
+                        .setReturnAmt(inboundItemResponse.getReturnAmt().subtract(intoReturnItemResponse.getItemAmt()))
+                );
+                //查询采购单明细
+                PurchaseItemResponse purchaseItemResponse = purchaseItemMapper.selectById(intoReturnItemResponse.getPurId());
+                if (purchaseItemResponse == null ) {
+                    //返回 单据所对应的原始单据不存在,请重新操作
+                    return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORIGINAL_DOCUMENT_ABSENT.getMessage());
+                }
+                //修改采购单明细 已入库退货数量/金额
+                purchaseItemMapper.updateAmount(
+                        new PurchaseItem()
+                                .setItemId(purchaseItemResponse.getItemId())
+                                .setReturnQty(purchaseItemResponse.getReturnQty().subtract(intoReturnItemResponse.getItemQty()))
+                                .setReturnAmt(purchaseItemResponse.getReturnAmt().subtract(intoReturnItemResponse.getItemAmt()))
+
+                );
+            }
+            //TODO 未处理出库单
+
+            //修改入库退货单明细
+            super.updateByUuid(
+                    new IntoReturn()
+                            .setReturnId(intoReturnVO.getReturnId())
+                            //修改退货状态 作废
+                            .setReturnStatus(Constant.returnStatus.OUT_REJECT_STATUS_RIGHTING_NOT.getName())
+            );
+
+        }
+        return ResponseResultUtil.success();
     }
 
 }

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

+ 66 - 58
src/main/java/com/dk/mdm/service/mac/ReceiptService.java

@@ -1,5 +1,7 @@
 package com.dk.mdm.service.mac;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
@@ -26,71 +29,76 @@ import java.util.UUID;
 @Transactional
 public class ReceiptService extends BaseService<Receipt> {
 
-	@Override
-	public String getPrimaryKey() {
-		return "receipt_id";
-	}
+    @Override
+    public String getPrimaryKey() {
+        return "receipt_id";
+    }
 
-	@Override
-	public BaseMapper<Receipt> getRepository() {
-		return receiptMapper;
-	}
+    @Override
+    public BaseMapper<Receipt> getRepository() {
+        return receiptMapper;
+    }
 
-	@Autowired
-	private ReceiptMapper receiptMapper;
+    @Autowired
+    private ReceiptMapper receiptMapper;
 
-	@Autowired
-	private CommonService commonService;
+    @Autowired
+    private CommonService commonService;
 
-	@Autowired
-	private ReceiptConvert receiptConvert;
-	
-	/**
-	 * @desc : 条件查询
-	 * @author : 付斌
-	 * @date : 2023/1/9 10:40
-	 */
-	@Pagination
-	public ResponseResultVO<PageList<ReceiptResponse>> selectByCond(ReceiptQuery receiptQuery) {
-		return super.mergeListWithCount(receiptQuery, receiptMapper.selectByCond(receiptQuery),
-				receiptMapper.countByCond(receiptQuery));
-	}
+    @Autowired
+    private ReceiptConvert receiptConvert;
 
+    /**
+     * @desc : 条件查询
+     * @author : 付斌
+     * @date : 2023/1/9 10:40
+     */
+    @Pagination
+    public ResponseResultVO<PageList<ReceiptResponse>> selectByCond(ReceiptQuery receiptQuery) {
+        return super.mergeListWithCount(receiptQuery, receiptMapper.selectByCond(receiptQuery),
+                receiptMapper.countByCond(receiptQuery));
+    }
 
-	/**
-	 * @desc : 新建方法
-	 * @author : 付斌
-	 * @date : 2023/1/9 10:49
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<?> insert(ReceiptVO receiptVO) {
 
-		// 获取单号
-		Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.CUSRECEIPT.getName(), false);
-		receiptVO.setReceiptId(codeMap.get("outId").toString()).setReceiptNo(codeMap.get("outNote").toString())
-				.setReceiptType(Constant.DocumentType.ORDER.getName());
-		// 转化实体
-		Receipt receipt = receiptConvert.convertToPo(receiptVO);
-		// Receipt总单保存
-		super.insert(receipt);
+    /**
+     * @desc : 新建方法
+     * @author : 付斌
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> insert(Map<String, Object> map) {
 
-		
-		return ResponseResultUtil.success();
-	}
+        List<ReceiptVO> receiptVOList = JSONArray.parseArray(JSON.toJSONString(map.get("itemList"))).toJavaList(ReceiptVO.class);
+        // 明细保存
+        if (receiptVOList != null && receiptVOList.size() > 0) {
+            for (ReceiptVO receiptVO : receiptVOList) {
+                // 获取单号
+                Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.CUSRECEIPT.getName(), false);
+                receiptVO.setReceiptId(codeMap.get("outId").toString()).setReceiptNo(codeMap.get("outNote").toString())
+                        .setReceiptType(Constant.DocumentType.ORDER.getName());
+                // 转化实体
+                Receipt receipt = receiptConvert.convertToPo(receiptVO);
+                // Receipt总单保存
+                super.insert(receipt);
+            }
+        }
 
-	/**
-	 * @desc : 编辑方法
-	 * @author : 付斌
-	 * @date : 2023/1/9 10:49
-	 */
-	@Transactional(
-			rollbackFor = {Exception.class}
-	)
-	public ResponseResultVO<?> update(ReceiptVO receiptVO) {
-		Receipt receipt = receiptConvert.convertToPo(receiptVO);
-		return ResponseResultUtil.success(super.update(receipt, new UpdateWrapper<Receipt>().lambda().eq(Receipt::getReceiptId,
-				UUID.fromString(receipt.getReceiptId()))));
-	}
+        return ResponseResultUtil.success();
+    }
+
+    /**
+     * @desc : 编辑方法
+     * @author : 付斌
+     * @date : 2023/1/9 10:49
+     */
+    @Transactional(
+            rollbackFor = {Exception.class}
+    )
+    public ResponseResultVO<?> update(ReceiptVO receiptVO) {
+        Receipt receipt = receiptConvert.convertToPo(receiptVO);
+        return ResponseResultUtil.success(super.update(receipt, new UpdateWrapper<Receipt>().lambda().eq(Receipt::getReceiptId,
+                UUID.fromString(receipt.getReceiptId()))));
+    }
 }

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

+ 28 - 0
src/main/java/com/dk/mdm/service/mst/MoneyItemService.java

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

+ 10 - 1
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -79,7 +79,16 @@ public class OrderService extends BaseService<Order> {
         return super.mergeListWithCount(orderQuery, orderMapper.selectByCond(orderQuery),
                 orderMapper.countByCond(orderQuery));
     }
-
+    /**
+     * @desc : 以销定采 查询
+     * @author : 王英杰
+     * @date : 2023/3/14 10:36
+     */
+    @Pagination
+    public ResponseResultVO<PageList<OrderResponse>> purSaleSelectByCond(OrderQuery orderQuery) {
+        return super.mergeListWithCount(orderQuery, orderMapper.purSaleSelectByCond(orderQuery),
+                orderMapper.countByCond(orderQuery));
+    }
     /**
      * @desc : 查询订单明细(货物、收款、附件)
      * @author : 付斌