yzc 1 рік тому
батько
коміт
f124ad31da

+ 10 - 0
hx-supply/src/main/java/com/fjhx/supply/entity/supplier/vo/SupplierInfoVo.java

@@ -6,6 +6,7 @@ import com.fjhx.supply.entity.supplier.po.SupplierInfo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -28,4 +29,13 @@ public class SupplierInfoVo extends SupplierInfo implements SetCustomizeAreaName
 
     List<SupplierContact> contactList;
 
+    /**
+     * 结存预付款
+     */
+    private BigDecimal balancePrepaid;
+    /**
+     * 结存预付款(含税)
+     */
+    private BigDecimal balancePrepaidTax;
+
 }

+ 17 - 3
hx-supply/src/main/resources/mapper/supplier/SupplierInfoMapper.xml

@@ -2,9 +2,23 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.supply.mapper.supplier.SupplierInfoMapper">
     <select id="getPage" resultType="com.fjhx.supply.entity.supplier.vo.SupplierInfoVo">
-        select
-           si.*
-        from supplier_info si
+        SELECT IFNULL(t1.balancePrepaid, 0)    AS balancePrepaid,
+               IFNULL(t1.balancePrepaidTax, 0) AS balancePrepaidTax,
+               si.*
+        FROM supplier_info si
+                 LEFT JOIN (SELECT ccod.supplier_id,
+                                   (
+                                           IFNULL(sum(ccod.current_prepaid), 0) -
+                                           IFNULL(sum(ccod.deduction_prepaid), 0))     AS balancePrepaid,
+                                   (
+                                           IFNULL(sum(ccod.current_prepaid_tax), 0) -
+                                           IFNULL(sum(ccod.deduction_prepaid_tax), 0)) AS balancePrepaidTax
+                            FROM payment_type pt
+                                     JOIN cost_control cco ON cco.cost_type = pt.id
+                                     JOIN cost_control_detail ccod ON ccod.cost_control_id = cco.id
+                            WHERE pt.`name` LIKE '%采购%'
+                              AND cco.`status` IN (30, 60)
+                            GROUP BY ccod.supplier_id) t1 ON t1.supplier_id = si.id
             ${ew.customSqlSegment}
     </select>