33 Commits
Author SHA1 Message Date
lianlonggang 177e0e4d97 feat(watch): listCustom 接口与导出增加 eventId、locateTime 字段
1. AbnormalEvent 新增 eventId、locateTime 字段
2. listCustom/largeScreenListCustom/listCustomForMap 三个接口返回新字段
3. 导出 Excel 通过 @Excel 注解自动支持新字段(顺序 12、13)
4. locateTime 时间格式化为 yyyy-MM-dd HH:mm:ss
5. 修正 createMonitorData 中遗漏的 eventId 与 locateTime 字段赋值
6. DDL 表名修正为 QH_WAT_MONITOR_DATA(项目实际表名)
2026-09-03 13:43:26 +08:00
lianlonggang f74a2322e4 chore(db): 将已执行完成的 SQL 脚本从 updatesql 迁移至 done 目录
将历史已执行完毕的 SQL 更新脚本统一归档至 db/done/ 目录,
便于区分待执行脚本与已完成脚本。
2026-09-03 10:43:23 +08:00
lianlonggang 822cdbf539 feat(watch): notice 入参新增 eventId、locateTime;新增 updateMonitorGps 接口
1. WatchNotifyVo、WatchMonitorData 新增 eventId 与 locateTime 字段
2. 新增 POST /watchApi/updateMonitorGps 接口
3. watchNo + eventId 联合定位告警数据,任一缺失则忽略
4. 已存在 lon/lat 数据则忽略本次更新,避免覆盖
5. GPS84 → GCJ02 坐标转换 + 高德地址反查(参考 createMonitorData 逻辑)
6. 仅更新 GPS 相关字段,不推送大屏与短信
2026-09-03 10:40:14 +08:00
lianlonggang d75f21c17e feat(db): watch_monitor_data 表新增 EVENT_ID 与 LOCATE_TIME 字段
为支持手表告警事件与定时GPS位置上报的关联,新增两个字段:
- EVENT_ID(事件ID,用于告警事件与GPS位置更新关联)
- LOCATE_TIME(定位时间,手表定时上报的GPS定位时间)

同时新增 IDX_EVENT_ID 单列索引与 IDX_WATCH_NO_EVENT_ID 联合索引,
优化 watchNo + eventId 联合定位查询性能。

