HULEI před 2 měsíci
rodič
revize
da56bd1213

binární
com.awspaas.user.apps.donenow_ctt/com.awspaas.user.apps.donenow_ctt.jar


+ 108 - 3
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/controller/contractApproveController.java

@@ -1068,8 +1068,8 @@ public class contractApproveController {
                 }
 
                 rows += DBSql.update(insertSql, new Object[]{
-                        bindid,
                         uc.getCompanyModel().getId(),
+                        bindid,
                         sdf.format(periodStart),
                         sdf.format(periodEnd),
                         amount,
@@ -1183,8 +1183,8 @@ public class contractApproveController {
 
             // 4. 插入 SQL
             String insertSql = "INSERT INTO BO_EU_DNCTT_COMMISSION_PERIOD_AGENT " +
-                    "(ID, AGENT, BINDID, PERIOD_BEGIN_DATE, PERIOD_END_DATE, COMMISSION_DOLLARS) " +
-                    "VALUES (UUID(), ?, ?, ?, ?, ?)";
+                    "(ID, AGENT,ORGID, BINDID, PERIOD_BEGIN_DATE, PERIOD_END_DATE, COMMISSION_DOLLARS,PERIOD_ADJUSTED_PRICE) " +
+                    "VALUES (UUID(), ?,?, ?, ?, ?, ?,?)";
 
             int rows = 0;
             BigDecimal baseAmount = new BigDecimal(amount);
@@ -1217,9 +1217,11 @@ public class contractApproveController {
 
                     rows += DBSql.update(insertSql, new Object[]{
                             agent,
+                            uc.getCompanyModel().getId(),
                             bindid,
                             sdf.format(periodStart),
                             sdf.format(periodEnd),
+                            realCommission.toPlainString(),
                             realCommission.toPlainString()
                     });
 
@@ -1295,4 +1297,107 @@ public class contractApproveController {
             return ResponseObject.newErrResponse("查询失败:" + e.getMessage());
         }
     }
+
+    @Mapping(value = "com.awspaas.user.apps.donenow_ctt.updateAgentCommissionByIds")
+    public ResponseObject updateAgentCommissionByIds(UserContext uc,
+                                                     String ids,          // 多个ID逗号分隔
+                                                     String agent,        // 二级代理(必填)
+                                                     String ACCOUNT_PAY_DATE, // 实际付款时间(必填)
+                                                     BigDecimal payAmount,// 付款金额(必填)
+                                                     String payer,        // 付款人(必填)
+                                                     String remark,       // 备注(可选)
+                                                     String invoiceTypeId,// 发票类型(可选)
+                                                     String agentInvoiceNo,// 二代发票号(可选)
+                                                     String invoiceFile)  // 发票附件(可选)
+    {
+        try {
+            // 必填字段校验
+            if (ids == null || ids.trim().isEmpty()) {
+                ResponseObject err = ResponseObject.newErrResponse("ids不能为空");
+                return err;
+            }
+            if (agent == null || agent.trim().isEmpty()) {
+                ResponseObject err = ResponseObject.newErrResponse("二级代理不能为空");
+                return err;
+            }
+            if (ACCOUNT_PAY_DATE == null || ACCOUNT_PAY_DATE.trim().isEmpty()) {
+                ResponseObject err = ResponseObject.newErrResponse("实际付款时间不能为空");
+                return err;
+            }
+            if (payAmount == null || payAmount.compareTo(BigDecimal.ZERO) < 0) {
+                ResponseObject err = ResponseObject.newErrResponse("付款金额无效");
+                return err;
+            }
+            if (payer == null || payer.trim().isEmpty()) {
+                ResponseObject err = ResponseObject.newErrResponse("付款人不能为空");
+                return err;
+            }
+
+            // ID 转数组
+            String[] idArr = ids.split(",");
+
+            // 动态拼接 SQL
+            StringBuilder updateSql = new StringBuilder("UPDATE VIEW_EU_DNV_COMMISSION_PERIOD_AGENT SET ");
+            List<Object> params = new ArrayList<>();
+
+            // 必更新字段
+            updateSql.append("AGENT = ?, ACCOUNT_PAY_DATE = ?, PAY_AMOUNT = ?, PAYER = ?, ");
+            params.add(agent);
+            params.add(ACCOUNT_PAY_DATE);
+            params.add(payAmount);
+            params.add(payer);
+
+            // 可选字段
+            if (remark != null && !remark.trim().isEmpty()) {
+                updateSql.append("REMARK = ?, ");
+                params.add(remark);
+            }
+            if (invoiceTypeId != null && !invoiceTypeId.trim().isEmpty()) {
+                updateSql.append("INVOICE_TYPE_ID = ?, ");
+                params.add(invoiceTypeId);
+            }
+            if (agentInvoiceNo != null && !agentInvoiceNo.trim().isEmpty()) {
+                updateSql.append("AGENT_INVOICE_NO = ?, ");
+                params.add(agentInvoiceNo);
+            }
+            if (invoiceFile != null && !invoiceFile.trim().isEmpty()) {
+                updateSql.append("INVOICE_FILE = ?, ");
+                params.add(invoiceFile);
+            }
+
+            // 去掉最后一个逗号和空格
+            if (updateSql.charAt(updateSql.length() - 2) == ',') {
+                updateSql.setLength(updateSql.length() - 2);
+            }
+
+            // WHERE IN
+            StringBuilder placeholders = new StringBuilder();
+            for (int i = 0; i < idArr.length; i++) {
+                if (i > 0) placeholders.append(",");
+                placeholders.append("?");
+            }
+            updateSql.append(" WHERE ID IN (").append(placeholders.toString()).append(")");
+
+            // 补充ID参数
+            for (String id : idArr) {
+                params.add(id.trim());
+            }
+
+            // 执行更新
+            int updateCount = DBSql.update(updateSql.toString(), params.toArray());
+
+            // 构造返回结果
+            Map<String, Object> result = new HashMap<>();
+            result.put("updateCount", updateCount);
+
+            ResponseObject responseObject = ResponseObject.newOkResponse();
+            responseObject.setData(result);
+            return responseObject;
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            ResponseObject err = ResponseObject.newErrResponse("更新失败:" + e.getMessage());
+            return err;
+        }
+    }
 }