From 2a3d4e4c082403aeb31d4c1c499a6107ffa835af Mon Sep 17 00:00:00 2001 From: sinake <sinake1@qq.com> Date: 星期六, 13 九月 2025 14:22:55 +0800 Subject: [PATCH] 同步数据接口和随访率改成只有已完成 --- .idea/jarRepositories.xml | 16 + ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java | 239 +++++++++++++++++++++++++++-- ruoyi-admin/pom.xml | 6 ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/CollectHISController.java | 7 ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ICollectHISService.java | 11 + ruoyi-admin/src/main/resources/application.yml | 4 smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java | 2 ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml | 22 ++ smartor/src/main/java/com/smartor/domain/PatArchive.java | 6 smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java | 4 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java | 7 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 73 +++++++++ ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 3 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java | 6 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 2 ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java | 28 +++ ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsMapper.java | 28 +++ ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml | 7 ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java | 3 19 files changed, 435 insertions(+), 39 deletions(-) diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index 0507aeb..24d19a8 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -9,6 +9,11 @@ <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> + <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> <option name="url" value="https://repo.maven.apache.org/maven2" /> </remote-repository> <remote-repository> @@ -32,14 +37,19 @@ <option name="url" value="https://repo1.maven.org/maven2" /> </remote-repository> <remote-repository> + <option name="id" value="aliyun" /> + <option name="name" value="aliyun" /> + <option name="url" value="https://maven.aliyun.com/repository/public" /> + </remote-repository> + <remote-repository> <option name="id" value="snapshots" /> <option name="name" value="Snapshot Repositories" /> <option name="url" value="http://211.90.241.109:7008/repository/maven-snapshots/" /> </remote-repository> <remote-repository> - <option name="id" value="aliyun" /> - <option name="name" value="aliyun" /> - <option name="url" value="https://maven.aliyun.com/repository/public" /> + <option name="id" value="central" /> + <option name="name" value="central" /> + <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> </remote-repository> <remote-repository> <option name="id" value="central" /> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index c83d8c9..8f2bf2c 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -180,6 +180,12 @@ <artifactId>postgresql</artifactId> <version>42.6.0</version> <!-- 璇锋牴鎹渶瑕侀�夋嫨鏈�鏂扮増鏈� --> </dependency> + <!--oracle--> + <dependency> + <groupId>com.oracle.database.jdbc</groupId> + <artifactId>ojdbc8</artifactId> + <scope>runtime</scope> + </dependency> </dependencies> <build> <plugins> diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index ee520fe..24f1d1f 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -114,8 +114,8 @@ mapperLocations: classpath*:mapper/**/*Mapper.xml # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠� configLocation: classpath:mybatis/mybatis-config.xml - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + #configuration: + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 娌冲崡SSO閰嶇疆锛堜附姘寸敤涓嶅埌锛� diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java index ea0120d..f8b00b9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUserDept.java @@ -32,6 +32,13 @@ private Long userId; /** + * 鐢ㄦ埛缂栧彿 + */ + @ApiModelProperty("鐢ㄦ埛缂栧彿") + @Excel(name = "鐢ㄦ埛缂栧彿") + private String userCode; + + /** * 閮ㄩ棬绫诲瀷 */ @ApiModelProperty("閮ㄩ棬绫诲瀷") diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java index 99a2fc2..2ec23d9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/sms/smsUtils.java @@ -36,7 +36,8 @@ "\"timestamp\": " + timestamp + "," + "\"sign\": \"" + sign + "\"" + "}"; - return HttpUtil.postJsonRequest(url, jsonMsg); + String sendMsg=HttpUtil.postJsonRequest(url, jsonMsg); + return sendMsg; } } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/CollectHISController.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/CollectHISController.java index a5b760f..0de0204 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/CollectHISController.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/CollectHISController.java @@ -31,9 +31,10 @@ @PostMapping("/collect") @ApiOperation("鍚屾鐥呬汉鐩稿叧鏁版嵁") public AjaxResult hnDataGather(@RequestBody HnDataGatherVO hnDataGatherVO) { - log.info("寮�濮嬫寜澶╁悓姝ョ敤鎴锋暟鎹紝鏃堕棿鑼冨洿: {} 鍒� {}", hnDataGatherVO.getStartTime(), hnDataGatherVO.getEndTime()); - Boolean aBoolean = ichService.hnDataGather(hnDataGatherVO); - return AjaxResult.success(aBoolean); + + //Boolean aBoolean = ichService.hnDataGather(hnDataGatherVO); + Integer count= ichService.sync(); + return AjaxResult.success(count); } /** diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java index 44c9a95..7da1dab 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/CollectHISMapper.java @@ -12,6 +12,8 @@ import com.smartor.domain.PatMedOuthosp; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; import java.util.List; import java.util.Map; @@ -43,7 +45,7 @@ * @param sysUser * @return */ - public SysUserDept yhyksxx(SysUser sysUser); + public List<SysUserDept> yhyksxx(SysUser sysUser); /** * 鍑哄叆闄俊鎭� @@ -94,4 +96,28 @@ * @return 閮ㄩ棬淇℃伅闆嗗悎 */ public List<SysDept> selectDeptList(SysDept dept); + + /** + * 鏌ヨ杩斿洖strign sql + * @param sql + * @return + */ + @Select({"${sql}"}) + String getSqlString(@Param("sql") String sql); + + /** + * 鏌ヨsql + * @param sql + * @return + */ + @Select({"${sql}"}) + List<Map<String, Object>> getList(@Param("sql") String sql); + + + /** + * 鏌ヨsql + * @param sql + */ + @Update({"${sql}"}) + Integer updateSql(@Param("sql") String sql); } diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsMapper.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsMapper.java new file mode 100644 index 0000000..ab0ded7 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/mapper/UtilsMapper.java @@ -0,0 +1,28 @@ +package com.ruoyi.quartz.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface UtilsMapper { + + /** + * 鏌ヨsql + * @param sql + * @return + */ + @Select({"${sql}"}) + List<Map<String, Object>> getList(@Param("sql") String sql); + + /** + * 鏇存柊sql + * @param sql + */ + @Update({"${sql}"}) + Integer updateSql(@Param("sql") String sql); +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ICollectHISService.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ICollectHISService.java index 6a38783..205ec30 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ICollectHISService.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ICollectHISService.java @@ -7,6 +7,15 @@ import java.util.List; public interface ICollectHISService { + + /** + * 鏁版嵁閲囬泦 + * + * @param + * @return + */ + public Integer sync(); + /** * 鏌ヨ鎮h�呮。妗堝垪琛� * @@ -24,7 +33,7 @@ public Integer selectPatMedInhospList(PatMedInhosp patMedInhosp); /** - * 娌冲崡鏁版嵁閲囬泦 + * 鏁版嵁閲囬泦 * * @param patMedInhosp * @return diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java index 80a5a2f..d5101e7 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/CollectHISServiceImpl.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.domain.entity.SysUserRole; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.quartz.mapper.CollectHISMapper; +import com.ruoyi.quartz.mapper.UtilsMapper; import com.ruoyi.quartz.service.ICollectHISService; import com.smartor.domain.*; import com.smartor.mapper.*; @@ -20,6 +21,7 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.util.*; +import java.util.stream.Collectors; @Slf4j @Service @@ -57,6 +59,9 @@ @Autowired private ShardingMapper shardingMapper; + @Autowired + private UtilsMapper utilsMapper; + private static final long SHARDING_THRESHOLD = 5_000_000L; private static final String PAT_ARCHIVE_TABLE = "pat_archive"; private static final String PAT_MED_INHOSP_TABLE = "pat_med_inhosp"; @@ -79,6 +84,189 @@ // return 0; // 杩斿洖0琛ㄧず浠诲姟宸叉彁浜ゅ埌鍚庡彴鎵ц // } + /** + * 鍚屾浠诲姟 + * @param + * @return + */ + @Override + public Integer sync() { + Integer count = 0; + List<Map<String, Object>> syncList = utilsMapper.getList("SELECT id,syncName,DATE_FORMAT(ADDDATE(startTime, INTERVAL -1 MINUTE), '%Y-%m-%d %H:%i:%s') startTime FROM sys_sync_time where state=0"); + if (syncList.size() > 0) { + String endTime = chMapper.getSqlString("select sysdate from healthy_inhosp where rownum=1"); + //鍚屾鎮h�呭熀鏈俊鎭� +// List<Map<String, Object>> syncTemp = syncList.stream().filter(row -> row.get("syncName").equals("pat_archive")).collect(Collectors.toList()); +// if (syncTemp.size() > 0) { +// count+=syncArchive(syncTemp.get(0).get("startTime") + "", endTime); +// utilsMapper.updateSql("update sys_sync_time set startTime='"+endTime+"' where syncName='pat_archive' "); +// } + + //鍚屾浣忛櫌鐥呬汉淇℃伅 + List<Map<String, Object>> syncTemp = syncList.stream().filter(row -> row.get("syncName").equals("pat_med_inhosp")).collect(Collectors.toList()); + if (syncTemp.size() > 0) { + count+=syncMedInhosp(syncTemp.get(0).get("startTime") + "", endTime); + utilsMapper.updateSql("update sys_sync_time set startTime='"+endTime+"' where syncName='pat_med_inhosp' "); + } + + //鍚屾闂ㄨ瘖淇℃伅 + syncTemp = syncList.stream().filter(row -> row.get("syncName").equals("pat_med_outhosp")).collect(Collectors.toList()); + if (syncTemp.size() > 0) { + count+=syncOuthosp(syncTemp.get(0).get("startTime") + "", endTime); + utilsMapper.updateSql("update sys_sync_time set startTime='"+endTime+"' where syncName='pat_med_outhosp' "); + } + + + } else { + log.info("鍚屾浠诲姟鏃堕棿sys_sync_time琛ㄤ腑娌℃湁闇�瑕佸悓姝ョ殑浠诲姟"); + } + return count; + } + + /** + * 鍚屾鎮h�呭熀鏈俊鎭� + * @param + * @return + */ + private Integer syncArchive(String startTime,String endTime) { + Integer count = 0; + PatArchive pa = new PatArchive(); + pa.setLastStartTime(startTime); + pa.setLastEndTime(endTime); + List<PatArchive> patArchives = chMapper.selectPatArchiveList(pa); + log.info("鍙悓鎮h�呭熀鏈俊鎭暟閲�" + patArchives.size()); + for (PatArchive pm : patArchives) { + try { + PatArchive pa1 = new PatArchive(); + pa1.setPatientno(pm.getPatientno()); + List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); + if (CollectionUtils.isNotEmpty(patArchives1)) { + pm.setId(patArchives1.get(0).getId()); + pm.setUpdateTime(new Date()); + count += patArchiveMapper.updatePatArchive(pm); + } else { + pm.setCreateTime(new Date()); + count += patArchiveMapper.insertPatArchiveSingle(pm); + + } + }catch (Exception ex){ + log.info("鍙悓鎮h�呭熀鏈俊鎭�:"+ex.getMessage()); + } + } + + return count; + } + + /** + * 鍚屾鍑哄叆闄俊鎭� + * @param + * @return + */ + private Integer syncMedInhosp(String startTime,String endTime) { + Integer count = 0; + PatMedInhosp patMedInhosp = new PatMedInhosp(); + patMedInhosp.setLastStartTime(startTime); + patMedInhosp.setLastEndTime(endTime); + List<PatMedInhosp> patMedInhospList = chMapper.selectPatMedInhospList(patMedInhosp); + log.info("鍙悓姝ュ嚭鍏ラ櫌鏁伴噺" + patMedInhospList.size()); + for (PatMedInhosp pm : patMedInhospList) { + try { + //鎮h�呭熀鏈俊鎭� + PatArchive patArchive = new PatArchive(); + patArchive.setPatientno(pm.getPatno()); + List<PatArchive> patArchives = chMapper.selectPatArchiveList(patArchive); + if (patArchives.size() > 0) { + PatArchive pa1 = new PatArchive(); + pa1.setPatientno(pm.getPatno()); + List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchives.get(0).setId(patArchives1.get(0).getId()); + patArchives.get(0).setUpdateTime(new Date()); + count += patArchiveMapper.updatePatArchive(patArchives.get(0)); + } else { + patArchives.get(0).setCreateTime(new Date()); + count += patArchiveMapper.insertPatArchiveSingle(patArchives.get(0)); + + } + } + }catch (Exception ex) { + log.info("鍚屾偅鑰呭熀鏈俊鎭�:" + ex.getMessage()); + } + + try { + //鍚屾鍑哄叆闄� + PatMedInhosp pmi = new PatMedInhosp(); + pmi.setSerialnum(pm.getSerialnum()); + List<PatMedInhosp> patMedInhospList1 = patMedInhospMapper.selectPatMedInhospListBySerialnum(pmi); + if (patMedInhospList1.size() == 0) { + pm.setCreateTime(new Date()); + count += patMedInhospMapper.insertPatMedInhosp(pm); + } else { + pm.setInhospid(patMedInhospList1.get(0).getInhospid()); + pm.setUpdateTime(new Date()); + count += patMedInhospMapper.updatePatMedInhosp(pm); + } + } catch (Exception ex) { + log.info("鍚屾鍑哄叆闄�:" + ex.getMessage()); + } + } + return count; + } + + /** + * 鍚屾闂ㄨ瘖淇℃伅 + * @param + * @return + */ + private Integer syncOuthosp(String startTime,String endTime) { + Integer count = 0; + PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); + patMedOuthosp.setLastStartTime(startTime); + patMedOuthosp.setLastEndTime(endTime); + List<PatMedOuthosp> patMedOuthosps = chMapper.selectPatMedOuthospList(patMedOuthosp); + log.info("鍚屾闂ㄨ瘖淇℃伅鏁伴噺" + patMedOuthosps.size()); + for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) { + try { + //鎮h�呭熀鏈俊鎭� + PatArchive patArchive = new PatArchive(); + patArchive.setPatientno(patMedOuthosp1.getPatno()); + List<PatArchive> patArchives = chMapper.selectPatArchiveList(patArchive); + if (patArchives.size() > 0) { + PatArchive pa1 = new PatArchive(); + pa1.setPatientno(patMedOuthosp1.getPatno()); + List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveList(pa1); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchives.get(0).setId(patArchives1.get(0).getId()); + patArchives.get(0).setUpdateTime(new Date()); + count += patArchiveMapper.updatePatArchive(patArchives.get(0)); + } else { + patArchives.get(0).setCreateTime(new Date()); + count += patArchiveMapper.insertPatArchiveSingle(patArchives.get(0)); + + } + } + }catch (Exception ex) { + log.info("鍚屾偅鑰呭熀鏈俊鎭�:" + ex.getMessage()); + } + + try { + PatMedOuthosp patMedOuthospTemp = new PatMedOuthosp(); + patMedOuthospTemp.setSerialnum(patMedOuthosp1.getSerialnum()); + List<PatMedOuthosp> patMedOuthospsTemp = chMapper.selectPatMedOuthospList(patMedOuthosp); + if (patMedOuthospsTemp.size() > 0) { + patMedOuthosp1.setUpdateTime(new Date()); + patMedOuthosp1.setId(patMedOuthospsTemp.get(0).getId()); + count += patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp1); + } else { + patMedOuthosp1.setCreateTime(new Date()); + count += patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp1); + } + } catch (Exception ex) { + log.info("鍚屾鍑哄叆闄�:" + ex.getMessage()); + } + } + return count; + } @Override public Integer selectPatMedInhospList(PatMedInhosp patMedInhosp) { @@ -221,32 +409,39 @@ public Integer selectUserList(SysUser sysUser) { List<SysUser> sysUserList = chMapper.selectUserList(sysUser); log.info("sysUserList鐨勯噰闆嗗埌鐨勬暟閲忎负锛歿}", sysUserList.size()); - int i = sysUser2Mapper.batchUser(sysUserList); + int i =0;// sysUser2Mapper.batchUser(sysUserList); for (SysUser sysUser1 : sysUserList) { - log.info("sysUser1鐨処D涓猴細{}", sysUser1.getUserId()); - log.info("sysUser1鐨凥ISUSERID涓猴細{}", sysUser1.getHisUserId()); - //鏂板鐢ㄦ埛涓庤鑹� - SysUserRole yhyjsxx = chMapper.yhyjsxx(sysUser1); - if (yhyjsxx == null) continue; - yhyjsxx.setUserId(sysUser1.getUserId()); - List<SysUserRole> userRoleList = new ArrayList<>(); - userRoleList.add(yhyjsxx); - sysUserRoleMapper.batchUserRole(userRoleList); +// log.info("sysUser1鐨処D涓猴細{}", sysUser1.getUserId()); +// log.info("sysUser1鐨凥ISUSERID涓猴細{}", sysUser1.getHisUserId()); +// //鏂板鐢ㄦ埛涓庤鑹� +// SysUserRole yhyjsxx = chMapper.yhyjsxx(sysUser1); +// if (yhyjsxx != null&&yhyjsxx.getUserId()!=null) { +// yhyjsxx.setUserId(sysUser1.getUserId()); +// List<SysUserRole> userRoleList = new ArrayList<>(); +// userRoleList.add(yhyjsxx); +// sysUserRoleMapper.batchUserRole(userRoleList); +// } + if (StringUtils.isEmpty(sysUser1.getHisUserId())) continue; + SysUser suTemp=new SysUser(); + suTemp.setHisUserId(sysUser1.getHisUserId()); + List<SysUser> usersTemp= sysUser2Mapper.selectUserList(suTemp); + if (usersTemp.size()>0) { + sysUser1.setUserId(usersTemp.get(0).getUserId()); + sysUser2Mapper.updateUser(sysUser1); + }else{ + sysUser2Mapper.insertUser(sysUser1); + usersTemp= sysUser2Mapper.selectUserList(suTemp); + } //鏂板鐢ㄦ埛涓庨儴闂� - if (StringUtils.isEmpty(sysUser1.getHisUserId())) continue; - SysUserDept sysUserDept = chMapper.yhyksxx(sysUser1); - if (Objects.isNull(sysUserDept) || sysUserDept.getDeptId() == null) continue; - SysDept dept = new SysDept(); - dept.setHisDeptId(sysUserDept.getDeptId().toString()); - List<SysDept> sysDepts = sysDept2Mapper.selectDeptList(dept); - if (CollectionUtils.isNotEmpty(sysDepts)) { - sysUserDept.setDeptId(sysDepts.get(0).getDeptId()); - sysUserDept.setDeptCode(sysDepts.get(0).getDeptCode()); - } - sysUserDept.setUserId(sysUser1.getUserId()); - sysUserDeptMapper.insertSysUserDept(sysUserDept); + List<SysUserDept> sysUserDept = chMapper.yhyksxx(sysUser1); + for(SysUserDept sud :sysUserDept) { + if (usersTemp.size()>0) { + sud.setUserId(usersTemp.get(0).getUserId()); + sysUserDeptMapper.insertSysUserDept(sud); + } + } } return i; diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index 30ae035..e8d87d5 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -771,9 +771,8 @@ public void collectHIS() { try { // HIS鏁版嵁閲囬泦 - HnDataGatherVO hnDataGatherVO = new HnDataGatherVO(); log.info("銆恉ealHisData銆慔IS寮�濮嬮噰闆嗘暟鎹�"); - ichService.hnDataGather(hnDataGatherVO); + ichService.sync(); log.info("銆恉ealHisData銆慔IS缁撴潫閲囬泦鏁版嵁"); } catch (Exception e) { log.error("銆恉ealHisData銆慔IS鏁版嵁閲囬泦寮傚父", e); diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml index ab2ed3a..358f030 100644 --- a/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/CollectHISMapper.xml @@ -372,8 +372,7 @@ </select> <select id="yhyksxx" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserDeptResult"> - select user_id, user_code, dept_type,dept_code as - dept_id,dept_name,deptparent,del_flag,orgid + select user_id, user_code, dept_type,dept_code as dept_id,dept_code,dept_name,deptparent,del_flag,orgid FROM healthy_user_dept <where> user_id != 'admin' @@ -414,6 +413,12 @@ <if test="casePersonAge != null ">and case_person_age = #{casePersonAge}</if> <if test="filterDrname != null ">and filter_drname = #{filterDrname}</if> <if test="filterDrcode != null ">and filter_drcode = #{filterDrcode}</if> + <if test="lastStartTime != null and lastStartTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') >= #{lastStartTime} + </if> + <if test="lastEndTime != null and lastEndTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') <= #{lastEndTime} + </if> </where> </select> @@ -511,6 +516,12 @@ <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if> <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if> <if test="orgid != null ">and b.orgid = #{orgid}</if> + <if test="lastStartTime != null and lastStartTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') >= #{lastStartTime} + </if> + <if test="lastEndTime != null and lastEndTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') <= #{lastEndTime} + </if> </where> </select> @@ -546,7 +557,12 @@ <if test="endTime != null "> and to_char(admitdate, 'YYYY-MM-DD HH24:MI:SS') <= to_char(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') </if> - + <if test="lastStartTime != null and lastStartTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') >= #{lastStartTime} + </if> + <if test="lastEndTime != null and lastEndTime != ''"> + and to_char(last_Update_Time, 'YYYY-MM-DD HH24:MI:SS') <= #{lastEndTime} + </if> </where> </select> diff --git a/ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml b/ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml new file mode 100644 index 0000000..e04d94d --- /dev/null +++ b/ruoyi-quartz/src/main/resources/mapper/quartz/UtilsMapper.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.quartz.mapper.UtilsMapper"> + +</mapper> \ No newline at end of file diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java index 8a8701c..0481c35 100644 --- a/smartor/src/main/java/com/smartor/domain/PatArchive.java +++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java @@ -416,4 +416,10 @@ @ApiModelProperty("ps") private Integer ps; + @ApiModelProperty(value = "鏈�鍚庡紑濮嬫椂闂�") + private String lastStartTime; + + @ApiModelProperty(value = "鏈�鍚庣粨鏉熸椂闂�") + private String lastEndTime; + } diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java index e2d662a..69b3d78 100644 --- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java +++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java @@ -463,4 +463,10 @@ @ApiModelProperty("缁忕鍖荤敓") @Excel(name = " 缁忕鍖荤敓 ") private String managementDoctorCode; + + @ApiModelProperty(value = "鏈�鍚庡紑濮嬫椂闂�") + private String lastStartTime; + + @ApiModelProperty(value = "鏈�鍚庣粨鏉熸椂闂�") + private String lastEndTime; } diff --git a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java index b56d265..0ed79a0 100644 --- a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java +++ b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java @@ -229,6 +229,10 @@ @ApiModelProperty(value = "鏄惁鏈夐殢璁�0娌℃湁;>=1鏈夐殢璁� ") private String serverState; + @ApiModelProperty(value = "鏈�鍚庡紑濮嬫椂闂�") + private String lastStartTime; + @ApiModelProperty(value = "鏈�鍚庣粨鏉熸椂闂�") + private String lastEndTime; } diff --git a/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java index 8f5b310..1116ce8 100644 --- a/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java +++ b/smartor/src/main/java/com/smartor/mapper/PatMedInhospMapper.java @@ -35,6 +35,8 @@ */ public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp); + public List<PatMedInhosp> selectPatMedInhospListBySerialnum(PatMedInhosp patMedInhosp); + public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO); /** diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java index 010442c..0827106 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java @@ -2312,7 +2312,7 @@ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) { serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L); } - if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)) { + if (serviceSubtask.getSendstate() != null && ( serviceSubtask.getSendstate() == 6)) { serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L); } if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) { diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml index 986f899..272f207 100644 --- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml @@ -300,6 +300,78 @@ order by b.starttime desc </if> </select> + + <select id="selectPatMedInhospListBySerialnum" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult"> + select + b.inhospid, + b.nurse_id, + b.nurse_name, + b.patname, + b.management_doctor, + b.management_doctor_code, + b.out_way_id, + b.out_way_name, + b.deptcheck_flag, + b.wardcheck_flag, + b.diagcheck_flag, + b.inhospstate, + b.patno, + b.inhospno, + b.serialnum, + b.hospitalname, + b.hospitalcode, + b.hospitaldistrictcode, + b.hospitaldistrictname, + b.icd10code, + b.diagname, + b.starttime, + b.endtime, + b.deptcode, + b.deptname, + b.roomno, + b.bed_no, + b.orgid, + b.del_flag, + b.update_by, + b.update_time, + b.create_by, + b.create_time, + b.isupload, + b.upload_time, + b.patid, + b.leavediagname, + b.leaveicd10code, + b.drcode, + b.drname, + b.schemestatus, + b.generalschemestatus, + b.leaveldeptcode, + b.leaveldeptname, + b.hospitaldistrictid, + b.leavehospitaldistrictcode, + b.leavehospitaldistrictname, + b.leavehospitaldistrictid, + b.deptid, + b.leaveldeptid, + b.long_task_reason, + b.schemetime, + b.fuflag, + b.fudate, + b.fuperiod, + b.futypecode, + b.futypedesc, + b.fuadvice, + b.fuspecialadvice + FROM + pat_med_inhosp b + + <where> + <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> + + </where> + order by b.inhospid desc + </select> + <select id="selectPatMedInhospListByCondition" parameterType="com.smartor.domain.PatMedInhospVO" resultMap="PatMedInhospResult"> select CONCAT( a.age, a.age_unit ) AS age, @@ -415,6 +487,7 @@ order by b.inhospid desc </select> + <select id="getTagnameBypatid" parameterType="Long" resultType="string"> SELECT GROUP_CONCAT(d.tagname, ', ') FROM pat_archivetag d -- Gitblit v1.9.3