Browse Source

Merge remote-tracking branch 'origin/dev' into dev

lijunping 3 months ago
parent
commit
b62dfd4148

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ExpenseApplicationServiceImpl.java

@@ -370,6 +370,9 @@ public class ExpenseApplicationServiceImpl extends ServiceImpl<ExpenseApplicatio
 				if (1 == item.getAccStatus()) {
 					throw new RuntimeException("费用:" + item.getFeeCnName() + "已生成账单");
 				}
+				if (ObjectUtils.isNull(item.getBillDate())){
+					throw new RuntimeException("费用:" + item.getFeeCnName() + "缺少业务日期,请重新保存");
+				}
 				FinAccBills data = new FinAccBills();
 				data.setGenerationCorpId(item.getGenerationCorpId());
 				data.setGenerationCorpCnName(item.getGenerationCorpCnName());

+ 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::getCreateTime);
 		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

+ 6 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -225,6 +225,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 					throw new RuntimeException(year + "年" + month + "月账期已锁定,保存失败");
 				}
 			}
+		} else {
+			if ("SE".equals(bills.getBusinessType())) {
+				bills.setBillDate(bills.getActualEtd());
+			} else if ("SI".equals(bills.getBusinessType())) {
+				bills.setBillDate(bills.getActualEta());
+			}
 		}
 		if (ObjectUtils.isNotNull(bills.getCorpId())) {
 			BCorps bCorps = corpsMapper.selectById(bills.getCorpId());

+ 90 - 81
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,7 +1042,10 @@
         <if test='fee.corpId != null and fee.corpId != ""'>
             AND lfc.corp_id = #{fee.corpId}
         </if>
-        GROUP BY lfc.branch_name,lfc.corp_cn_name,lsb.mblno,lsb.hblno,lsb.booking_agent_cn_name
+        <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>
 

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

@@ -128,6 +128,9 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 			if (1 == item.getAccStatus()) {
 				throw new RuntimeException("费用:" + item.getFeeCnName() + "已生成账单");
 			}
+			if (ObjectUtils.isNull(item.getBillDate())){
+				throw new RuntimeException("费用:" + item.getFeeCnName() + "缺少业务日期,请重新保存");
+			}
 			item.setBillKey(item.getId() + "");
 			/*boolean amountStatus = true;
 			if (new BigDecimal("0.00").compareTo(item.getAmount()) > 0) {

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/impl/CyFtpServiceImpl.java

@@ -606,7 +606,7 @@ public class CyFtpServiceImpl implements CyFtpService {
 			boxDynamicsRecord.setDescription("接收成功");
 		}
 		//发送消息
-		R<String> res = sysClient.getRoleIds(AuthUtil.getTenantId(), "箱管");
+		R<String> res = sysClient.getRoleIds(bCorps.getTenantId(), "箱管");
 		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
 			R<List<User>> userListR = userClient.listUserByRoleIds(res.getData());
 			if (userListR.isSuccess() && ObjectUtils.isNotNull(userListR.getData())) {

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

@@ -88,7 +88,7 @@ public class UserClient implements IUserClient {
 			LambdaQueryWrapper<User> userLambdaQueryWrapper = new LambdaQueryWrapper<>();
 			userLambdaQueryWrapper
 				.eq(User::getIsDeleted, 0)
-				.apply("find_in_set(role_id,'" + roleId + "')")
+				.apply("find_in_set('" + roleId + "',role_id)")
 				.eq(User::getTenantId, AuthUtil.getTenantId());
 			List<User> users = service.list(userLambdaQueryWrapper);
 			if (!users.isEmpty()) {