信创改造
This commit is contained in:
@@ -30,9 +30,13 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<!-- 达梦8数据库驱动 -->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<groupId>com.dameng</groupId>
|
||||
<artifactId>DmJdbcDriver8</artifactId>
|
||||
<version>${dm.jdbc.version}</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/../../lib/DmJdbcDriver8.jar</systemPath>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
+16
-2
@@ -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<DataSource> 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文件报错
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+7
@@ -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();
|
||||
|
||||
+12
-13
@@ -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
|
||||
|
||||
+1
-1
@@ -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("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()));
|
||||
|
||||
+1
-1
@@ -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")
|
||||
|
||||
+1
-1
@@ -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 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")
|
||||
|
||||
+4
-4
@@ -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 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<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 FIND_IN_SET(#{sickId},good_at_sickness)")
|
||||
@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")
|
||||
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<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 FIND_IN_SET(department_id,#{departmentId}) and resource_id = #{resourceId} and doctor_status != 3")
|
||||
@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")
|
||||
int selectDoctorNumByDepartmentIdAndResourceId(String departmentId,String resourceId);
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -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 >= 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<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 >= 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<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 >= 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<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 = DATE_FORMAT(#{schedulingDate},'%Y-%m-%d') and type = #{type}")
|
||||
@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}")
|
||||
public List<ConDoctorSchedulingDateListDO> selectDoctorScheduleDate(String doctorId, Date schedulingDate, String type);
|
||||
|
||||
Boolean insertBatchSomeColumn(@Param("list") List<ConDoctorSchedulingDate> list);
|
||||
|
||||
+2
-2
@@ -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();
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -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 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);
|
||||
|
||||
}
|
||||
|
||||
+10
-10
@@ -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 = 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<ConSession> , 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<ConSession> , 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<ConSession> , 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<ConSession> , 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<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 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<ConSession> selectEndSession(String expireHour);
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -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 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<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 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<ConSicksDO> 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}")
|
||||
|
||||
+6
-6
@@ -73,7 +73,7 @@
|
||||
and cct.operate_type = '5'
|
||||
</if>
|
||||
<if test='date != "1"'>
|
||||
and DATE_FORMAT(cct.income_time, '%Y-%m')=#{date}
|
||||
and TO_CHAR(cct.income_time, 'YYYY-MM')=#{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 <> '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')
|
||||
</select>
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
and cs.content_type <> '4'
|
||||
and cs.to_account = #{userId} and session_type = 1
|
||||
<if test="date != null and date != ''">
|
||||
and DATE_FORMAT(cs.create_time, '%Y-%m') = #{date}
|
||||
and TO_CHAR(cs.create_time, 'YYYY-MM') = #{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 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
|
||||
</if>
|
||||
<if test='conCostStatistics.operateType != null and conCostStatistics.operateType != "" and conCostStatistics.operateType == "0"'>
|
||||
and ccs.operate_type != '5'
|
||||
@@ -172,7 +172,7 @@
|
||||
and content_status > 3
|
||||
</if>
|
||||
<if test="date != null and date != ''">
|
||||
and DATE_FORMAT(create_time, '%Y-%m') = #{date}
|
||||
and TO_CHAR(create_time, 'YYYY-MM') = #{date}
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectByDoctorIds" resultType="com.renkang.consultation.entity.ConCostStatistics">
|
||||
|
||||
+11
-20
@@ -74,7 +74,7 @@
|
||||
where status = 1
|
||||
and del_flag = 0
|
||||
<if test="officeparid == null">
|
||||
and ifnull(officeparid,'') = ''
|
||||
and NVL(officeparid,'') = ''
|
||||
</if>
|
||||
<if test="officeparid != null">
|
||||
and officeparid = #{officeparid}
|
||||
@@ -97,25 +97,16 @@
|
||||
order by tf_top desc, sort
|
||||
</select>
|
||||
<select id="selectChildAll" resultType="com.renkang.consultation.entity.ConDepartment">
|
||||
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 * FROM con_department
|
||||
WHERE id != #{departmentId}
|
||||
START WITH id = #{departmentId}
|
||||
CONNECT BY PRIOR id = officeparid
|
||||
ORDER BY LEVEL, id
|
||||
</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
|
||||
@@ -123,7 +114,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
|
||||
@@ -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
|
||||
</select>
|
||||
|
||||
<select id="selectChildById" resultType="com.renkang.consultation.entity.ConDepartment">
|
||||
@@ -174,7 +165,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 if(officeparid is null or officeparid = '','0',officeparid) = #{pid}
|
||||
where CASE WHEN (officeparid IS NULL OR officeparid = '') THEN '0' ELSE officeparid END = #{pid}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
+7
-7
@@ -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` >= #{dto.startTime} and `time` <= #{dto.endTime}
|
||||
and "time" >= #{dto.startTime} and "time" <= #{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 DATE_FORMAT(time, '%Y-%m-%d') AS `time` FROM con_helper_scheduling_history
|
||||
SELECT TO_CHAR("time", 'YYYY-MM-DD') AS scheduleTime FROM con_helper_scheduling_history
|
||||
<where>
|
||||
<!-- 日期范围条件 -->
|
||||
<if test="dto.startTime != null and dto.startTime != ''">
|
||||
AND `time` >= DATE_FORMAT(#{dto.startTime}, '%Y-%m-%d 00:00:00')
|
||||
AND "time" >= TO_DATE(#{dto.startTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</if>
|
||||
<if test="dto.endTime != null and dto.endTime != ''">
|
||||
AND `time` <= DATE_FORMAT(#{dto.endTime}, '%Y-%m-%d 23:59:59')
|
||||
AND "time" <= TO_DATE(#{dto.endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</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>
|
||||
|
||||
+2
-2
@@ -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}
|
||||
@@ -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
|
||||
|
||||
+4
-4
@@ -542,8 +542,8 @@
|
||||
<foreach item="id" collection="doctorIds" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
AND YEAR(session_date) = YEAR(CURRENT_DATE())
|
||||
AND MONTH(session_date) = MONTH(CURRENT_DATE())
|
||||
AND EXTRACT(YEAR FROM session_date) = EXTRACT(YEAR FROM SYSDATE)
|
||||
AND EXTRACT(MONTH FROM session_date) = EXTRACT(MONTH FROM SYSDATE)
|
||||
</select>
|
||||
|
||||
|
||||
@@ -667,10 +667,10 @@
|
||||
|
||||
<!-- 日期范围条件 -->
|
||||
<if test="conSession.startDate != null and conSession.startDate != ''">
|
||||
AND c.create_time >= DATE_FORMAT(#{conSession.startDate}, '%Y-%m-%d 00:00:00')
|
||||
AND c.create_time >= TRUNC(#{conSession.startDate})
|
||||
</if>
|
||||
<if test="conSession.endDate != null and conSession.endDate != ''">
|
||||
AND c.create_time <= DATE_FORMAT(#{conSession.endDate}, '%Y-%m-%d 23:59:59')
|
||||
AND c.create_time <= TRUNC(#{conSession.endDate}) + 1 - 1/86400
|
||||
</if>
|
||||
|
||||
<!-- ID 和账户条件 -->
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ public interface AedEquipmentMangerMapper extends BaseMapper<AedEquipmentManger>
|
||||
* 按单位统计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<JSONObject> statisticAedByOrgCode();
|
||||
|
||||
List<AedLocationEquipment> getLocation(@Param("idList") List<Long> idList);
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
+3
-3
@@ -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
|
||||
</select>
|
||||
@@ -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
|
||||
</select>
|
||||
@@ -58,7 +58,7 @@
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="type != null and type != '' and '0'.toString().equals(type)">
|
||||
AND year(create_time) = year(now())
|
||||
AND EXTRACT(YEAR FROM create_time) = EXTRACT(YEAR FROM SYSDATE)
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY center_id
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@
|
||||
and type = #{amOrPm}
|
||||
</if>
|
||||
<if test="date != null and date != ''">
|
||||
and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date}
|
||||
and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{date}
|
||||
</if>
|
||||
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}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+5
-5
@@ -11,7 +11,7 @@
|
||||
and type = #{amOrPm}
|
||||
</if>
|
||||
<if test="date != null and date != ''">
|
||||
and DATE_FORMAT(schedule_time, '%Y-%m-%d') = #{date}
|
||||
and TO_CHAR(schedule_time, 'YYYY-MM-DD') = #{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,
|
||||
MONTH(schedule_time) AS month,
|
||||
DAY(schedule_time) AS day
|
||||
EXTRACT(MONTH FROM schedule_time) AS month,
|
||||
EXTRACT(DAY FROM schedule_time) AS day
|
||||
FROM
|
||||
emergency_schedule_record
|
||||
<where>
|
||||
<if test="year != null and year != ''">
|
||||
and YEAR (schedule_time) = #{year}
|
||||
and EXTRACT(YEAR FROM schedule_time) = #{year}
|
||||
</if>
|
||||
<if test="month != null and month != ''">
|
||||
and MONTH(schedule_time) = #{month}
|
||||
and EXTRACT(MONTH FROM schedule_time) = #{month}
|
||||
</if>
|
||||
<if test="userId != null and userId != ''">
|
||||
and user_id = #{userId}
|
||||
|
||||
+6
-6
@@ -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>
|
||||
|
||||
+3
-3
@@ -15,13 +15,13 @@
|
||||
) AS sub_query
|
||||
<where>
|
||||
<if test="condition != null and condition != '' and condition == 2">
|
||||
YEAR(help_time) = YEAR(NOW())
|
||||
EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)
|
||||
</if>
|
||||
<if test="condition != null and condition != '' and condition == 3">
|
||||
DATE_FORMAT(help_time, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')
|
||||
TO_CHAR(help_time, 'YYYYMM') = TO_CHAR(SYSDATE, 'YYYYMM')
|
||||
</if>
|
||||
<if test="condition != null and condition != '' and condition == 4">
|
||||
YEARWEEK(date_format(help_time, '%Y-%m-%d')) = YEARWEEK(now())
|
||||
TO_CHAR(help_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW')
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY type
|
||||
|
||||
+4
-4
@@ -9,16 +9,16 @@
|
||||
<where>
|
||||
del_flag = 0
|
||||
<if test="type != null and type == 0">
|
||||
-- 周
|
||||
AND YEARWEEK(start_time, 1) = YEARWEEK(NOW(), 1)
|
||||
-- 周(使用 ISO 年-周 比较)
|
||||
AND TO_CHAR(start_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW')
|
||||
</if>
|
||||
<if test="type != null and type == 1">
|
||||
-- 月
|
||||
AND DATE_FORMAT(start_time,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
|
||||
AND TO_CHAR(start_time,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM')
|
||||
</if>
|
||||
<if test="type != null and type == 2">
|
||||
-- 年
|
||||
AND YEAR(start_time) =YEAR(NOW())
|
||||
AND EXTRACT(YEAR FROM start_time) = EXTRACT(YEAR FROM SYSDATE)
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY injury_level
|
||||
|
||||
+6
-6
@@ -110,13 +110,13 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
|
||||
// 1:全部,2:年,3:月,4:周
|
||||
switch (dto.getCondition()) {
|
||||
case "2":
|
||||
queryWrapper.apply("DATE_FORMAT(help_time,'%Y') = DATE_FORMAT(NOW(),'%Y')");
|
||||
queryWrapper.apply("EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)");
|
||||
break;
|
||||
case "3":
|
||||
queryWrapper.apply("DATE_FORMAT(help_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')");
|
||||
queryWrapper.apply("TO_CHAR(help_time,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')");
|
||||
break;
|
||||
case "4":
|
||||
queryWrapper.apply("YEARWEEK(date_format(help_time,'%Y-%m-%d'), 1) = YEARWEEK(now(), 1)");
|
||||
queryWrapper.apply("TO_CHAR(help_time,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW')");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -224,13 +224,13 @@ public class TblUserHelpServiceImpl extends ServiceImpl<TblUserHelpMapper, TblUs
|
||||
// 1:全部,2:年,3:月,4:周
|
||||
switch (condition) {
|
||||
case "2":
|
||||
queryWrapper.apply("DATE_FORMAT(help_time,'%Y') = DATE_FORMAT(NOW(),'%Y')");
|
||||
queryWrapper.apply("EXTRACT(YEAR FROM help_time) = EXTRACT(YEAR FROM SYSDATE)");
|
||||
break;
|
||||
case "3":
|
||||
queryWrapper.apply("DATE_FORMAT(help_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m')");
|
||||
queryWrapper.apply("TO_CHAR(help_time,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')");
|
||||
break;
|
||||
case "4":
|
||||
queryWrapper.apply("YEARWEEK(date_format(help_time,'%Y-%m-%d')) = YEARWEEK(now())");
|
||||
queryWrapper.apply("TO_CHAR(help_time,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW')");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ public class WatchDataWorkoutTrace implements Serializable {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(title = "时间戳")
|
||||
@TableField("`utc_time`")
|
||||
@TableField("utc_time")
|
||||
private java.util.Date utcTime;
|
||||
/**
|
||||
* 数据是否合法
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ public interface WatchDeviceMapper extends MPJBaseMapper<WatchDevice> {
|
||||
|
||||
List<String> 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<JSONObject> getWatchSum();
|
||||
|
||||
List<WearCount> selectWearCount(@Param("orgCodeList") List<String> orgCodeList);
|
||||
|
||||
+12
-12
@@ -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<WatchDataSleepNewMinute> 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<Date> getSleepNewDateList(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> 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<String, Object> getMapValue(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> 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<String, Object> getMapRate(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
Map<String, Object> getMapRateValue(@Param("id") String id, @Param("date") Date date);
|
||||
@@ -73,12 +73,12 @@ public interface WatchMapper {
|
||||
|
||||
List<Map<String, Object>> 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<String, Object> getMapStress(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> 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<String, Object> 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")
|
||||
|
||||
+1
-1
@@ -64,6 +64,6 @@ public interface WatchUserDataMapper extends BaseMapper<WatchUserData> {
|
||||
* @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);
|
||||
}
|
||||
|
||||
+3
-3
@@ -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" +
|
||||
|
||||
+2
-2
@@ -55,13 +55,13 @@
|
||||
</if>
|
||||
<if test="req.flag!=null and req.flag==3">
|
||||
<if test="req.dateMonth!=null">
|
||||
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')
|
||||
</if>
|
||||
|
||||
</if>
|
||||
<if test="req.flag!=null and req.flag==4">
|
||||
<if test="req.dateYear!=null">
|
||||
and year(wdsn.data_date) =#{req.dateYear}
|
||||
and EXTRACT(YEAR FROM wdsn.data_date) = #{req.dateYear}
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
|
||||
+18
-20
@@ -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
|
||||
</select>
|
||||
@@ -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
|
||||
</select>
|
||||
<select id="getMapRateValue" resultType="java.util.Map">
|
||||
SELECT
|
||||
max( data_value ) `maxValue`,
|
||||
min( data_value ) `minValue`
|
||||
max( data_value ) maxValue,
|
||||
min( data_value ) minValue
|
||||
FROM
|
||||
watch_monitor_data
|
||||
WHERE
|
||||
event_type = 'heart_rate'
|
||||
AND data_value != NULL
|
||||
AND bind_user_id = #{id}
|
||||
AND data_date BETWEEN (
|
||||
DATE_SUB(#{date}, INTERVAL WEEKDAY(#{date}) DAY ))
|
||||
AND (
|
||||
DATE_SUB(#{date}, INTERVAL WEEKDAY(#{date}) - 6 DAY ))
|
||||
AND data_date BETWEEN TRUNC(#{date}, 'IW') AND TRUNC(#{date}, 'IW') + 6
|
||||
</select>
|
||||
<select id="getMapRateValueFormat" resultType="java.util.Map">
|
||||
SELECT
|
||||
max( data_value ) `maxValue`,
|
||||
min( data_value ) `minValue`
|
||||
max( data_value ) maxValue,
|
||||
min( data_value ) minValue
|
||||
FROM
|
||||
watch_monitor_data
|
||||
WHERE
|
||||
event_type = 'heart_rate'
|
||||
AND data_value != NULL
|
||||
AND bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format} ) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
</select>
|
||||
<select id="getMapDataValueFormat" resultType="java.util.Map">
|
||||
SELECT
|
||||
@@ -68,7 +65,7 @@
|
||||
watch_data_heart_rate
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format} ) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
time_stamp ASC
|
||||
</select>
|
||||
@@ -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
|
||||
</select>
|
||||
@@ -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
|
||||
</select>
|
||||
@@ -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}
|
||||
</select>
|
||||
<select id="getAverageDay" resultType="java.util.Map">
|
||||
SELECT
|
||||
CAST( AVG( total_minutes ) AS UNSIGNED ) AS minutes,
|
||||
ROUND( AVG( total_minutes ) ) AS minutes,
|
||||
( SELECT COUNT(*) FROM watch_data_sleep_new_day WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE
|
||||
bind_user_id = #{id}) ) AS sum
|
||||
FROM
|
||||
( SELECT TIMESTAMPDIFF( MINUTE, fall_asleep_time, wake_up_time ) AS total_minutes FROM watch_data_sleep_new_day
|
||||
WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id}) ) AS subquery;
|
||||
( SELECT ROUND((CAST(wake_up_time AS DATE) - CAST(fall_asleep_time AS DATE)) * 24 * 60) AS total_minutes
|
||||
FROM watch_data_sleep_new_day
|
||||
WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id}) ) subquery
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+5
-5
@@ -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')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -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')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -195,9 +195,9 @@
|
||||
</select>
|
||||
|
||||
<select id="monitorDayStats" resultType="com.renkang.watch.api.bean.response.MonitorDayStats">
|
||||
select data_date as date, year(data_date) as year, month(data_date) as month, dayofmonth(data_date) as day, count(0) as count
|
||||
select data_date as date, EXTRACT(YEAR FROM data_date) as year, EXTRACT(MONTH FROM data_date) as month, EXTRACT(DAY FROM data_date) as day, count(0) as count
|
||||
from watch_monitor_data
|
||||
where date_format(data_date, '%Y-%m') = date_format(#{monthDate,jdbcType=DATE}, '%Y-%m')
|
||||
where TO_CHAR(data_date, 'YYYY-MM') = TO_CHAR(#{monthDate,jdbcType=DATE}, 'YYYY-MM')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -214,7 +214,7 @@
|
||||
WHERE
|
||||
lon_gd IS NOT NULL
|
||||
AND lat_gd IS NOT NULL
|
||||
AND ifnull(address_gd, '') = ''
|
||||
AND NVL(address_gd, '') = ''
|
||||
limit 100
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+124
-146
@@ -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
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) 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
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
|
||||
<select id="selectSpoDataByOrgCode" parameterType="com.renkang.watch.dto.BigScreenDTO" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
@@ -124,33 +124,33 @@
|
||||
watch_stat_user_info_day_spo2 a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'spo') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectStressDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -171,33 +171,33 @@
|
||||
watch_stat_user_info_day_stress a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'stress') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectTempDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -218,33 +218,33 @@
|
||||
watch_stat_user_info_day_temp a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'temp') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectSdcDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -253,42 +253,22 @@
|
||||
FROM
|
||||
watch_stat_user_info_day_sdc a
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectSleepDataByOrgCode" resultType="com.renkang.watch.vo.BigScreenSleepVo">
|
||||
<!-- SELECT
|
||||
data_date,
|
||||
SUM(long_count) AS long_count,
|
||||
SUM(long_duration_total) AS long_duration,
|
||||
SUM(short_count) AS short_count,
|
||||
SUM(short_duration_total) AS short_duration,
|
||||
AVG(sleep_avg) AS average_duration,
|
||||
SUM(long_duration_total) + SUM(short_duration_total) AS sleep_duration,
|
||||
(COUNT(DISTINCT user_id) * 1440) - (SUM(long_duration_total) + SUM(short_duration_total)) AS awake_duration -->
|
||||
|
||||
<!-- SELECT
|
||||
data_date,
|
||||
SUM(COALESCE(deep_sleep_times, 0)) AS long_duration,
|
||||
SUM(COALESCE(light_sleep_times, 0)) AS short_duration,
|
||||
AVG(COALESCE(deep_sleep_times, 0) + COALESCE(light_sleep_times, 0)) AS average_duration,
|
||||
AVG(COALESCE(light_sleep_times, 0)) AS avg_short_duration,
|
||||
AVG(COALESCE(deep_sleep_times, 0)) AS avg_long_duration,
|
||||
SUM(COALESCE(deep_sleep_times, 0)) + SUM(COALESCE(light_sleep_times, 0)) AS sleep_duration
|
||||
上面这个是正常按照数据库取值的 但是 说深睡浅睡反了 下面的是反着取值的 待排查问题原因-->
|
||||
|
||||
SELECT
|
||||
data_date,
|
||||
SUM(COALESCE(light_sleep_times, 0)) AS long_duration,
|
||||
@@ -300,22 +280,22 @@
|
||||
FROM
|
||||
watch_stat_user_info_day_sleep
|
||||
WHERE
|
||||
data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
data_date
|
||||
ORDER BY
|
||||
data_date DESC;
|
||||
data_date DESC
|
||||
</select>
|
||||
<select id="findUserNewDataByUserIds" resultType="com.renkang.watch.entity.WatchStatUserInfoDayHeartRate">
|
||||
SELECT
|
||||
@@ -331,22 +311,21 @@
|
||||
</foreach>
|
||||
GROUP BY user_id ) temp
|
||||
ON wsd.user_id = temp.user_id
|
||||
AND wsd.data_date = temp.latest_date;
|
||||
AND wsd.data_date = temp.latest_date
|
||||
</select>
|
||||
|
||||
<!-- 切记 此代码不能直接平移至四合一项目 ,该sql只适用mysql8.0及以上版本 ,四合一项目开发测试环境的mysql版本过低 , 但不影响正式环境-->
|
||||
<insert id="insertStat">
|
||||
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
|
||||
);
|
||||
</insert>
|
||||
|
||||
<!-- 切记 此代码不能直接平移至四合一项目 ,该sql只适用mysql8.0及以上版本 ,四合一项目开发测试环境的mysql版本过低 , 但不影响正式环境-->
|
||||
<!-- MySQL 的 UPDATE ... LEFT JOIN ... SET 语法已改写为达梦兼容的 MERGE INTO -->
|
||||
<update id="updateStat">
|
||||
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}
|
||||
</update>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
+4
-4
@@ -79,24 +79,24 @@
|
||||
|
||||
<select id="distanceMap" resultType="java.util.Map">
|
||||
select data_value dateValue,
|
||||
DATE_FORMAT(sdc_date, '%Y-%m-%d') sdcDate
|
||||
TO_CHAR(sdc_date, 'YYYY-MM-DD') sdcDate
|
||||
from watch_data_distance
|
||||
WHERE sdc_date BETWEEN #{date1} AND #{date2}
|
||||
</select>
|
||||
<select id="heartRateMap" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_heart_rate
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="spo2Map" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_spo2
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="stressMap" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_stress
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="getUserDataByWeekly" resultType="java.util.Map">
|
||||
SELECT 'heart_rate' AS metric, AVG(avg_value) AS value
|
||||
|
||||
@@ -140,10 +140,13 @@
|
||||
</dependency>
|
||||
|
||||
<!-- 数据库驱动 -->
|
||||
<!--mysql-->
|
||||
<!-- 达梦8数据库驱动 -->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<groupId>com.dameng</groupId>
|
||||
<artifactId>DmJdbcDriver8</artifactId>
|
||||
<version>${dm.jdbc.version}</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/../lib/DmJdbcDriver8.jar</systemPath>
|
||||
</dependency>
|
||||
<!-- sqlserver-->
|
||||
<dependency>
|
||||
|
||||
@@ -307,7 +307,10 @@ public class CommonUtils {
|
||||
String sqlserver = "SQL SERVER";
|
||||
if (dbType.indexOf(DataBaseConstant.DB_TYPE_MYSQL) >= 0) {
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_ORACLE) >= 0 || dbType.indexOf(DataBaseConstant.DB_TYPE_DM) >= 0) {
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_DM) >= 0) {
|
||||
// 达梦数据库:getDatabaseProductName() 返回 "DM DBMS",需在 ORACLE 之前判断
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_DM;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_ORACLE) >= 0) {
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_SQLSERVER) >= 0 || dbType.indexOf(sqlserver) >= 0) {
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER;
|
||||
|
||||
@@ -90,6 +90,9 @@ public class DbTypeUtils {
|
||||
return DataBaseConstant.DB_TYPE_DB2;
|
||||
} else if (DbType.HSQL.equals(dbType)) {
|
||||
return DataBaseConstant.DB_TYPE_HSQL;
|
||||
} else if (DbType.DM.equals(dbType)) {
|
||||
// 达梦数据库单独返回 DM 类型,避免被归入 Oracle 分支
|
||||
return DataBaseConstant.DB_TYPE_DM;
|
||||
} else if (dbTypeIsOracle(dbType)) {
|
||||
return DataBaseConstant.DB_TYPE_ORACLE;
|
||||
} else if (dbTypeIsSqlServer(dbType)) {
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package org.jeecg.config.mybatis;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
|
||||
@@ -119,7 +120,7 @@ public class MybatisPlusSaasConfig {
|
||||
// 青海动态表名设置
|
||||
interceptor.addInnerInterceptor(dynamicTableNameQhInterceptor());
|
||||
//update-end-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
|
||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.DM));
|
||||
//【jeecg-boot/issues/3847】增加@Version乐观锁支持
|
||||
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
|
||||
return interceptor;
|
||||
|
||||
+3
-3
@@ -80,15 +80,15 @@
|
||||
SELECT
|
||||
device_code,
|
||||
SUM(CASE
|
||||
WHEN YEARWEEK(exam_time, 1) = YEARWEEK(NOW(), 1) THEN 1
|
||||
WHEN TO_CHAR(exam_time, 'IYYY-IW') = TO_CHAR(SYSDATE, 'IYYY-IW') THEN 1
|
||||
ELSE 0
|
||||
END) AS week_count,
|
||||
SUM(CASE
|
||||
WHEN YEAR(exam_time) = YEAR(NOW()) AND MONTH(create_time) = MONTH(NOW()) THEN 1
|
||||
WHEN EXTRACT(YEAR FROM exam_time) = EXTRACT(YEAR FROM SYSDATE) AND EXTRACT(MONTH FROM create_time) = EXTRACT(MONTH FROM SYSDATE) THEN 1
|
||||
ELSE 0
|
||||
END) AS month_count,
|
||||
SUM(CASE
|
||||
WHEN YEAR(exam_time) = YEAR(NOW()) THEN 1
|
||||
WHEN EXTRACT(YEAR FROM exam_time) = EXTRACT(YEAR FROM SYSDATE) THEN 1
|
||||
ELSE 0
|
||||
END) AS year_count,
|
||||
COUNT(*) AS total_count
|
||||
|
||||
+16
-16
@@ -257,11 +257,11 @@ public class ArchivesBasePhysiqueServiceImpl implements ArchivesBasePhysiqueServ
|
||||
//周数据和月数据查询每天的平均值 , 年数据查询每月的记录值
|
||||
trendWrapper.selectAvg(column,PhysiqueDataCommonTrendVO.CommonTrend::getDataValue);
|
||||
if(4 == scope){
|
||||
trendWrapper.selectAs("DATE_FORMAT(create_time, '%Y-%m')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(create_time, '%Y-%m')");
|
||||
trendWrapper.selectAs("TO_CHAR(create_time, 'YYYY-MM')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(create_time, 'YYYY-MM')");
|
||||
}else {
|
||||
trendWrapper.selectAs("DATE_FORMAT(create_time, '%Y-%m-%d')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(create_time, '%Y-%m-%d')");
|
||||
trendWrapper.selectAs("TO_CHAR(create_time, 'YYYY-MM-DD')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(create_time, 'YYYY-MM-DD')");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -292,11 +292,11 @@ public class ArchivesBasePhysiqueServiceImpl implements ArchivesBasePhysiqueServ
|
||||
//周数据和月数据查询每天的平均值 , 年数据查询每月的记录值
|
||||
trendWrapper.selectAvg(UserDataRecordBmi::getWeight,PhysiqueDataCommonTrendVO.CommonTrend::getDataValue);
|
||||
if(4 == scope){
|
||||
trendWrapper.selectAs("DATE_FORMAT(data_date, '%Y-%m')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(data_date, '%Y-%m')");
|
||||
trendWrapper.selectAs("TO_CHAR(data_date, 'YYYY-MM')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(data_date, 'YYYY-MM')");
|
||||
}else {
|
||||
trendWrapper.selectAs("DATE_FORMAT(data_date, '%Y-%m-%d')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(data_date, '%Y-%m-%d')");
|
||||
trendWrapper.selectAs("TO_CHAR(data_date, 'YYYY-MM-DD')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(data_date, 'YYYY-MM-DD')");
|
||||
}
|
||||
}
|
||||
}else {
|
||||
@@ -313,11 +313,11 @@ public class ArchivesBasePhysiqueServiceImpl implements ArchivesBasePhysiqueServ
|
||||
//周数据和月数据查询每天的平均值 , 年数据查询每月的记录值
|
||||
trendWrapper.selectAvg(UserDataRecordBmi::getBmi,PhysiqueDataCommonTrendVO.CommonTrend::getDataValue);
|
||||
if(4 == scope){
|
||||
trendWrapper.selectAs("DATE_FORMAT(data_date, '%Y-%m')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(data_date, '%Y-%m')");
|
||||
trendWrapper.selectAs("TO_CHAR(data_date, 'YYYY-MM')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(data_date, 'YYYY-MM')");
|
||||
}else {
|
||||
trendWrapper.selectAs("DATE_FORMAT(data_date, '%Y-%m-%d')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(data_date, '%Y-%m-%d')");
|
||||
trendWrapper.selectAs("TO_CHAR(data_date, 'YYYY-MM-DD')",PhysiqueDataCommonTrendVO.CommonTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(data_date, 'YYYY-MM-DD')");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -372,11 +372,11 @@ public class ArchivesBasePhysiqueServiceImpl implements ArchivesBasePhysiqueServ
|
||||
trendWrapper.selectAvg(UserDataRecordBloodPressure::getDbp,PhysiqueDataBloodTrendVO.BloodTrend::getDbp);
|
||||
trendWrapper.selectAvg(UserDataRecordBloodPressure::getSbp,PhysiqueDataBloodTrendVO.BloodTrend::getSbp);
|
||||
if(4 == scope){
|
||||
trendWrapper.selectAs("DATE_FORMAT(create_time, '%Y-%m')",PhysiqueDataBloodTrendVO.BloodTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(create_time, '%Y-%m')");
|
||||
trendWrapper.selectAs("TO_CHAR(create_time, 'YYYY-MM')",PhysiqueDataBloodTrendVO.BloodTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(create_time, 'YYYY-MM')");
|
||||
}else {
|
||||
trendWrapper.selectAs("DATE_FORMAT(create_time, '%Y-%m-%d')",PhysiqueDataBloodTrendVO.BloodTrend::getTime);
|
||||
trendWrapper.groupBy("DATE_FORMAT(create_time, '%Y-%m-%d')");
|
||||
trendWrapper.selectAs("TO_CHAR(create_time, 'YYYY-MM-DD')",PhysiqueDataBloodTrendVO.BloodTrend::getTime);
|
||||
trendWrapper.groupBy("TO_CHAR(create_time, 'YYYY-MM-DD')");
|
||||
}
|
||||
List<PhysiqueDataBloodTrendVO.BloodTrend> dataList = recordBloodMapper.selectJoinList(PhysiqueDataBloodTrendVO.BloodTrend.class,trendWrapper);
|
||||
if(ObjectUtil.isNotEmpty(dataList)){
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@ public class SysIosRedeem implements Serializable {
|
||||
/**
|
||||
* 使用状态 0-未使用 1-已使用
|
||||
*/
|
||||
@TableField(value = "`status`")
|
||||
@TableField(value = "status")
|
||||
@Schema(title = "使用状态 0-未使用 1-已使用")
|
||||
private Byte status;
|
||||
/**
|
||||
|
||||
+4
-4
@@ -328,7 +328,7 @@ public interface SysUserMapper extends BaseMapper<SysUser>, MPJBaseMapper<SysUse
|
||||
* 分组统计所有部门下的员工数量
|
||||
* @return 所有orgCode的统计人数数据
|
||||
*/
|
||||
@Select("SELECT org_code as orgCode,COUNT(1) as peopleNumber FROM `sys_user` where person_type =1 and del_flag = 0 and `status` =1 and org_code is not null GROUP BY org_code")
|
||||
@Select("SELECT org_code as orgCode,COUNT(1) as peopleNumber FROM sys_user where person_type =1 and del_flag = 0 and status =1 and org_code is not null GROUP BY org_code")
|
||||
List<OrgPeopleNumberVO> statisticOrgPeopleNumber();
|
||||
|
||||
/**
|
||||
@@ -336,7 +336,7 @@ public interface SysUserMapper extends BaseMapper<SysUser>, MPJBaseMapper<SysUse
|
||||
* @param orgCode 部门
|
||||
* @return 人数
|
||||
*/
|
||||
@Select("SELECT COUNT(1) FROM `sys_user` where person_type =1 and del_flag = 0 and `status` =1 and org_code is not null and org_code like concat(#{orgCode},'%')")
|
||||
@Select("SELECT COUNT(1) FROM sys_user where person_type =1 and del_flag = 0 and status =1 and org_code is not null and org_code like concat(#{orgCode},'%')")
|
||||
Long statisticPeopleNumberByOrgCode(@Param("orgCode") String orgCode);
|
||||
|
||||
/**
|
||||
@@ -346,8 +346,8 @@ public interface SysUserMapper extends BaseMapper<SysUser>, MPJBaseMapper<SysUse
|
||||
*/
|
||||
@Select("<script> " +
|
||||
"SELECT id as id,org_code as orgCode " +
|
||||
"FROM `sys_user` " +
|
||||
"where del_flag = 0 and `status` =1 and id in " +
|
||||
"FROM sys_user " +
|
||||
"where del_flag = 0 and status =1 and id in " +
|
||||
"<foreach item='item' index='index' collection='userIdSet' open='(' separator=',' close=')'> #{item} </foreach> " +
|
||||
"</script> ")
|
||||
@MapKey("id")
|
||||
|
||||
+3
@@ -1193,6 +1193,9 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
String dbType = md.getDatabaseProductName().toLowerCase();
|
||||
if (dbType.indexOf(DataBaseConstant.DB_TYPE_MYSQL.toLowerCase()) >= 0) {
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_DM.toLowerCase()) >= 0) {
|
||||
// 达梦数据库:getDatabaseProductName() 返回 "DM DBMS"
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_DM;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_ORACLE.toLowerCase()) >= 0) {
|
||||
DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE;
|
||||
} else if (dbType.indexOf(DataBaseConstant.DB_TYPE_SQLSERVER.toLowerCase()) >= 0 || dbType.indexOf(DataBaseConstant.DB_TYPE_SQL_SERVER_BLANK) >= 0) {
|
||||
|
||||
+1
-1
@@ -439,7 +439,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
|
||||
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysUser::getStatus, "1")
|
||||
.eq(SysUser::getDelFlag, "0")
|
||||
.apply("FIND_IN_SET({0}, depart_ids) > 0", departId);
|
||||
.apply("INSTR(',' || depart_ids || ',', ',' || {0} || ',') > 0", departId);
|
||||
|
||||
List<SysUser> sysUsers = sysUserMapper.selectList(queryWrapper);
|
||||
if (CollectionUtil.isEmpty(sysUsers)) {
|
||||
|
||||
Binary file not shown.
@@ -46,7 +46,8 @@
|
||||
<!-- 数据库驱动 -->
|
||||
<oracle-database.version>21.13.0.0</oracle-database.version>
|
||||
<mssql-jdbc.version>12.6.1.jre8</mssql-jdbc.version>
|
||||
<mysql.version>8.4.0</mysql.version>
|
||||
<!-- 达梦8数据库驱动版本 -->
|
||||
<dm.jdbc.version>8.1.0</dm.jdbc.version>
|
||||
<postgresql.version>42.6.2</postgresql.version>
|
||||
|
||||
<!-- 持久层 -->
|
||||
|
||||
Reference in New Issue
Block a user