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

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

songyang 1 год назад
Родитель
Сommit
9c32d9bb27

+ 12 - 1
src/main/java/com/dk/mdm/controller/ivt/outBound/OutboundSaleOrderController.java

@@ -6,8 +6,10 @@ import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.model.pojo.ivt.Outbound;
 import com.dk.mdm.model.query.ivt.OutboundQuery;
+import com.dk.mdm.model.query.sale.OrderQuery;
 import com.dk.mdm.model.response.ivt.InboundResponse;
 import com.dk.mdm.model.response.ivt.OutboundResponse;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import com.dk.mdm.model.vo.ivt.OutboundVO;
 import com.dk.mdm.service.ivt.outbound.OutboundSaleOrderService;
 import io.swagger.annotations.Api;
@@ -199,5 +201,14 @@ public class OutboundSaleOrderController {
 //    public ResponseResultVO<?> selectByUpdate(@PathVariable String id) {
 //        return outboundSaleOrderService.selectByUpdate(id);
 //    }
-
+    /**
+     * @desc : 条件查询(总单带明细)
+     * @author : 于继渤
+     * @date : 2023/1/9 10:36
+     */
+    @ApiOperation(value = "分页、关联、条件查询", notes = "分页、关联、条件查询")
+    @PostMapping({"select_by_cond_detail"})
+    public ResponseResultVO<PageList<OutboundResponse>> selectByCondDetail(@RequestBody OutboundQuery outboundQuery) {
+        return outboundSaleOrderService.selectByCondDetail(outboundQuery);
+    }
 }

+ 64 - 13
src/main/java/com/dk/mdm/controller/report/ReportController.java

@@ -43,7 +43,7 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/10 16:37
      */
-    @PostMapping("pur_detail_report")
+    @PostMapping("get_pur_detail_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getPurDetailReport(@RequestBody Map<String, Object> param) {
         return reportService.getPurDetailReport(param);
     }
@@ -53,7 +53,7 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/11 16:22
      */
-    @PostMapping("order_detail_report")
+    @PostMapping("get_order_detail_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getOrderDetailReport(@RequestBody Map<String, Object> param) {
         return reportService.getOrderDetailReport(param);
     }
@@ -63,7 +63,7 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/11 16:53
      */
-    @PostMapping("outbound_detail_report")
+    @PostMapping("get_outbound_detail_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getOutboundDetailReport(@RequestBody Map<String, Object> param) {
         return reportService.getOutboundDetailReport(param);
     }
@@ -72,7 +72,7 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/11 16:53
      */
-    @PostMapping("inbound_detail_report")
+    @PostMapping("get_inbound_detail_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getInboundDetailReport(@RequestBody Map<String, Object> param) {
         return reportService.getInboundDetailReport(param);
     }
@@ -82,7 +82,7 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("rec_pay_detail_report")
+    @PostMapping("get_rec_pay_detail_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getRecPayDetailReport(@RequestBody Map<String, Object> param) {
         return reportService.getRecPayDetailReport(param);
     }
