diff --git a/functional-modules/monitoring-sync/pom.xml b/functional-modules/monitoring-sync/pom.xml index 4715137..7eddebc 100644 --- a/functional-modules/monitoring-sync/pom.xml +++ b/functional-modules/monitoring-sync/pom.xml @@ -30,9 +30,13 @@ org.springframework.boot spring-boot-starter-validation + - com.mysql - mysql-connector-j + com.dameng + DmJdbcDriver8 + ${dm.jdbc.version} + system + ${project.basedir}/../../lib/DmJdbcDriver8.jar org.springframework.boot diff --git a/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/BatchAutoConfiguration.java b/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/BatchAutoConfiguration.java index 88bfa05..3d2c713 100644 --- a/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/BatchAutoConfiguration.java +++ b/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/BatchAutoConfiguration.java @@ -25,6 +25,7 @@ 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; @@ -125,8 +126,21 @@ public class BatchAutoConfiguration { @BatchDataSource ObjectProvider batchDataSource, BatchProperties properties ) { - return new BatchDataSourceScriptDatabaseInitializer(batchDataSource.getIfAvailable(() -> dataSource), - properties.getJdbc()); + 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文件报错 + } + }; } } diff --git a/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/CustomBatchConfigurer.java b/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/CustomBatchConfigurer.java index 5eef0ad..af9867c 100644 --- a/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/CustomBatchConfigurer.java +++ b/functional-modules/renkang-starter-batch/src/main/java/com/renkang/batch/configure/CustomBatchConfigurer.java @@ -34,6 +34,13 @@ public class CustomBatchConfigurer extends BasicBatchConfigurer { this.taskExecutor = taskExecutor; } + @Override + public void initialize() { + // 达梦数据库兼容处理:跳过Spring Batch数据库类型自动检测 + // BasicBatchConfigurer.initialize()中DatabaseType.fromProductName()无法识别"DM DBMS"产品名 + // 保持父类默认隔离级别ISOLATION_SERIALIZABLE,DM8与此兼容 + } + @Override protected JobLauncher createJobLauncher() throws Exception { SimpleJobLauncher jobLauncher = new SimpleJobLauncher(); diff --git a/health-bank/health-bank-biz/src/main/java/com/renkang/bank/mapper/xml/PointsRuleMapper.xml b/health-bank/health-bank-biz/src/main/java/com/renkang/bank/mapper/xml/PointsRuleMapper.xml index 4ab314d..07a7436 100644 --- a/health-bank/health-bank-biz/src/main/java/com/renkang/bank/mapper/xml/PointsRuleMapper.xml +++ b/health-bank/health-bank-biz/src/main/java/com/renkang/bank/mapper/xml/PointsRuleMapper.xml @@ -11,19 +11,18 @@ a.icon, a.points, CASE - 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) + 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 ELSE 0 END AS clockInStatus FROM diff --git a/health-bank/health-bank-biz/src/main/java/com/renkang/bank/service/impl/UserPointsServiceImpl.java b/health-bank/health-bank-biz/src/main/java/com/renkang/bank/service/impl/UserPointsServiceImpl.java index d601ddc..77f509d 100644 --- a/health-bank/health-bank-biz/src/main/java/com/renkang/bank/service/impl/UserPointsServiceImpl.java +++ b/health-bank/health-bank-biz/src/main/java/com/renkang/bank/service/impl/UserPointsServiceImpl.java @@ -459,7 +459,7 @@ public class UserPointsServiceImpl extends ServiceImpl details = userPointsDetailsMapper.selectList(new LambdaQueryWrapper() .eq(UserPointsDetails::getUserId, userId) .eq(UserPointsDetails::getChangeType, HealthBankConstants.CHANGE_TYPE_ADD) - .apply("DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", DateUtil.today()) + .apply("TO_CHAR(create_time, 'YYYY-MM-DD') = {0}", DateUtil.today()) ); double sum = details.stream().map(UserPointsDetails::getPoints).mapToDouble(BigDecimal::doubleValue).sum(); userPoints.setLatestAddDaySum(BigDecimal.valueOf(sum).add(pointsRule.getPoints())); diff --git a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConSessionView.java b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConSessionView.java index 4a97508..39bd122 100644 --- a/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConSessionView.java +++ b/health-consultation/health-consultation-api/src/main/java/com/renkang/consultation/entity/ConSessionView.java @@ -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") diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDepartmentMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDepartmentMapper.java index 01aaed4..31f05de 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDepartmentMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDepartmentMapper.java @@ -27,7 +27,7 @@ public interface ConDepartmentMapper extends BaseMapper , 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 GROUP_CONCAT(id) FROM con_department WHERE status = '1' and del_flag = '0' and officeparid = #{departmentId}") + @Select("SELECT LISTAGG(id, ',') WITHIN GROUP (ORDER BY 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") diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorMapper.java index 6ab544b..409d501 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorMapper.java @@ -117,7 +117,7 @@ public interface ConDoctorMapper extends BaseMapper , MPJBaseMapper getFreeDoctor(CondepartmentId departmentId); - @Select("select id,sicks_name as sicksName from con_sicks where status = 1 and del_flag = 0 and FIND_IN_SET(id,#{sickIds})") + @Select("select id,sicks_name as sicksName from con_sicks where status = 1 and del_flag = 0 and INSTR(',' || #{sickIds} || ',', ',' || id || ',') > 0") List> selectSickName(String sickIds); @Select("SELECT * FROM con_doctor WHERE status = '1' AND del_flag = '0'") @@ -136,11 +136,11 @@ public interface ConDoctorMapper extends BaseMapper , MPJBaseMapper 0") int selectDoctorNumBySickId(String sickId); - @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})") + @Select("select count(1) from con_doctor where del_flag = '0' AND status = 1 AND doctor_status != 3 AND INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0") int selectDoctorNumByDepartmentId(String departmentId); List selectListByQuery(@Param("conDoctor") ConDoctor conDoctor); @@ -170,7 +170,7 @@ public interface ConDoctorMapper extends BaseMapper , MPJBaseMapper 0 and resource_id = #{resourceId} and doctor_status != 3") int selectDoctorNumByDepartmentIdAndResourceId(String departmentId,String resourceId); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorSchedulingDateMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorSchedulingDateMapper.java index 563da78..cb591d4 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorSchedulingDateMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConDoctorSchedulingDateMapper.java @@ -20,7 +20,7 @@ public interface ConDoctorSchedulingDateMapper extends BaseMapper queryPageList(IPage 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 >= DATE_FORMAT(SYSDATE(),'%Y-%m-%d') 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 >= TO_CHAR(SYSDATE,'YYYY-MM-DD') order by scheduling_date") public List 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= DATE_FORMAT(#{schedulingDate},'%Y-%m-%d')") + @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')") public List 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 >= DATE(NOW()) and week = #{week}") + @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}") public List selectDoctorSchedulingByWeekAndUserId(String userId, String week); @@ -46,7 +46,7 @@ public interface ConDoctorSchedulingDateMapper extends BaseMapper selectDoctorScheduleDate(String doctorId, Date schedulingDate, String type); Boolean insertBatchSomeColumn(@Param("list") List list); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConResourceMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConResourceMapper.java index c7d7947..3f6f97c 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConResourceMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConResourceMapper.java @@ -56,8 +56,8 @@ public interface ConResourceMapper extends BaseMapper { List selectResourceInfoByDepartId(@Param("idList") List 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 selectHospitalListVersionTwo(); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConServiceMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConServiceMapper.java index 2e9a7e7..a366441 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConServiceMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConServiceMapper.java @@ -20,7 +20,7 @@ public interface ConServiceMapper extends BaseMapper { 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 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')") + @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')") int selectConServiceByDoctrIdExist(String doctorId, Date scheduleDate); } diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java index 1b8cad1..041ff01 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSessionMapper.java @@ -114,24 +114,24 @@ public interface ConSessionMapper extends BaseMapper , 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 = NOW() where im_id = #{imId}") + @Update("update con_session set reply_time = SYSDATE 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 TIMESTAMPDIFF(HOUR,reply_time,now()) >= 4 and content_status = 3 and content_type = 1") + @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") int sessionSendMessageExpire(); - @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)") + @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)") int sessionSendMessageExpireAnother(); - @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)") + @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)") int sessionSendMessageExpireVideo(); - @Update("update con_session set content_status = 4 where DATE(NOW()) > session_date and content_type = 2 and content_status = 3 ") + @Update("update con_session set content_status = 4 where TRUNC(SYSDATE) > 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 , MPJBaseMapper * * @return */ - @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") + @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") int changeEndUserAndProfessiorHelper(String expireHour); /** @@ -186,7 +186,7 @@ public interface ConSessionMapper extends BaseMapper , MPJBaseMapper * * @return */ - @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") + @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") int endSession(String expireHour); /** @@ -194,7 +194,7 @@ public interface ConSessionMapper extends BaseMapper , MPJBaseMapper * * @return */ - @Update("update con_session set content_status = 8 where content_type != 2 and timestampdiff(HOUR,create_time,NOW()) >= #{expireHour} and tf_reply = 0") + @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") int expireMeaaage(String expireHour); @@ -244,7 +244,7 @@ public interface ConSessionMapper extends BaseMapper , MPJBaseMapper ConSession selectConSessionByImIdOnlyBackUp(String imId); - @Update("update con_session_qh set reply_time = NOW() where im_id = #{imId}") + @Update("update con_session_qh set reply_time = SYSDATE where im_id = #{imId}") int updateSessionReplyTimeBackUp(String imId); @Update("update con_session_qh set tf_reply = 1 where id = #{id}") @@ -282,7 +282,7 @@ public interface ConSessionMapper extends BaseMapper , MPJBaseMapper List selectSessionListByUserIdHelperAnother(IPage 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 timestampdiff(HOUR,reply_time,NOW()) >= #{expireHour} and tf_reply = 1") + @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") List selectEndSession(String expireHour); diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSicksMapper.java b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSicksMapper.java index 58b3cf7..db593f2 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSicksMapper.java +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/ConSicksMapper.java @@ -55,11 +55,11 @@ public interface ConSicksMapper extends BaseMapper { List selectListByIdList(@Param("idList") List idList); - @Select("select count(1) from con_sicks where del_flag = 0 and status = 1 and FIND_IN_SET(department_id,#{departmentId})") + @Select("select count(1) from con_sicks where del_flag = 0 and status = 1 and INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0") int selectSickNumByDepartment(String departmentId); - @Select("select id from con_sicks where del_flag = 0 and status = 1 and FIND_IN_SET(department_id,#{departmentId})") + @Select("select id from con_sicks where del_flag = 0 and status = 1 and INSTR(',' || #{departmentId} || ',', ',' || department_id || ',') > 0") List selectSickNumByDepartmentByDepartment(String departmentId); @@ -71,11 +71,11 @@ public interface ConSicksMapper extends BaseMapper { List selectSickByTopAndHaveDoctor(); - @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") + @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") List selectSickListByDepartment(String departmentId); - @Select("select GROUP_CONCAT(id) from con_sicks where department_id = #{departmentId}") + @Select("select LISTAGG(id, ',') WITHIN GROUP (ORDER BY id) from con_sicks where department_id = #{departmentId}") String selectSickListByDepartmentIdAnother(String departmentId); @Update("update con_sicks set department_id = #{departmentOne} where department_id = #{departmentTwo}") diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConCostStatisticsMapper.xml b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConCostStatisticsMapper.xml index 57ca1bb..9de979a 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConCostStatisticsMapper.xml +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConCostStatisticsMapper.xml @@ -73,7 +73,7 @@ and cct.operate_type = '5' - and DATE_FORMAT(cct.income_time, '%Y-%m')=#{date} + and TO_CHAR(cct.income_time, 'YYYY-MM')=#{date} and cct.user_id = #{userId} @@ -87,8 +87,8 @@ FROM con_session cs where cs.content_type is not null and cs.content_type <> '4' - and DATE_FORMAT(cs.create_time, '%Y-%m') = #{date} - group by cs.content_type, DATE_FORMAT(cs.create_time, '%Y-%m') + and TO_CHAR(cs.create_time, 'YYYY-MM') = #{date} + group by cs.content_type, TO_CHAR(cs.create_time, 'YYYY-MM') @@ -99,7 +99,7 @@ and cs.content_type <> '4' and cs.to_account = #{userId} and session_type = 1 - and DATE_FORMAT(cs.create_time, '%Y-%m') = #{date} + and TO_CHAR(cs.create_time, 'YYYY-MM') = #{date} group by cs.content_type, session_status @@ -108,7 +108,7 @@ from con_cost_statistics ccs - 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') + and ccs.income_time between TRUNC(#{conCostStatistics.startDate}) and TRUNC(#{conCostStatistics.endDate}) + 1 - 1/86400 and ccs.operate_type != '5' @@ -172,7 +172,7 @@ and content_status > 3 - and DATE_FORMAT(create_time, '%Y-%m') = #{date} + and TO_CHAR(create_time, 'YYYY-MM') = #{date} SELECT * - FROM `con_department` + FROM con_department WHERE office_level = 2 and del_flag = 0 and status = 1 @@ -133,10 +124,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 diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConHelperSchedulingHistoryMapper.xml b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConHelperSchedulingHistoryMapper.xml index dc10787..bb5df4a 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConHelperSchedulingHistoryMapper.xml +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConHelperSchedulingHistoryMapper.xml @@ -2,31 +2,31 @@ diff --git a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConResourceMapper.xml b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConResourceMapper.xml index e3f22a7..b2b2586 100644 --- a/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConResourceMapper.xml +++ b/health-consultation/health-consultation-biz/src/main/java/com/renkang/consultation/mapper/xml/ConResourceMapper.xml @@ -21,7 +21,7 @@ AND cr.address LIKE CONCAT('%', #{conResource.province}, '%') - AND cr.`level` = #{conResource.level} + AND cr."level" = #{conResource.level} AND cr.status = #{conResource.status} @@ -42,7 +42,7 @@ @@ -667,10 +667,10 @@ - AND c.create_time >= DATE_FORMAT(#{conSession.startDate}, '%Y-%m-%d 00:00:00') + AND c.create_time >= TRUNC(#{conSession.startDate}) - AND c.create_time <= DATE_FORMAT(#{conSession.endDate}, '%Y-%m-%d 23:59:59') + AND c.create_time <= TRUNC(#{conSession.endDate}) + 1 - 1/86400 diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java index 3855422..f9ce5dc 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/aed/mapper/AedEquipmentMangerMapper.java @@ -59,7 +59,7 @@ public interface AedEquipmentMangerMapper extends BaseMapper * 按单位统计aed设备数量 * @return 统计数据 */ - @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)") + @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 statisticAedByOrgCode(); List getLocation(@Param("idList") List idList); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewItemMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewItemMapper.xml index 9d901f2..19b5025 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewItemMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/EmergencySchedulesNewItemMapper.xml @@ -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 date_format(t2.schedules_time, '%Y-%m-%d') = #{time} + AND TO_CHAR(t2.schedules_time, 'YYYY-MM-DD') = #{time} ORDER BY t3.type, t1.sort diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/OrderMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/OrderMapper.xml index 90c8afa..408a750 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/OrderMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/OrderMapper.xml @@ -11,7 +11,7 @@ WHERE operation_user_id is not null and operation_user_id != '' and session_now = 1 - and DATE_FORMAT(create_time, '%Y-%m-%d') = #{targetDateStr} + and TO_CHAR(create_time, 'YYYY-MM-DD') = #{targetDateStr} GROUP BY operation_user_id @@ -26,7 +26,7 @@ WHERE major_user_id is not null and major_user_id != '' and session_now = 1 - and DATE_FORMAT(create_time, '%Y-%m-%d') = #{targetDateStr} + and TO_CHAR(create_time, 'YYYY-MM-DD') = #{targetDateStr} GROUP BY major_user_id @@ -58,7 +58,7 @@ - AND year(create_time) = year(now()) + AND EXTRACT(YEAR FROM create_time) = EXTRACT(YEAR FROM SYSDATE) GROUP BY center_id diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleCustomMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleCustomMapper.xml index 6b8d3a6..4499d23 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleCustomMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleCustomMapper.xml @@ -11,7 +11,7 @@ and type = #{amOrPm} - and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date} + and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{date} and status = 1 and del_flag = 0 @@ -30,7 +30,7 @@ user_sex FROM emergency_schedule_custom WHERE user_id = #{userId} - AND YEAR (schedule_time) = #{year} - AND MONTH (schedule_time) = #{month} + AND EXTRACT(YEAR FROM schedule_time) = #{year} + AND EXTRACT(MONTH FROM schedule_time) = #{month} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleRecordMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleRecordMapper.xml index 6a7635b..b530219 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleRecordMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ScheduleRecordMapper.xml @@ -11,7 +11,7 @@ and type = #{amOrPm} - and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date} + and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{date} GROUP BY @@ -22,16 +22,16 @@ - 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` = #{type} + AND type = #{type} - AND `name` LIKE CONCAT('%', #{hospitalName}, '%') + AND name LIKE CONCAT('%', #{hospitalName}, '%') ORDER BY id diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/TblUserHelpMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/TblUserHelpMapper.xml index 12b18d2..eda0eee 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/TblUserHelpMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/TblUserHelpMapper.xml @@ -15,13 +15,13 @@ ) AS sub_query - YEAR(help_time) = YEAR(NOW()) + EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE) - DATE_FORMAT(help_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') + TO_CHAR(help_time, 'YYYYMM') = TO_CHAR(SYSDATE, 'YYYYMM') - YEARWEEK(date_format(help_time, '%Y-%m-%d')) = YEARWEEK(now()) + TO_CHAR(help_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW') GROUP BY type diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ZymbulanceDataMapper.xml b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ZymbulanceDataMapper.xml index d2b1dca..2c5f45a 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ZymbulanceDataMapper.xml +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/mapper/xml/ZymbulanceDataMapper.xml @@ -9,16 +9,16 @@ del_flag = 0 - -- 周 - AND YEARWEEK(start_time, 1) = YEARWEEK(NOW(), 1) + -- 周(使用 ISO 年-周 比较) + AND TO_CHAR(start_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW') -- 月 - AND DATE_FORMAT(start_time,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') + AND TO_CHAR(start_time,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM') -- 年 - AND YEAR(start_time) =YEAR(NOW()) + AND EXTRACT(YEAR FROM start_time) = EXTRACT(YEAR FROM SYSDATE) GROUP BY injury_level diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/TblUserHelpServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/TblUserHelpServiceImpl.java index ce9fb9f..dfa400c 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/TblUserHelpServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/TblUserHelpServiceImpl.java @@ -110,13 +110,13 @@ public class TblUserHelpServiceImpl extends ServiceImpl { List selectDeviceUserId(@Param("deptId") String deptId); - @Select(value = "SELECT LEFT(org_code,6) as orgCode, count(1) as medicalCount FROM `watch_device` GROUP BY LEFT(org_code,6)") + @Select(value = "SELECT LEFT(org_code,6) as orgCode, count(1) as medicalCount FROM watch_device GROUP BY LEFT(org_code,6)") List getWatchSum(); List selectWearCount(@Param("orgCodeList") List orgCodeList); diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchMapper.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchMapper.java index eaafc20..124e77b 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchMapper.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchMapper.java @@ -16,10 +16,10 @@ import java.util.Map; @Mapper public interface WatchMapper { - @Select("SELECT DATEDIFF(NOW(), (SELECT bind_date FROM watch_bind_his WHERE bind_user_id = #{id} ORDER BY bind_date DESC limit 1)) AS days") + @Select("SELECT ROUND(SYSDATE - (SELECT CAST(bind_date AS DATE) FROM watch_bind_his WHERE bind_user_id = #{id} ORDER BY bind_date DESC limit 1)) AS days") Integer getUseDays(@Param("id") String id); - @Select("select length(nm.status) minutes,DATE_FORMAT(n.data_date,'%Y-%m-%d') dataDate from watch_data_sleep_new_minute nm left join watch_data_sleep_new n on nm.sleep_id = n.id where n.id = ( select id from watch_data_sleep_new WHERE bind_user_id = #{id} order by data_date desc limit 1) and nm.STATUS not like '%55%' limit 1") + @Select("select length(nm.status) minutes,TO_CHAR(n.data_date,'YYYY-MM-DD') dataDate from watch_data_sleep_new_minute nm left join watch_data_sleep_new n on nm.sleep_id = n.id where n.id = ( select id from watch_data_sleep_new WHERE bind_user_id = #{id} order by data_date desc limit 1) and nm.STATUS not like '%55%' limit 1") WatchDataDTO getDataSleep(@Param("id") String id); /** @@ -30,22 +30,22 @@ public interface WatchMapper { @Select("SELECT long_duration_total minutes, data_date dataDate FROM watch_stat_user_info_day_sleep WHERE user_id = #{id} and long_duration_total > 0 ORDER BY data_date DESC LIMIT 1;") WatchDataDTO getDataSleepNew(@Param("id") String id); - @Select("SELECT AVG(TIMESTAMPDIFF(MINUTE, d.fall_asleep_time, d.wake_up_time)) AS aveMinute FROM watch_data_sleep_new_day d LEFT JOIN watch_data_sleep_new n ON d.sleep_id = n.id WHERE n.id IN (SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id})") + @Select("SELECT AVG(ROUND((CAST(d.wake_up_time AS DATE) - CAST(d.fall_asleep_time AS DATE)) * 24 * 60)) AS aveMinute FROM watch_data_sleep_new_day d LEFT JOIN watch_data_sleep_new n ON d.sleep_id = n.id WHERE n.id IN (SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id})") Double getAverageSleep(@Param("id") String id); - @Select("select MAX(data_value) dataValue,data_date dataDate from watch_data_steps force index(bind_user_id) where bind_user_id = #{id} group by data_date order by data_date desc limit 1") + @Select("select MAX(data_value) dataValue,data_date dataDate from watch_data_steps where bind_user_id = #{id} group by data_date order by data_date desc limit 1") WatchDataDTO getDataSteps(@Param("id") String id); @Select("SELECT SUM(data_value) FROM watch_data_distance WHERE bind_user_id = #{id}") Integer getDataDistance(@Param("id") String id); - @Select("SELECT CAST(data_value as SIGNED) dataValue,data_date dataDate from watch_data_heart_rate where bind_user_id = #{id} order by time_stamp desc limit 1") + @Select("SELECT CAST(data_value as INTEGER) dataValue,data_date dataDate from watch_data_heart_rate where bind_user_id = #{id} order by time_stamp desc limit 1") WatchDataDTO getHeartRate(@Param("id") String id); - @Select("SELECT CAST(data_value as SIGNED ) dataValue,data_date dataDate from watch_data_spo2 where bind_user_id = #{id} order by time_stamp desc limit 1") + @Select("SELECT CAST(data_value as INTEGER) dataValue,data_date dataDate from watch_data_spo2 where bind_user_id = #{id} order by time_stamp desc limit 1") WatchDataDTO getDataSpo2(@Param("id") String id); - @Select("select cast(data_value as SIGNED ) dataValue,data_date dataDate from watch_data_stress where bind_user_id = #{id} order by end_time_stamp desc limit 1") + @Select("select cast(data_value as INTEGER) dataValue,data_date dataDate from watch_data_stress where bind_user_id = #{id} order by end_time_stamp desc limit 1") WatchDataDTO getStress(@Param("id") String id); @Select("select data_value dataValue,data_date dataDate from watch_data_temperature where bind_user_id = #{id} order by time_stamp desc limit 1") @@ -54,17 +54,17 @@ public interface WatchMapper { @Select("SELECT * FROM watch_data_sleep_new_minute WHERE sleep_id IN (SELECT id FROM watch_data_sleep_new WHERE sleep_flag= '1' AND bind_user_id = #{id} AND data_date = #{date})") List getNewMinuteList(@Param("id") String id, @Param("date") Date date); - @Select("SELECT DISTINCT data_date dateDate FROM watch_data_sleep_new WHERE DATE_FORMAT( data_date, '%Y-%m' ) = DATE_FORMAT(#{date}, '%Y-%m' ) AND bind_user_id = #{id} AND sleep_flag = '1'") + @Select("SELECT DISTINCT data_date dateDate FROM watch_data_sleep_new WHERE TO_CHAR( data_date, 'YYYY-MM' ) = TO_CHAR(#{date}, 'YYYY-MM' ) AND bind_user_id = #{id} AND sleep_flag = '1'") List getSleepNewDateList(@Param("id") String id, @Param("date") Date date); List> selectData(@Param("id") String id, @Param("format") String format, @Param("date") String date); - @Select("select max(data_value) `maxValue`,min(data_value) `minValue`,max(skin_tempera) maxSkinValue,min(skin_tempera) minSkinValue from watch_data_temperature where bind_user_id = #{id} and data_date = #{date}") + @Select("select max(data_value) maxValue,min(data_value) minValue,max(skin_tempera) maxSkinValue,min(skin_tempera) minSkinValue from watch_data_temperature where bind_user_id = #{id} and data_date = #{date}") Map getMapValue(@Param("id") String id, @Param("date") Date date); List> getData(@Param("id") String id, @Param("format") String format, @Param("date") String date); - @Select("select max(data_value) `maxValue`,min(data_value) `minValue` from watch_data_heart_rate where bind_user_id = #{id} and data_date = #{date}") + @Select("select max(data_value) maxValue,min(data_value) minValue from watch_data_heart_rate where bind_user_id = #{id} and data_date = #{date}") Map getMapRate(@Param("id") String id, @Param("date") Date date); Map getMapRateValue(@Param("id") String id, @Param("date") Date date); @@ -73,12 +73,12 @@ public interface WatchMapper { List> getMapDataValueFormat(@Param("id") String id, @Param("date") String date, @Param("format") String format); - @Select("select max(data_value) `maxValue`,min(data_value) `minValue` ,round(avg(data_value)) `avgValue` from watch_data_stress where bind_user_id = #{id} and data_date = #{date}") + @Select("select max(data_value) maxValue,min(data_value) minValue ,round(avg(data_value)) avgValue from watch_data_stress where bind_user_id = #{id} and data_date = #{date}") Map getMapStress(@Param("id") String id, @Param("date") Date date); List> getMapStressValueFormat(@Param("id") String id, @Param("date") String date, @Param("format") String format); - @Select("select max(data_value) `maxValue`,min(data_value) `minValue` from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date}") + @Select("select max(data_value) maxValue,min(data_value) minValue from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date}") Map getMapSpo2(@Param("id") String id, @Param("date") Date date); @Select("select data_value lastValue from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date} order by time_stamp desc limit 1") diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchUserDataMapper.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchUserDataMapper.java index e6e308f..4a88281 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchUserDataMapper.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/WatchUserDataMapper.java @@ -64,6 +64,6 @@ public interface WatchUserDataMapper extends BaseMapper { * @param watchNo * @return */ - @Select("SELECT MAX(data_date) FROM `watch_user_data` where bind_user_id = #{userId} and watch_no = #{watchNo}") + @Select("SELECT MAX(data_date) FROM watch_user_data where bind_user_id = #{userId} and watch_no = #{watchNo}") Date lastDataDate(@Param("userId") String userId,@Param("watchNo") String watchNo); } diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/provider/WatchStatisticsProvider.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/provider/WatchStatisticsProvider.java index f9518e1..8cdb4b1 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/provider/WatchStatisticsProvider.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/provider/WatchStatisticsProvider.java @@ -51,7 +51,7 @@ public class WatchStatisticsProvider { sb.append(orgCodeStr) .append(" as org_code, event_type, count(distinct bind_user_id) as warning_count ") .append("from watch_monitor_data ") - .append("where warn_time between date_format(#{start}, '%Y-%m-%d 00:00:00') and date_format(#{end}, '%Y-%m-%d 23:59:59') ") + .append("where warn_time between TRUNC(#{start}) and TRUNC(#{end}) + 1 - 1/86400 ") .append("and event_type in ('heart_rate','spo2','stress','temperature_anomalies') "); if (StrUtil.isNotEmpty(filter.getOrgCodeLeaf())) { sb.append("and org_code like CONCAT(#{orgCodeLeaf},'%')"); @@ -65,11 +65,11 @@ public class WatchStatisticsProvider { public String wearingDetail() { return "SELECT " + " max(wd.bind_user_id) as bind_user_id," + - " max(distinct wbh.bind_date) as bind_date," + + " max(wbh.bind_date) as bind_date," + " count(distinct wud.data_date) as date_count," + " wd.watch_no," + " max(wd.org_code) as watch_org_code," + - " GROUP_CONCAT(distinct wud.data_date order by wud.data_date) as date_list" + + " LISTAGG(wud.data_date, ',') WITHIN GROUP (ORDER BY wud.data_date) as date_list" + " FROM watch_device wd" + " LEFT JOIN watch_bind_his wbh" + " ON wd.watch_no = wbh.watch_no AND wd.bind_user_id = wbh.bind_user_id AND wbh.bind_end_date IS NULL" + diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchDataSleepNewMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchDataSleepNewMapper.xml index f34cbfe..9d0a2a9 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchDataSleepNewMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchDataSleepNewMapper.xml @@ -55,13 +55,13 @@ - and DATE_FORMAT(wdsn.data_date,'%Y-%m') =DATE_FORMAT(#{req.dateMonth},'%Y-%m') + and TO_CHAR(wdsn.data_date,'YYYY-MM') = TO_CHAR(#{req.dateMonth},'YYYY-MM') - and year(wdsn.data_date) =#{req.dateYear} + and EXTRACT(YEAR FROM wdsn.data_date) = #{req.dateYear} diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMapper.xml index 3503a75..9ada8be 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMapper.xml @@ -6,7 +6,7 @@ s.data_value stepsValue, d.data_value distanceValue, c.data_value calorieValue, - DATE_FORMAT(s.data_date, '%Y-%m-%d') dataDate + TO_CHAR(s.data_date, 'YYYY-MM-DD') dataDate FROM watch_data_steps s LEFT JOIN watch_data_distance d ON s.bind_user_id = d.bind_user_id @@ -15,7 +15,7 @@ AND s.data_date = c.data_date WHERE s.bind_user_id = #{id} - AND DATE_FORMAT(s.data_date, #{format}) = #{date} + AND TO_CHAR(s.data_date, #{format}) = #{date} ORDER BY s.data_date ASC @@ -29,36 +29,33 @@ watch_data_temperature WHERE bind_user_id = #{id} - AND DATE_FORMAT( data_date, #{format}) = #{date} + AND TO_CHAR(data_date, #{format}) = #{date} ORDER BY data_date ASC @@ -80,7 +77,7 @@ watch_data_stress WHERE bind_user_id = #{id} - AND DATE_FORMAT( data_date, #{format}) = #{date} + AND TO_CHAR(data_date, #{format}) = #{date} ORDER BY start_time_stamp DESC @@ -92,7 +89,7 @@ watch_data_spo2 WHERE bind_user_id = #{id} - AND DATE_FORMAT( data_date,#{format}) = #{date} + AND TO_CHAR(data_date, #{format}) = #{date} ORDER BY time_stamp DESC @@ -109,18 +106,19 @@ WHERE bind_user_id = #{id} AND event_type = #{type} - AND DATE_FORMAT( data_date, '%Y-%m' ) = #{date} + AND TO_CHAR(data_date, 'YYYY-MM') = #{date} ORDER BY data_date DESC - LIMIT #{startNo}, #{pageSize} + LIMIT #{pageSize} OFFSET #{startNo} diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMonitorDataMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMonitorDataMapper.xml index f4a9855..255cf3c 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMonitorDataMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchMonitorDataMapper.xml @@ -173,7 +173,7 @@ ) as day_count, (select count(0) from watch_monitor_data - where yearweek(data_date,1) = yearweek(curdate(),1) + where TO_CHAR(data_date,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW') and @@ -183,7 +183,7 @@ ) as week_count, (select count(0) from watch_monitor_data - where date_format(data_date, '%Y-%m') = date_format(curdate(), '%Y-%m') + where TO_CHAR(data_date, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM') and @@ -195,9 +195,9 @@ diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayHeartRateMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayHeartRateMapper.xml index 30eef6b..0768778 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayHeartRateMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayHeartRateMapper.xml @@ -6,18 +6,18 @@ SELECT id as id , user_id as userId, - max_value as `maxValue`, + max_value as maxValue, min_value as minValue, avg_value as avgValue, silence_max_value as silenceMaxValue, silence_avg_value as silenceAvgValue, silence_min_value as silenceMinValue, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM - `watch_stat_user_info_day_heart_rate` + watch_stat_user_info_day_heart_rate WHERE - YEAR ( data_date )= #{dateYear} + EXTRACT(YEAR FROM data_date) = #{dateYear} and user_id=#{userId} @@ -76,33 +76,33 @@ watch_stat_user_info_day_heart_rate a LEFT JOIN (SELECT DISTINCT bind_user_id FROM watch_monitor_data - WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL + WHERE warn_time BETWEEN - 0 DAY - 7 DAY - 1 MONTH - 1 YEAR - 0 DAY + TRUNC(SYSDATE) + TRUNC(SYSDATE) - 7 + ADD_MONTHS(TRUNC(SYSDATE), -1) + ADD_MONTHS(TRUNC(SYSDATE), -12) + TRUNC(SYSDATE) - ) AND CURDATE() + AND SYSDATE AND event_type = 'heart_rate') b ON a.user_id = b.bind_user_id WHERE - a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL + a.data_date BETWEEN - 0 DAY - 7 DAY - 1 MONTH - 1 YEAR - 0 DAY + TRUNC(SYSDATE) + TRUNC(SYSDATE) - 7 + ADD_MONTHS(TRUNC(SYSDATE), -1) + ADD_MONTHS(TRUNC(SYSDATE), -12) + TRUNC(SYSDATE) - ) AND CURDATE() + AND SYSDATE AND a.org_code like concat('%',#{orgCode},'%') GROUP BY - a.user_id; + a.user_id - - INSERT INTO watch_stat_user_info_day_heart_rate ( id, user_id, max_value, min_value, avg_value, silence_max_value, silence_min_value, silence_avg_value, last_upload_time, new_value, silence_new_value, data_date, org_code ) ( + INSERT INTO watch_stat_user_info_day_heart_rate ( id, user_id, max_value, min_value, avg_value, silence_max_value, silence_min_value, silence_avg_value, last_upload_time, new_value, silence_new_value, data_date, org_code ) SELECT #{id,jdbcType=VARCHAR}, bind_user_id, - IFNULL( MAX( wd.data_value ), 0 ), - IFNULL( MIN( wd.data_value ), 0 ), - IFNULL( AVG( wd.data_value ), 0 ), - IFNULL( MAX( wd.silence_value ), 0 ), - IFNULL( MIN( wd.silence_value ), 0 ), - IFNULL( AVG( wd.silence_value ), 0 ), - IFNULL(MAX( wd.time_stamp ),NOW()), + NVL( MAX( wd.data_value ), 0 ), + NVL( MIN( wd.data_value ), 0 ), + NVL( AVG( wd.data_value ), 0 ), + NVL( MAX( wd.silence_value ), 0 ), + NVL( MIN( wd.silence_value ), 0 ), + NVL( AVG( wd.silence_value ), 0 ), + NVL(MAX( wd.time_stamp ),SYSDATE), MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ), MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ), data_date, @@ -354,10 +333,10 @@ FROM ( SELECT - *, + t.*, ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn FROM - watch_data_heart_rate + watch_data_heart_rate t WHERE bind_user_id = #{userId,jdbcType=VARCHAR} and data_date = #{dataDate,jdbcType=DATE} @@ -365,44 +344,43 @@ GROUP BY wd.bind_user_id, wd.data_date - ); - + - UPDATE watch_stat_user_info_day_heart_rate stat - LEFT JOIN ( + MERGE INTO watch_stat_user_info_day_heart_rate stat + USING ( SELECT - wd.bind_user_id, - wd.data_date, - IFNULL( MAX( wd.data_value ), 0 ) AS max_value, - IFNULL( MIN( wd.data_value ), 0 ) AS min_value, - IFNULL( AVG( wd.data_value ), 0 ) AS avg_value, - IFNULL( MAX( wd.silence_value ), 0 ) AS silence_max_value, - IFNULL( MIN( wd.silence_value ), 0 ) AS silence_min_value, - IFNULL( AVG( wd.silence_value ), 0 ) AS silence_avg_value, - IFNULL(MAX( wd.time_stamp ),NOW()) AS last_upload_time, - MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ) AS new_value, - MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ) AS silence_new_value + wd.bind_user_id, + wd.data_date, + NVL( MAX( wd.data_value ), 0 ) AS max_value, + NVL( MIN( wd.data_value ), 0 ) AS min_value, + NVL( AVG( wd.data_value ), 0 ) AS avg_value, + NVL( MAX( wd.silence_value ), 0 ) AS silence_max_value, + NVL( MIN( wd.silence_value ), 0 ) AS silence_min_value, + NVL( AVG( wd.silence_value ), 0 ) AS silence_avg_value, + NVL(MAX( wd.time_stamp ),SYSDATE) AS last_upload_time, + MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ) AS new_value, + MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ) AS silence_new_value FROM - ( SELECT *, ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn FROM watch_data_heart_rate where bind_user_id = #{userId,jdbcType=VARCHAR} - and data_date = #{dataDate,jdbcType=DATE} ) wd + ( SELECT t.*, ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn + FROM watch_data_heart_rate t + WHERE bind_user_id = #{userId,jdbcType=VARCHAR} + AND data_date = #{dataDate,jdbcType=DATE} ) wd GROUP BY - wd.bind_user_id, - wd.data_date - ) DATA ON stat.user_id = DATA.bind_user_id - AND stat.data_date = DATA.data_date - SET stat.max_value = DATA.max_value, - stat.min_value = DATA.min_value, - stat.avg_value = DATA.avg_value, - stat.silence_max_value = DATA.silence_max_value, - stat.silence_min_value = DATA.silence_min_value, - stat.silence_avg_value = DATA.silence_avg_value, - stat.last_upload_time = DATA.last_upload_time, - stat.new_value = DATA.new_value, - stat.silence_new_value = COALESCE ( NULLIF( DATA.silence_new_value, 0 ), stat.silence_new_value ), - stat.org_code = #{orgCode,jdbcType=VARCHAR} - where stat.user_id = #{userId,jdbcType=VARCHAR} - and stat.data_date = #{dataDate,jdbcType=DATE}; + wd.bind_user_id, + wd.data_date + ) DATA ON (stat.user_id = DATA.bind_user_id AND stat.data_date = DATA.data_date) + WHEN MATCHED THEN UPDATE SET + stat.max_value = DATA.max_value, + stat.min_value = DATA.min_value, + stat.avg_value = DATA.avg_value, + stat.silence_max_value = DATA.silence_max_value, + stat.silence_min_value = DATA.silence_min_value, + stat.silence_avg_value = DATA.silence_avg_value, + stat.last_upload_time = DATA.last_upload_time, + stat.new_value = DATA.new_value, + stat.silence_new_value = COALESCE ( NULLIF( DATA.silence_new_value, 0 ), stat.silence_new_value ), + stat.org_code = #{orgCode,jdbcType=VARCHAR} - \ No newline at end of file + diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySdcMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySdcMapper.xml index 09b4cd2..fc4fc3e 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySdcMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySdcMapper.xml @@ -10,7 +10,7 @@ distance_value as distanceValue, calorie_value as calorieValue, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM `watch_stat_user_info_day_sdc` WHERE diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySleepMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySleepMapper.xml index 925a741..c80454a 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySleepMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySleepMapper.xml @@ -16,7 +16,7 @@ deep_sleep_times as deepSleepTimes, light_sleep_times as lightSleepTimes, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM `watch_stat_user_info_day_sleep` WHERE diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySpo2Mapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySpo2Mapper.xml index b32285d..2d77326 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySpo2Mapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDaySpo2Mapper.xml @@ -10,7 +10,7 @@ min_value as minValue, avg_value as avgValue, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM `watch_stat_user_info_day_spo2` WHERE diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayStressMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayStressMapper.xml index 4360bce..e7be21f 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayStressMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayStressMapper.xml @@ -10,7 +10,7 @@ min_value as minValue, avg_value as avgValue, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM `watch_stat_user_info_day_stress` WHERE diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayTempMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayTempMapper.xml index 92acf79..184be30 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayTempMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchStatUserInfoDayTempMapper.xml @@ -7,16 +7,16 @@ SELECT id as id , user_id as userId, - max_value as `maxValueB`, + max_value as maxValueB, min_value as minValueB, avg_value as avgValueB, skin_max_value as skinMaxValueB, skin_min_value as skinMinValueB, skin_avg_value as skinAvgValueB, data_date as dataDate, - DATE_FORMAT( data_date, '%m' ) AS dateStr + TO_CHAR( data_date, 'MM' ) AS dateStr FROM - `watch_stat_user_info_day_temp` + watch_stat_user_info_day_temp WHERE YEAR ( data_date )= #{dateYear} and diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchUserDataMapper.xml b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchUserDataMapper.xml index fb149c7..3a45924 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchUserDataMapper.xml +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/mapper/xml/WatchUserDataMapper.xml @@ -79,24 +79,24 @@