6c
2025-07-18 07ac3f874dda4318b3ba00b5ea08388a33f43d53
2025年7月18日 11:17:13-适配国产数据库
已修改4个文件
84 ■■■■ 文件已修改
src/main/java/com/product/administration/service/ConferenceManagerService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/CooperateModelService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/TargetManagerService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/WorkAttendanceKanbanService.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/administration/service/ConferenceManagerService.java
@@ -27,6 +27,7 @@
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -238,7 +239,7 @@
        }
        StringBuilder bs=new StringBuilder();
        bs.append(" SELECT DISTINCT  g.room_name,g.uuid as meet_room_uuid,DATE_FORMAT(y.start_time, \"%d-%m-%Y %H:%i\")  start_time_format,DATE_FORMAT(y.end_time, \"%d-%m-%Y %H:%i\")  end_time_format,y.* ");
        bs.append(" SELECT DISTINCT  g.room_name,g.uuid as meet_room_uuid,").append(UnifySQLFunction.dateFormat("y.start_time", "dd-MM-yyyy HH:mm")).append(" start_time_format,").append(UnifySQLFunction.dateFormat("y.end_time", "dd-MM-yyyy HH:mm")).append("  end_time_format,y.* ");
        bs.append(" FROM product_oa_conference_room_config g");
        bs.append(" left JOIN  product_oa_conference_apply y ");
        bs.append(" on y.meeting_room=g.uuid and y.start_time between  ? and ? ");
@@ -353,12 +354,12 @@
            param.add(meeting_date);
            param.add(meeting_date_end);
            StringBuilder sb=new StringBuilder();
            sb.append(" SELECT b.uuid,DATE_FORMAT(b.start_time, \"%Y-%m-%d\")  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 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(DATE_FORMAT(b.start_time,\"%H:%i\"),'~',DATE_FORMAT(b.end_time,\"%H:%i\"))  as time_quantum,");
            sb.append(" DATE_FORMAT(b.start_time,\"%Y-%m-%d\") as meeting_date,");
            sb.append(" GROUP_CONCAT(b.dict_label   SEPARATOR ',') AS meeting_resouces ");
            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 (");
@@ -375,7 +376,7 @@
            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(" ) b ");
            sb.append(" group 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());
src/main/java/com/product/administration/service/CooperateModelService.java
@@ -44,11 +44,11 @@
        String curUserID = SpringMVCContextHolder.getCurrentUserId();
        StringBuilder sql = new StringBuilder(256);
        sql.append("\nselect uuid,name,date_format(created_utc_datetime,'%Y-%m-%d %H:%i:%s') created_utc_datetime,created_by,type from (");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,0 type from product_oa_cooperates_template where created_by=? and created_by<>1");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,0 as type from product_oa_cooperates_template where created_by=? and created_by<>1");
        sql.append("\n    union all");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,1 type from product_oa_cooperates_template where find_in_set(?,share_user)>0 and created_by<>1 and created_by<>?");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,1 as type from product_oa_cooperates_template where find_in_set(?,share_user)>0 and created_by<>1 and created_by<>?");
        sql.append("\n    union all");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,2 type from product_oa_cooperates_template where created_by=1");
        sql.append("\n    select uuid,name,created_utc_datetime,created_by,2 as type from product_oa_cooperates_template where created_by=1");
        sql.append("\n) t");
        sql.append("\norder by created_utc_datetime desc");
        return baseDao.listTable(sql.toString(), new Object[]{curUserID, curUserID, curUserID});