@@ -91,7 +91,7 @@ public class ReportController  {
      * @author : 于继渤
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("sales_tracking_report")
+    @PostMapping("get_sales_tracking_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getSalesTrackingReport(@RequestBody Map<String, Object> param) {
         return reportService.getSalesTrackingReport(param);
     }
@@ -101,7 +101,7 @@ public class ReportController  {
      * @author : 于继渤
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("sales_item_report")
+    @PostMapping("get_sales_item_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getSalesItemReport(@RequestBody Map<String, Object> param) {
         return reportService.getSalesItemReport(param);
     }
@@ -111,7 +111,7 @@ public class ReportController  {
      * @author : 王英杰
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("pur_tracking_report")
+    @PostMapping("get_pur_tracking_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getPurTrackingReport(@RequestBody Map<String, Object> param) {
         return reportService.getPurTrackingReport(param);
     }
@@ -120,7 +120,7 @@ public class ReportController  {
      * @author : 王英杰
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("pur_tracking_report_detail/{id}")
+    @PostMapping("get_pur_tracking_report_detail/{id}")
     public ResponseResultVO<List<Map<String, Object>>> getPurTrackingReportDetail(@PathVariable String id) {
         return reportService.getPurTrackingReportDetail(id);
     }
@@ -130,7 +130,7 @@ public class ReportController  {
      * @author : 于继渤
      * @date   : 2024/4/16 11:27
      */
-    @PostMapping("sale_tracking_report_detail/{id}")
+    @PostMapping("get_sale_tracking_report_detail/{id}")
     public ResponseResultVO<List<Map<String, Object>>> getSalesTrackingReportDetail(@PathVariable String id) {
         return reportService.getSalesTrackingReportDetail(id);
     }
@@ -140,17 +140,48 @@ public class ReportController  {
      * @date   : 2024/4/24 15:10
      * @author : 寇珊珊
      */
-    @PostMapping("daily_reconciliation_report")
+    @PostMapping("get_daily_reconciliation_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReport(@RequestBody Map<String, Object> param) {
         return reportService.getDailyReconciliationReport(param);
     }
 
     /**
+     * @desc   : 日结对账表-查销售订单
+     * @date   : 2024/4/24 15:10
+     * @author : 寇珊珊
+     */
+    @PostMapping("get_daily_reconciliation_report_by_order")
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByOrder(@RequestBody Map<String, Object> param) {
+        return reportService.getDailyReconciliationReportByOrder(param);
+    }
+
+    /**
+     * @desc   : 日结对账表-查销售出库
+     * @date   : 2024/4/24 15:10
+     * @author : 寇珊珊
+     */
+    @PostMapping("get_daily_reconciliation_report_by_out")
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByOut(@RequestBody Map<String, Object> param) {
+        return reportService.getDailyReconciliationReportByOut(param);
+    }
+
+
+    /**
+     * @desc   : 日结对账表-查收款单
+     * @date   : 2024/4/24 15:10
+     * @author : 寇珊珊
+     */
+    @PostMapping("get_daily_reconciliation_report_by_pay")
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByPay(@RequestBody Map<String, Object> param) {
+        return reportService.getDailyReconciliationReportByPay(param);
+    }
+
+    /**
      * @desc   : 收发存汇总报表
      * @author : 宋扬
      * @date   : 2024/4/23 14:08
      */
-    @PostMapping("ivt_sum_report")
+    @PostMapping("get_ivt_sum_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getIvtSumReport(@RequestBody Map<String, Object> param) {
         return reportService.getIvtSumReport(param);
     }
@@ -160,11 +191,31 @@ public class ReportController  {
      * @author : 宋扬
      * @date   : 2024/4/23 14:08
      */
-    @PostMapping("ivt_item_report")
+    @PostMapping("get_ivt_item_report")
     public ResponseResultVO<PageList<Map<String, Object>>> getIvtItemReport(@RequestBody Map<String, Object> param) {
         return reportService.getIvtItemReport(param);
     }
 
+    /**
+     * @desc   : 供应商往来余额表
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:21
+     */
+    @PostMapping("get_sup_account")
+    public ResponseResultVO<PageList<Map<String, Object>>> getSupAccount(@RequestBody  Map<String, Object> param) {
+        return reportService.getSupAccount(param);
+    }
+
+    /**
+     * @desc   : 供应商往来余额表明细
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:21
+     */
+    @PostMapping("get_sup_account_item")
+    public ResponseResultVO<List<Map<String, Object>>> getSupAccountItem(@RequestBody  Map<String, Object> param) {
+        return reportService.getSupAccountItem(param);
+    }
+
 
 }
 

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

@@ -385,6 +385,12 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
 
     List<Map<String, Object>> getSaleChannel(Map param);
     /**
+     * @desc : 结算方式-小程序
+     * @author : 姜永辉
+     * @date : 2024-03-05 10:52
+     */
+    List<Map<String, Object>> getSettlement(Map param);
+    /**
      * @desc : 渠道-小程序
      * @author : 姜永辉
      * @date : 2024-03-05 10:52

+ 37 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -1077,6 +1077,43 @@
         </where>
     </select>
 
+    <!--获取结算方式数据-->
+    <select id="getSettlement" resultType="java.util.Map">
+        SELECT T.mac_id id,
+               T.mac_code AS "macCode",
+               T.mac_name AS "macName",
+               T.mac_Type,
+               dd.data_value AS "macTypeName",
+               T.balance,
+               T.display_no,
+               T.mac_receipt_code,
+               T.acc_date,
+               T.flg_negative,
+               T.remarks,
+               T.flg_valid,
+               T.cp_id,
+               COALESCE ( tmti.amt_trf, 0 ) AS "initBalance"
+        FROM
+            dkic_b.t_mst_money_account
+                AS T LEFT JOIN dkic_b.t_mst_dictionary_data AS dd ON T.mac_type = dd.data_id
+                     LEFT JOIN (
+                SELECT
+                    tmti.trf_in_mac,
+                    tmti.amt_trf
+                FROM
+                    dkic_b.t_mac_transfer AS tmt
+                        INNER JOIN dkic_b.t_mac_transfer_item AS tmti ON tmti.trf_id = tmt.trf_id
+                        AND tmt.flg_valid
+                        AND tmti.flg_valid
+                        AND tmt.trf_type = 0
+            ) tmti ON tmti.trf_in_mac = T.mac_id
+        WHERE
+            T.cp_id = #{cpId}
+          and t.flg_valid
+        ORDER BY
+            T.display_no
+    </select>
+
     <!--    获取销售渠道-->
     <select id="getSaleChannelPurviewType" resultType="java.util.Map">
         SELECT

+ 2 - 2
src/main/java/com/dk/mdm/mapper/ivt/InboundMapper.xml

@@ -854,7 +854,7 @@
                 AND tpo.out_type =any(#{intoTypes,typeHandler=StringListTypeHandler})
             </if>
             <if test="intoTypes == null || intoTypes.size()==0">
-                AND tpo.out_type = '出库类型-销退库'
+                AND tpo.out_type = '出库类型-销退库'
             </if>
             <if test="outStatus != null and outStatus != '' ">
                 AND  tpo.out_status LIKE concat('%',my_ex.likequery(#{outStatus}),'%')
@@ -970,7 +970,7 @@
                 AND tpo.out_type =any(#{intoTypes,typeHandler=StringListTypeHandler})
             </if>
             <if test="intoTypes == null || intoTypes.size()==0">
-                AND tpo.out_type = '出库类型-销退库'
+                AND tpo.out_type = '出库类型-销退库'
             </if>
             <if test="outStatus != null and outStatus != '' ">
                 AND  tpo.out_status LIKE concat('%',my_ex.likequery(#{outStatus}),'%')

+ 9 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.java

@@ -5,8 +5,10 @@ import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.pojo.ivt.OutboundItem;
 import com.dk.mdm.model.query.ivt.InboundQuery;
 import com.dk.mdm.model.query.ivt.OutboundQuery;
+import com.dk.mdm.model.query.sale.OrderQuery;
 import com.dk.mdm.model.response.ivt.InboundResponse;
 import com.dk.mdm.model.response.ivt.OutboundResponse;
+import com.dk.mdm.model.response.sale.OrderResponse;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
@@ -81,7 +83,14 @@ public interface OutboundMapper extends BaseMapper<Outbound>{
      */
     OutboundResponse selectByFromId(@Param("fromId") String fromId);
 
+    /**
+     * @desc   : 查询总单带明细
+     * @date   : 2024/4/16 13:34
+     * @author : 于继渤
+     */
+    List<OutboundResponse> selectByCondDetail(OutboundQuery outboundQuery);
 
 
+    Long countByCondDetail(OutboundQuery outboundQuery);
 }
 

+ 207 - 4
src/main/java/com/dk/mdm/mapper/ivt/OutboundMapper.xml

@@ -103,6 +103,90 @@
         <result column="out_reason_name" property="outReasonName" />
     </resultMap>
 
+    <resultMap id="BaseResultMapDetailResponse" type="com.dk.mdm.model.response.ivt.OutboundResponse">
+        <id column="out_id" property="outId"/>
+        <result column="out_no" property="outNo"/>
+        <result column="out_type" property="outType"/>
+        <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+        <result column="from_no" property="fromNo"/>
+        <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
+        <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
+        <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
+        <result column="sup_id" property="supId" typeHandler="UuidTypeHandler"/>
+        <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="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="out_date" property="outDate" typeHandler="TimestampTypeHandler"/>
+        <result column="remarks" property="remarks"/>
+        <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
+        <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
+        <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
+        <result column="receivable_id" property="receivableId" typeHandler="UuidTypeHandler"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="flg_auto_handle" property="flgAutoHandle"/>
+        <result column="flg_handle_setting" property="flgHandleSetting"/>
+        <result column="cusCode" property="cusCode"/>
+        <result column="cusName" property="cusName"/>
+        <result column="cusPhone" property="cusPhone"/>
+        <result column="contact_phone" property="contactPhone"/>
+        <result column="contact_name" property="contactName"/>
+        <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
+        <result column="address_name" property="addressName"/>
+        <result column="address_no" property="addressNo"/>
+        <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
+        <result column="addressFull" property="addressFull"/>
+        <result column="channel_name" property="channelName"/>
+        <result column="cus_from_name" property="cusFromName"/>
+        <result column="out_reason" property="outReason" typeHandler="UuidTypeHandler"/>
+        <result column="out_reason_name" property="outReasonName" />
+
+        <collection property="goodsList" resultMap="itemListMap" columnPrefix="list_"/>
+    </resultMap>
+
+    <resultMap id="itemListMap" type="java.util.Map">
+        <id column="item_id" property="itemId"/>
+        <result column="out_id" property="outId" typeHandler="UuidTypeHandler"/>
+        <result column="out_no" property="outNo" />
+        <result column="out_type" property="outType"/>
+        <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
+        <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
+        <result column="item_index" property="itemIndex"/>
+        <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
+        <result column="price_out" property="priceOut"/>
+        <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="return_qty" property="returnQty"/>
+        <result column="return_amt" property="returnAmt"/>
+        <result column="remarks" property="remarks"/>
+        <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
+        <result column="cost_price" property="costPrice"/>
+        <result column="cost_amt" property="costAmt"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="s_out_id" property="sOutId" typeHandler="UuidTypeHandler"/>
+        <result column="s_out_item_id" property="sOutItemId" typeHandler="UuidTypeHandler"/>
+        <result column="s_order_id" property="sOrderId" typeHandler="UuidTypeHandler"/>
+        <result column="s_order_item_id" property="sOrderItemId" typeHandler="UuidTypeHandler"/>
+
+        <result column="sku_code" property="skuCode"/>
+        <result column="sku_model" property="skuModel"/>
+        <result column="sku_name" property="skuName"/>
+        <result column="brand_name" property="brandName"/>
+        <result column="price_purchase" property="pricePurchase"/>
+        <result column="price_standard" property="priceStandard"/>
+        <result column="wh_id" property="whId"/>
+        <result column="wh_name" property="whName"/>
+
+    </resultMap>
     <!-- 通用条件列 -->
     <sql id="Condition">
         <where>
@@ -221,10 +305,8 @@
             <if test="flgValidList != null and flgValidList.size()>0">
                 AND t.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
             </if>
-            <if test="searchText !=null">
-                AND (  t.out_no LIKE concat('%', my_ex.likequery(#{searchText}), '%')
-                OR   t.remarks LIKE concat('%', my_ex.likequery(#{searchText}), '%')
-                )
+            <if test="viewVoidedDocuments !=null and viewVoidedDocuments == false">
+                AND  t.flg_valid = true
             </if>
         </where>
     </sql>
@@ -883,4 +965,125 @@
         and tpo.flg_valid
     </select>
 
+    <!-- 查询总单带明细 -->
+    <select id="selectByCondDetail" resultMap="BaseResultMapDetailResponse">
+        SELECT t.out_id,
+               t.out_no,
+               t.out_type,
+               t.from_id,
+               t.from_no,
+               t.from_no as "orderNo",
+               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",
+               tmc.contact_phone  as "contactPhone",
+               tmc.address_full  as "addressFull",
+               tmdd.data_value  as cus_from_name,
+               tmc.address_area,
+               tmc.address_name,
+               tmc.address_no,
+               tmc.address_gcj02,
+               tmc.address_full,
+               tmc.contact_name,
+               tmc.contact_phone,
+               tmc.channel_id  as sales_channel,
+               tmsc.channel_name  as channel_name,
+               t.sup_id,
+               t.out_status,
+               sys.f_get_name_i18n(tdk1.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.out_date,
+               t.remarks,
+               t.annex_paths,
+               t.make_staff,
+               makestaff.staff_name as "makeStaffName",
+               t.make_time,
+               t.receivable_id,
+               t.cp_id,
+               t.flg_valid,
+               tmp.sup_name AS "supplierName",
+               t.out_reason,
+               t.flg_auto_handle,
+               t.flg_handle_setting,
+               tmd.data_value as out_reason_name,
+        <include refid="Base_Column_List_Item_Response_Detail_Join"/>
+        FROM dkic_b.t_psi_outbound as t
+                 left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.cus_id
+                 left join dkic_b.t_mst_sale_channel tmsc on tmsc.channel_id = tmc.channel_id
+                 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_staff as makestaff on makestaff.staff_id = t.make_staff
+                 left join dkic_b.t_mst_dictionary_data tmdd on tmdd.data_id = tmc.cus_from
+                 left join sys.t_data_kind as tdk1 on tdk1.kind_code = t.out_status
+                 left join dkic_b.t_mst_dictionary_data tmd on tmd.data_id = t.out_reason
+                 Left join dkic_b.t_mst_supplier tmp on tmp.sup_id = t.sup_id
+                left join  dkic_b.t_psi_outbound_item  tpoi  on tpoi.out_id = t.out_id
+        inner join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id  = tpoi.sku_id
+        left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id  = tmgs.brand_id
+        left join dkic_b.t_psi_inventory tpity on tpity.inv_id  = tpoi.inv_id
+        left join dkic_b.t_mst_warehouse as tmw on tpity.wh_id = tmw.wh_id
+        <include refid="Condition"/>
+        order by t.make_time desc
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <sql id="Base_Column_List_Item_Response_Detail_Join">
+        tpoi.item_id  AS "list_item_id",
+        tpoi.out_id  AS "list_out_id",
+        t.out_no  AS "list_out_no",
+                    tpoi.out_type  AS "list_out_type",
+                    tpoi.from_id  AS "list_from_id",
+                    tpoi.from_item_id  AS "list_from_item_id",
+                    tpoi.item_index  AS "list_item_index",
+        tpoi.sku_id  AS "list_sku_id",
+                    tpoi.price_out  AS "list_price_out",
+                    tpoi.non_std_code  AS "list_non_std_code",
+                    tpoi.out_status  AS "list_out_status",
+                    tpoi.outing_qty  AS "list_outing_qty",
+                    tpoi.outing_amt  AS "list_outing_amt",
+        tpoi.out_qty  AS "list_out_qty",
+                    tpoi.out_amt  AS "list_out_amt",
+                    tpoi.return_qty  AS "list_return_qty",
+                    tpoi.return_amt  AS "list_return_amt",
+                    tpoi.remarks  AS "list_remarks",
+                    tpoi.inv_id  AS "list_inv_id",
+        tpoi.cost_price  AS "list_cost_price",
+                    tpoi.cost_amt  AS "list_cost_amt",
+                    tpoi.flg_valid  AS "list_flg_valid",
+                    tpoi.cp_id  AS "list_cp_id",
+        tpoi.s_out_id  AS "list_s_out_id",
+                    tpoi.s_out_item_id  AS "list_s_out_item_id",
+                    tpoi.s_order_id  AS "list_s_order_id",
+                    tpoi.s_order_item_id  AS "list_s_order_item_id",
+                        tmgs.sku_code AS list_sku_code,
+        tmgs.sku_model AS list_sku_model,
+        tmgs.sku_name AS list_sku_name,
+        tmgb.brand_name AS list_brand_name,
+        tmgb.short_name AS list_short_name,
+        tmgs.price_purchase AS list_price_purchase,
+        tmgs.price_standard AS list_price_standard,
+                      tpity.wh_id AS list_wh_id,
+                      tmw.wh_name AS list_wh_name
+    </sql>
+
+    <select id="countByCondDetail" resultType="Long">
+        SELECT
+        count(1)
+        FROM dkic_b.t_psi_outbound as t
+        <include refid="Condition"/>
+    </select>
+
 </mapper>

+ 11 - 3
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -453,7 +453,8 @@
                 AND tpp.pickup_date &lt; #{pickupDateEnd}::timestamp with time zone + interval '1 day'
             </if>
             <if test="searchText !=null and searchText!='' " >
-                AND   tmp.sup_name LIKE concat('%',my_ex.likequery(#{searchText}), '%')
+                AND  ( tmp.sup_name LIKE concat('%',my_ex.likequery(#{searchText}), '%')or
+                tpp.pur_no LIKE concat('%',my_ex.likequery(#{searchText}), '%'))
             </if>
         </where>
     </sql>
@@ -607,10 +608,17 @@
     </select>
 
     <!-- 查询表dkic_b.t_psi_purchase,(条件查询)个数 -->
-    <select id="countByCond" resultType="Long">
+        <select id="countByCond" resultType="Long">
         SELECT
         count(1)
         FROM dkic_b.t_psi_purchase tpp
+        Left join dkic_b.t_mst_org tmo on tpp.org_id = tmo.org_id
+        Left join dkic_b.t_mst_supplier tmp on tpp.sup_id = tmp.sup_id
+        Left join dkic_b.t_mst_staff tms on tpp.staff_id = tms.staff_id
+        Left join dkic_b.t_mst_staff tms1 on tpp.make_staff = tms1.staff_id
+        Left join dkic_b.t_mst_warehouse tmw on tpp.wh_id = tmw.wh_id
+        left join sys.t_data_kind tdk1 on tdk1.kind_code = tpp.into_status
+        left join sys.t_data_kind tdk2 on tdk2.kind_code = tpp.pur_status
         <include refid="Condition_1"/>
     </select>
 
@@ -778,7 +786,7 @@
     <!-- 采购跟踪-->
     <select id="selectTrackReport" resultType="java.util.Map">
         SELECT *
-        FROM dkic_b.f_query_pur_for_track(#{purId}::uuid,#{cpId})
+        FROM dkic_b.f_query_pur_for_track(#{purId}::uuid,#{cpId},#{i18n})
     </select>
     <select id="selectPurOrderAndDeatil" resultType="java.util.Map">
         SELECT

+ 60 - 1
src/main/java/com/dk/mdm/mapper/report/ReportMapper.java

@@ -134,7 +134,6 @@ public interface ReportMapper extends BaseMapper<JSONObject> {
      */
     List<Map<String, Object>> getDailyReconciliationReport(Map param);
 
-
     /**
      * @desc   : 日结对账表列表查询数量
      * @date   : 2024/4/24 15:22
@@ -143,6 +142,52 @@ public interface ReportMapper extends BaseMapper<JSONObject> {
     Long getDailyReconciliationReportCount(Map<String, Object> param);
 
     /**
+     * @desc   : 日结对账表-查销售订单
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    List<Map<String, Object>> getDailyReconciliationReportByOrder(Map param);
+
+
+    /**
+     * @desc   : 日结对账表-查销售订单数量
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    Long getDailyReconciliationReportByOrderCount(Map<String, Object> param);
+
+    /**
+     * @desc   : 日结对账表-查销售出库
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    List<Map<String, Object>> getDailyReconciliationReportByOut(Map param);
+
+
+    /**
+     * @desc   : 日结对账表-查销售出库数量
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    Long getDailyReconciliationReportByOutCount(Map<String, Object> param);
+
+
+    /**
+     * @desc   : 日结对账表-查收款单
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    List<Map<String, Object>> getDailyReconciliationReportByPay(Map param);
+
+
+    /**
+     * @desc   : 日结对账表-查收款单数量
+     * @date   : 2024/4/24 15:22
+     * @author : 寇珊珊
+     */
+    Long getDailyReconciliationReportByPayCount(Map<String, Object> param);
+
+    /**
      * @desc   : 收发存汇总报表
      * @author : 宋扬
      * @date   : 2024/4/20 13:34
@@ -156,4 +201,18 @@ public interface ReportMapper extends BaseMapper<JSONObject> {
      */
     List<Map<String, Object>> getIvtItemReport(Map param);
 
+    /**
+     * @desc   : 供应商往来余额表
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:26
+     */
+    List<Map<String, Object>> getSupAccount(Map param);
+
+    /**
+     * @desc   : 供应商往来余额表明细
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:26
+     */
+    List<Map<String, Object>> getSupAccountItem(Map param);
+
 }

+ 430 - 56
src/main/java/com/dk/mdm/mapper/report/ReportMapper.xml

@@ -572,7 +572,7 @@
         ,tpp.amt_payable as "amtPayable"
         ,tpp.amt_residue as "amtResidue"
         ,tpp.remarks
-        FROM dkic_b.t_psi_purchase tpp
+        FROM  dkic_b.t_psi_purchase tpp
         Left join dkic_b.t_mst_org tmo on tpp.org_id = tmo.org_id
         Left join dkic_b.t_mst_supplier tmp on tpp.sup_id = tmp.sup_id
         Left join dkic_b.t_mst_staff tms on tpp.staff_id = tms.staff_id
@@ -1572,6 +1572,7 @@
         ,tpp.org_id AS "orgId"
         ,tmo.org_name AS "orgName"
         ,tpp.staff_id AS "staffId"
+        ,tmsta.staff_name AS "staffName"
         ,tpp.sup_id AS "supId"
         ,tpp.contact_name AS "contactName"
         ,tpp.contact_phone AS "contactPhone"
@@ -1609,6 +1610,7 @@
         left join sys.t_data_kind as tdk2 on tpp.pur_status = tdk2.kind_code
         left join sys.t_data_kind as tdk3 on tpp.into_status = tdk3.kind_code
         left join dkic_b.t_mst_org as tmo on tpp.org_id = tmo.org_id
+        left join dkic_b.t_mst_staff as tmsta on tpp.staff_id = tmsta.staff_id
         <include refid="ConditionPurTrackingReport"/>
         order by tpp.op_create_time desc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
@@ -1660,6 +1662,8 @@
         <result column="pricePur" property="pricePur"/>
         <result column="itemQty" property="itemQty"/>
         <result column="remarks" property="remarks"/>
+        <result column="sumQuantity" property="sumQuantity"/>
+        <result column="sumAmount" property="sumAmount"/>
     </resultMap>
     
     <!--采购跟踪表 明细查询-->
@@ -1692,6 +1696,8 @@
              ,T."pricePur" AS list_pricePur
              ,T."itemQty" AS list_itemQty
              ,T."remarks"  AS list_remarks
+             ,T."sumQuantity"  AS list_sumQuantity
+             ,T."sumAmount"  AS list_sumAmount
         FROM
             (
                 SELECT
@@ -1728,7 +1734,7 @@
                         LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = tppi.sku_id
                         LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = tmgs.brand_id
                 WHERE
-                    tpp.pur_id = = #{id}::uuid
+                    tpp.pur_id = #{id}::uuid
                 UNION  ALL
                 SELECT
                     tpi.into_id AS "id"
@@ -1738,8 +1744,8 @@
                         ,NULL AS "whId"
                         ,NULL AS "makeTime"
                         ,NULL AS "pickupDate"
-                        ,NULL AS "sumQuantity"
-                        ,NULL AS "sumAmount"
+                        ,0.00 AS "sumQuantity"
+                        ,0.00 AS "sumAmount"
                         ,NULL AS "intoQty"
                         ,0 AS "returnQty"
                         ,0.00 AS "sumAmtRec"
@@ -1760,7 +1766,6 @@
                     WHEN tpii.into_status = '入库状态-入库中' THEN  tpii.intoing_qty
                     ELSE tpii.into_qty
                     END AS "itemQty"
-                    --  入库中显示入库中数量  已入库显示 已入库数量
                         ,tpii.remarks AS "remarks"
                 FROM
                     dkic_b.t_psi_inbound_item tpii
@@ -1768,7 +1773,48 @@
                     LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = tpii.sku_id
                     LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = tmgs.brand_id
                 WHERE
-                    tpi.from_id = = #{id}::uuid
+                    tpi.from_id = #{id}::uuid
+                  AND tpi.into_type = '入库类型-采购入库'
+                UNION  ALL
+                SELECT
+                    tpi.into_id AS "id"
+                        ,tpi.into_no AS "no"
+                        ,NULL AS "contactName"
+                        ,NULL AS "contactPhone"
+                        ,NULL AS "whId"
+                        ,NULL AS "makeTime"
+                        ,NULL AS "pickupDate"
+                        ,0.00 AS "sumQuantity"
+                        ,0.00 AS "sumAmount"
+                        ,NULL AS "intoQty"
+                        ,0 AS "returnQty"
+                        ,0.00 AS "sumAmtRec"
+                        ,0.00 AS "sumShouldHandle"
+                        ,0.00 AS "sumUsePaymentResidue"
+                        ,0.00 AS "sumWaiveAmt"
+                        ,tpii.item_id AS "itemId"
+                        ,'采购退货' AS "type"
+                        ,tpii.sku_id AS "skuId"
+                        ,tmgs.sku_code AS "skuCode"
+                        ,tmgs.sku_name AS "skuName"
+                        ,tmgs.sku_model AS "skuModel"
+                        ,tmgs.sku_images AS "skuImages"
+                        ,tmgb.brand_name AS "brandName"
+                        ,tmgb.short_name AS "shortName"
+                        ,tpii.price_into AS "pricePur"
+                        , CASE
+                    WHEN tpii.into_status = '入库状态-入库中' THEN  tpii.intoing_qty
+                    ELSE tpii.into_qty
+                    END AS "itemQty"
+                        ,tpii.remarks AS "remarks"
+                FROM
+                    dkic_b.t_psi_inbound_item tpii
+                    LEFT JOIN dkic_b.t_psi_inbound tpi ON tpi.into_id = tpii.into_id
+                    LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = tpii.sku_id
+                    LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = tmgs.brand_id
+                WHERE
+                    tpi.from_id = #{id}::uuid
+                  AND tpi.into_type = '入库类型-采购入库退货'
                 UNION ALL
                 SELECT
                     tmrp.rp_id AS "id"
@@ -1778,8 +1824,8 @@
                         ,NULL AS "whId"
                         ,NULL AS "makeTime"
                         ,NULL AS "pickupDate"
-                        ,NULL AS "sumQuantity"
-                        ,NULL AS "sumAmount"
+                        ,0.00 AS "sumQuantity"
+                        ,0.00 AS "sumAmount"
                         ,NULL AS "intoQty"
                         ,NULL AS "returnQty"
                         ,tmrp.sum_amt_rec AS "sumAmtRec"
@@ -1810,45 +1856,45 @@
     <!--   日结对账表列表查询-->
     <select id="getDailyReconciliationReport" resultType="java.util.Map">
         SELECT
-        T.item_id,
-        T.item_id        as "accItemId",
-        T.acc_item_type,
-        T.object_id,
-        tmc.cus_code     as "cusCode",
-        tmc.cus_name     as "cusName",
-        tmc.cus_phone    as "cusPhone",
-        tmc.address_full as "addressFull",
-        T.org_id,
-        tmo.org_name     as "orgName",
-        T.staff_id,
-        tms.staff_name   as "staffName",
-        T.biznis_type,
-        T.biznis_id,
-        T.biznis_no,
-        T.acc_date,
-        T.rec_status,
-        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "recStatusName",
-        T.amt_rec,
-        T.amt_pay,
-        T.amt_should,
-        T.amt_handle,
-        T.amt_waive,
-        T.amt_residue    as "amtNotHandle",
-        T.amt_residue    as "amtReceivableHandle",
-        T.amt_residue,
-        T.remarks,
-        T.make_staff,
-        T.make_time,
-        T.flg_valid,
-        T.cp_id,
-        ord.totalOrderAmount
+        T.item_id AS "itemId"
+        T.item_id AS "accItemId",
+        T.acc_item_type AS "accItemType",
+        T.object_id AS "objectId",
+        tmc.cus_code AS "cusCode",
+        tmc.cus_name AS "cusName",
+        tmc.cus_phone AS "cusPhone",
+        tmc.address_full AS "addressFull",
+        T.org_id AS "orgId",
+        tmo.org_name AS "orgName",
+        T.staff_id AS "staffId",
+        tms.staff_name AS "staffName",
+        T.biznis_type AS "biznisType",
+        T.biznis_id AS "biznisId",
+        T.biznis_no AS "bizniso",
+        T.acc_date AS "accDate",
+        T.rec_status AS "recStatus",
+        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) AS "recStatusName",
+        T.amt_rec AS "amtRec",
+        T.amt_pay AS "amtPay",
+        T.amt_should AS "amtShould",
+        T.amt_handle AS "amtHandle",
+        T.amt_waive AS "amtWaive",
+        T.amt_residue  AS "amtNotHandle",
+        T.amt_residue  AS "amtReceivableHandle",
+        T.amt_residue AS "amtResidue",
+        T.remarks AS  "remarks" ,
+        T.make_staff AS "makeStaff",
+        T.make_time AS "makeTime",
+        T.flg_valid AS "flgValid" ,
+        T.cp_id AS "cpId" ,
+        ord.totalOrderAmount 
         FROM dkic_b.t_mac_account_item as T
-        left join (select sum(tpo.sum_amount) as totalOrderAmount ,tpo.cus_id from dkic_b.t_psi_order tpo group by tpo.cus_id ) ord on ord.cus_id =T.object_id
-        left join dkic_b.t_mac_other_receivable as tmor on tmor.receivable_id = t.biznis_id and t.biznis_type = 't_mac_other_receivable'
-        left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.object_id
-        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 sys.t_data_kind as tdk1 on t.rec_status = tdk1.kind_code
+        LEFT JOIN (select sum(tpo.sum_amount) as totalOrderAmount ,tpo.cus_id from dkic_b.t_psi_order tpo group by tpo.cus_id ) ord ON ord.cus_id =T.object_id
+        LEFT JOIN dkic_b.t_mac_other_receivable as tmor ON tmor.receivable_id = T.biznis_id and T.biznis_type = 't_mac_other_receivable'
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.object_id
+        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 sys.t_data_kind as tdk1 ON T.rec_status = tdk1.kind_code
         <include refid="ConditionDailyReconciliationReport"/>
         order by  tpo.op_create_time desc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
@@ -1861,12 +1907,12 @@
         SELECT count(1)
         FROM
         FROM dkic_b.t_mac_account_item as T
-        left join (select sum(tpo.sum_amount) as totalOrderAmount ,tpo.cus_id from dkic_b.t_psi_order tpo group by tpo.cus_id ) ord on ord.cus_id =T.object_id
-        left join dkic_b.t_mac_other_receivable as tmor on tmor.receivable_id = t.biznis_id and t.biznis_type = 't_mac_other_receivable'
-        left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.object_id
-        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 sys.t_data_kind as tdk1 on t.rec_status = tdk1.kind_code
+        LEFT JOIN (select sum(tpo.sum_amount) as totalOrderAmount ,tpo.cus_id from dkic_b.t_psi_order tpo group by tpo.cus_id ) ord ON ord.cus_id =T.object_id
+        LEFT JOIN dkic_b.t_mac_other_receivable as tmor ON tmor.receivable_id = T.biznis_id and T.biznis_type = 't_mac_other_receivable'
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.object_id
+        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 sys.t_data_kind as tdk1 ON T.rec_status = tdk1.kind_code
         <include refid="ConditionDailyReconciliationReport"/>
     </select>
 
@@ -1874,16 +1920,16 @@
     <sql id="ConditionDailyReconciliationReport">
         <where>
             <if test="cpId != null">
-                T.cp_id = #{cpId}
+                AND  T.cp_id = #{cpId}
             </if>
             <if test="staffId != null">
-                T.staff_id = #{staffId}
+                AND  T.staff_id = #{staffId}
             </if>
             <if test="orgId != null">
-                T.org_id = #{orgId}
+                AND T.org_id = #{orgId}
             </if>
             <if test="object_id != null">
-                T.object_id = #{object_id}
+                AND T.object_id = #{object_id}
             </if>
             <if test="accDateStart != null">
                 AND T.acc_date &gt;= #{accDateStart}::timestamp with time zone
@@ -1893,7 +1939,335 @@
             </if>
         </where>
     </sql>
+    
+    <!--   日结对账表-查销售订单-->
+    <select id="getDailyReconciliationReportByOrder" resultType="java.util.Map">
+        SELECT 
+        T.order_id AS "orderId",
+        T.order_no AS "orderNo",
+        T.order_type AS "orderType",
+        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) AS "orderTypeName",
+        T.org_id AS "orgId",
+        tmo.org_name  AS "orgName",
+        T.staff_id AS "staffId",
+        tms.staff_name  AS "staffName",
+        T.cus_id AS "cusId",
+        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 AS "addressArea",
+        T.address_name AS "addressName",
+        T.address_no AS "addressNo",
+        T.address_gcj02 AS "addressGcj02",
+        T.address_full AS "addressFull",
+        T.contact_name AS "contactName",
+        T.contact_phone AS "contactPhone",
+        T.sales_channel AS "salesChannel",
+        tmsc.channel_name AS "channelName",
+        T.delivery_date AS "deliveryDate",
+        T.sum_quantity AS "sumQuantity",
+        T.sum_standard AS "sumStandard",
+        T.sum_amount AS "sumAmount",
+        T.sale_discount AS "saleDiscount",
+        T.order_status AS "orderStatus",
+        sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) AS "orderStatusName",
+        T.out_status AS "orderStatus",
+        sys.f_get_name_i18n(tdk3.kind_name_i18n, #{i18n}) AS "outStatusName",
+        T.outing_qty AS "outingQty",
+        T.outing_amt AS "outingAmt",
+        T.out_qty AS "outQty",
+        T.out_amt AS "outAmt",
+        T.return_qty AS "returnQty",
+        T.return_amt AS "returnAmt",
+        T.amt_receivable AS "amtReceivable",
+        T.amt_handle AS "amtHandle",
+        T.amt_residue AS "amtResidue",
+        T.remarks AS "remarks",
+        T.annex_paths AS "annexPaths",
+        makestaff.staff_name AS "makeStaffName",
+        T.make_time AS "makeTime",
+        T.cp_id AS "cpId",
+        T.flg_valid AS "flgValid"
+        FROM dkic_b.t_psi_order AS T
+        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="ConditionDailyReconciliationReport"/>
+        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>
+
+    <!--  日结对账表-查销售订单数量-->
+    <select id="getDailyReconciliationReportByOrderCount" resultType="java.lang.Long">
+        SELECT count(1)
+        FROM dkic_b.t_psi_order AS T
+        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="ConditionDailyReconciliationReport"/>
+    </select>
+
+    <!--  日结对账表查询条件-->
+    <sql id="ConditionDailyReconciliationReportByOrder">
+        <where>
+            <if test="orderNo != null">
+                AND T.order_no = #{orderNo}
+            </if>
+            <if test="cusName != null">
+                AND  tmc.cus_name = #{cusName}
+            </if>
+            <if test="cusPhone != null">
+                AND  tmc.cus_phone = #{cusPhone}
+            </if>
+            <if test="cus_id != null">
+                AND  T.cus_id = #{cusId}
+            </if>
+        </where>
+    </sql>
+
+
+    <!--   日结对账表-查销售出库-->
+    <select id="getDailyReconciliationReportByOut" resultType="java.util.Map">
+        SELECT 
+        T.out_id AS "outId",
+        T.out_no AS "outNo",
+        T.out_type AS "outType",
+        T.from_id AS "fromId",
+        T.from_no AS "fromNo",
+        T.from_no AS "biznisNo",
+        T.org_id AS "orgId",
+        tmo.org_name AS "orgName",
+        T.staff_id AS "staffId",
+        tms.staff_name AS"staffName",
+        T.cus_id AS "cusId",
+        tmc.cus_code AS "cusCode",
+        tmc.cus_name AS "cusName",
+        tmc.cus_phone AS "cusPhone",
+        tmc.cus_from AS "cusFrom",
+        tmc.contact_phone AS "contactPhone",
+        tmc.address_full AS "addressFull",
+        tmdd.data_value  AS cus_from_name,
+        T.sup_id AS "supId",
+        tmp.sup_name  AS "supplierName",
+        T.out_status AS "outStatus",
+        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) AS "outStatusName",
+        sys.f_get_name_i18n(tdktype.kind_name_i18n, #{i18n}) AS  "outTypeName",
+        T.outing_qty AS "outingQty",
+        T.outing_amt AS "outingAmt",
+        T.out_qty AS "outQty",
+        T.out_amt AS "outAmt",
+        T.return_qty AS "returnQty",
+        T.return_amt AS "returnAmt",
+        T.out_date AS "outDate",
+        T.remarks AS "remarks",
+        T.annex_paths AS "annexPaths",
+        T.make_staff AS "makeStaff",
+        makestaff.staff_name  AS "makeStaffName",
+        T.make_time AS "makeTime",
+        T.receivable_id AS "receivableId",
+        T.cp_id AS "cpId",
+        T.flg_valid AS "flgValid"",
+        tmd.data_value as "outReasonName"
+        FROM dkic_b.t_psi_outbound as T
+        LEFT JOIN dkic_b.t_mst_org tmo ON tmo.org_id = T.org_id
+        LEFT JOIN dkic_b.t_mst_supplier tmp ON tmp.sup_id = T.sup_id
+        LEFT JOIN dkic_b.t_mst_staff tms ON tms.staff_id = T.staff_id
+        LEFT JOIN dkic_b.t_mst_staff as makestaff ON makestaff.staff_id = T.make_staff
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.cus_id
+        LEFT JOIN dkic_b.t_mst_dictionary_data tmdd ON tmdd.data_id = tmc.cus_from
+        LEFT JOIN sys.t_data_kind as tdk1 ON tdk1.kind_code = T.out_status
+        LEFT JOIN sys.t_data_kind tdktype   ON tdktype.kind_code = T.out_type
+        LEFT JOIN dkic_b.t_mst_dictionary_data tmd ON tmd.data_id = T.out_reason
+        <include refid="ConditionDailyReconciliationReportByOut"/>
+        order by t.make_time desc
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!--  日结对账表-查销售订单数量-->
+    <select id="getDailyReconciliationReportByOutCount" resultType="java.lang.Long">
+        SELECT count(1)
+        FROM dkic_b.t_psi_outbound as T
+        LEFT JOIN dkic_b.t_mst_org tmo ON tmo.org_id = T.org_id
+        LEFT JOIN dkic_b.t_mst_supplier tmp ON tmp.sup_id = T.sup_id
+        LEFT JOIN dkic_b.t_mst_staff tms ON tms.staff_id = T.staff_id
+        LEFT JOIN dkic_b.t_mst_staff as makestaff ON makestaff.staff_id = T.make_staff
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.cus_id
+        LEFT JOIN dkic_b.t_mst_dictionary_data tmdd ON tmdd.data_id = tmc.cus_from
+        LEFT JOIN sys.t_data_kind as tdk1 ON tdk1.kind_code = T.out_status
+        LEFT JOIN sys.t_data_kind tdktype   ON tdktype.kind_code = T.out_type
+        LEFT JOIN dkic_b.t_mst_dictionary_data tmd ON tmd.data_id = T.out_reason
+        <include refid="ConditionDailyReconciliationReportByOut"/>
+    </select>
+
+    <!--  日结对账表查询条件-->
+    <sql id="ConditionDailyReconciliationReportByOut">
+        <where>
+            <if test="outNo != null">
+                AND T.out_no = #{outNo}
+            </if>
+            <if test="cusName != null">
+                AND tmc.cus_name = #{cusName}
+            </if>
+            <if test="cusPhone != null">
+                AND  tmc.cus_phone = #{cusPhone}
+            </if>
+            <if test="cus_id != null">
+                AND T.cus_id = #{cusId}
+            </if>
+        </where>
+    </sql>
 
+    <!--   日结对账表-查收款单 -->
+    <select id="getDailyReconciliationReportByPay" resultType="java.util.Map">
+        select 
+        T.rp_id AS "rpId",
+        T.rp_no AS "rpNo",
+        T.rp_type AS "rpType",
+        sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) AS "rpTypeName",
+        T.object_id AS "objectId",
+        tmc.cus_code  AS "cusCode",
+        tmc.cus_name  AS "cusName",
+        tmc.cus_phone AS "cusPhone",
+        tmc.address_full AS "addressFull",
+        T.org_id AS "orgId",
+        tmo.org_name AS "orgName",
+        T.staff_id AS "staffId",
+        tms.staff_name AS "staffName",
+        T.sum_amt_rec AS "sumAmtRec",
+        T.sum_amt_pay AS "sumAmtPay",
+        T.sum_should_handle AS "sumShouldHandle",
+        T.sum_use_receipt_residue AS "sumUseReceiptResidue",
+        T.sum_use_payment_residue AS "sumUsePaymentResidue",
+        T.sum_amt_receivable_handle AS "sumAmtReceivableHandle",
+        T.sum_amt_payable_handle AS "sumAmtPayableHandle",
+        T.sum_waive_amt AS "sumWaiveAmt",
+        T.acc_date AS "accDate",
+        T.remarks AS "remarks",
+        T.annex_paths AS "annexPaths",
+        T.biznis_type AS "biznisType",
+        T.biznis_id AS "biznisId",
+        T.biznis_no AS "biznisNo",
+        T.flg_lock AS "flgLock",
+        T.make_staff AS "makeStaff",
+        makestaff.staff_name AS "makeStaffName",
+        T.make_time AS "makeTime",
+        T.flg_valid AS "flgValid",
+        T.cp_id AS "cpId",
+        tma.receivable_residue AS "receivableResidue",
+        tma.receipt_residue AS "receiptResidue"
+        FROM dkic_b.t_mac_rec_pay as T
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.object_id
+        LEFT JOIN sys.t_data_kind as tdk1 ON tdk1.kind_code = T.rp_type
+        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_staff as makestaff ON makestaff.staff_id = T.make_staff
+        LEFT JOIN  dkic_b.t_mac_account tma  ON tma.object_id = T.object_id and tma.object_type in ('对象类型-客户')
+        <include refid="ConditionDailyReconciliationReportByPay"/>
+        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>
 
+    <!--  日结对账表-查收款单数量-->
+    <select id="getDailyReconciliationReportByPayCount" resultType="java.lang.Long">
+        SELECT count(1)
+        FROM dkic_b.t_mac_rec_pay as T
+        LEFT JOIN dkic_b.t_mst_customer tmc ON tmc.cus_id = T.object_id
+        LEFT JOIN sys.t_data_kind as tdk1 ON tdk1.kind_code = T.rp_type
+        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_staff as makestaff ON makestaff.staff_id = T.make_staff
+        LEFT JOIN  dkic_b.t_mac_account tma  ON tma.object_id = T.object_id and tma.object_type in ('对象类型-客户')
+        <include refid="ConditionDailyReconciliationReportByPay"/>
+    </select>
+
+    <!--  日结对账表-查收款单查询条件-->
+    <sql id="ConditionDailyReconciliationReportByPay">
+        <where>
+            T.rp_type = '收付款类型-收款'
+            <if test="rpNo != null">
+                AND  T.rp_no = #{rpNo}
+            </if>
+            <if test="cusName != null">
+                AND tmc.cus_name = #{cusName}
+            </if>
+            <if test="cusPhone != null">
+                AND tmc.cus_phone = #{cusPhone}
+            </if>
+            <if test="cus_id != null">
+                AND T.cus_id = #{cusId}
+            </if>
+        </where>
+    </sql>
+
+    <!-- 供应商往来余额表 -->
+    <select id="getSupAccount" resultType="java.util.Map">
+        SELECT
+        tms.sup_name AS "supName",
+        tms.sup_id as "objectId",
+        SUM ( tmai.amt_pay ) as "sumAmtPay",
+        SUM ( tmai.amt_handle ) as "sumAmtHandle"
+        FROM
+        dkic_b.t_mac_account_item tmai
+        INNER JOIN dkic_b.t_mst_supplier tms ON tmai.object_id = tms.sup_id
+        <where>
+            tmai.flg_valid
+            AND tmai.acc_item_type IN ( '账款类型-应付', '账款类型-付款' )
+            and tmai.cp_id = #{cpId}
+            <!--开始日期-->
+            <if test="accDateStart != null">
+                AND tmai.acc_date &gt;= #{accDateStart}::timestamp with time zone
+            </if>
+            <!--截止日期-->
+            <if test="accDateEnd != null">
+                AND tmai.acc_date &lt;= #{accDateEnd}::timestamp with time zone + interval '1 day'
+            </if>
+        </where>
+        GROUP BY tms.sup_name,tms.sup_id
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
+
+    <!-- 供应商往来余额表明细 -->
+    <select id="getSupAccountItem" resultType="java.util.Map">
+        SELECT
+        tmai.item_id as "itemId"
+        ,tmai.acc_item_type as "accItemType"
+        ,sys.f_get_name_i18n(tdk.kind_name_i18n,#{i18n}) AS "accItemTypeName"
+        ,tmai.org_id as "orgId"
+        ,tmo.org_name as "orgName"
+        ,tmai.staff_id as "staffId"
+        ,tms.staff_name as "staffName"
+        ,tmai.amt_pay as "amtPay"
+        ,tmai.amt_handle as "amtHandle"
+        FROM dkic_b.t_mac_account_item tmai
+        LEFT JOIN dkic_b.t_mst_org tmo ON tmo.org_id = tmai.org_id
+        LEFT JOIN dkic_b.t_mst_staff tms ON tms.staff_id = tmai.staff_id
+        LEFT JOIN sys.t_data_kind tdk ON tdk.kind_code = tmai.acc_item_type
+        where tmai.flg_valid
+        and tmai.acc_item_type in ('账款类型-应付','账款类型-付款')
+        and tmai.object_id = #{objectId}::uuid
+    </select>
 
 </mapper>

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

@@ -423,6 +423,9 @@
                 AND t.op_create_time &gt;= #{createtimeStart}::timestamp with time zone
                 AND t.op_create_time &lt; #{createtimeEnd}::timestamp with time zone + interval '1 day'
             </if>
+            <if test="viewVoidedDocuments !=null and viewVoidedDocuments == false">
+                AND  t.flg_valid = true
+            </if>
             <if test="searchText !=null">
                 AND (  t.order_no LIKE concat('%', my_ex.likequery(#{searchText}), '%')
                 OR   t.contact_phone LIKE concat('%', my_ex.likequery(#{searchText}), '%')

+ 1 - 1
src/main/java/com/dk/mdm/model/query/ivt/OutboundQuery.java

@@ -292,7 +292,7 @@ public class OutboundQuery extends PageInfo<OutboundQuery> {
      * 关联属性 + 查询条件
      * @TableField(exist = false)
      */
-
+    private Boolean viewVoidedDocuments;
 
     private static final long serialVersionUID = 1L;
 

+ 2 - 0
src/main/java/com/dk/mdm/model/query/sale/OrderQuery.java

@@ -393,6 +393,8 @@ public class OrderQuery extends PageInfo<OrderQuery> implements Serializable {
     private LocalDate createtimeEnd;
 
     private String searchText;
+    @ApiModelProperty(value = "查询作废")
+    private Boolean viewVoidedDocuments;
     private static final long serialVersionUID = 1L;
 
 }

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

@@ -714,6 +714,10 @@ public class CommonService extends BaseService<Map<String, Object>> {
         if (dataSourceCode.equals("saleChannel")) {
             list = commonMapper.getSaleChannel(map);
         }
+        //结算方式
+        if (dataSourceCode.equals("settlement")) {
+            list = commonMapper.getSettlement(map);
+        }
         //销售渠道
         if (dataSourceCode.equals("saleChannelPurviewType")) {
             list = commonMapper.getSaleChannelPurviewType(param);

+ 7 - 5
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -117,6 +117,8 @@ public class InventoryService extends BaseService<Inventory> {
             inOutRecordVO.setPriceInto(inOutRecordVO.getPriceInto());
             //入库日期
             inOutRecordVO.setAccDate(LocalDate.now());
+            //可以输入负数标识  入库没有限制 所以这里给true 为了下面的校验库存
+            inOutRecordVO.setCanNegativeFlag(true);
         }
         //region 校验是否传库存需要的数据
         this.checkInventory(inOutRecordVOList);
@@ -158,7 +160,7 @@ public class InventoryService extends BaseService<Inventory> {
             //业务单明细ID
             inOutRecordVO.setBiznisItemId(inOutRecordVO.getItemId());
             //region 是负库存逻辑
-            if (inOutRecordVO.getCanNegativeFlag()) {
+            if (inOutRecordVO.getCanNegativeFlag() && !Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType())) {
                 //入库数量
                 inOutRecordVO.setIntoQty(inOutRecordVO.getOutQty());
                 //入库价
@@ -699,7 +701,7 @@ public class InventoryService extends BaseService<Inventory> {
         //非标号
         inventoryBatch.setNonStdCode(inOutRecordVO.getNonStdCode());
         //是负库存逻辑
-        if (inOutRecordVO.getCanNegativeFlag()) {
+        if (inOutRecordVO.getCanNegativeFlag() && !Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType())) {
             //来源Id
             inventoryBatch.setFromId(inOutRecordVO.getIntoId());
             //来源明细Id
@@ -791,7 +793,7 @@ public class InventoryService extends BaseService<Inventory> {
     )
     public void insertInboundRecord(InOutRecordVO inOutRecordVO) {
         //是负库存逻辑  这里要新建2次 一正一负
-        if (inOutRecordVO.getCanNegativeFlag()) {
+        if (inOutRecordVO.getCanNegativeFlag() && !Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType())) {
             //新建负数库存流水
             inOutRecordVO.setIntoQty(inOutRecordVO.getIntoQty());
             //实体转换
@@ -848,7 +850,7 @@ public class InventoryService extends BaseService<Inventory> {
         //非标号
         inventory.setNonStdCode(inOutRecordVO.getNonStdCode());
         //是负库存逻辑
-        if (inOutRecordVO.getCanNegativeFlag()) {
+        if (inOutRecordVO.getCanNegativeFlag() && !Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType())) {
             //库存数量
             inventory.setInvQty(inOutRecordVO.getIntoQty().abs());
         }
@@ -900,7 +902,7 @@ public class InventoryService extends BaseService<Inventory> {
         //库存ID
         outboundItemCost.setInvId(inOutRecordVO.getInvId());
         //是负库存逻辑
-        if (inOutRecordVO.getCanNegativeFlag()) {
+        if (inOutRecordVO.getCanNegativeFlag() && !Constant.InventoryType.INBOUND.getName().equals(inOutRecordVO.getInventoryType())) {
             //出库数量
             outboundItemCost.setOutQty(inOutRecordVO.getIntoQty().abs());
         }

+ 12 - 0
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -29,6 +29,7 @@ import com.dk.mdm.model.pojo.sale.Order;
 import com.dk.mdm.model.pojo.sale.OrderItem;
 import com.dk.mdm.model.query.ivt.OutboundItemQuery;
 import com.dk.mdm.model.query.ivt.OutboundQuery;
+import com.dk.mdm.model.query.sale.OrderQuery;
 import com.dk.mdm.model.response.ivt.OutboundItemResponse;
 import com.dk.mdm.model.response.ivt.OutboundResponse;
 import com.dk.mdm.model.response.sale.OrderItemResponse;
@@ -1449,4 +1450,15 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
 //        return ResponseResultUtil.success(result);
 //    }
 
+    /**
+     * @desc : 条件查询(总单带明细)
+     * @author : 于继渤
+     * @date : 2023/1/9 10:36
+     */
+    @Pagination
+    public ResponseResultVO<PageList<OutboundResponse>> selectByCondDetail(OutboundQuery outboundQuery) {
+        return super.mergeListWithCount(outboundQuery, outboundMapper.selectByCondDetail(outboundQuery),
+                outboundMapper.countByCondDetail(outboundQuery));
+    }
+
 }

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

@@ -2,7 +2,9 @@ package com.dk.mdm.service.mst;
 
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
+import com.dk.common.infrastructure.enums.ErrorCodeEnum;
 import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.SaleChannelConvert;
@@ -11,6 +13,7 @@ import com.dk.mdm.mapper.mst.SaleChannelMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.query.mst.SaleChannelQuery;
+import com.dk.mdm.model.response.mst.SaleChannelResponse;
 import com.dk.mdm.model.response.mst.WarehouseResponse;
 import com.dk.mdm.model.vo.mst.SaleChannelVO;
 import com.dk.mdm.model.vo.mst.WarehouseVO;
@@ -19,6 +22,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;
 
 @Service
@@ -81,8 +85,18 @@ public class SaleChannelService extends BaseService<SaleChannel> {
 		Map<String, Object> uniqueNoteCode = commonService.getUniqueNoteCode(Constant.docNameConstant.SALECHANNEL.getName(), true);
 		saleChannel.setChannelId(uniqueNoteCode.get("outId").toString());
 		saleChannel.setChannelCode(uniqueNoteCode.get("outNote").toString());
-		//新建
-		saleChannelMapper.insert(saleChannel);
+
+		//查重
+		List<SaleChannelResponse> saleChannelResponses = saleChannelMapper.selectByCond(new SaleChannelQuery().setChannelName(saleChannel.getChannelName()));
+		if(saleChannelResponses.size() > 0){
+			return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.SALECHANNEL_NAME_NOT.getMessage());
+		}else{
+			//新建
+			saleChannelMapper.insert(saleChannel);
+		}
+
+
+
 
 		return ResponseResultUtil.success();
 	}

+ 94 - 0
src/main/java/com/dk/mdm/service/report/ReportService.java

@@ -312,6 +312,74 @@ public class ReportService {
     }
 
     /**
+     * @desc   :  日结对账表-查销售订单
+     * @date   : 2024/4/24 15:11
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByOrder(Map<String, Object> param) {
+        // 校验分页参数
+        if (param.get("pageSize") == null || param.get("currentPage") == null) {
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL, "请检查分页参数!");
+        }
+        // 定义返回值
+        PageList data = new PageList<>();
+        param.put("start", (Integer.parseInt(param.get("currentPage").toString()) - 1) * Integer.parseInt(param.get("pageSize").toString()));
+        param.put("end", Integer.parseInt(param.get("pageSize").toString()));
+        List<Map<String, Object>> dataList = reportMapper.getDailyReconciliationReportByOrder(param);
+        data.setList(dataList);
+        data.setTotal(reportMapper.getDailyReconciliationReportByOrderCount(param));
+        data.setPageSize((Integer) param.get("pageSize"));
+        data.setCurrentPage((Integer) param.get("currentPage"));
+        return ResponseResultUtil.success(data);
+    }
+
+
+    /**
+     * @desc   :  日结对账表-查销售出库
+     * @date   : 2024/4/24 15:11
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByOut(Map<String, Object> param) {
+        // 校验分页参数
+        if (param.get("pageSize") == null || param.get("currentPage") == null) {
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL, "请检查分页参数!");
+        }
+        // 定义返回值
+        PageList data = new PageList<>();
+        param.put("start", (Integer.parseInt(param.get("currentPage").toString()) - 1) * Integer.parseInt(param.get("pageSize").toString()));
+        param.put("end", Integer.parseInt(param.get("pageSize").toString()));
+        List<Map<String, Object>> dataList = reportMapper.getDailyReconciliationReportByOut(param);
+        data.setList(dataList);
+        data.setTotal(reportMapper.getDailyReconciliationReportByOutCount(param));
+        data.setPageSize((Integer) param.get("pageSize"));
+        data.setCurrentPage((Integer) param.get("currentPage"));
+        return ResponseResultUtil.success(data);
+    }
+
+
+    /**
+     * @desc   :  日结对账表-查收款单
+     * @date   : 2024/4/24 15:11
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getDailyReconciliationReportByPay(Map<String, Object> param) {
+        // 校验分页参数
+        if (param.get("pageSize") == null || param.get("currentPage") == null) {
+            return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL, "请检查分页参数!");
+        }
+        // 定义返回值
+        PageList data = new PageList<>();
+        param.put("start", (Integer.parseInt(param.get("currentPage").toString()) - 1) * Integer.parseInt(param.get("pageSize").toString()));
+        param.put("end", Integer.parseInt(param.get("pageSize").toString()));
+        List<Map<String, Object>> dataList = reportMapper.getDailyReconciliationReportByPay(param);
+        data.setList(dataList);
+        data.setTotal(reportMapper.getDailyReconciliationReportByPayCount(param));
+        data.setPageSize((Integer) param.get("pageSize"));
+        data.setCurrentPage((Integer) param.get("currentPage"));
+        return ResponseResultUtil.success(data);
+    }
+
+    /**
      * @desc   : 收发存汇总报表
      * @author : 宋扬
      * @date   : 2024/4/20 13:30
@@ -369,5 +437,31 @@ public class ReportService {
         }
     }
 
+    /**
+     * @desc   : 供应商往来余额表
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:27
+     */
+    public ResponseResultVO<PageList<Map<String, Object>>> getSupAccount(Map<String, Object> param) {
+        param.put("start", (Integer.parseInt(param.get("currentPage").toString()) - 1) * Integer.parseInt(param.get("pageSize").toString()));
+        param.put("end", Integer.parseInt(param.get("pageSize").toString()));
+        // 获取系统基础数据
+        List<Map<String, Object>> list = reportMapper.getSupAccount(param);
+        PageList data = new PageList<>();
+        data.setList(list);
+        return ResponseResultUtil.success(data);
+    }
+
+    /**
+     * @desc   : 供应商往来余额表明细
+     * @author : 常皓宁
+     * @date   : 2024/4/25 13:27
+     */
+    public ResponseResultVO<List<Map<String, Object>>> getSupAccountItem(Map<String, Object> param) {
+        // 获取系统基础数据
+        List<Map<String, Object>> list = reportMapper.getSupAccountItem(param);
+        return ResponseResultUtil.success(list);
+    }
+
 
 }