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 +++++++++------- src/main/java/com/product/administration/service/PunchRecordService.java | 6 +- src/main/java/com/product/administration/service/ConferenceManagerService.java | 44 ++++++++++----------- src/main/java/com/product/administration/service/CooperatesService.java | 12 ++++- src/main/java/com/product/administration/service/IndicatorsEarlyWarningService.java | 11 ++++- src/main/java/com/product/administration/service/TargetManagerService.java | 8 ++- 6 files changed, 65 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/product/administration/service/ConferenceManagerService.java b/src/main/java/com/product/administration/service/ConferenceManagerService.java index a4a1f1f..4d1fff4 100644 --- a/src/main/java/com/product/administration/service/ConferenceManagerService.java +++ b/src/main/java/com/product/administration/service/ConferenceManagerService.java @@ -354,30 +354,28 @@ param.add(meeting_date); param.add(meeting_date_end); StringBuilder sb=new StringBuilder(); - sb.append(" SELECT b.uuid,").append(UnifySQLFunction.dateFormat("b.start_time", "yyyy-MM-dd")).append(" start_time,b.start_time start_time1,b.end_time,b.meeting_topic,b.status,b.record_man as record_man_uuid, "); - sb.append(" (select user_name from product_sys_users where user_id=b.record_man) as record_man,"); - sb.append(" (select user_name from product_sys_users where user_id=b.record_master) as record_master,"); - sb.append(" CONCAT(").append(UnifySQLFunction.dateFormat("b.start_time", "HH:mm")).append(",'~',").append(UnifySQLFunction.dateFormat("b.end_time", "HH:mm")).append(") as time_quantum,"); - sb.append(" ").append(UnifySQLFunction.dateFormat("b.start_time", "yyyy-MM-dd")).append(" as meeting_date,"); - sb.append(" ").append(UnifySQLFunction.groupConcat("b.dict_label")).append(" AS meeting_resouces "); - sb.append(" FROM ("); - sb.append(" SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.meeting_topic,a.record_man,a.record_master,a.status,t.dict_label "); - sb.append(" FROM ("); - sb.append(" SELECT T1.*, "); - sb.append(UnifySQLFunction.substringIndexFuntion(UnifySQLFunction.substringIndexFuntion("T1.meeting_resource", "','", "T2.digit + 1"), "','", "-1")).append(" AS type "); - sb.append(" FROM product_oa_conference_apply T1 "); - sb.append(" LEFT JOIN ( SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 ) T2"); - sb.append(" ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )"); - sb.append(" WHERE T1.meeting_room = ? "); - sb.append(" and T1.start_time between ? and ? "); + sb.append("\nSELECT b.uuid,").append(UnifySQLFunction.dateFormat("b.start_time", "yyyy-MM-dd")).append(" start_time,b.start_time start_time1,b.end_time,b.meeting_topic,b.status,b.record_man as record_man_uuid, "); + sb.append("\n (select user_name from product_sys_users where user_id=b.record_man) as record_man,"); + sb.append("\n (select user_name from product_sys_users where user_id=b.record_master) as record_master,"); + sb.append("\n CONCAT(").append(UnifySQLFunction.dateFormat("b.start_time", "HH:mm")).append(",'~',").append(UnifySQLFunction.dateFormat("b.end_time", "HH:mm")).append(") as time_quantum,"); + sb.append("\n ").append(UnifySQLFunction.dateFormat("b.start_time", "yyyy-MM-dd")).append(" as meeting_date,"); + sb.append("\n ").append(UnifySQLFunction.groupConcat("b.dict_label")).append(" AS meeting_resouces "); + sb.append("\nFROM ("); + sb.append("\n SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.meeting_topic,a.record_man,a.record_master,a.status,t.dict_label "); + sb.append("\n FROM ("); + sb.append("\n SELECT T1.*, "); + sb.append("\n ").append(UnifySQLFunction.substringIndexFuntion(UnifySQLFunction.substringIndexFuntion("T1.meeting_resource", ",", "T2.digit + 1"), ",", "-1")).append(" AS type "); + sb.append("\n FROM product_oa_conference_apply T1 "); + sb.append("\n LEFT JOIN ( SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 ) T2"); + sb.append("\n ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )"); + sb.append("\n WHERE T1.meeting_room = ? AND T1.start_time between ? and ? "); if(!StringUtils.isEmpty(meeting_resource)){ - sb.append(" and ("+replace_meeting_resource+" )"); + sb.append("\n ").append("AND ("+replace_meeting_resource+" )"); } - sb.append(" ) a"); - sb.append(" LEFT JOIN product_sys_dict t ON a.type = t.dict_value "); - sb.append(" AND t.dict_name = '浼氳瀹よ祫婧�'"); - sb.append(" ) b "); - sb.append(" group by b.uuid,b.start_time,b.end_time,b.meeting_topic,b.record_man,b.record_master,b.status "); + sb.append("\n ) a"); + sb.append("\n LEFT JOIN product_sys_dict t ON a.type = t.dict_value AND t.dict_name = '浼氳瀹よ祫婧�'"); + sb.append("\n) b "); + sb.append("\ngroup by b.uuid,b.start_time,b.end_time,b.meeting_topic,b.record_man,b.record_master,b.status "); DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray()); List dataList =new ArrayList(); @@ -1063,7 +1061,7 @@ } } DataTableEntity dt = baseDao.listTable(fse.getTableName(), filter.toString(), new Object[]{}, null, - UnifySQLFunction.ifnullRepalce("IFNULL(updated_utc_datetime,created_utc_datetime) DESC"), + UnifySQLFunction.ifnull("updated_utc_datetime", "created_utc_datetime" + " DESC"), fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE), false); baseDao.loadPromptData(dt); return dt; diff --git a/src/main/java/com/product/administration/service/CooperatesService.java b/src/main/java/com/product/administration/service/CooperatesService.java index db00d55..69df92c 100644 --- a/src/main/java/com/product/administration/service/CooperatesService.java +++ b/src/main/java/com/product/administration/service/CooperatesService.java @@ -17,6 +17,8 @@ import com.product.core.websocket.service.WebsocketMesssageServiceThread; import com.product.module.sys.service.UserService; 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.tool.flow.service.FlowCoordinationService; @@ -87,9 +89,13 @@ } } StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(" select ifnull(concat(tricode,'-',receiver) ,receiver) code,uuid,title,cooperate_uuid,grade,receiver as id,receiver,sender, "); - stringBuilder.append(" receiver_name,(select user_name FROM product_sys_users where user_id=receiver) label,sender_name,status, "); - stringBuilder.append(" tricode,opinion,handle_time,type,attachments,is_hide_commentss from product_oa_cooperate_flow_node where cooperate_uuid=? ORDER BY tricode "); + stringBuilder.append("\nSELECT "); + stringBuilder.append("\n uuid,title,cooperate_uuid,grade,receiver as id,receiver,sender,receiver_name,sender_name,status, "); + stringBuilder.append("\n tricode,opinion,handle_time,type,attachments,is_hide_commentss, "); + stringBuilder.append("\n (select user_name FROM product_sys_users where user_id=receiver) label,"); + stringBuilder.append("\n ").append(UnifySQLFunction.ifnull("concat(tricode,'-',receiver)", "receiver")).append(" AS code"); + stringBuilder.append("\nFROM product_oa_cooperate_flow_node where cooperate_uuid=? "); + stringBuilder.append("\nORDER BY tricode "); DataTableEntity dt = baseDao.listTable(stringBuilder.toString(), new Object[]{fs.getString("uuid")}); JSONArray json = null; if (dt != null && dt.getRows() > 0) { 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)){ diff --git a/src/main/java/com/product/administration/service/IndicatorsEarlyWarningService.java b/src/main/java/com/product/administration/service/IndicatorsEarlyWarningService.java index 3e51286..4f51065 100644 --- a/src/main/java/com/product/administration/service/IndicatorsEarlyWarningService.java +++ b/src/main/java/com/product/administration/service/IndicatorsEarlyWarningService.java @@ -19,6 +19,8 @@ import com.product.quartz.service.impl.SysJobService; import com.product.util.BaseUtil; import com.product.util.SystemParamReplace; +import com.product.util.UnifySQLFunction; + import org.quartz.SchedulerException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -589,9 +591,12 @@ //鍏徃鎴栭儴闂╱uid } else { StringBuffer sql = new StringBuffer(); - sql.append(" SELECT * FROM product_sys_staffs WHERE org_level_uuid = ( ") - .append(" SELECT IFNULL(org_level_uuid,uuid) org_level_uuid FROM product_sys_org_levels WHERE uuid = ? ) ") - .append(" and is_org_manager = 1 "); + sql.append("\nSELECT * FROM product_sys_staffs ") + .append("\nWHERE org_level_uuid = ( ") + .append("\n SELECT ").append(UnifySQLFunction.ifnull("org_level_uuid", "uuid")).append(" AS org_level_uuid ") + .append("\n FROM product_sys_org_levels WHERE uuid = ? ") + .append("\n) ") + .append("\nAND is_org_manager = 1 "); dataTableEntity = baseDao.listTable(sql.toString(), new String[]{responsible}); } if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) { diff --git a/src/main/java/com/product/administration/service/PunchRecordService.java b/src/main/java/com/product/administration/service/PunchRecordService.java index 456a100..f4192a6 100644 --- a/src/main/java/com/product/administration/service/PunchRecordService.java +++ b/src/main/java/com/product/administration/service/PunchRecordService.java @@ -54,8 +54,8 @@ * @return */ public DataTableEntity listRecordInfo(FieldSetEntity fse) throws ParseException { - DataTableEntity dt=baseDao.listTable(CmnConst.PRODUCT_OA_PUNCH_RECORD, "created_by=?", new Object[] {SpringMVCContextHolder.getCurrentUser().getUser_id()}, null, CmnConst.CREATED_UTC_DATETIME+" DESC", fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); - for (int i=0;i<dt.getRows();i++){ + DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_PUNCH_RECORD, "created_by=?", new Object[] {SpringMVCContextHolder.getCurrentUser().getUser_id()}, null, CmnConst.CREATED_UTC_DATETIME+" DESC", fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); + for (int i = 0; i < dt.getRows(); i++){ FieldSetEntity fieldSetEntity = dt.getData().get(i); String punch_time_one = null; if (fieldSetEntity.getString("punch_time_one") != null) { @@ -114,7 +114,7 @@ sbReplenish.append("\nJOIN ( SELECT 0 AS digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 ) T2"); sbReplenish.append("\nON T2.digit < ( length( T1.replacement_card_type )- length( REPLACE ( T1.replacement_card_type, ',', '' ))+ 1 )"); sbReplenish.append("\nwhere t1.created_by=? "); - sbReplenish.append("\nand DATE_FORMAT( t1.replenish_date, '%Y-%m-%d' )=? "); + sbReplenish.append("\nAND ").append(UnifySQLFunction.timeFunction("t1.replenish_date", "year_month_day")).append(" =? "); DataTableEntity dataTableEntity1 = baseDao.listTable(sbReplenish.toString(), param2.toArray()); if(dataTableEntity1.getRows()!=0){ diff --git a/src/main/java/com/product/administration/service/TargetManagerService.java b/src/main/java/com/product/administration/service/TargetManagerService.java index db1aa69..67762c4 100644 --- a/src/main/java/com/product/administration/service/TargetManagerService.java +++ b/src/main/java/com/product/administration/service/TargetManagerService.java @@ -32,6 +32,8 @@ import com.product.core.websocket.service.WebsocketMesssageServiceThread; import com.product.module.sys.entity.SystemUser; import com.product.util.BaseUtil; +import com.product.util.UnifySQLFunction; + import org.apache.poi.ss.usermodel.IndexedColors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -494,7 +496,7 @@ sql.append("\n left join product_oa_target_task tm on ts.task_uuid=tm.uuid"); sql.append("\n left join product_sys_users u on ts.user_id=u.user_id"); sql.append("\n left join product_oa_target_basic b on b.uuid=tm.target_uuid"); - sql.append("\n where ifnull(ts.user_id,s.user_id)=?"); + sql.append("\n where ").append(UnifySQLFunction.ifnull("ts.user_id", "s.user_id")).append(" = ? "); sql.append("\n) t"); String queryFilter = queryFilterService.getQueryFilter(fse); if (!StringUtils.isEmpty(fse.getString("filter"))) { @@ -1615,7 +1617,7 @@ sql.append(" a.target_uuid, "); sql.append(" main_uuid, "); sql.append(" a.uuid,a.target_type, "); - sql.append(" ifnull(b.target_task_name,c.target_name) target_name "); + sql.append(UnifySQLFunction.ifnull("b.target_task_name", "c.target_name")).append(" AS target_name "); sql.append(" FROM "); sql.append(" product_oa_target_report_config_sub a "); sql.append(" LEFT JOIN product_oa_target_task b ON a.target_uuid = b.uuid "); @@ -2611,7 +2613,7 @@ sql.append(" cs.backstepping_time, "); sql.append(" tt.datetime_range, "); sql.append(" tt.datetime_range_type, "); - sql.append(" ifnull(tt.target_task_name,tb.target_name) target_name, "); + sql.append(UnifySQLFunction.ifnull("tt.target_task_name", "tb.target_name")).append(" AS target_name, "); sql.append(" tb.uuid target_uuid, "); sql.append(" tb.org_value_field, "); sql.append(" tb.datetime_value_field, "); -- Gitblit v1.9.2