From 22d8b68b19e35bdd2086fd047296abe440639f32 Mon Sep 17 00:00:00 2001 From: 杜洪波 <1074825718@qq.com> Date: 星期四, 18 九月 2025 15:52:27 +0800 Subject: [PATCH] 代码提交 --- src/main/java/com/product/administration/service/CustomerInfoService.java | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/product/administration/service/CustomerInfoService.java b/src/main/java/com/product/administration/service/CustomerInfoService.java index 930fb41..5e572bb 100644 --- a/src/main/java/com/product/administration/service/CustomerInfoService.java +++ b/src/main/java/com/product/administration/service/CustomerInfoService.java @@ -3,6 +3,8 @@ import java.util.Date; import com.product.util.BaseUtil; +import com.product.util.UnifySQLFunction; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -145,20 +147,23 @@ fieldSetEntity.setTableName(CmnConst.PRODUCT_PROJECT_CUSTOMER); //鏌ヨ鍚堝悓閲戦 StringBuffer moneySql = new StringBuffer(); - moneySql.append(" SELECT IFNULL(SUM(d.money),0) money FROM ( ") - .append(" SELECT contract_amount money FROM product_project_contract_info WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") - .append(" UNION ALL ") - .append(" SELECT c.change_the_amount money FROM ( ") - .append(" SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a JOIN ") - .append("product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 GROUP BY a.contract_name) ") - .append(" b ") - .append(" LEFT JOIN ") - .append(" (SELECT a.*,b.finish_time FROM product_project_contract_change a LEFT JOIN ") - .append("product_sys_flow_task b ON a.uuid = b.record_uuid) c ") - .append(" ON b.contract_name = c.contract_name ") - .append(" AND b.finish_time = c.finish_time ") - .append(" WHERE c.owner = ? ") - .append(" ) d"); + moneySql.append("\n SELECT ").append(UnifySQLFunction.ifnull("SUM(d.money)", "0")).append(" money") + .append("\nFROM ( ") + .append("\n SELECT contract_amount money ") + .append("\n FROM product_project_contract_info ") + .append("\n WHERE owner = ? and uuid not in (SELECT contract_name FROM product_project_contract_change WHERE owner = ?) ") + .append("\n UNION ALL ") + .append("\n SELECT c.change_the_amount money FROM ( ") + .append("\n SELECT a.contract_name,MAX(b.finish_time) finish_time FROM product_project_contract_change a ") + .append("\n JOIN product_sys_flow_task b ON a.uuid = b.record_uuid WHERE b.finish_type = 2 ") + .append("\n GROUP BY a.contract_name") + .append("\n )b ") + .append("\n LEFT JOIN (") + .append("\n SELECT a.*,b.finish_time FROM product_project_contract_change a ") + .append("\n LEFT JOIN product_sys_flow_task b ON a.uuid = b.record_uuid") + .append("\n ) c ON b.contract_name = c.contract_name AND b.finish_time = c.finish_time ") + .append("\n WHERE c.owner = ? ") + .append("\n) d"); DataTableEntity moneyDataTableEntity = baseDao.listTable(moneySql.toString(), new String[]{uuid,uuid,uuid}); if(!BaseUtil.dataTableIsEmpty(moneyDataTableEntity)){ -- Gitblit v1.9.2