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 |   84 ++++++++++++++++++++++--------------------
 1 files changed, 44 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/product/administration/service/CustomerInfoService.java b/src/main/java/com/product/administration/service/CustomerInfoService.java
index 715571e..5e572bb 100644
--- a/src/main/java/com/product/administration/service/CustomerInfoService.java
+++ b/src/main/java/com/product/administration/service/CustomerInfoService.java
@@ -3,12 +3,13 @@
 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;
 
 import com.product.administration.config.CmnConst;
 import com.product.administration.service.ide.ICustomerInfoService;
-import com.product.common.lang.StringUtils;
 import com.product.core.dao.BaseDao;
 import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
@@ -40,31 +41,31 @@
 	 */
 	public DataTableEntity listCustomerInfo(Integer cpage,Integer pageSize,FieldSetEntity fse) {
 		//鏁版嵁鏉冮檺
-//		String dataFilter=permissionService.getDataFilter(CmnConst.CREATED_BY) ;
+		String dataFilter=permissionService.getDataFilter(CmnConst.CREATED_BY);
 		//楂樼骇鏌ヨ
 		String searchFilter=queryFilterService.getQueryFilter(fse);
-		StringBuilder sbSql = new StringBuilder();
-		sbSql.append("SELECT \n");
-		sbSql.append("	A.uuid,A.customer_name, A.customer_manager, A.customer_manager_leader,A.business_agent, \n");
-		sbSql.append("	CONCAT(B.linkman, '-', B.mobile) AS customer_contact \n");
-		sbSql.append("FROM product_project_customer A \n");
-		sbSql.append("LEFT JOIN product_project_customer_sub B ON B.customer_uuid = A.uuid \n");
-		if (!BaseUtil.strIsNull(searchFilter)) {
-			sbSql.append("WHERE ").append(searchFilter);
-		}
-		
-//		if(!StringUtils.isEmpty(dataFilter)) {
-//			if (!StringUtils.isEmpty(searchFilter)) {
-//				dataFilter+=" AND "+ searchFilter;
-//			}
-//		}else {
-//			if (!StringUtils.isEmpty(searchFilter)) {
-//				dataFilter=searchFilter;
-//			}
+//		StringBuilder sbSql = new StringBuilder();
+//		sbSql.append("SELECT \n");
+//		sbSql.append("	A.uuid,A.customer_name, A.customer_manager, A.customer_manager_leader,A.business_agent, \n");
+//		sbSql.append("	CONCAT(B.linkman, '-', B.mobile) AS customer_contact \n");
+//		sbSql.append("FROM product_project_customer A \n");
+//		sbSql.append("LEFT JOIN product_project_customer_sub B ON B.customer_uuid = A.uuid \n");
+//		if (!BaseUtil.strIsNull(searchFilter)) {
+//			sbSql.append("WHERE ").append(searchFilter);
 //		}
+		
+		if(!BaseUtil.strIsNull(dataFilter)) {
+			if (!BaseUtil.strIsNull(searchFilter)) {
+				dataFilter+=" AND "+ searchFilter;
+			}
+		}else {
+			if (!BaseUtil.strIsNull(searchFilter)) {
+				dataFilter=searchFilter;
+			}
+		}
         
-//		DataTableEntity dt=baseDao.listTable(CmnConst.product_project_CUSTOMER, searchFilter, null, null, null, pageSize, cpage);
-		DataTableEntity dt = baseDao.listTable(sbSql.toString(), new Object[] {}, pageSize, cpage);
+		DataTableEntity dt=baseDao.listTable(CmnConst.PRODUCT_PROJECT_CUSTOMER, searchFilter, null, null, null, pageSize, cpage);
+//		DataTableEntity dt = baseDao.listTable(sbSql.toString(), new Object[] {}, pageSize, cpage);
 		baseDao.loadPromptData(dt);
 		return dt;
 	}
@@ -75,7 +76,7 @@
 	 * @return
 	 */
 	public FieldSetEntity findCustomerInfo(String uuid) {
-		FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.product_project_CUSTOMER, uuid, true);
+		FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_PROJECT_CUSTOMER, uuid, true);
 		FieldSetEntity fse = this.findCustomerValue(uuid);
 		fieldSetEntity.setValue("money", fse.getString("money"));
 		fieldSetEntity.setValue("returnedMoney", fse.getString("returnedMoney"));
@@ -96,7 +97,7 @@
 	 */
 	public FieldSetEntity contractProjectMakeMoney(String uuid) {
 		FieldSetEntity fieldSet = new FieldSetEntity();
-		fieldSet.setTableName(CmnConst.product_project_CUSTOMER);
+		fieldSet.setTableName(CmnConst.PRODUCT_PROJECT_CUSTOMER);
 		//鍚堝悓琛� product_project_contract_info owner
 		DataTableEntity contractData = baseDao.listTable("product_project_contract_info"," owner = ? and flow_flag = 2 ",new Object[]{uuid});
 		baseDao.loadPromptData(contractData);
@@ -143,23 +144,26 @@
 	 */
 	public FieldSetEntity findCustomerValue(String uuid) {
 		FieldSetEntity fieldSetEntity = new FieldSetEntity();
-		fieldSetEntity.setTableName(CmnConst.product_project_CUSTOMER);
+		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)){
@@ -226,6 +230,6 @@
 	@Transactional
 	public boolean deleteCustomerInfo(String uuid) throws BaseException{
 		String[] uuids = uuid.split(",");
-        return baseDao.delete(CmnConst.product_project_CUSTOMER, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
+        return baseDao.delete(CmnConst.PRODUCT_PROJECT_CUSTOMER, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
 	}
 }

--
Gitblit v1.9.2