|
|
@@ -1464,16 +1464,16 @@ public class contractApproveController {
|
|
|
|
|
|
@Mapping("com.awspaas.user.apps.donenow_ctt.updateAgentCommissionById")
|
|
|
public ResponseObject updateAgentCommissionById(UserContext uc,
|
|
|
- String ids,
|
|
|
- String commissionPayId,
|
|
|
- String agent,
|
|
|
- String ACCOUNT_PAY_DATE,
|
|
|
- BigDecimal totalPayAmount, // 前端传递的“总支付金额”
|
|
|
- String payer,
|
|
|
- String remark,
|
|
|
- String invoiceTypeId,
|
|
|
- String agentInvoiceNo,
|
|
|
- String invoiceFile) throws SQLException {
|
|
|
+ String ids,
|
|
|
+ String commissionPayId,
|
|
|
+ String agent,
|
|
|
+ String ACCOUNT_PAY_DATE,
|
|
|
+ BigDecimal totalPayAmount, // 前端传递的“总支付金额”
|
|
|
+ String payer,
|
|
|
+ String remark,
|
|
|
+ String invoiceTypeId,
|
|
|
+ String agentInvoiceNo,
|
|
|
+ String invoiceFile) throws SQLException {
|
|
|
Connection connUpdate = null;
|
|
|
try {
|
|
|
// 1. 参数校验
|
|
|
@@ -1535,7 +1535,7 @@ public class contractApproveController {
|
|
|
|
|
|
int updateCount = 0;
|
|
|
|
|
|
- // 5. 循环按比例分配并更新
|
|
|
+ // 5. 循环按比例分配并更新 BO_EU_DNCTT_COMMISSION_PERIOD_AGENT 表
|
|
|
for (String id : idArr) {
|
|
|
if (!idPeriodAmountMap.containsKey(id)) {
|
|
|
System.out.println("跳过未查询到周期金额的ID:" + id);
|
|
|
@@ -1554,7 +1554,7 @@ public class contractApproveController {
|
|
|
updateSql.append("COMMISSION_PAY_ID = ?, ");
|
|
|
updateSql.append("AGENT = ?, ");
|
|
|
updateSql.append("ACCOUNT_PAY_DATE = ?, ");
|
|
|
- updateSql.append("PAY_AMOUNT = ?, "); // 核心:累加更新
|
|
|
+ updateSql.append("PAY_AMOUNT = ?, "); // 核心:更新单周期分配金额
|
|
|
updateSql.append("PAYER = ?, ");
|
|
|
updateParams.add(commissionPayId.trim());
|
|
|
updateParams.add(agent);
|
|
|
@@ -1594,7 +1594,15 @@ public class contractApproveController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 6. 提交事务
|
|
|
+ // 新增:更新 BO_EU_DNCTT_COMMISSION_PAY 表的 PAY_AMOUNT 字段
|
|
|
+ String updatePayTableSql = "UPDATE BO_EU_DNCTT_COMMISSION_PAY SET PAY_AMOUNT = ? WHERE ID = ?";
|
|
|
+ List<Object> payTableParams = new ArrayList<>();
|
|
|
+ payTableParams.add(totalPayAmount); // 设置总支付金额
|
|
|
+ payTableParams.add(commissionPayId.trim()); // 按 commissionPayId 定位记录
|
|
|
+ int payTableAffectedRows = DBSql.update(connUpdate, updatePayTableSql, payTableParams.toArray());
|
|
|
+ System.out.println("更新 BO_EU_DNCTT_COMMISSION_PAY 表影响行数:" + payTableAffectedRows);
|
|
|
+
|
|
|
+ // 6. 提交事务(所有更新在同一事务中提交)
|
|
|
connUpdate.commit();
|
|
|
|
|
|
// 7. 返回结果
|
|
|
@@ -1603,14 +1611,15 @@ public class contractApproveController {
|
|
|
result.put("updateCount", updateCount);
|
|
|
result.put("totalPayAmount", totalPayAmount);
|
|
|
result.put("totalPeriodAmount", totalPeriodAmount);
|
|
|
- result.put("message", "按比例分配更新完成,共更新" + updateCount + "条记录");
|
|
|
+ result.put("payTableAffectedRows", payTableAffectedRows); // 新增:返回目标表更新行数
|
|
|
+ result.put("message", "按比例分配及目标表更新完成,共更新" + updateCount + "条周期记录,目标表更新" + payTableAffectedRows + "条记录");
|
|
|
|
|
|
ResponseObject responseObject = ResponseObject.newOkResponse();
|
|
|
responseObject.setData(result);
|
|
|
return responseObject;
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
- // 异常回滚
|
|
|
+ // 异常回滚(所有更新一同回滚)
|
|
|
if (connUpdate != null && !connUpdate.isClosed()) {
|
|
|
try {
|
|
|
connUpdate.rollback();
|
|
|
@@ -1792,7 +1801,7 @@ public class contractApproveController {
|
|
|
"c.ID AS c_id " +
|
|
|
"FROM BO_EU_DNCTT_COMMISSION_IMPORT a " +
|
|
|
"JOIN BO_EU_DNCTT_COMMISSION b " +
|
|
|
- "ON a.ACCOUNT_USER_NO = b.NEW_ACCOUNT AND a.DEVICE_ID = b.DEVICE_ID AND a.RULE_NO = b.RULE_NO " +
|
|
|
+ "ON a.ACCOUNT_USER_NO = b.NEW_ACCOUNT AND a.DEVICE_ID = b.DEVICE_ID" +
|
|
|
"JOIN BO_EU_DNCTT_COMMISSION_PERIOD c " +
|
|
|
"ON a.ZB_FEE_DATE = c.ZB_FEE_DATE AND b.bindid = c.bindid " +
|
|
|
"WHERE a.ZB_FEE_DATE = ?";
|