Browse Source

1.换单列表排序倒序修改
2.账龄分析列表,导出,明细导出接口取值错误修改
2.账龄分析检索条件修改

纪新园 2 months ago
parent
commit
69efacae89

+ 0 - 3
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/ChangeOrderController.java

@@ -66,9 +66,6 @@ public class ChangeOrderController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入bills")
 	public R<IPage<Bills>> list(Bills bills, Query query) {
-		LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Bills::getIsDeleted, 0)
-			.orderByDesc(Bills::getHarvestBoxPackingDate);
 		bills.setTenantId(AuthUtil.getTenantId());
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			bills.setBranchId(AuthUtil.getDeptId());

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml

@@ -296,6 +296,7 @@
         <if test='data.equipmentSingleStatus != null and data.equipmentSingleStatus != ""'>
             and equipment_single_status = #{data.equipmentSingleStatus}
         </if>
+        ORDER BY harvest_box_packing_date DESC
     </select>
     <select id="listAccBill" resultType="org.springblade.los.finance.fee.vo.FinAccBillsVO">
         SELECT DISTINCT

+ 89 - 80
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml

@@ -776,56 +776,56 @@
         </choose>
 
         <!-- 各币种总额 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' then amount-stl_amount else 0 END) AS cnyTtl,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' then amount-stl_amount else 0 END) AS USDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' then amount-stl_amount else 0 END) AS HKDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' then amount-stl_amount else 0 END) AS VNDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' then amount-stl_amount else 0 END) AS SGDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' then amount-stl_ttl_amount else 0 END) AS cnyTtl,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' then amount-stl_ttl_amount else 0 END) AS USDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' then amount-stl_ttl_amount else 0 END) AS HKDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' then amount-stl_ttl_amount else 0 END) AS VNDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' then amount-stl_ttl_amount else 0 END) AS SGDTTL,
 
         <!-- CNY 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS CNY30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS CNY60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS CNY90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS CNY120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS CNY150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS CNYOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS CNYOver150,
 
         <!-- USD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS USD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt;DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS USD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS USD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS USD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS USD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS USDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS USD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt;DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS USD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS USD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS USD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS USD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS USDOver150,
 
         <!-- HKD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS HKD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS HKD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS HKD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS HKD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS HKD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS HKDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS HKDOver150,
 
         <!-- VND 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS VND30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS VND60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS VND90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS VND120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS VND150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS VNDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS VND30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS VND60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS VND90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS VND120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS VND150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS VNDOver150,
 
         <!-- SGD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS SGD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS SGD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS SGD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS SGD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS SGD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS SGDOver150
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS SGDOver150
 
         FROM los_fee_center
         WHERE tenant_id = #{fee.tenantId}
         AND is_deleted = '0'
-        AND ABS(amount - stl_amount) > 0.01
+        AND ABS(amount - stl_ttl_amount) > 0.01
         AND DC = #{fee.dc}
         AND acc_status = 1
         AND bill_date &lt;= #{fee.etdEnd}
@@ -839,6 +839,9 @@
         <if test='fee.corpId != null and fee.corpId != ""'>
             AND corp_id = #{fee.corpId}
         </if>
+        <if test='fee.srcId != null and fee.srcId != ""'>
+            AND src_id = #{fee.srcId}
+        </if>
 
         GROUP BY
         <choose>