数据库:118-DM 达梦数据库,SQL 全大写规范。
2026-09-03 10:40:02 +08:00
lianlonggangandClaude Opus 4.7 ffee8611fe fix(watch): 恢复设备导入校验和手表绑定单位限制,新增未分配设备数统计
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 11:05:33 +08:00
lianlonggang 0e8f5e7b14 feat(watch): 导入设备绑定时,手表所属单位以员工信息为准 2026-05-06 14:47:33 +08:00
lianlonggang 115407026f fix(device): 解决设备导入和绑定功能的部门权限问题
- 移除设备导入时的部门必填验证,允许为空时默认归入新疆油田公司(A01)
- 移除设备绑定时的跨单位限制检查
- 在设备绑定时根据员工信息更新手表的单位信息
- 修复部门统计数据查询中的层级展示逻辑
- 优化部门统计服务中的注释文档和代码结构
- 添加设备表更新操作中单位编码和部门ID的条件设置
2026-04-30 14:13:26 +08:00
lianlonggang 9f545952e4 fix(upload): 修复文件上传和权限配置问题
- 修正 MyUploadUtil 中 tar/apk 文件上传调用参数,添加必需的布尔参数
- 注释掉 Shiro 配置中 /sys/upload/down/** 和 /sys/upload/show/** 的匿名访问权限
- 解决文件上传功能与安全配置的兼容性问题
2026-04-30 08:49:19 +08:00
lianlonggang 1988e031e5 feat(file-upload): 集成新疆OSS文件上传功能并优化设备删除逻辑
- 实现新疆油田平台OSS文件上传工具类XjOssUtil,支持OAuth2鉴权和文件操作
- 在MyUploadUtil中集成OSS上传逻辑,通过oss_flag配置动态选择上传方式
- 为.tar和.apk文件强制使用MyUploadUtil上传,其他文件根据oss_flag配置决定上传方式
- 在手表设备删除接口中增加绑定用户检查,已绑定用户的手表不允许删除
- 添加GlobalManager依赖注入以支持动态配置读取
- 实现文件上传流程的日志记录和错误处理机制
2026-04-21 17:22:09 +08:00
lianlonggang 44b0f6ca2b feat(care-user): 添加年度参数并导入日期工具类
- 导入 cn.hutool.core.date.DateUtil 工具类
- 新增 year 字段用于存储当前年份
- 使用 DateUtil.thisYear() 设置默认值为当前年份
2026-04-14 10:34:10 +08:00
lianlonggang ae866f0791 fix(controller): 禁止移动端解绑手表设备并优化异步处理
- 移动端解绑设备接口返回错误提示,需联系健康管理员解绑
- 设备绑定流程中的警告开关设置改为异步执行
- 防止外部系统异常影响主业务流程
- 解绑操作中移除对数据中心的通知调用
2026-04-10 10:28:06 +08:00
wanghaoandClaude Sonnet 4.6 4610ac4737 fix(健康监测): 禁用移动端手表解绑功能,改为提示联系管理员操作
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 17:19:35 +08:00
wanghaoandClaude Opus 4.6 6d6920a2b3 fix(健康监测): 修复手表绑定单位校验使用前端传入orgCode导致的校验失效问题
将绑定校验的orgCode来源从dto改为watchDevice实体,
避免前端未传orgCode时校验必定失败,同时消除伪造绕过风险

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 14:41:42 +08:00
hejiayang c7041fa69e fix: 解决用户搜索中HTML转义字符显示问题(漏) 2026-03-31 14:12:18 +08:00
wanghao 370f5e0089 Merge remote-tracking branch 'origin/develop' into develop 2026-03-30 18:29:06 +08:00
hejiayang a47f27967e fix: 防止HTML注入(用户姓名中的 · ),对用户输入姓名进行转义处理
- 在AccountDTO中对doctorName字段进行HTML转义处理
- 在ConDoctorDTO中对doctorName字段进行HTML转义处理
- 在ConEvaluateDTO中对userName和expertName字段进行HTML转义处理
- 在ConHealthInfoAnswerDTO中对fromName字段进行HTML转义处理
- 在ConHelperDTO中对userName字段进行HTML转义处理
- 在ConSessionDTO中对fromName和doctorName字段进行HTML转义处理
- 在CallLogDTO中对realName字段进行HTML转义处理
- 在PhoneListDTO中对realName字段进行HTML转义处理
- 在TblQimoNoticeDTO中对realName字段进行HTML转义处理
- 在EmergencyProfessionUserController中对name参数进行HTML转义处理
- 在OrderServiceImpl中对salvageUserName字段进行HTML转义处理
- 在AbnormalEventFilter中对userName字段进行HTML转义处理
- 在CalorieDataByUserDTO中对realName字段进行HTML转义处理
- 在WatchBindHisServiceImpl中对bindRealName字段进行HTML转义处理
- 在WatchDataServiceImpl中对username字段进行HTML转义处理
- 在WatchDeviceServiceImpl中对bindRealName字段进行HTML转义处理
- 在HealthUserEmployeeExController中对realname字段进行HTML转义处理
- 在SysUserController中对realname字段进行HTML转义处理
- 在SysUserDepartChangeApplyController中对userName参数进行HTML转义处理
- 在SelectWrapperDTO中对realName字段进行HTML转义处理
- 在SysBaseApiImpl中对username参数进行HTML转义处理
- 在SysUserServiceImpl中对name参数进行HTML转义处理
2026-03-30 17:54:36 +08:00
wanghaoandClaude Sonnet 4.6 6c08f5f141 fix(用户管理): 修复不传 realname 时查询用户列表抛 NPE 的问题
对 realname 参数增加非空判断,避免 null 值时调用 replaceAll 抛出 NullPointerException

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:22:05 +08:00
lianlonggang 690f688c6a 屏蔽pom文件不需要的配置 2026-03-30 16:07:27 +08:00
wanghaoandClaude Sonnet 4.6 63cc815022 fix(用户管理): 修复用户查询时名字中间隔号被 HTML 实体转义的问题
将查询参数中的 &middot; 转义回 · 后再执行查询

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 14:54:56 +08:00
wanghaoandClaude Sonnet 4.6 8f00d07377 feat(健康咨询): 新增音视频咨询超时关闭功能及定时任务
- 新增 endVideoSession 接口,供手动触发和定时任务调用
- Mapper 层添加 UPDATE SQL:预约日期已过的视频咨询,有通话记录改为待评价(4),无记录改为取消(6)
- SyncScheduleJob 新增 XXL-Job 任务 endVideoSession,每日自动处理过期视频咨询

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 14:54:33 +08:00
wanghaoandClaude Sonnet 4.6 2e90ec71cc fix(手表设备): 手表绑定时校验只能绑定本单位人员
新增单位编码前6位匹配校验,禁止跨单位绑定手表;
同时将"该设备已绑定该员工"改为"该设备已被绑定"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 15:48:55 +08:00
wanghao a43806c4e9 fix(手表设备): 优化错误提示信息,将"该工具不存在"改为"该监测工具不存在" 2026-03-18 14:47:39 +08:00
wanghao 237df3ef38 修改移动端手表绑定接口 2026-03-12 17:28:52 +08:00
wanghao bd9fece99c 新增移动端手表绑定解绑接口 2026-03-12 16:16:58 +08:00
pengjie 47cebd3392 【用户信息】增加返回字段,加密接口 2026-03-06 17:01:49 +08:00
wanghao 61e049cc47 手表数据修改 2026-03-05 17:05:31 +08:00
wanghao ad03177e50 手表数据修改 2026-03-05 17:00:18 +08:00
wanghao 3db3301fe3 手表数据修改 2026-03-05 16:10:31 +08:00
wanghao fa9a186a5e 手表数据修改 2026-03-05 15:53:40 +08:00
wanghao 3cea926a1e 手表接口修改 2026-03-04 17:23:32 +08:00
wanghao fe82afd934 手表接口修改 2026-03-04 15:30:07 +08:00
wanghao 96242b5c00 手表数据返回处理 2026-03-03 17:22:20 +08:00
wanghao 291f6a4eaa 移动端首页手表数据修改 2026-03-03 10:13:15 +08:00
415 changed files with 3796 additions and 2595 deletions
@@ -1,111 +0,0 @@
DROP TABLE "20250917_CARE";
DROP TABLE "ARC_ASSESS_VALUE";
DROP TABLE "ARC_FOOD_ATLAS";
DROP TABLE "ARC_QUESTIONNAIRE";
DROP TABLE "ARC_QUESTIONNAIRE_CHILD";
DROP TABLE "CESHI_NOTE";
DROP TABLE "COMMON_EXPORTS_INFO_QH";
DROP TABLE "COMMON_EXPORTS_ITEM_QH";
DROP TABLE "COMMON_IMPORTS_DETAIL_QH";
DROP TABLE "COMMON_IMPORTS_QH";
DROP TABLE "CON_COST_STATISTICS";
DROP TABLE "CON_DEPARTMENT";
DROP TABLE "CON_DOCTOR_FOLLOW";
DROP TABLE "CON_DOCTOR_SCHEDULING";
DROP TABLE "CON_DOCTOR_SCHEDULING_DATE";
DROP TABLE "CON_EVALUATE";
DROP TABLE "CON_FAMILY_MEMBERS";
DROP TABLE "CON_HEALTH_INFO";
DROP TABLE "CON_HEALTH_INFO_ANSWER";
DROP TABLE "CON_HOSPITAL_FOLLOW";
DROP TABLE "CON_KNOWLEDGE";
DROP TABLE "CON_KNOWLEDGE_CATEGORY";
DROP TABLE "CON_MEDICAL_RECORDS";
DROP TABLE "CON_SESSION_RESERVATION_DATE";
DROP TABLE "DEMO";
DROP TABLE "DEMO_FIELD_DEF_VAL_MAIN";
DROP TABLE "DEMO_FIELD_DEF_VAL_SUB";
DROP TABLE "EMERGENCY_SERIOUS_DISEASE";
DROP TABLE "HEALTH_CLASSIFICATION";
DROP TABLE "HEALTH_USER_EMPLOYEE_EX_QH";
DROP TABLE "JEECG_MONTHLY_GROWTH_ANALYSIS";
DROP TABLE "JEECG_ORDER_CUSTOMER";
DROP TABLE "JEECG_ORDER_MAIN";
DROP TABLE "JEECG_ORDER_TICKET";
DROP TABLE "JEECG_PROJECT_NATURE_INCOME";
DROP TABLE "JIMU_DICT";
DROP TABLE "JIMU_DICT_ITEM";
DROP TABLE "JIMU_REPORT";
DROP TABLE "JIMU_REPORT_DATA_SOURCE";
DROP TABLE "JIMU_REPORT_DB";
DROP TABLE "JIMU_REPORT_DB_FIELD";
DROP TABLE "JIMU_REPORT_DB_PARAM";
DROP TABLE "JIMU_REPORT_LINK";
DROP TABLE "JIMU_REPORT_MAP";
DROP TABLE "JIMU_REPORT_SHARE";
DROP TABLE "JOA_DEMO";
DROP TABLE "LORE_CHECK_SUBJECT";
DROP TABLE "ONL_AUTH_DATA";
DROP TABLE "ONL_AUTH_PAGE";
DROP TABLE "ONL_AUTH_RELATION";
DROP TABLE "ONL_CGFORM_BUTTON";
DROP TABLE "ONL_CGFORM_ENHANCE_JAVA";
DROP TABLE "ONL_CGFORM_ENHANCE_JS";
DROP TABLE "ONL_CGFORM_ENHANCE_SQL";
DROP TABLE "ONL_CGFORM_FIELD";
DROP TABLE "ONL_CGFORM_HEAD";
DROP TABLE "ONL_CGFORM_INDEX";
DROP TABLE "ONL_CGREPORT_HEAD";
DROP TABLE "ONL_CGREPORT_ITEM";
DROP TABLE "ONL_CGREPORT_PARAM";
DROP TABLE "OSS_FILE";
DROP TABLE "QRTZ_BLOB_TRIGGERS";
DROP TABLE "QRTZ_CALENDARS";
DROP TABLE "QRTZ_CRON_TRIGGERS";
DROP TABLE "QRTZ_FIRED_TRIGGERS";
DROP TABLE "QRTZ_JOB_DETAILS" CASCADE;
DROP TABLE "QRTZ_LOCKS";
DROP TABLE "QRTZ_PAUSED_TRIGGER_GRPS";
DROP TABLE "QRTZ_SCHEDULER_STATE";
DROP TABLE "QRTZ_SIMPLE_TRIGGERS";
DROP TABLE "QRTZ_SIMPROP_TRIGGERS";
DROP TABLE "QRTZ_TRIGGERS";
DROP TABLE "REP_DEMO_DXTJ";
DROP TABLE "REP_DEMO_EMPLOYEE";
DROP TABLE "REP_DEMO_GONGSI";
DROP TABLE "REP_DEMO_JIANPIAO";
DROP TABLE "SYS_APP_VERSION_QH";
DROP TABLE "SYS_DEPART_COPY1";
DROP TABLE "SYS_DEPART_GPS_QH";
DROP TABLE "SYS_DEPART_QH";
DROP TABLE "SYS_LOG_QH";
DROP TABLE "SYS_PERMISSION_20241224";
DROP TABLE "SYS_PERMISSION_DATA_RULE_QH";
DROP TABLE "SYS_PERMISSION_QH";
DROP TABLE "SYS_ROLE_INDEX_QH";
DROP TABLE "SYS_ROLE_PERMISSION_QH";
DROP TABLE "SYS_ROLE_QH";
DROP TABLE "SYS_USER_DEPART_CHANGE_APPLY_QH";
DROP TABLE "SYS_USER_DEPART_QH";
DROP TABLE "SYS_USER_QH";
DROP TABLE "SYS_USER_ROLE_QH";
DROP TABLE "TEST_DEMO";
DROP TABLE "TEST_ENHANCE_SELECT";
DROP TABLE "TEST_NOTE";
DROP TABLE "TEST_ORDER_CUSTOMER";
DROP TABLE "TEST_ORDER_MAIN";
DROP TABLE "TEST_ORDER_PRODUCT";
DROP TABLE "TEST_SHOPTYPE_TREE";
DROP TABLE "TEST_V3_HELLO";
DROP TABLE "TMP_REPORT_DATA_1";
DROP TABLE "TMP_REPORT_DATA_INCOME";
DROP TABLE "REMOTE_WEIGHT_MANUFACTURER_INBODY";
DROP TABLE "REMOTE_WEIGHT_MANUFACTURER_LEFU";
DROP TABLE "REMOTE_WEIGHT_MANUFACTURER_ONE";
DROP TABLE "REMOTE_WEIGHT_MANUFACTURER_TWO";
DROP TABLE "REMOTE_WEIGHT_NORMATIVE_DATA";
DROP TABLE "HEALTH_USER_DOCTOR_BASE_EX";
DROP TABLE "HOSPITAL_DEPARTMENT";
DROP TABLE "STATION_HOSPITAL";
DROP TABLE "SYS_APP_VERSION";
DROP TABLE "USER_INFORMATION";
@@ -1,92 +0,0 @@
-- ============================================================
-- System 服务数据库表名修改脚本达梦 DM8
-- 规则统一以 QH_ 开头第二级三字母业务模块前缀总长度 25
-- 生成日期2026-03-10
-- 涉及表数76
-- ============================================================
-- ===== COM 公共模块4 =====
ALTER TABLE "COMMON_EXPORTS_INFO" RENAME TO "QH_COM_EXPORTS_INFO";
ALTER TABLE "COMMON_EXPORTS_ITEM" RENAME TO "QH_COM_EXPORTS_ITEM";
ALTER TABLE "COMMON_IMPORTS" RENAME TO "QH_COM_IMPORTS";
ALTER TABLE "COMMON_IMPORTS_DETAIL" RENAME TO "QH_COM_IMPORTS_DETAIL";
-- ===== HLT 健康模块6 =====
ALTER TABLE "HEALTH_CONSULT_RESOURCE" RENAME TO "QH_HLT_CONSULT_RESOURCE";
ALTER TABLE "HEALTH_HOLIDAY" RENAME TO "QH_HLT_HOLIDAY";
ALTER TABLE "HEALTH_USER_DOCTOR_EX" RENAME TO "QH_HLT_DOCTOR_EX";
ALTER TABLE "HEALTH_USER_EMPLOYEE_EX" RENAME TO "QH_HLT_USER_EMPLOYEE_EX";
ALTER TABLE "HEALTH_USER_OPERATOR_EX" RENAME TO "QH_HLT_USER_OPERATOR_EX";
ALTER TABLE "HEALTH_USER_STATION_EX" RENAME TO "QH_HLT_USER_STATION_EX";
-- ===== SCL 体测模块2 =====
ALTER TABLE "SCALE_HEIGHT" RENAME TO "QH_SCL_HEIGHT";
ALTER TABLE "SCALE_PERSONAL" RENAME TO "QH_SCL_PERSONAL";
-- ===== SYS 系统模块52 =====
ALTER TABLE "SYS_ANNOUNCEMENT" RENAME TO "QH_SYS_ANNOUNCEMENT";
ALTER TABLE "SYS_ANNOUNCEMENT_SEND" RENAME TO "QH_SYS_ANNOUNCEMENT_SEND";
ALTER TABLE "SYS_BANNER" RENAME TO "QH_SYS_BANNER";
ALTER TABLE "SYS_CATEGORY" RENAME TO "QH_SYS_CATEGORY";
ALTER TABLE "SYS_CHECK_RULE" RENAME TO "QH_SYS_CHECK_RULE";
ALTER TABLE "SYS_COMMENT" RENAME TO "QH_SYS_COMMENT";
ALTER TABLE "SYS_CONFIG" RENAME TO "QH_SYS_CONFIG";
ALTER TABLE "SYS_DATA_LOG" RENAME TO "QH_SYS_DATA_LOG";
ALTER TABLE "SYS_DATA_SOURCE" RENAME TO "QH_SYS_DATA_SOURCE";
ALTER TABLE "SYS_DEPART" RENAME TO "QH_SYS_DEPART";
ALTER TABLE "SYS_DEPART_GPS" RENAME TO "QH_SYS_DEPART_GPS";
ALTER TABLE "SYS_DEPART_PERMISSION" RENAME TO "QH_SYS_DEPART_PERMISSION";
ALTER TABLE "SYS_DEPART_ROLE" RENAME TO "QH_SYS_DEPART_ROLE";
ALTER TABLE "SYS_DEPART_ROLE_PERMISSION" RENAME TO "QH_SYS_DEPT_ROLE_PERM";
ALTER TABLE "SYS_DEPART_ROLE_USER" RENAME TO "QH_SYS_DEPART_ROLE_USER";
ALTER TABLE "SYS_DICT" RENAME TO "QH_SYS_DICT";
ALTER TABLE "SYS_DICT_ITEM" RENAME TO "QH_SYS_DICT_ITEM";
ALTER TABLE "SYS_FILES" RENAME TO "QH_SYS_FILES";
ALTER TABLE "SYS_FILL_RULE" RENAME TO "QH_SYS_FILL_RULE";
ALTER TABLE "SYS_FORM_FILE" RENAME TO "QH_SYS_FORM_FILE";
ALTER TABLE "SYS_GATEWAY_ROUTE" RENAME TO "QH_SYS_GATEWAY_ROUTE";
ALTER TABLE "SYS_IOS_REDEEM" RENAME TO "QH_SYS_IOS_REDEEM";
ALTER TABLE "SYS_LOG" RENAME TO "QH_SYS_LOG";
ALTER TABLE "SYS_MESSAGE_NOTICE" RENAME TO "QH_SYS_MSG_NOTICE";
ALTER TABLE "SYS_MESSAGE_NOTICE_SCOPE" RENAME TO "QH_SYS_MSG_NOTICE_SCOPE";
ALTER TABLE "SYS_MESSAGE_REMIND" RENAME TO "QH_SYS_MSG_REMIND";
ALTER TABLE "SYS_NOTICE" RENAME TO "QH_SYS_NOTICE";
ALTER TABLE "SYS_NOTICE_READ_RECORD" RENAME TO "QH_SYS_NOTICE_READ_RECORD";
ALTER TABLE "SYS_PACK_PERMISSION" RENAME TO "QH_SYS_PACK_PERMISSION";
ALTER TABLE "SYS_PERMISSION" RENAME TO "QH_SYS_PERMISSION";
ALTER TABLE "SYS_PERMISSION_DATA_RULE" RENAME TO "QH_SYS_PERM_DATA_RULE";
ALTER TABLE "SYS_PERMISSION_V2" RENAME TO "QH_SYS_PERMISSION_V2";
ALTER TABLE "SYS_POSITION" RENAME TO "QH_SYS_POSITION";
ALTER TABLE "SYS_POSITION_CLASSIFY" RENAME TO "QH_SYS_POSITION_CLASSIFY";
ALTER TABLE "SYS_QUARTZ_JOB" RENAME TO "QH_SYS_QUARTZ_JOB";
ALTER TABLE "SYS_ROLE" RENAME TO "QH_SYS_ROLE";
ALTER TABLE "SYS_ROLE_INDEX" RENAME TO "QH_SYS_ROLE_INDEX";
ALTER TABLE "SYS_ROLE_PERMISSION" RENAME TO "QH_SYS_ROLE_PERMISSION";
ALTER TABLE "SYS_SMS" RENAME TO "QH_SYS_SMS";
ALTER TABLE "SYS_SMS_TEMPLATE" RENAME TO "QH_SYS_SMS_TEMPLATE";
ALTER TABLE "SYS_TENANT" RENAME TO "QH_SYS_TENANT";
ALTER TABLE "SYS_TENANT_PACK" RENAME TO "QH_SYS_TENANT_PACK";
ALTER TABLE "SYS_TENANT_PACK_PERMS" RENAME TO "QH_SYS_TENANT_PACK_PERMS";
ALTER TABLE "SYS_TENANT_PACK_USER" RENAME TO "QH_SYS_TENANT_PACK_USER";
ALTER TABLE "SYS_THIRD_ACCOUNT" RENAME TO "QH_SYS_THIRD_ACCOUNT";
ALTER TABLE "SYS_USER" RENAME TO "QH_SYS_USER";
ALTER TABLE "SYS_USER_AGENT" RENAME TO "QH_SYS_USER_AGENT";
ALTER TABLE "SYS_USER_DEPART" RENAME TO "QH_SYS_USER_DEPART";
ALTER TABLE "SYS_USER_DEPART_CHANGE_APPLY" RENAME TO "QH_SYS_DEPT_CHG_APPLY";
ALTER TABLE "SYS_USER_DEVICE" RENAME TO "QH_SYS_USER_DEVICE";
ALTER TABLE "SYS_USER_EMERGENCY_CONTACT" RENAME TO "QH_SYS_USR_EMERG_CONTACT";
ALTER TABLE "SYS_USER_FAMILY_MEMBERS" RENAME TO "QH_SYS_USR_FAMILY_MBR";
ALTER TABLE "SYS_USER_FAMILY_MEMBERS_REQUEST" RENAME TO "QH_SYS_USR_FAM_MBR_REQ";
ALTER TABLE "SYS_USER_POST" RENAME TO "QH_SYS_USER_POST";
ALTER TABLE "SYS_USER_ROLE" RENAME TO "QH_SYS_USER_ROLE";
ALTER TABLE "SYS_USER_TENANT" RENAME TO "QH_SYS_USER_TENANT";
ALTER TABLE "SYS_VERSION_APP" RENAME TO "QH_SYS_VERSION_APP";
ALTER TABLE "SYS_VERSION_INFO" RENAME TO "QH_SYS_VERSION_INFO";
-- ===== USR 用户模块12 =====
ALTER TABLE "TBL_USER_WX_RELATION" RENAME TO "QH_USR_WX_RELATION";
ALTER TABLE "USER_DATA_RECORD_BLOOD_ABO" RENAME TO "QH_USR_DATA_RCD_BLOOD_ABO";
ALTER TABLE "USER_DATA_RECORD_BLOOD_PRESSURE" RENAME TO "QH_USR_DATA_RCD_BLD_PRS";
ALTER TABLE "USER_DATA_RECORD_BMI" RENAME TO "QH_USR_DATA_RCD_BMI";
ALTER TABLE "USER_DATA_RECORD_BWH" RENAME TO "QH_USR_DATA_RCD_BWH";
ALTER TABLE "USER_WEIGHT_BIND" RENAME TO "QH_USR_WEIGHT_BIND";
@@ -0,0 +1,10 @@
-- QH_WAT_MONITOR_DATA 新增 EVENT_ID事件ID LOCATE_TIME定位时间字段
-- 数据库118-DM 达梦数据库SQL 全大写规范
ALTER TABLE "QH_WAT_MONITOR_DATA" ADD "EVENT_ID" VARCHAR(64) DEFAULT NULL;
ALTER TABLE "QH_WAT_MONITOR_DATA" ADD "LOCATE_TIME" DATETIME DEFAULT NULL;
COMMENT ON COLUMN "QH_WAT_MONITOR_DATA"."EVENT_ID" IS '事件ID';
COMMENT ON COLUMN "QH_WAT_MONITOR_DATA"."LOCATE_TIME" IS '定位时间';
CREATE INDEX "IDX_EVENT_ID" ON "QH_WAT_MONITOR_DATA"("EVENT_ID");
CREATE INDEX "IDX_WATCH_NO_EVENT_ID" ON "QH_WAT_MONITOR_DATA"("WATCH_NO", "EVENT_ID");
@@ -30,6 +30,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
@@ -25,7 +25,6 @@ import org.springframework.core.task.TaskExecutor;
import org.springframework.jdbc.support.JdbcTransactionManager;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.util.StringUtils;
import javax.sql.DataSource;
import java.util.List;
@@ -126,21 +125,8 @@ public class BatchAutoConfiguration {
@BatchDataSource ObjectProvider<DataSource> batchDataSource,
BatchProperties properties
) {
DataSource dataSourceToUse = batchDataSource.getIfAvailable(() -> dataSource);
BatchProperties.Jdbc jdbc = properties.getJdbc();
// 达梦数据库兼容处理:设置platform绕过构造器中的自动类型检测
if (!StringUtils.hasText(jdbc.getPlatform())) {
jdbc.setPlatform("dm");
}
// 重写afterPropertiesSet()跳过SQL脚本初始化:
// 父类会先断言SQL文件存在再检查initializeSchema mode,导致找不到schema-dm.sql时报错
// Batch元数据表已通过数据迁移创建,无需自动建表
return new BatchDataSourceScriptDatabaseInitializer(dataSourceToUse, jdbc) {
@Override
public void afterPropertiesSet() {
// 跳过Batch元数据表的自动建表,防止找不到schema-dm.sql文件报错
}
};
return new BatchDataSourceScriptDatabaseInitializer(batchDataSource.getIfAvailable(() -> dataSource),
properties.getJdbc());
}
}
@@ -34,13 +34,6 @@ public class CustomBatchConfigurer extends BasicBatchConfigurer {
this.taskExecutor = taskExecutor;
}
@Override
public void initialize() {
// 达梦数据库兼容处理:跳过Spring Batch数据库类型自动检测
// BasicBatchConfigurer.initialize()中DatabaseType.fromProductName()无法识别"DM DBMS"产品名
// 保持父类默认隔离级别ISOLATION_SERIALIZABLEDM8与此兼容
}
@Override
protected JobLauncher createJobLauncher() throws Exception {
SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
@@ -99,7 +99,7 @@ public enum AnYanApiEnum {
/**
* 18.查询关爱联络员信息及急救人员查询接口
*/
QUERY_EMPLOYEE_CARE_PERSON("/aygc-znhpt-sys/0/api/empCareEmp/findPageByIdNo", "", HttpMethod.POST),
QUERY_EMPLOYEE_CARE_PERSON("/aygc-znhpt-sys/0/api/empCareEmp/findPage", "", HttpMethod.POST),
/**
* 19.批量更新员工关键信息接口
@@ -1,5 +1,6 @@
package com.renkang.anyan.model.dto;
import cn.hutool.core.date.DateUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -34,4 +35,6 @@ public class CareUserDetailsParam {
@Schema(title = "pageType")
private String pageType = "plus";
private int year = DateUtil.thisYear();
}
@@ -11,18 +11,19 @@
a.icon,
a.points,
CASE
WHEN a.frequency = 1 THEN
CASE WHEN COUNT(b.id) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 2 THEN
CASE WHEN COUNT(CASE WHEN TRUNC(b.create_time) = TRUNC(SYSDATE) THEN 1 END) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 3 THEN
CASE WHEN COUNT(CASE WHEN TO_CHAR(b.create_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW') THEN 1 END) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 4 THEN
CASE WHEN COUNT(CASE WHEN TO_CHAR(b.create_time, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM') THEN 1 END) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 5 THEN
CASE WHEN COUNT(CASE WHEN TO_CHAR(b.create_time, 'Q') = TO_CHAR(SYSDATE, 'Q') AND EXTRACT(YEAR FROM b.create_time) = EXTRACT(YEAR FROM SYSDATE) THEN 1 END) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 6 THEN
CASE WHEN COUNT(CASE WHEN EXTRACT(YEAR FROM b.create_time) = EXTRACT(YEAR FROM SYSDATE) THEN 1 END) > 0 THEN 1 ELSE 0 END
WHEN a.frequency = 1 THEN -- 单次
IF(COUNT(b.id) > 0, 1, 0)
WHEN a.frequency = 2 THEN -- 日/次
IF(COUNT(CASE WHEN DATE(b.create_time) = CURDATE() THEN 1 END) > 0, 1, 0)
WHEN a.frequency = 3 THEN -- 周/次
IF(COUNT(CASE WHEN YEARWEEK(b.create_time, 1) = YEARWEEK(CURDATE(), 1) THEN 1 END) > 0, 1, 0)
WHEN a.frequency = 4 THEN -- 月/次
IF(COUNT(CASE WHEN DATE_FORMAT(b.create_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m') THEN 1 END) > 0, 1, 0)
WHEN a.frequency = 5 THEN -- 季度/次
IF(COUNT(CASE WHEN QUARTER(b.create_time) = QUARTER(CURDATE()) AND YEAR(b.create_time) = YEAR(CURDATE()) THEN 1
END) > 0, 1, 0)
WHEN a.frequency = 6 THEN -- 年/次
IF(COUNT(CASE WHEN YEAR(b.create_time) = YEAR(CURDATE()) THEN 1 END) > 0, 1, 0)
ELSE 0
END AS clockInStatus
FROM
@@ -459,7 +459,7 @@ public class UserPointsServiceImpl extends ServiceImpl<UserPointsMapper, UserPoi
List<UserPointsDetails> details = userPointsDetailsMapper.selectList(new LambdaQueryWrapper<UserPointsDetails>()
.eq(UserPointsDetails::getUserId, userId)
.eq(UserPointsDetails::getChangeType, HealthBankConstants.CHANGE_TYPE_ADD)
.apply("TO_CHAR(create_time, 'YYYY-MM-DD') = {0}", DateUtil.today())
.apply("DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", DateUtil.today())
);
double sum = details.stream().map(UserPointsDetails::getPoints).mapToDouble(BigDecimal::doubleValue).sum();
userPoints.setLatestAddDaySum(BigDecimal.valueOf(sum).add(pointsRule.getPoints()));
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -11,6 +12,10 @@ public class AccountDTO extends ConPage {
@Schema(title = "专家姓名")
private String doctorName;
public void setDoctorName(String doctorName) {
this.doctorName = doctorName != null ? HtmlUtil.unescape(doctorName) : null;
}
@Schema(title = "医院选择")
private String hospitalName;
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -10,6 +11,10 @@ public class ConDoctorDTO extends ConPage {
@Schema(title = "专家姓名")
private String doctorName;
public void setDoctorName(String doctorName) {
this.doctorName = doctorName != null ? HtmlUtil.unescape(doctorName) : null;
}
@Schema(title = "专家编号")
private String doctorNo;
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -17,6 +18,9 @@ public class ConEvaluateDTO extends ConPage {
@Schema(title = "咨询人")
private String userName;
public void setUserName(String userName) {
this.userName = userName != null ? HtmlUtil.unescape(userName) : null;
}
@Schema(title = "二级单位id")
private String sysOrgSecondId;
@@ -27,6 +31,10 @@ public class ConEvaluateDTO extends ConPage {
@Schema(title = "咨询专家")
private String expertName;
public void setExpertName(String expertName) {
this.expertName = expertName != null ? HtmlUtil.unescape(expertName) : null;
}
@Schema(title = "专家医院")
private String expertHospital;
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -10,6 +11,10 @@ public class ConHealthInfoAnswerDTO extends ConPage {
@Schema(title = "员工姓名")
private String fromName;
public void setFromName(String fromName) {
this.fromName = fromName != null ? HtmlUtil.unescape(fromName) : null;
}
@Schema(title = "手机号")
private String phone;
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -11,6 +12,10 @@ public class ConHelperDTO extends ConPage {
@Schema(title = "全科医生姓名")
private String userName;
public void setUserName(String userName) {
this.userName = userName != null ? HtmlUtil.unescape(userName) : null;
}
@Schema(title = "状态")
private Integer status;
@@ -1,5 +1,6 @@
package com.renkang.consultation.dto;
import cn.hutool.http.HtmlUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.renkang.consultation.entity.ConPage;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -17,6 +18,10 @@ public class ConSessionDTO extends ConPage {
@Schema(title = "员工姓名")
private String fromName;
public void setFromName(String fromName) {
this.fromName = fromName != null ? HtmlUtil.unescape(fromName) : null;
}
@Schema(title = "员工id")
private String fromAccount;
@@ -26,6 +31,10 @@ public class ConSessionDTO extends ConPage {
@Schema(title = "专家姓名")
private String doctorName;
public void setDoctorName(String doctorName) {
this.doctorName = doctorName != null ? HtmlUtil.unescape(doctorName) : null;
}
@Schema(title = "咨询状态(0待确认 1接收预约 2拒绝预约 3已过期 4已取消 5咨询中 6专家咨询结束 7员工咨询结束 8超时自动结束)")
private String contentStatus;
@@ -20,7 +20,7 @@ import java.util.Date;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "con_session")
@TableName(value = "con_session_view")
public class ConSessionView implements Serializable {
private static final long serialVersionUID = 1L;
@TableField(value = "id")
@@ -77,7 +77,7 @@ public class ConSessionView implements Serializable {
@TableField(value = "medical_records_id")
@Schema(description = "")
private String medicalRecordsId;
@TableField(value = "status")
@TableField(value = "`status`")
@Schema(description = "")
private Integer status;
@TableField(value = "del_flag")
@@ -480,4 +480,10 @@ public class ConSessionApiController {
return conSessionApiService.insertUserAndHelperSessionNew();
}
@Operation(summary = "超时关闭视频咨询", description = "超时关闭视频咨询")
@GetMapping("/endVideoSession")
public Result<String> endVideoSession() {
return Result.ok(conSessionApiService.endVideoSession());
}
}
@@ -115,4 +115,6 @@ public interface ConSessionApiService {
UserSessionCount countForUser();
String endVideoSession();
}
@@ -2114,4 +2114,8 @@ public class ConSessionApiServiceImpl implements ConSessionApiService {
return conSessionMapper.selectCount(wrapper).intValue();
}
public String endVideoSession() {
return conSessionMapper.endVideoSession();
}
}
@@ -27,7 +27,7 @@ public interface ConDepartmentMapper extends BaseMapper<ConDepartment> , MPJBase
@Select("SELECT * FROM con_department WHERE status = '1' and del_flag = '0' and id = #{departmentId} order by tf_top desc,sort")
public ConDepartment selectDepartmentNameById(String departmentId);
@Select("SELECT LISTAGG(id, ',') WITHIN GROUP (ORDER BY id) FROM con_department WHERE status = '1' and del_flag = '0' and officeparid = #{departmentId}")
@Select("SELECT GROUP_CONCAT(id) FROM con_department WHERE status = '1' and del_flag = '0' and officeparid = #{departmentId}")
public String selectDepartmentIdByLevelOneId(String departmentId);
@Select("SELECT count(1) FROM con_department WHERE status = '1' and del_flag = '0' and office_level = 1")
@@ -117,7 +117,7 @@ public interface ConDoctorMapper extends BaseMapper<ConDoctor> , MPJBaseMapper<C
*/
List<ConDoctor> getFreeDoctor(CondepartmentId departmentId);
@Select("select id,sicks_name as sicksName from con_sicks where status = 1 and del_flag = 0 and INSTR(',' || #{sickIds} || ',', ',' || id || ',') > 0")
@Select("select id,sicks_name as sicksName from con_sicks where status = 1 and del_flag = 0 and FIND_IN_SET(id,#{sickIds})")
List<Map<String, String>> selectSickName(String sickIds);
@Select("SELECT * FROM con_doctor WHERE status = '1' AND del_flag = '0'")
@@ -136,11 +136,11 @@ public interface ConDoctorMapper extends BaseMapper<ConDoctor> , MPJBaseMapper<C
@Update("update con_doctor set audio_status = #{audioStatus},tf_jump_holiday= #{tfJumpHoliday} WHERE status = '1' and del_flag = '0' and id = #{id}")
int updateAudioStatus(String id, String audioStatus, String tfJumpHoliday);
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 and doctor_status != 3 AND INSTR(',' || #{sickId} || ',', ',' || good_at_sickness || ',') > 0")
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 and doctor_status != 3 AND FIND_IN_SET(#{sickId},good_at_sickness)")
int selectDoctorNumBySickId(String sickId);
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 AND doctor_status != 3 AND INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0")
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 AND doctor_status != 3 AND FIND_IN_SET(department_id,#{departmentId})")
int selectDoctorNumByDepartmentId(String departmentId);
List<ConDoctor> selectListByQuery(@Param("conDoctor") ConDoctor conDoctor);
@@ -170,7 +170,7 @@ public interface ConDoctorMapper extends BaseMapper<ConDoctor> , MPJBaseMapper<C
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 AND INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0 and resource_id = #{resourceId} and doctor_status != 3")
@Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 AND FIND_IN_SET(department_id,#{departmentId}) and resource_id = #{resourceId} and doctor_status != 3")
int selectDoctorNumByDepartmentIdAndResourceId(String departmentId,String resourceId);
@@ -20,7 +20,7 @@ public interface ConDoctorSchedulingDateMapper extends BaseMapper<ConDoctorSched
IPage<ConDoctorSchedulingDate> queryPageList(IPage<ConDoctorSchedulingDate> page, @Param("conDoctorSchedulingDate") ConDoctorSchedulingDate conDoctorSchedulingDate);
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date >= TO_CHAR(SYSDATE,'YYYY-MM-DD') order by scheduling_date")
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date >= DATE_FORMAT(SYSDATE(),'%Y-%m-%d') order by scheduling_date")
public List<ConDoctorSchedulingDateListDO> selectDoctorById(String doctorId);
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and id = #{id}")
@@ -34,11 +34,11 @@ public interface ConDoctorSchedulingDateMapper extends BaseMapper<ConDoctorSched
public int updateScheduleAddMinus(String id);
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date >= TO_CHAR(#{schedulingDate},'YYYY-MM-DD')")
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date >= DATE_FORMAT(#{schedulingDate},'%Y-%m-%d')")
public List<ConDoctorSchedulingDateListDO> selectDoctorScheduleDateById(String doctorId, Date schedulingDate);
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{userId} and scheduling_date >= TRUNC(SYSDATE) and week = #{week}")
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{userId} and scheduling_date >= DATE(NOW()) and week = #{week}")
public List<ConDoctorSchedulingDateListDO> selectDoctorSchedulingByWeekAndUserId(String userId, String week);
@@ -46,7 +46,7 @@ public interface ConDoctorSchedulingDateMapper extends BaseMapper<ConDoctorSched
public int updateScheduleNum(String schedulingNum, String id);
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date = TO_CHAR(#{schedulingDate},'YYYY-MM-DD') and type = #{type}")
@Select("SELECT * FROM con_doctor_scheduling_date WHERE status = '1' and del_flag = '0' and user_id = #{doctorId} and scheduling_date = DATE_FORMAT(#{schedulingDate},'%Y-%m-%d') and type = #{type}")
public List<ConDoctorSchedulingDateListDO> selectDoctorScheduleDate(String doctorId, Date schedulingDate, String type);
Boolean insertBatchSomeColumn(@Param("list") List<ConDoctorSchedulingDate> list);
@@ -38,7 +38,7 @@ public interface ConDoctorSchedulingMapper extends BaseMapper<ConDoctorSchedulin
@Update("update con_doctor_scheduling set del_flag = 1 WHERE status = '1' and del_flag = '0' and user_id = #{userId}")
public int deleteDoctorSchedule(String userId);
@Select("SELECT * FROM con_doctor_scheduling WHERE status = '1' and del_flag = '0' and user_id = #{userId} and scheduling_date >= TRUNC(SYSDATE) and week = #{week}")
@Select("SELECT * FROM con_doctor_scheduling WHERE status = '1' and del_flag = '0' and user_id = #{userId} and scheduling_date >= DATE(NOW()) and week = #{week}")
public List<ConDoctorSchedulingDO> selectDoctorSchedulingByWeekAndUserId(String userId, String week);
Boolean updateBatchById(@Param("list") List<ConDoctorScheduling> schedulingList);
@@ -30,4 +30,6 @@ public interface ConHelperSchedulingMapper extends BaseMapper<ConHelperSchedulin
@Select("SELECT * FROM con_helper_scheduling WHERE week = #{week} and del_flag = '0' and status = '1'")
public List<ConHelperScheduling> getYesterDayScheduling(Integer week);
@Select("SELECT * FROM con_helper_scheduling_qh WHERE week = #{week} and del_flag = '0' and status = '1'")
public List<ConHelperScheduling> getYesterDaySchedulingQh(Integer week);
}
@@ -36,6 +36,6 @@ public interface ConMedicalRecordsMapper extends BaseMapper<ConMedicalRecords> {
ConMedicalRecords selectByMemberIdAndUserId(String memberId, String userId);
@Select("SELECT * FROM con_medical_records WHERE status = '1' and del_flag = '0' and id = #{id}")
@Select("SELECT * FROM con_medical_records_view WHERE status = '1' and del_flag = '0' and id = #{id}")
public ConMedicalRecordsDO selectConMedicalRecordsViewInfoById(String id);
}
@@ -56,8 +56,8 @@ public interface ConResourceMapper extends BaseMapper<ConResource> {
List<HospitalDepartment> selectResourceInfoByDepartId(@Param("idList") List<String> idList);
@Select("SELECT c.id,c.resource_name as resourceName FROM con_resource c WHERE EXISTS (SELECT 1 FROM con_doctor d WHERE c.id = d.resource_id and d.del_flag = 0 and d.status = 1)" +
"and c.del_flag = 0 and c.status = 1 ORDER BY c.tf_top DESC,c.sort")
@Select("SELECT c.id,c.resource_name as resourceName FROM con_resource c WHERE EXISTS (SELECT 1 FROM con_doctor d WHERE c.id = d.resource_id and d.del_flag = 0 and d.`status` = 1)" +
"and c.del_flag = 0 and c.`status` = 1 ORDER BY c.tf_top DESC,c.sort")
public List<ConResourceDO> selectHospitalListVersionTwo();
@@ -20,7 +20,7 @@ public interface ConServiceMapper extends BaseMapper<ConService> {
ConService selectConServiceByDoctrId(String doctorId);
@Select("select count(1) from con_service where service_status = 0 and doctor_id = #{doctorId} and del_flag = 0 and status = 1 and TO_CHAR(#{scheduleDate}, 'YYYY-MM-DD') >= TO_CHAR(start_day, 'YYYY-MM-DD') and TO_CHAR(#{scheduleDate}, 'YYYY-MM-DD') <= TO_CHAR(end_day, 'YYYY-MM-DD')")
@Select("select count(1) from con_service where service_status = 0 and doctor_id = #{doctorId} and del_flag = 0 and status = 1 and DATE_FORMAT(#{scheduleDate}, '%Y-%m-%d') >= DATE_FORMAT(start_day, '%Y-%m-%d') and DATE_FORMAT(#{scheduleDate}, '%Y-%m-%d') <= DATE_FORMAT(end_day, '%Y-%m-%d')")
int selectConServiceByDoctrIdExist(String doctorId, Date scheduleDate);
}
@@ -114,24 +114,24 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
@Select("select * from con_session where im_id = #{imId} and to_account = #{toAccount} and del_flag = 0 and status = 1")
ConSession selectConSessionByImId(String imId, String toAccount);
@Update("update con_session set reply_time = SYSDATE where im_id = #{imId}")
@Update("update con_session set reply_time = NOW() where im_id = #{imId}")
int updateSessionReplyTime(String imId);
@Select("select * from con_session where im_id = #{imId} and del_flag = 0 and status = 1")
ConSession selectConSessionByImIdOnly(String imId);
@Update("update con_session set content_status = 4 where (SYSDATE - CAST(reply_time AS DATE)) * 24 >= 4 and content_status = 3 and content_type = 1")
@Update("update con_session set content_status = 4 where TIMESTAMPDIFF(HOUR,reply_time,now()) >= 4 and content_status = 3 and content_type = 1")
int sessionSendMessageExpire();
@Update("update con_session set content_status = 8 where (SYSDATE - CAST(create_time AS DATE)) * 24 >= 24 and content_type = 1 and (content_status = 1 or content_status = 2)")
@Update("update con_session set content_status = 8 where TIMESTAMPDIFF(HOUR,create_time,now()) >= 24 and content_type = 1 and (content_status = 1 or content_status = 2)")
int sessionSendMessageExpireAnother();
@Update("update con_session set content_status = 8 where TRUNC(SYSDATE) > session_date and content_type = 2 and (content_status = 1 or content_status = 2)")
@Update("update con_session set content_status = 8 where DATE(NOW()) > session_date and content_type = 2 and (content_status = 1 or content_status = 2)")
int sessionSendMessageExpireVideo();
@Update("update con_session set content_status = 4 where TRUNC(SYSDATE) > session_date and content_type = 2 and content_status = 3 ")
@Update("update con_session set content_status = 4 where DATE(NOW()) > session_date and content_type = 2 and content_status = 3 ")
int sessionSendMessageExpireVideoAnother();
@Select("select * from con_session where del_flag = 0 and status = 1 and from_account = #{fromAccount} and session_type = #{sessionType} and content_status = 3 limit 1")
@@ -178,7 +178,7 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
*
* @return
*/
@Update("update con_session set content_status = 5 where session_type != 1 and content_status = 3 and (SYSDATE - CAST(reply_time AS DATE)) * 24 >= #{expireHour} and tf_reply = 1")
@Update("update con_session set content_status = 5 where session_type != 1 and content_status = 3 and timestampdiff(HOUR,reply_time,NOW()) >= #{expireHour} and tf_reply = 1")
int changeEndUserAndProfessiorHelper(String expireHour);
/**
@@ -186,7 +186,7 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
*
* @return
*/
@Update("update con_session set content_status = 4 where session_type = 1 and content_type = 1 and content_status = 3 and (SYSDATE - CAST(reply_time AS DATE)) * 24 >= #{expireHour} and tf_reply = 1")
@Update("update con_session set content_status = 4 where session_type = 1 and content_type = 1 and content_status = 3 and timestampdiff(HOUR,reply_time,NOW()) >= #{expireHour} and tf_reply = 1")
int endSession(String expireHour);
/**
@@ -194,7 +194,7 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
*
* @return
*/
@Update("update con_session set content_status = 8 where content_type != 2 and (SYSDATE - CAST(create_time AS DATE)) * 24 >= #{expireHour} and tf_reply = 0")
@Update("update con_session set content_status = 8 where content_type != 2 and timestampdiff(HOUR,create_time,NOW()) >= #{expireHour} and tf_reply = 0")
int expireMeaaage(String expireHour);
@@ -240,13 +240,21 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
@Param("fromAccount")String fromAccount);
@Select("select * from con_session where im_id = #{imId} and del_flag = 0 and status = 1")
@Select("select * from con_session_view where im_id = #{imId} and del_flag = 0 and status = 1")
ConSession selectConSessionByImIdOnlyBackUp(String imId);
@Select("select * from con_session where id = #{id} and del_flag = 0 and status = 1")
@Update("update con_session_qh set reply_time = NOW() where im_id = #{imId}")
int updateSessionReplyTimeBackUp(String imId);
@Update("update con_session_qh set tf_reply = 1 where id = #{id}")
int updateConSessionTfReplyBackUp(String id);
@Select("select * from con_session_view where id = #{id} and del_flag = 0 and status = 1")
ConSession selectConSessionByIdView(String id);
@Select("select * from con_session where im_id = #{id} and del_flag = 0 and status = 1")
@Select("select * from con_session_view where im_id = #{id} and del_flag = 0 and status = 1")
ConSession selectConSessionByIdViewAndImId(String imId);
@Update("update con_session set user_tf_reply = 1 where id = #{id}")
@@ -274,7 +282,7 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
List<ConSessionDO> selectSessionListByUserIdHelperAnother(IPage<ConSessionDO> page, @Param("contentType") String contentType, @Param("state") String state, @Param("userId") String userId);
@Select("select * from con_session where session_type = 1 and content_type = 1 and content_status = 3 and (SYSDATE - CAST(reply_time AS DATE)) * 24 >= #{expireHour} and tf_reply = 1")
@Select("select * from con_session where session_type = 1 and content_type = 1 and content_status = 3 and timestampdiff(HOUR,reply_time,NOW()) >= #{expireHour} and tf_reply = 1")
List<ConSession> selectEndSession(String expireHour);
@@ -286,4 +294,13 @@ public interface ConSessionMapper extends BaseMapper<ConSession> , MPJBaseMapper
@Param("doctorjob")String doctorjob,
@Param("contentType")String contentType,
@Param("toAccount")String toAccount);
/**
* 音视频咨询过期处理:预约日期已过的视频咨询,有通话记录则改为待评价,无通话记录则改为取消
* content_status: 4=待评价,6=取消
*/
@Update("UPDATE con_session SET content_status = CASE WHEN session_time IS NOT NULL THEN 4 ELSE 6 END " +
"WHERE content_type = 2 AND CURDATE() > session_date " +
"AND content_status NOT IN (4, 5, 6, 7, 8) AND del_flag = 0 AND status = 1")
String endVideoSession();
}
@@ -55,11 +55,11 @@ public interface ConSicksMapper extends BaseMapper<ConSicks> {
List<ConSicks> selectListByIdList(@Param("idList") List<String> idList);
@Select("select count(1) from con_sicks where del_flag = 0 and status = 1 and INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0")
@Select("select count(1) from con_sicks where del_flag = 0 and status = 1 and FIND_IN_SET(department_id,#{departmentId})")
int selectSickNumByDepartment(String departmentId);
@Select("select id from con_sicks where del_flag = 0 and status = 1 and INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0")
@Select("select id from con_sicks where del_flag = 0 and status = 1 and FIND_IN_SET(department_id,#{departmentId})")
List<String> selectSickNumByDepartmentByDepartment(String departmentId);
@@ -71,11 +71,11 @@ public interface ConSicksMapper extends BaseMapper<ConSicks> {
List<ConSicks> selectSickByTopAndHaveDoctor();
@Select("select id,department_id as departmentId,sicks_name as sicksName,descript from con_sicks where del_flag = 0 and status = 1 and INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0 order by tf_top desc,sort")
@Select("select id,department_id as departmentId,sicks_name as sicksName,descript from con_sicks where del_flag = 0 and status = 1 and FIND_IN_SET(department_id,#{departmentId}) order by tf_top desc,sort")
List<ConSicksDO> selectSickListByDepartment(String departmentId);
@Select("select LISTAGG(id, ',') WITHIN GROUP (ORDER BY id) from con_sicks where department_id = #{departmentId}")
@Select("select GROUP_CONCAT(id) from con_sicks where department_id = #{departmentId}")
String selectSickListByDepartmentIdAnother(String departmentId);
@Update("update con_sicks set department_id = #{departmentOne} where department_id = #{departmentTwo}")
@@ -73,7 +73,7 @@
and cct.operate_type = '5'
</if>
<if test='date != "1"'>
and TO_CHAR(cct.income_time, 'YYYY-MM')=#{date}
and DATE_FORMAT(cct.income_time, '%Y-%m')=#{date}
</if>
<if test="userId != null and userId != ''">
and cct.user_id = #{userId}
@@ -87,8 +87,8 @@
FROM con_session cs
where cs.content_type is not null
and cs.content_type &lt;&gt; '4'
and TO_CHAR(cs.create_time, 'YYYY-MM') = #{date}
group by cs.content_type, TO_CHAR(cs.create_time, 'YYYY-MM')
and DATE_FORMAT(cs.create_time, '%Y-%m') = #{date}
group by cs.content_type, DATE_FORMAT(cs.create_time, '%Y-%m')
</select>
@@ -99,7 +99,7 @@
and cs.content_type &lt;&gt; '4'
and cs.to_account = #{userId} and session_type = 1
<if test="date != null and date != ''">
and TO_CHAR(cs.create_time, 'YYYY-MM') = #{date}
and DATE_FORMAT(cs.create_time, '%Y-%m') = #{date}
</if>
group by cs.content_type, session_status
</select>
@@ -108,7 +108,7 @@
from con_cost_statistics ccs
<where>
<if test='conCostStatistics.startDate != null and conCostStatistics.endDate != null'>
and ccs.income_time between TRUNC(#{conCostStatistics.startDate}) and TRUNC(#{conCostStatistics.endDate}) + 1 - 1/86400
and ccs.income_time between DATE_FORMAT(#{conCostStatistics.startDate}, '%Y-%m-%d 00:00:00') and DATE_FORMAT(#{conCostStatistics.endDate}, '%Y-%m-%d 23:59:59')
</if>
<if test='conCostStatistics.operateType != null and conCostStatistics.operateType != "" and conCostStatistics.operateType == "0"'>
and ccs.operate_type != '5'
@@ -162,7 +162,7 @@
<select id="groupByTypehListNew" resultType="String">
select
count(1)
from con_session
from con_session_view
where
session_type = 1 and to_account = #{userId} and content_type = #{type}
<if test="state != null and state != '' and state == '1'.toString()">
@@ -172,7 +172,7 @@
and content_status &gt; 3
</if>
<if test="date != null and date != ''">
and TO_CHAR(create_time, 'YYYY-MM') = #{date}
and DATE_FORMAT(create_time, '%Y-%m') = #{date}
</if>
</select>
<select id="selectByDoctorIds" resultType="com.renkang.consultation.entity.ConCostStatistics">
@@ -74,7 +74,7 @@
where status = 1
and del_flag = 0
<if test="officeparid == null">
and NVL(officeparid,'') = ''
and ifnull(officeparid,'') = ''
</if>
<if test="officeparid != null">
and officeparid = #{officeparid}
@@ -97,16 +97,25 @@
order by tf_top desc, sort
</select>
<select id="selectChildAll" resultType="com.renkang.consultation.entity.ConDepartment">
SELECT * FROM con_department
WHERE id != #{departmentId}
START WITH id = #{departmentId}
CONNECT BY PRIOR id = officeparid
ORDER BY LEVEL, id
SELECT *
FROM (
SELECT d1.*,
@pv := CONCAT(@pv, ',', d1.id) AS path
FROM
con_department AS d1
JOIN
(SELECT @pv := #{departmentId}) AS initial
WHERE
FIND_IN_SET(d1.officeparid
, @pv)
> 0
) AS subquery
ORDER BY LENGTH(path)
</select>
<select id="getOneDepartList" resultType="com.renkang.consultation.entity.ConDepartment">
SELECT *
FROM con_department
FROM `con_department`
WHERE office_level = 1
and del_flag = 0
and status = 1
@@ -114,7 +123,7 @@
<select id="getTwoDepartList" resultType="com.renkang.consultation.entity.ConDepartment">
SELECT *
FROM con_department
FROM `con_department`
WHERE office_level = 2
and del_flag = 0
and status = 1
@@ -124,10 +133,10 @@
SELECT *
from con_doctor
where department_id in
(SELECT id FROM con_department WHERE office_level in (1, 2) and del_flag = 0 and status = 1)
(SELECT id FROM `con_department` WHERE office_level in (1, 2) and del_flag = 0 and status = 1)
and del_flag = 0
and status = 1
ORDER BY doctor_status DESC
ORDER BY doctor_status DESC;
</select>
<select id="selectChildById" resultType="com.renkang.consultation.entity.ConDepartment">
@@ -137,11 +146,12 @@
<select id="selectHospitalDepartmentId" resultType="com.renkang.consultation.entity.ConDepartmentDO">
select
a.department_id as "id",
distinct a.department_id as "id",
b.department_name as "departmentName"
from hospital_department a left join con_department b on a.department_id = b.id
where a.hospital_id = #{hospitalId} and b.office_level = 1
GROUP BY a.department_id,b.department_name
order by b.tf_top desc,b.sort
</select>
<select id="getMedicalDepartmentList" resultType="com.renkang.consultation.vo.MedicalDepartmentVO">
@@ -164,7 +174,7 @@
(case when (select count(1) from con_department cd2 where cd2.officeparid = cdd.id)>0 then 0 else 1 end) as isLeaf,
officeparid as parentId
from con_department cdd
where CASE WHEN (officeparid IS NULL OR officeparid = '') THEN '0' ELSE officeparid END = #{pid}
where if(officeparid is null or officeparid = '','0',officeparid) = #{pid}
</select>
@@ -6,7 +6,7 @@
UPDATE con_doctor_scheduling
SET
week = #{item.week},
"TYPE" = #{item.type},
`type` = #{item.type},
am_num = #{item.amNum},
pm_num = #{item.pmNum},
tf_jump_holiday = #{item.tfJumpHoliday},
@@ -2,31 +2,31 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.renkang.consultation.mapper.ConHelperSchedulingHistoryMapper">
<select id="queryPageList" resultType="com.renkang.consultation.entity.ConHelperSchedulingHistory">
select "time" from con_helper_scheduling_history
select `time` from con_helper_scheduling_history
<where>
<if test="dto.startTime != null and dto.startTime!='' and dto.endTime != null and dto.endTime != ''">
and "time" &gt;= #{dto.startTime} and "time" &lt;= #{dto.endTime}
and `time` &gt;= #{dto.startTime} and `time` &lt;= #{dto.endTime}
</if>
<if test="dto.week != null and dto.week!=''">
and week = #{dto.week}
</if>
and status = 1 and del_flag = 0 GROUP BY "time" order by "time" desc
and status = 1 and del_flag = 0 GROUP BY `time` order by `time` desc
</where>
</select>
<select id="pageByScheduleTime" resultType="java.lang.String">
SELECT TO_CHAR("time", 'YYYY-MM-DD') AS scheduleTime FROM con_helper_scheduling_history
SELECT DATE_FORMAT(time, '%Y-%m-%d') AS `time` FROM con_helper_scheduling_history
<where>
<!-- 日期范围条件 -->
<if test="dto.startTime != null and dto.startTime != ''">
AND "time" &gt;= TO_DATE(#{dto.startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND `time` &gt;= DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d 00:00:00')
</if>
<if test="dto.endTime != null and dto.endTime != ''">
AND "time" &lt;= TO_DATE(#{dto.endTime}, 'YYYY-MM-DD HH24:MI:SS')
AND `time` &lt;= DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d 23:59:59')
</if>
<if test="dto.week != null and dto.week != ''">
and week = #{dto.week}
</if>
and status = 1 and del_flag = 0 GROUP BY "time" order by "time" desc
and status = 1 and del_flag = 0 GROUP BY `time` order by `time` desc
</where>
</select>
</mapper>
@@ -21,7 +21,7 @@
AND cr.address LIKE CONCAT('%', #{conResource.province}, '%')
</if>
<if test="conResource.level != null and conResource.level != ''">
AND cr."level" = #{conResource.level}
AND cr.`level` = #{conResource.level}
</if>
<if test="conResource.status != null and conResource.status != ''">
AND cr.status = #{conResource.status}
@@ -31,8 +31,8 @@
</select>
<select id="selectBatchIds" resultType="com.renkang.consultation.entity.ConResource">
SELECT id, resource_name, longitude, latitude, "TYPE", second_type, aidrange, gd_id, url, province, city, area,
address, "LEVEL", img, synopsis, sort, "STATUS", del_flag, create_by, create_time, update_by, update_time, memo,
SELECT id, resource_name, longitude, latitude, type, second_type, aidrange, gd_id, url, province, city, area,
address, level, img, synopsis, sort, status, del_flag, create_by, create_time, update_by, update_time, memo,
key_departments, user_score, user_score_num, resource_detail, tf_top
FROM con_resource
WHERE id IN
@@ -42,7 +42,7 @@
</select>
<select id="selectHostitalList" resultType="com.renkang.consultation.vo.ConsultResourceVO">
select id,
resource_name as name
`resource_name` as `name`
from con_resource
where del_flag = 0
order by sort
@@ -542,8 +542,8 @@
<foreach item="id" collection="doctorIds" open="(" separator="," close=")">
#{id}
</foreach>
AND EXTRACT(YEAR FROM session_date) = EXTRACT(YEAR FROM SYSDATE)
AND EXTRACT(MONTH FROM session_date) = EXTRACT(MONTH FROM SYSDATE)
AND YEAR(session_date) = YEAR(CURRENT_DATE())
AND MONTH(session_date) = MONTH(CURRENT_DATE())
</select>
@@ -667,10 +667,10 @@
<!-- 日期范围条件 -->
<if test="conSession.startDate != null and conSession.startDate != ''">
AND c.create_time &gt;= TRUNC(#{conSession.startDate})
AND c.create_time &gt;= DATE_FORMAT(#{conSession.startDate}, '%Y-%m-%d 00:00:00')
</if>
<if test="conSession.endDate != null and conSession.endDate != ''">
AND c.create_time &lt;= TRUNC(#{conSession.endDate}) + 1 - 1/86400
AND c.create_time &lt;= DATE_FORMAT(#{conSession.endDate}, '%Y-%m-%d 23:59:59')
</if>
<!-- ID 和账户条件 -->
@@ -715,7 +715,7 @@
<select id="selectSessionProfessorIngNewNew" resultType="String">
select
count(1)
from con_session
from con_session_view
where status = '1' and del_flag = 0
and session_type = 1
and to_account = #{toAccount}
@@ -750,7 +750,7 @@
<select id="selectSessionProfessorIngNewNewNew" resultType="String">
select
count(1)
from con_session
from con_session_view
where status = '1' and del_flag = 0
and session_type = 1
and to_account = #{toAccount}
@@ -795,7 +795,7 @@
create_time as "createTime",
im_id as "imId",
tf_reply as "tfReply"
from con_session
from con_session_view
where status = '1' and del_flag = 0 and session_type = 1 and (to_account = #{doctorId} or third_account =
#{doctorId})
<if test="contentType != null and contentType != ''">
@@ -842,7 +842,7 @@
create_time as "createTime",
im_id as "imId",
tf_reply as "tfReply"
from con_session
from con_session_view
where status = '1'
and content_type = '1'
and del_flag = 0
@@ -878,7 +878,7 @@
create_time as "createTime",
im_id as "imId",
tf_reply as "tfReply"
from con_session
from con_session_view
where status = '1'
and content_type = '1'
and del_flag = 0
@@ -909,7 +909,7 @@
create_time as "createTime",
im_id as "imId",
tf_reply as "tfReply"
from con_session
from con_session_view
where status = '1' and user_tf_reply = 1 and del_flag = 0 and session_type = 1 and (to_account = #{doctorId} or third_account =
#{doctorId})
<if test="contentType != null and contentType != ''">
@@ -945,7 +945,7 @@
<select id="selectSessionProfessorIngNewNewAnother" resultType="String">
select
count(1)
from con_session
from con_session_view
where status = '1' and del_flag = 0
and session_type = 1
and user_tf_reply = 1
@@ -981,7 +981,7 @@
<select id="selectSessionProfessorIngNewNewNewAnother" resultType="String">
select
count(1)
from con_session
from con_session_view
where status = '1' and del_flag = 0
and session_type = 1
and to_account = #{toAccount}
@@ -55,7 +55,7 @@
<!--@mbg.generated-->
id, member_id, from_account, to_account, end_time, content_type, reservation_time,
session_type, from_name, member_name, to_name, im_id, session_time, third_account,
third_name, cost, char_date, medical_records_id, "STATUS", del_flag, create_by, create_time,
third_name, cost, char_date, medical_records_id, `status`, del_flag, create_by, create_time,
update_by, update_time, memo, content_status, session_date, week, am_pm, scheduling_date_id,
job_status, member_sex, member_age, session_status, doctor_start_time, doctor_end_time,
reject_reason, reason_type, org_code, from_type, tf_reply, reply_time, user_tf_reply,
@@ -3,7 +3,6 @@ package com.renkang.consultation.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -249,9 +248,6 @@ public class ConDoctorServiceImpl extends ServiceImpl<ConDoctorMapper, ConDoctor
if (StringUtils.hasLength(dto.getHospitalName())) {
conDoctor.setResourceId(dto.getHospitalName());
}
if (StrUtil.isNotEmpty(dto.getDoctorName())){
conDoctor.setDoctorName(HtmlUtil.unescape(dto.getDoctorName()));
}
IPage<ConDoctor> conDoctorIPage = conDoctorMapper.queryPageList(page, conDoctor);
List<ConDoctor> conDoctorList = conDoctorIPage.getRecords();
if (CollectionUtils.isEmpty(conDoctorList)) {
@@ -7,6 +7,7 @@ import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.config.shiro.ClientSignThreadLocal;
import org.parboiled.common.StringUtils;
@@ -36,10 +37,10 @@ public class SyncScheduleJob {
String expireHour = "168";
String param = XxlJobHelper.getJobParam();
if(StringUtils.isNotEmpty(param)){
if (StringUtils.isNotEmpty(param)) {
JSONObject jsonObject = JSONObject.parseObject(param);
String expireHourRequest = jsonObject.getString("expireHour");
if(StringUtils.isNotEmpty(expireHourRequest)){
if (StringUtils.isNotEmpty(expireHourRequest)) {
expireHour = jsonObject.getString("expireHour");
}
}
@@ -53,4 +54,12 @@ public class SyncScheduleJob {
return ReturnT.SUCCESS;
}
@XxlJob(value = "endVideoSession")
public Result<String> endVideoSession() {
// 20260327 新增 音视频咨询过期处理 规则为:超过预约时间,比如预约的是 12月9日和专家视频沟通,但超过时间一天,即为过期,需要关闭咨询
conSessionApiController.endVideoSession();
return Result.ok("success");
}
}
@@ -2,10 +2,9 @@ package com.renkang;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication(scanBasePackages = {"com.renkang", "org.jeecg"},exclude = QuartzAutoConfiguration .class)
@SpringBootApplication(scanBasePackages = {"com.renkang", "org.jeecg"})
@EnableFeignClients(basePackages = {"com.renkang", "org.jeecg"})
public class HealthConsultationCloudApplication {
@@ -1,9 +1,8 @@
PROFILE_NAME=dev
SERVER_PORT=7010
NACOS_SERVER_ADDR=192.168.1.80:8848
NACOS_USERNAME=xjuser
NACOS_PASSWORD=Aa135790!123
NACOS_NAMESPACE=xjxc-space-common
NACOS_NAMESPACE_DISCOVERY=xjxc-space-common
NACOS_SERVER_ADDR=localhost:8848
NACOS_USERNAME=nacos
NACOS_PASSWORD=nacos
NACOS_NAMESPACE=f3f65fb2-303b-4bf7-bccb-4755886503c1
NACOS_GROUP=dev
FILE_SERVER_URL=http://fileserver.yg.dt.io
@@ -21,7 +21,7 @@ spring:
password: ${spring.cloud.nacos.password}
discovery:
enabled: true
namespace: ${NACOS_NAMESPACE_DISCOVERY:}
namespace: ${NACOS_NAMESPACE:}
group: ${NACOS_GROUP:DEFAULT_GROUP}
server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username}
@@ -345,7 +345,6 @@ public class AedEquipmentManger implements Serializable {
*/
@Excel(name = "型号", width = 15)
@Schema(title = "型号")
@TableField("MODEL_NUMBER")
private String model;
/**
* 来源字典 设备类型 1:立式 ,2:挂式,3:车载
@@ -1,6 +1,5 @@
package com.renkang.emergency.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -82,14 +81,12 @@ public class TblQimoNotice implements Serializable {
*/
@Schema(title = "通话接通时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@Excel(name = "通话接通时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@TableField("BEGIN_TIME")
private java.util.Date begin;
/**
* 通话结束时间
*/
@Schema(title = "通话结束时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@Excel(name = "通话结束时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@TableField("END_TIME")
private java.util.Date end;
/**
* 来电进入技能组时间
@@ -1,5 +1,6 @@
package com.renkang.emergency.entity.dto;
import cn.hutool.http.HtmlUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -7,6 +8,10 @@ import lombok.Data;
public class CallLogDTO {
@Schema(description = "姓名")
private String realName;
public void setRealName(String realName) {
this.realName = realName != null ? HtmlUtil.unescape(realName) : null;
}
@Schema(description = "呼叫中心")
private String centerId;
@Schema(description = "坐席工号")
@@ -1,5 +1,6 @@
package com.renkang.emergency.entity.dto;
import cn.hutool.http.HtmlUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -21,6 +22,10 @@ public class PhoneListDTO {
private String phoneType;
@Schema(description = "姓名")
private String realName;
public void setRealName(String realName) {
this.realName = realName != null ? HtmlUtil.unescape(realName) : null;
}
/**
* 0:全部 1:女 2:男
*/
@@ -1,5 +1,6 @@
package com.renkang.emergency.entity.dto;
import cn.hutool.http.HtmlUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -9,6 +10,10 @@ public class TblQimoNoticeDTO {
private String seatId;
@Schema(title = "姓名")
private String realName;
public void setRealName(String realName) {
this.realName = realName != null ? HtmlUtil.unescape(realName) : null;
}
@Schema(title = "所属应急中心")
private String centerId;
@Schema(title = "orgCode")
@@ -59,7 +59,7 @@ public interface AedEquipmentMangerMapper extends BaseMapper<AedEquipmentManger>
* 按单位统计aed设备数量
* @return 统计数据
*/
@Select(value = "SELECT SUBSTR(depart_code,1,6) as orgCode, count(1) as aedCount FROM aed_equipment_manger where del_flag = 0 GROUP BY SUBSTR(depart_code,1,6)")
@Select(value = "SELECT LEFT(depart_code,6) as orgCode, count(1) as aedCount FROM `aed_equipment_manger` where del_flag = 0 GROUP BY LEFT(depart_code,6)")
List<JSONObject> statisticAedByOrgCode();
List<AedLocationEquipment> getLocation(@Param("idList") List<Long> idList);
@@ -12,7 +12,7 @@
aem.host_model as hostModel,
aem.host_serial_num as hostSerialNum,
aem.battery_life as batteryLife,
aem."status" AS STATUS,
aem.`status` AS STATUS,
aem.control_org_name AS controlDept,
aem.manage_user_name AS custodian,
aem.manage_user_mobile AS custodianTel,
@@ -53,7 +53,7 @@
aem.NAME AS NAME,
aem.org_code AS orgCode,
aem.CODE AS code,
aem."status" AS STATUS,
aem.`status` AS STATUS,
aem.control_org_name AS controlDept,
aem.custodian AS custodian,
aem.custodian_tel AS custodianTel,
@@ -89,7 +89,7 @@
t2.manage_user_name,
t2.manage_user_mobile
FROM
"aed_equipment_maintain" t1
`aed_equipment_maintain` t1
LEFT JOIN aed_equipment_manger t2 ON t1.equipment_id = t2.id
<where>
<if test="name !=null and name !=''">
@@ -25,6 +25,7 @@
operate_instruction as operateInstruction,
operate_video as operateVideo,
disclaimer as disclaimer,
control_org_name as controlOrgName,
manage_user_name as manageUserName,
manage_user_mobile as manageUserMobile,
mfrs_Mobile as mfrsMobile,
@@ -56,7 +56,7 @@
t2.install_address,
t2.status
FROM
"aed_equipment_train" t1
`aed_equipment_train` t1
LEFT JOIN aed_equipment_manger t2 ON t1.equipment_id = t2.id
<where>
and t1.flag = #{trainType}
@@ -1,6 +1,7 @@
package com.renkang.emergency.controller;
import cn.hutool.http.HtmlUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.renkang.emergency.entity.EmergencyProfessionUser;
import com.renkang.emergency.service.EmergencyProfessionUserService;
@@ -40,6 +41,7 @@ public class EmergencyProfessionUserController {
@RequestParam(name = "type", defaultValue = "5") Integer type,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
name = HtmlUtil.unescape(name);
IPage<EmergencyProfessionUser> pageList = emergencyProfessionUserService.customPage(name, centerId, type, pageNo, pageSize);
return Result.OK(pageList);
}
@@ -25,11 +25,11 @@ public interface EmergencySeriousDiseaseMapper extends BaseMapper<EmergencySerio
public List<EmergencySeriousDisease> selectEmergencySeriousDiseaseListByState(IPage<EmergencySeriousDisease> page, @Param("state") String state, @Param("userId") String userId);
@Update("update emergency_serious_disease set state = 8 where state = 1 and desire_time < SYSDATE")
@Update("update emergency_serious_disease set state = 8 where state = 1 and desire_time < now()")
public int updateEmergencyStateOne();
@Update("update emergency_serious_disease set state = 5 where state = 4 and reservation_time < SYSDATE")
@Update("update emergency_serious_disease set state = 5 where state = 4 and reservation_time < now()")
public int updateEmergencyStateTeo();
@@ -6,7 +6,7 @@
DELETE t1
FROM emergency_schedules_new_item t1
INNER JOIN emergency_new_schedules t2 ON t1.schedules_id = t2.id
WHERE t2.schedules_time > SYSDATE
WHERE t2.schedules_time > NOW()
AND t1.user_id = #{userId}
</delete>
@@ -28,7 +28,7 @@
<where>
and t1.type = #{type}
<if test="name != null and name != ''">
AND t1.realname like '%' || #{name} || '%'
AND t1.realname like concat('%',#{name},'%')
</if>
<if test="centerIds != null and centerIds.size > 0">
and t1.center_id in
@@ -6,11 +6,11 @@
SELECT t1.user_id as userId,
t3.realname as userName,
t3.type as userType
FROM emergency_schedules_new_item t1
FROM `emergency_schedules_new_item` t1
LEFT JOIN emergency_new_schedules t2 ON t1.schedules_id = t2.id
left join emergency_profession_user t3 on t1.user_id = t3.user_id
WHERE t2.center_id = #{centerId}
AND TO_CHAR(t2.schedules_time, 'YYYY-MM-DD') = #{time}
AND date_format(t2.schedules_time, '%Y-%m-%d') = #{time}
ORDER BY
t3.type,
t1.sort
@@ -6,8 +6,8 @@
FROM emergency_schedules_new_item t1
LEFT JOIN emergency_new_schedules t2 ON t1.schedules_id = t2.id
WHERE
EXTRACT(YEAR FROM t2.schedules_time) = #{year}
AND EXTRACT(MONTH FROM t2.schedules_time) = #{month}
YEAR ( t2.schedules_time ) = #{year}
AND MONTH ( t2.schedules_time ) = #{month}
and t2.schedules_time is not null
AND t1.user_id = #{userId}
</select>
@@ -51,13 +51,13 @@
<where>
and a.del_flag = '0' and a.status = 1
<if test="emergencySeriousDisease.realname != null">
AND a.realname like '%' || #{emergencySeriousDisease.realname} || '%'
AND a.realname like concat('%',#{emergencySeriousDisease.realname},'%')
</if>
<if test="emergencySeriousDisease.reservationOffice != null">
AND a.reservation_office like '%' || #{emergencySeriousDisease.reservationOffice} || '%'
AND a.reservation_office like concat('%',#{emergencySeriousDisease.reservationOffice},'%')
</if>
<if test="emergencySeriousDisease.reservationDoctor != null">
AND a.reservation_doctor like '%' || #{emergencySeriousDisease.reservationDoctor} || '%'
AND a.reservation_doctor like concat('%',#{emergencySeriousDisease.reservationDoctor},'%')
</if>
<if test="emergencySeriousDisease.hospitalId != null">
AND a.hospital_id = #{emergencySeriousDisease.hospitalId}
@@ -66,10 +66,10 @@
AND a.register_category = #{emergencySeriousDisease.registerCategory}
</if>
<if test="emergencySeriousDisease.desireTime != null">
AND TRUNC(a.desire_time) = TRUNC(#{emergencySeriousDisease.desireTime})
AND DATE(a.desire_time) = DATE(#{emergencySeriousDisease.desireTime})
</if>
<if test="emergencySeriousDisease.reservationTime != null">
AND TRUNC(a.reservation_time) = TRUNC(#{emergencySeriousDisease.reservationTime})
AND DATE(a.reservation_time) = DATE(#{emergencySeriousDisease.reservationTime})
</if>
<if test="emergencySeriousDisease.operatorId != null">
AND a.operator_id = #{emergencySeriousDisease.operatorId}
@@ -88,16 +88,15 @@
<where>
and a.del_flag = '0' and a.status = 1 and user_id = #{userId}
<if test="state != null and state != '' and state == '1'.toString()">
AND ("state" <![CDATA[ <= ]]> 4 or state = 7)
AND (`state` <![CDATA[ <= ]]> 4 or state = 7)
</if>
<if test="state != null and state != '' and state == '2'.toString()">
AND "state" <![CDATA[ > ]]> 4 and state != 7
AND `state` <![CDATA[ > ]]> 4 and state != 7
</if>
</where>
order by a.create_time desc
</select>
<select id="dutyTeam" resultType="java.lang.Integer">
select * from (
SELECT t8.num
from (SELECT t1.user_type AS type,
count(1) AS num
@@ -105,12 +104,12 @@
LEFT JOIN emergency_new_schedules t2 ON t1.schedules_id = t2.id
LEFT JOIN emergency_profession_user t3 ON t3.center_id = t2.center_id
WHERE t3.user_id = #{userId}
AND TRUNC(t2.schedules_time) = TRUNC(SYSDATE)
AND DATE ( t2.schedules_time) = CURRENT_DATE
GROUP BY
t1.user_type
) t8
ORDER BY
t8.num
) WHERE ROWNUM = 1
LIMIT 1
</select>
</mapper>
</mapper>
@@ -11,7 +11,7 @@
WHERE operation_user_id is not null
and operation_user_id != ''
and session_now = 1
and TO_CHAR(create_time, 'YYYY-MM-DD') = #{targetDateStr}
and DATE_FORMAT(create_time, '%Y-%m-%d') = #{targetDateStr}
GROUP BY
operation_user_id
</select>
@@ -26,7 +26,7 @@
WHERE major_user_id is not null
and major_user_id != ''
and session_now = 1
and TO_CHAR(create_time, 'YYYY-MM-DD') = #{targetDateStr}
and DATE_FORMAT(create_time, '%Y-%m-%d') = #{targetDateStr}
GROUP BY
major_user_id
</select>
@@ -38,11 +38,11 @@
salvage_user_sex = #{sex}
</if>
<if test="depart != null and depart != ''">
and salvage_user_depart like #{depart} || '%'
and salvage_user_depart like concat('', #{depart}, '%')
</if>
and del_flag = 0
</where>
GROUP BY Initiator_type
GROUP BY Initiator_type;
</select>
<select id="emergencyNum" resultType="com.renkang.emergency.archives.model.vo.EmergencyNum">
@@ -58,7 +58,7 @@
</foreach>
</if>
<if test="type != null and type != '' and '0'.toString().equals(type)">
AND EXTRACT(YEAR FROM create_time) = EXTRACT(YEAR FROM SYSDATE)
AND year(create_time) = year(now())
</if>
</where>
GROUP BY center_id
@@ -15,7 +15,7 @@
id,
name
from emergency_resource
where INSTR(',' || #{hospitalIds} || ',', ',' || id || ',') > 0
where FIND_IN_SET(id,#{hospitalIds})
and status = 1 and del_flag = 0
</select>
</mapper>
@@ -11,7 +11,7 @@
and type = #{amOrPm}
</if>
<if test="date != null and date != ''">
and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{date}
and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date}
</if>
and status = 1
and del_flag = 0
@@ -30,7 +30,7 @@
user_sex
FROM emergency_schedule_custom
WHERE user_id = #{userId}
AND EXTRACT(YEAR FROM schedule_time) = #{year}
AND EXTRACT(MONTH FROM schedule_time) = #{month}
AND YEAR (schedule_time) = #{year}
AND MONTH (schedule_time) = #{month}
</select>
</mapper>
@@ -11,7 +11,7 @@
and type = #{amOrPm}
</if>
<if test="date != null and date != ''">
and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{date}
and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date}
</if>
</where>
GROUP BY
@@ -22,16 +22,16 @@
<select id="scheduleRecord" resultType="com.renkang.emergency.entity.ScheduleRecord">
SELECT
id,schedule_time,type,user_type,user_name,user_id,user_sex,
EXTRACT(MONTH FROM schedule_time) AS month,
EXTRACT(DAY FROM schedule_time) AS day
MONTH(schedule_time) AS month,
DAY(schedule_time) AS day
FROM
emergency_schedule_record
<where>
<if test="year != null and year != ''">
and EXTRACT(YEAR FROM schedule_time) = #{year}
and YEAR (schedule_time) = #{year}
</if>
<if test="month != null and month != ''">
and EXTRACT(MONTH FROM schedule_time) = #{month}
and MONTH(schedule_time) = #{month}
</if>
<if test="userId != null and userId != ''">
and user_id = #{userId}
@@ -3,27 +3,27 @@
<mapper namespace="com.renkang.emergency.mapper.TblBaseHospitalMapper">
<select id="getHospitalList" resultType="com.renkang.emergency.entity.TblBaseHospitalVo">
SELECT id,name,latitude lat ,longitude lon,type
SELECT id,`name`,latitude lat ,longitude lon,`type`
FROM emergency_resource
WHERE 1 = 1 and del_flag = 0
<if test="type != null and type.length() > 0">
AND type = #{type}
AND `type` = #{type}
</if>
<if test="hospitalName != null and hospitalName.length() > 0">
AND name LIKE CONCAT('%', #{hospitalName}, '%')
AND `name` LIKE CONCAT('%', #{hospitalName}, '%')
</if>
ORDER BY id
</select>
<select id="getHospitalListNew" resultType="com.renkang.emergency.entity.TblBaseHospitalVo">
SELECT id,name,latitude lat ,longitude lon,type
SELECT id,`name`,latitude lat ,longitude lon,`type`
FROM emergency_resource
WHERE 1 = 1 and del_flag = 0 and type != 3
<if test="type != null and type != ''">
AND type = #{type}
AND `type` = #{type}
</if>
<if test="hospitalName != null and hospitalName.length() > 0">
AND name LIKE CONCAT('%', #{hospitalName}, '%')
AND `name` LIKE CONCAT('%', #{hospitalName}, '%')
</if>
ORDER BY id
</select>
@@ -15,13 +15,13 @@
) AS sub_query
<where>
<if test="condition != null and condition != '' and condition == 2">
EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)
YEAR(help_time) = YEAR(NOW())
</if>
<if test="condition != null and condition != '' and condition == 3">
TO_CHAR(help_time, 'YYYYMM') = TO_CHAR(SYSDATE, 'YYYYMM')
DATE_FORMAT(help_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
</if>
<if test="condition != null and condition != '' and condition == 4">
TO_CHAR(help_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW')
YEARWEEK(date_format(help_time, '%Y-%m-%d')) = YEARWEEK(now())
</if>
</where>
GROUP BY type
@@ -9,16 +9,16 @@
<where>
del_flag = 0
<if test="type != null and type == 0">
-- 周(使用 ISO 年-周 比较)
AND TO_CHAR(start_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW')
-- 周
AND YEARWEEK(start_time, 1) = YEARWEEK(NOW(), 1)
</if>
<if test="type != null and type == 1">
-- 月
AND TO_CHAR(start_time,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM')
AND DATE_FORMAT(start_time,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
</if>
<if test="type != null and type == 2">
-- 年
AND EXTRACT(YEAR FROM start_time) = EXTRACT(YEAR FROM SYSDATE)
AND YEAR(start_time) =YEAR(NOW())
</if>
</where>
GROUP BY injury_level
@@ -332,18 +332,9 @@ public class IEmergencyCenterServiceImpl extends ServiceImpl<EmergencyCenterMapp
@Override
public EmergencyCenter getCenterDetail() {
LambdaQueryWrapper<EmergencyCenterAdmin> wrapper = new LambdaQueryWrapper<EmergencyCenterAdmin>()
EmergencyCenterAdmin centerAdmin = centerAdminService.getOne(new LambdaQueryWrapper<EmergencyCenterAdmin>()
.eq(EmergencyCenterAdmin::getUserId, GlobalUtils.getLoginUser().getId())
.orderByDesc(EmergencyCenterAdmin::getCreateTime);
Page<EmergencyCenterAdmin> page = new Page<>(1, 1);
IPage<EmergencyCenterAdmin> pageResult = centerAdminService.page(page, wrapper);
EmergencyCenterAdmin centerAdmin = null;
if (pageResult.getRecords() != null && !pageResult.getRecords().isEmpty()) {
centerAdmin = pageResult.getRecords().get(0);
}
.orderByDesc(EmergencyCenterAdmin::getCreateTime).last("limit 1"));
if (ObjectUtil.isEmpty(centerAdmin)) {
return new EmergencyCenter();
}
@@ -363,7 +354,7 @@ public class IEmergencyCenterServiceImpl extends ServiceImpl<EmergencyCenterMapp
.like(EmergencyCenter::getServiceScope, "," + departCode)
.or()
.eq(EmergencyCenter::getServiceScope, departCode)
).last("FETCH FIRST 1 ROWS ONLY");
).last("limit 1");
EmergencyCenter center = getOne(centerWrapper);
if (ObjectUtil.isEmpty(center)) {
centerWrapper = new LambdaQueryWrapper<>();
@@ -375,7 +366,7 @@ public class IEmergencyCenterServiceImpl extends ServiceImpl<EmergencyCenterMapp
.like(EmergencyCenter::getServiceScope, "," + orgCode)
.or()
.eq(EmergencyCenter::getServiceScope, orgCode)
).last("FETCH FIRST 1 ROWS ONLY");
).last("limit 1");
center = getOne(centerWrapper);
}
if (ObjectUtil.isEmpty(center)) {
@@ -388,9 +379,8 @@ public class IEmergencyCenterServiceImpl extends ServiceImpl<EmergencyCenterMapp
.like(EmergencyCenter::getServiceScope, "," + userOrgCode)
.or()
.eq(EmergencyCenter::getServiceScope, userOrgCode)
);
List<EmergencyCenter> list = list(centerWrapper);
center = CollUtil.isEmpty(list) ? null : list.get(0);
).last("limit 1");
center = getOne(centerWrapper);
}
if (ObjectUtil.isNotEmpty(center)) {
// 值班时间
@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -58,6 +59,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
@Override
public IPage<Order> pageCustom(Page<Order> page, Order order, HttpServletRequest req) {
if(StrUtil.isNotBlank(order.getSalvageUserName())){
order.setSalvageUserName(HtmlUtil.unescape(order.getSalvageUserName()));
}
String salvageUserName = order.getSalvageUserName();
String initiatorUserName = order.getInitiatorUserName();
Order orderCopy = new Order();
@@ -110,13 +110,13 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
// 1:全部,2:年,3:月,4:周
switch (dto.getCondition()) {
case "2":
queryWrapper.apply("EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)");
queryWrapper.apply("DATE_FORMAT(help_time,'%Y') = DATE_FORMAT(NOW(),'%Y')");
break;
case "3":
queryWrapper.apply("TO_CHAR(help_time,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')");
queryWrapper.apply("DATE_FORMAT(help_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')");
break;
case "4":
queryWrapper.apply("TO_CHAR(help_time,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW')");
queryWrapper.apply("YEARWEEK(date_format(help_time,'%Y-%m-%d'), 1) = YEARWEEK(now(), 1)");
break;
}
}
@@ -224,13 +224,13 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
// 1:全部,2:年,3:月,4:周
switch (condition) {
case "2":
queryWrapper.apply("EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)");
queryWrapper.apply("DATE_FORMAT(help_time,'%Y') = DATE_FORMAT(NOW(),'%Y')");
break;
case "3":
queryWrapper.apply("TO_CHAR(help_time,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')");
queryWrapper.apply("DATE_FORMAT(help_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')");
break;
case "4":
queryWrapper.apply("TO_CHAR(help_time,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW')");
queryWrapper.apply("YEARWEEK(date_format(help_time,'%Y-%m-%d')) = YEARWEEK(now())");
break;
}
}
@@ -2,10 +2,9 @@ package com.renkang;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication(scanBasePackages = {"com.renkang", "org.jeecg"},exclude = QuartzAutoConfiguration.class)
@SpringBootApplication(scanBasePackages = {"com.renkang", "org.jeecg"})
@EnableFeignClients(basePackages = {"org.jeecg", "com.renkang"})
public class HealthEmergencyCloudApplication {
@@ -1,9 +1,8 @@
PROFILE_NAME=dev
SERVER_PORT=7011
NACOS_SERVER_ADDR=192.168.1.80:8848
NACOS_USERNAME=xjuser
NACOS_PASSWORD=Aa135790!123
NACOS_NAMESPACE=xjxc-space-common
NACOS_NAMESPACE_DISCOVERY=xjxc-space-common
NACOS_SERVER_ADDR=localhost:8848
NACOS_USERNAME=nacos
NACOS_PASSWORD=nacos
NACOS_NAMESPACE=f3f65fb2-303b-4bf7-bccb-4755886503c1
NACOS_GROUP=dev
FILE_SERVER_URL=http://fileserver.yg.dt.io
@@ -21,7 +21,7 @@ spring:
password: ${spring.cloud.nacos.password}
discovery:
enabled: true
namespace: ${NACOS_NAMESPACE_DISCOVERY:}
namespace: ${NACOS_NAMESPACE:}
group: ${NACOS_GROUP:DEFAULT_GROUP}
server-addr: ${spring.cloud.nacos.server-addr}
username: ${spring.cloud.nacos.username}
@@ -22,6 +22,10 @@ public class WatchH5IndexItemNewVo {
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date dataDate;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date dataDateNew;
/**
* 注意 当wdType=sleep时此字段返回长睡时长
*/

Some files were not shown because too many files have changed in this diff Show More