src/main/java/com/product/administration/service/TargetManagerService.java
@@ -379,7 +379,7 @@
     */
    @Override
    public DataTableEntity getTargetNameList() throws BaseException {
        return getBaseDao().listTable("SELECT target_name,uuid,'fa fa-users' icon,2 type from product_oa_target_basic", new Object[]{});
        return getBaseDao().listTable("SELECT target_name,uuid,'fa fa-users' icon,2 as type from product_oa_target_basic", new Object[]{});
    }
    /**
src/main/java/com/product/administration/service/WorkAttendanceKanbanService.java
@@ -1,13 +1,11 @@
package com.product.administration.service;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.time.YearMonth;
import cn.hutool.core.util.ObjectUtil;
import com.product.util.UnifySQLFunction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -144,46 +142,53 @@
        //获取查询月份
        String yearAndMonth=fse.getString("yearAndMonth");
        String day;
        if (StringUtils.isEmpty(yearAndMonth)) {
            yearAndMonth=DateUtils.formatDate(new Date(), "yyyy-MM");
            day = DateUtils.formatDate(new Date(), "yyyy-MM-dd");
        } else {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(DateUtils.parseDate(yearAndMonth + "-01"));
            calendar.add(Calendar.MONTH, 1);
            calendar.add(Calendar.DATE, -1);
            day = DateUtils.formatDate(calendar.getTime(), "yyyy-MM-dd");
        }
        //
        String day=DateUtils.formatDate(new Date(), "yyyy-MM-dd");
        StringBuilder sb=new StringBuilder();
        List<Object> param=new ArrayList<>();
        sb.append(" SELECT a.punch_date, ");
        sb.append(" CASE  WHEN b.uuid is not null THEN '请假' ELSE ");
        sb.append(" CASE  WHEN d.created_by is not null THEN ");
        sb.append(" CONCAT(d.punch_type1,',',d.punch_type2,',',d.punch_type3,',',d.punch_type4) ");
        sb.append(" ELSE '全天未打卡' END END reidis, ");
        sb.append(" CASE  WHEN b.uuid is not null THEN 1 ELSE ");
        sb.append(" CASE  WHEN d.created_by is not null THEN 0 ELSE 2 END END type, ");
        sb.append(" e.bk FROM  ");
        sb.append(" (SELECT CONCAT(DATE_FORMAT(?, '%Y-%m-'),IF(i<9,CONCAT('0',i + 1),i + 1)) punch_date ");
//        sb.append(" CASE  WHEN b.uuid is not null THEN '请假' ELSE ");
//        sb.append(" CASE  WHEN d.created_by is not null THEN ");
//        sb.append(" CONCAT(d.punch_type1,',',d.punch_type2,',',d.punch_type3,',',d.punch_type4) ");
//
//        sb.append(" ELSE '全天未打卡' END END reidis, ");
//        sb.append(" CASE  WHEN b.uuid is not null THEN 1 ELSE ");
//        sb.append(" CASE  WHEN d.created_by is not null THEN 0 ELSE 2 END END type, ");
        sb.append(" e.bk FROM  (");
        /*=================*/
        sb.append("\n    SELECT *");
        sb.append("\n    FROM (");
        sb.append("\n        SELECT ").append(UnifySQLFunction.dateAdd("t.month_start", "d.day", "DAY")).append(" punch_date");
        sb.append("\n        FROM (SELECT ? month_start) t");
        param.add(yearAndMonth+"-01");
        sb.append(" FROM (SELECT @row := @row + 1 as i FROM ");
        sb.append(" (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) t1, ");
        sb.append(" (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) t2, ");
        sb.append(" (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) t3, ");
        sb.append(" (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) t4, ");
        sb.append(" (SELECT @row := -1) t0) d WHERE i < DAY(last_day(DATE_FORMAT(?, '%Y-%m-01'))) and   CONCAT(DATE_FORMAT(?, '%Y-%m-'),IF(i<9,CONCAT('0',i + 1),i + 1))<=?  ) a ");
        param.add(yearAndMonth+"-01");
        param.add(yearAndMonth+"-01");
        sb.append("\n        INNER JOIN (");
        sb.append("\n            SELECT 0 as day UNION ALL SELECT 1 as day UNION ALL SELECT 2 as day UNION ALL SELECT 3 as day UNION ALL SELECT 4 as day UNION ALL SELECT 5 as day UNION ALL SELECT 6 as day UNION ALL SELECT 7 as day UNION ALL SELECT 8 as day UNION ALL SELECT 9 as day UNION ALL SELECT 10 as day UNION ALL SELECT 11 as day UNION ALL SELECT 12 as day UNION ALL SELECT 13 as day UNION ALL SELECT 14 as day UNION ALL SELECT 15 as day UNION ALL SELECT 16 as day UNION ALL SELECT 17 as day UNION ALL SELECT 18 as day UNION ALL SELECT 19 as day UNION ALL SELECT 20 as day UNION ALL SELECT 21 as day UNION ALL SELECT 22 as day UNION ALL SELECT 23 as day UNION ALL SELECT 24 as day UNION ALL SELECT 25 as day UNION ALL SELECT 26 as day UNION ALL SELECT 27 as day UNION ALL SELECT 28 as day UNION ALL SELECT 29 as day UNION ALL SELECT 30 as day");
        sb.append("\n        ) d ON 1=1");
        sb.append("\n    ) t1");
        sb.append("\n    WHERE t1.punch_date<=?");
        param.add(day);
        /*==================*/
        sb.append(") a ");
        sb.append(" LEFT JOIN (SELECT * FROM product_oa_ask_for_leave WHERE user_id=? and flow_flag=2) b ");
        param.add(user_id);
        sb.append(" on DATE_FORMAT( a.punch_date, '%Y-%m-%d' )>= DATE_FORMAT( b.start_time, '%Y-%m-%d' ) and DATE_FORMAT( a.punch_date, '%Y-%m-%d' )<= DATE_FORMAT( b.end_time, '%Y-%m-%d' ) ");
        sb.append(" on ").append(UnifySQLFunction.dateFormat("a.punch_date", "yyyy-MM-dd")).append(">= ").append(UnifySQLFunction.dateFormat("b.start_time", "yyyy-MM-dd")).append(" and ").append(UnifySQLFunction.dateFormat("a.punch_date", "yyyy-MM-dd")).append("<= ").append(UnifySQLFunction.dateFormat("b.end_time", "yyyy-MM-dd")).append(" ");
        sb.append(" LEFT JOIN (SELECT * FROM product_oa_punch_record_v where created_by=?) d on a.punch_date=d.punch_time ");
        param.add(user_id);
        sb.append(" LEFT JOIN (SELECT applicant,DATE_FORMAT( replenish_date, '%Y-%m-%d') replenish_date,GROUP_CONCAT(replacement_card_type) bk FROM product_oa_replenish_punch ");
        sb.append(" where applicant=? and flow_flag=2 GROUP BY applicant,DATE_FORMAT( replenish_date, '%Y-%m-%d')) e on a.punch_date=e.replenish_date  ");
        sb.append(" LEFT JOIN (SELECT applicant,").append(UnifySQLFunction.dateFormat("replenish_date", "yyyy-MM-dd")).append(" replenish_date,").append(UnifySQLFunction.groupConcat("replacement_card_type")).append(" bk FROM product_oa_replenish_punch ");
        sb.append(" where applicant=? and flow_flag=2 GROUP BY applicant,").append(UnifySQLFunction.dateFormat("replenish_date", "yyyy-MM-dd")).append(") e on a.punch_date=e.replenish_date  ");
        param.add(user_id);
        sb.append(" where a.punch_date NOT IN (SELECT DATE_FORMAT( date_holiday, '%Y-%m-%d' ) FROM product_sys_company_holiday) ");
        sb.append(" where a.punch_date NOT IN (SELECT ").append(UnifySQLFunction.dateFormat("date_holiday", "yyyy-MM-dd")).append(" FROM product_sys_company_holiday) ");
        DataTableEntity dt = baseDao.listTable(sb.toString(), param.toArray());
        FieldSetEntity time = baseDao.getFieldSetByFilter(com.product.org.admin.config.CmnConst.PRODUCT_OA_PUNCH_TIME, "CONCAT(',',attendance_object,',') like CONCAT('%',?,'%')", new String[]{","+user_id+","},false);