HULEI 2 месяцев назад
Родитель
Сommit
897da11af0

BIN
com.awspaas.user.apps.donenow_ctt/com.awspaas.user.apps.donenow_ctt.jar


+ 4 - 1
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/controller/contractApproveController.java

@@ -1837,7 +1837,10 @@ public class contractApproveController {
                 String ratioStr = record.getString("比例");
                 String zbBillingDate = record.getString("账单日期");
                 if (commission != null) {
-                    commission = commission / 1.06;
+                    BigDecimal commissionBd = new BigDecimal(commission);
+                    BigDecimal resultBd = commissionBd.multiply(new BigDecimal("1.06"));
+                    resultBd = resultBd.setScale(2, BigDecimal.ROUND_HALF_UP);
+                    commission = resultBd.doubleValue();
                 }
 
                 // 处理比例字段(不变)

+ 65 - 0
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/event/testcommission.java

@@ -0,0 +1,65 @@
+package com.awspaas.user.apps.donenow_ctt.event;
+
+import com.actionsoft.bpms.dw.design.event.DataWindowFormatSQLEventInterface;
+import com.actionsoft.bpms.dw.exec.component.DataView;
+import com.actionsoft.bpms.server.UserContext;
+import com.actionsoft.sdk.local.SDK;
+import com.actionsoft.sdk.local.api.Logger;
+import com.alibaba.fastjson.JSON;
+
+import java.util.Map;
+
+public class testcommission implements DataWindowFormatSQLEventInterface {
+    private static final Logger LOGGER = SDK.getLogAPI().getLogger(testcommission.class);
+
+    @Override
+    public String formatSQL(UserContext userContext, DataView dataView, String sql) {
+        try {
+            Map<String, Object> sqlParam = dataView.getDatagrid().getSqlParams();
+            LOGGER.info("【初始SQL】" + sql);
+            LOGGER.info("【查询参数】" + JSON.toJSONString(sqlParam));
+
+            String sql1 = " 1=1 ";
+
+            if (sqlParam.containsKey("ITEM_DATE") && sql.contains("a.ITEM_DATE")) {
+                sql1 += " AND UPPER(d.ITEM_DATE) like :ITEM_DATE ";
+                sql = sql.replace("AND UPPER(a.ITEM_DATE) like :ITEM_DATE", "");
+            }
+
+            if (sqlParam.containsKey("POSTED_DATE")) {
+                sql1 += " AND d.POSTED_DATE = :POSTED_DATE ";
+                sql = sql.replace("AND d.POSTED_DATE like :POSTED_DATE", "");
+            }
+
+            if (sqlParam.containsKey("ACCOUNT_ID")) {
+                sql1 += " AND d.ACCOUNT_ID = :ACCOUNT_ID ";
+                sql = sql.replace("AND d.ACCOUNT_ID like :ACCOUNT_ID", "");
+            }
+
+            if (sqlParam.containsKey("BILL_ACCOUNT_ID")) {
+                sql1 += " AND d.BILL_ACCOUNT_ID = :BILL_ACCOUNT_ID ";
+                sql = sql.replace("AND d.BILL_ACCOUNT_ID like :BILL_ACCOUNT_ID", "");
+            }
+
+            if (sqlParam.containsKey("ACCOUNT_MANAGER_ID")) {
+                sql1 += " AND d.ACCOUNT_MANAGER_ID = :ACCOUNT_MANAGER_ID ";
+                sql = sql.replace("AND d.ACCOUNT_MANAGER_ID like :ACCOUNT_MANAGER_ID", "");
+            }
+
+            if (sqlParam.containsKey("ITEM_TYPE")) {
+                sql1 += " AND d.ITEM_TYPE = :ITEM_TYPE ";
+                sql = sql.replace("AND d.ITEM_TYPE like :ITEM_TYPE", "");
+            }
+
+
+            sql = sql.replace("2 = 2", sql1);
+            LOGGER.info("【拼接后SQL】" + sql);
+
+        } catch (Exception e) {
+            LOGGER.error("SQL条件拼接失败", e);
+            e.printStackTrace();
+        }
+
+        return sql;
+    }
+}