@@ -889,56 +892,56 @@
         </choose>
 
         <!-- 各币种总额 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' then amount-stl_amount else 0 END) AS CNYTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' then amount-stl_amount else 0 END) AS USDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' then amount-stl_amount else 0 END) AS HKDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' then amount-stl_amount else 0 END) AS VNDTTL,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' then amount-stl_amount else 0 END) AS SGDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' then amount-stl_ttl_amount else 0 END) AS CNYTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' then amount-stl_ttl_amount else 0 END) AS USDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' then amount-stl_ttl_amount else 0 END) AS HKDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' then amount-stl_ttl_amount else 0 END) AS VNDTTL,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' then amount-stl_ttl_amount else 0 END) AS SGDTTL,
 
         <!-- CNY 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS CNY30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS CNY60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS CNY90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS CNY120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS CNY150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS CNYOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS CNY150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='CNY' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS CNYOver150,
 
         <!-- USD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS USD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt;DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS USD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS USD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS USD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS USD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS USDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS USD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt;DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS USD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS USD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS USD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS USD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='USD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS USDOver150,
 
         <!-- HKD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS HKD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS HKD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS HKD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS HKD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS HKD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS HKDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS HKD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='HKD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS HKDOver150,
 
         <!-- VND 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS VND30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS VND60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS VND90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS VND120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS VND150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS VNDOver150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS VND30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS VND60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS VND90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS VND120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS VND150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='VND' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS VNDOver150,
 
         <!-- SGD 账龄分析 -->
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_amount else 0 END) AS SGD30,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_amount else 0 END) AS SGD60,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_amount else 0 END) AS SGD90,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_amount else 0 END) AS SGD120,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS SGD150,
-        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_amount else 0 END) AS SGDOver150
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD30,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD60,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD90,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD120,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS SGD150,
+        SUM(CASE WHEN DC=#{fee.dc} and cur_code='SGD' and bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then amount-stl_ttl_amount else 0 END) AS SGDOver150
 
         FROM los_fee_center
         WHERE tenant_id = #{fee.tenantId}
         AND is_deleted = '0'
-        AND ABS(amount - stl_amount) > 0.01
+        AND ABS(amount - stl_ttl_amount) > 0.01
         AND DC = #{fee.dc}
         AND acc_status = 1
         AND bill_date &lt;= #{fee.etdEnd}
@@ -952,6 +955,9 @@
         <if test='fee.corpId != null and fee.corpId != ""'>
             AND corp_id = #{fee.corpId}
         </if>
+        <if test='fee.srcId != null and fee.srcId != ""'>
+            AND src_id = #{fee.srcId}
+        </if>
 
         GROUP BY
         <choose>
@@ -1001,13 +1007,13 @@
                 lfc. branch_name AS branchName,
             </otherwise>
         </choose>
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS day30,
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS day60,
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS day90,
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS day120,
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS day150,
-        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then lfc.amount-lfc.stl_amount else 0 END) AS dayOver150,
-        SUM(CASE WHEN DC=#{fee.dc} then amount-stl_amount else 0 END) AS total,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS day30,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 1 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS day60,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 2 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS day90,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 3 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS day120,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 4 MONTH) and lfc.bill_date >= DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS day150,
+        SUM(CASE WHEN DC=#{fee.dc} and lfc.bill_date &lt; DATE_SUB(#{fee.etdEnd}, INTERVAL 5 MONTH) then lfc.amount-lfc.stl_ttl_amount else 0 END) AS dayOver150,
+        SUM(CASE WHEN DC=#{fee.dc} then amount-stl_ttl_amount else 0 END) AS total,
         lsb.actual_etd AS atd,
         lsb.actual_eta AS ata,
         lsb.mblno AS mblno,
@@ -1023,7 +1029,7 @@
         LEFT JOIN los_sea_bills lsb on lfc.pid = lsb.id
         WHERE lfc.tenant_id = #{fee.tenantId}
         AND lfc.is_deleted = '0'
-        AND ABS(lfc.amount - lfc.stl_amount) > 0.01
+        AND ABS(lfc.amount - lfc.stl_ttl_amount) > 0.01
         AND lfc.DC = #{fee.dc}
         AND lfc.acc_status = 1
         AND lfc.bill_date &lt;= #{fee.etdEnd}
@@ -1036,6 +1042,9 @@
         <if test='fee.corpId != null and fee.corpId != ""'>
             AND lfc.corp_id = #{fee.corpId}
         </if>
+        <if test='fee.srcId != null and fee.srcId != ""'>
+            AND src_id = #{fee.srcId}
+        </if>
         GROUP BY lfc.branch_name,lfc.corp_cn_name,lsb.mblno,lsb.hblno,lsb.booking_agent_cn_name,lfc.cur_code
         ORDER BY lfc.branch_name,lfc.corp_cn_name,lsb.actual_etd
     </select>