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 | 65 +++++++++++++++++++------------- 1 files changed, 39 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/product/administration/service/CustomerInfoService.java b/src/main/java/com/product/administration/service/CustomerInfoService.java index be0dc83..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,23 +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)) { + if(!BaseUtil.strIsNull(dataFilter)) { + if (!BaseUtil.strIsNull(searchFilter)) { dataFilter+=" AND "+ searchFilter; } }else { - if (!StringUtils.isEmpty(searchFilter)) { + if (!BaseUtil.strIsNull(searchFilter)) { dataFilter=searchFilter; } } - */ - DataTableEntity dt=baseDao.listTable(CmnConst.product_project_CUSTOMER, null, null, null, null, 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; } @@ -67,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")); @@ -88,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); @@ -135,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)){ @@ -217,6 +229,7 @@ */ @Transactional public boolean deleteCustomerInfo(String uuid) throws BaseException{ - return baseDao.delete(CmnConst.product_project_CUSTOMER, "uuid=?", new Object[] {uuid}); + String[] uuids = uuid.split(","); + return baseDao.delete(CmnConst.PRODUCT_PROJECT_CUSTOMER, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids); } } -- Gitblit v1.9.2