diff --git a/src/main/java/com/emr/dao/CompleteTaskMapper.java b/src/main/java/com/emr/dao/CompleteTaskMapper.java deleted file mode 100644 index 5afbb99..0000000 --- a/src/main/java/com/emr/dao/CompleteTaskMapper.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.emr.dao; - -import com.emr.vo.CompleteVo; -import org.apache.ibatis.annotations.Param; - -import java.util.Date; -import java.util.List; - -public interface CompleteTaskMapper { - /** - * 根据最后一次刷表的时间查询出院记录里的且比刷表时间还晚的采集单的masterId集合 - * @param nowDate - * @return - */ - List selectCompleteMasterIds(@Param("nowDate")Date nowDate); - - /** - * 查询自定义的完整性策略缺失 - * @param masterId - * @return - */ - List selectMasterIdByCustomComplete(@Param("masterId") String masterId); - - /** - * 查询同组需要校验的文档名称集合 - * @param isCheck - * @return - */ - List selectRecordNames(@Param("isCheck")Integer isCheck); - - /** - * 查询缺失的检验检查报告集合 - * @param masterId - * @return - */ - List selectMasterIdByInspection(@Param("masterId") String masterId); - - /** - * 判断重复文件 - * @param masterId - * @return - */ - List selectMasterIdByRepeat(@Param("masterId") String masterId); -} diff --git a/src/main/java/com/emr/dao/TUuInfoMapper.java b/src/main/java/com/emr/dao/TUuInfoMapper.java index 5f978d9..5d3f662 100644 --- a/src/main/java/com/emr/dao/TUuInfoMapper.java +++ b/src/main/java/com/emr/dao/TUuInfoMapper.java @@ -14,5 +14,7 @@ public interface TUuInfoMapper { List getScanCount(TUuPrintSearch record); + List selectScanRecordCountGySysAndDate(TUuPrintSearch record); + List getScanInfo(TUuPrintSearch record); } \ No newline at end of file diff --git a/src/main/java/com/emr/quart/CompleteTask.java b/src/main/java/com/emr/quart/CompleteTask.java deleted file mode 100644 index e6058e1..0000000 --- a/src/main/java/com/emr/quart/CompleteTask.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.emr.quart; - -import com.emr.dao.CompleteTaskMapper; -import com.emr.dao.Emr_Commom_SetMapper; -import com.emr.entity.Archive_Master; -import com.emr.entity.Emr_Commom_Set; -import com.emr.service.Archive_MasterService; -import com.emr.vo.CompleteVo; -import org.apache.commons.lang3.StringUtils; -import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -@Component -public class CompleteTask { - private static Logger log = Logger.getLogger("compeleteMsg"); - @Autowired - private Emr_Commom_SetMapper commomSetMapper; - @Autowired - private CompleteTaskMapper completeTaskMapper; - @Autowired - private Archive_MasterService archiveMasterService; - @Scheduled(cron="0 0 0/1 * * ?") - public void completeTask(){ - Date newDate = new Date(); - log.info("===================任务开始==================="); - //查询最后一次刷表的时间 - Emr_Commom_Set commomSet = commomSetMapper.selectByPrimaryKey(1); - //根据最后一次刷表的时间查询出院记录里的且比刷表时间还晚的采集单的masterId集合 - List masterList= completeTaskMapper.selectCompleteMasterIds(commomSet.getDate1()); - log.info("此次任务菜单病历有"+masterList.size()+"份"); - //遍历masterId集合 - if(!CollectionUtils.isEmpty(masterList)) { - for(CompleteVo masterVo : masterList) { - String masterId = masterVo.getId(); - //原来的完整性值 - String oldLockInfo = masterVo.getLockInfo(); - //定义新的完整性值 - String newLockInfo = selectLockInfoByMasterId(masterId); - if(StringUtils.isNotBlank(newLockInfo)){ - newLockInfo = newLockInfo.substring(1,newLockInfo.length()); - //控制新值不能超过100个字符,超过100个字符则后面部分用...代替 - if(newLockInfo.length() > 100){ - newLockInfo = newLockInfo.substring(0,100) + "..."; - } - }else{ - newLockInfo = "完整"; - } - //完整性值不一样则更新完整性值 - if(StringUtils.isBlank(oldLockInfo) || !oldLockInfo.equals(newLockInfo)){ - Archive_Master master = new Archive_Master(); - master.setId(masterId); - master.setLockinfo(newLockInfo); - archiveMasterService.updateByClo(master); - //输出更新的原来的和最新的完整性值 - log.info(masterId+":"+oldLockInfo+"-->"+newLockInfo); - } - } - } - //更新最后一次时间 - commomSet.setDate1(newDate); - commomSet.setId(1); - commomSetMapper.updateByPrimaryKeySelective(commomSet); - log.info("===================任务结束==================="); - } - - public String selectLockInfoByMasterId(String masterId){ - //定义缺失的LockInfo - StringBuilder lockInfo = new StringBuilder(); - //查询自定义的完整性策略缺失 - lockInfo = selectMasterIdByCustomComplete(masterId,lockInfo); - //缺少检验检查报告缺失 - lockInfo = selectMasterIdByInspection(masterId,lockInfo); - //判断重复文件 - lockInfo = selectMasterIdByRepeat(masterId,lockInfo); - String newLockInfo = ""; - if(StringUtils.isNotBlank(lockInfo)){ - newLockInfo = lockInfo.substring(1,lockInfo.length()); - //控制新值不能超过100个字符,超过100个字符则后面部分用...代替 - if(newLockInfo.length() > 100){ - newLockInfo = newLockInfo.substring(0,100) + "..."; - } - }else{ - newLockInfo = "完整"; - } - return newLockInfo; - } - - /** - * 查询自定义的完整性策略缺失 - * @param masterId - * @param lockInfo - * @return - */ - private StringBuilder selectMasterIdByCustomComplete(String masterId, StringBuilder lockInfo) { - //查询自定义的完整性策略判断集合 - List masterVos = completeTaskMapper.selectMasterIdByCustomComplete(masterId); - if(!CollectionUtils.isEmpty(masterVos)){ - //定义普通的判断集合 - List generalList = new ArrayList<>(); - //定义可能麻醉存在的集合 - List anaesthesiaList = new ArrayList<>(); - for(CompleteVo vo : masterVos){ - Integer isCheck = vo.getIsCheck(); - if(isCheck == 1){ - generalList.add(vo); - }else if(isCheck == 11){ - anaesthesiaList.add(vo); - } - } - //拼接一般的缺失记录 - lockInfo = appendRecordName(generalList,lockInfo); - if(!CollectionUtils.isEmpty(anaesthesiaList)) { - //查询第一组同时存在校验文档的集合 - List completeList = completeTaskMapper.selectRecordNames(11); - if (completeList.size() != anaesthesiaList.size()) { - //拼接第一组同时存在校验文档的缺失记录 - lockInfo = appendRecordName(anaesthesiaList, lockInfo); - } - } - } - return lockInfo; - } - - /** - * 拼接缺失的档案文件名称 - * @param masterVos - * @param lockInfo - * @return - */ - private StringBuilder appendRecordName(List masterVos, StringBuilder lockInfo) { - if(!CollectionUtils.isEmpty(masterVos)) { - for (CompleteVo obj : masterVos) { - lockInfo.append(",").append(obj.getRecordName()); - } - } - return lockInfo; - } - - /** - * 缺少检验检查报告缺失 - * @param masterId - * @param lockInfo - * @return - */ - private StringBuilder selectMasterIdByInspection(String masterId, StringBuilder lockInfo) { - List list = completeTaskMapper.selectMasterIdByInspection(masterId); - lockInfo = appendRecordName(list, lockInfo); - if(StringUtils.isNotBlank(lockInfo)) { - lockInfo = lockInfo.append("缺失"); - } - return lockInfo; - } - - /** - * 判断重复文件 - * @param masterId - * @param lockInfo - * @return - */ - private StringBuilder selectMasterIdByRepeat(String masterId, StringBuilder lockInfo) { - List list = completeTaskMapper.selectMasterIdByRepeat(masterId); - if(!CollectionUtils.isEmpty(list)){ - for(CompleteVo obj : list){ - lockInfo.append(",").append(obj.getRecordName()).append("重复").append(obj.getCount()).append("份"); - } - } - return lockInfo; - } -} diff --git a/src/main/java/com/emr/service/ipml/StatisticsService.java b/src/main/java/com/emr/service/ipml/StatisticsService.java index 513066a..3c721bd 100644 --- a/src/main/java/com/emr/service/ipml/StatisticsService.java +++ b/src/main/java/com/emr/service/ipml/StatisticsService.java @@ -158,7 +158,21 @@ public class StatisticsService { //扫描记录报表 public List getScanCount(TUuPrintSearch search) throws Exception{ - return uuInfoMapper.getScanCount(search); + List countlist = uuInfoMapper.getScanCount(search); + List recordCountlist = uuInfoMapper.selectScanRecordCountGySysAndDate(search); + if(!CollectionUtils.isEmpty(countlist)){ + for(TUuInfoVo obj : countlist){ + for(TUuInfoVo obj1 : recordCountlist){ + if(StringUtils.isNotBlank(obj.getUuname())) { + if (obj.getUuname().equals(obj1.getUuname()) && obj.getUploaddatetime().equals(obj1.getUploaddatetime())) { + obj.setScanNums(obj1.getScanNums()); + break; + } + } + } + } + } + return countlist; } private String setSearchName(TUuPrintSearch search, List userList) { diff --git a/src/main/java/com/emr/vo/CompleteVo.java b/src/main/java/com/emr/vo/CompleteVo.java deleted file mode 100644 index a96271c..0000000 --- a/src/main/java/com/emr/vo/CompleteVo.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.emr.vo; - -import lombok.Data; - -@Data -public class CompleteVo { - private String id; - - private Integer isCheck;//是否校验 - - private String recordName;//校验的文档名称 - - private Integer count; - - private String lockInfo; -} diff --git a/src/main/resources/mapper/CompleteTaskMapper.xml b/src/main/resources/mapper/CompleteTaskMapper.xml deleted file mode 100644 index d1637a4..0000000 --- a/src/main/resources/mapper/CompleteTaskMapper.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - - - - - ( - SELECT - dbo.archive_record_name_info.record_name, - dbo.archive_record_name_info.is_check, - dbo.archive_master.id - FROM - dbo.archive_master - CROSS JOIN dbo.archive_record_name_info - WHERE - ( - dbo.archive_record_name_info.effective = 1 - ) - AND ( - dbo.archive_record_name_info.is_check - <> - 0 - ) - AND ( - dbo.archive_record_name_info.contain_dept_name = '-1' - ) - AND ( - CHARINDEX ( - ',' + dbo.archive_master.dept_name + ',', - ',' + dbo.archive_record_name_info.exclude_dept_name + ',' - )<= 0 - ) - OR ( - dbo.archive_record_name_info.effective = 1 - ) - AND ( - dbo.archive_record_name_info.is_check <> 0 - ) - AND ( - CHARINDEX ( - ',' + dbo.archive_master.dept_name + ',', - ',' + dbo.archive_record_name_info.exclude_dept_name + ',' - ) <= 0 - ) - AND ( - CHARINDEX ( - ',' + dbo.archive_master.dept_name + ',', - ',' + dbo.archive_record_name_info.contain_dept_name + ',' - ) > 0 - ) - ) - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/mapper/TUuInfoMapper.xml b/src/main/resources/mapper/TUuInfoMapper.xml index 41fbb03..8edf0f3 100644 --- a/src/main/resources/mapper/TUuInfoMapper.xml +++ b/src/main/resources/mapper/TUuInfoMapper.xml @@ -135,8 +135,7 @@ SELECT powerusers.name uuName, t1.UpLoadDateTime, - t1.allCount scanCount, - t2.masterIdCount scanNums + t1.allCount scanCount FROM ( SELECT @@ -149,30 +148,6 @@ GROUP BY Sys, ) t1 - INNER JOIN ( - SELECT - Sys, - UpLoadDateTime, - count( MasterID ) masterIdCount - FROM - ( - SELECT - Sys, - UpLoadDateTime, - MasterID - FROM - archive_detail - - GROUP BY - Sys, - , - MasterID - ) t2 - GROUP BY - Sys, - UpLoadDateTime - ) t2 ON t1.Sys = t2.Sys - AND t1.UpLoadDateTime = t2.UpLoadDateTime left join powerusers on t1.sys = powerusers.user_id @@ -191,6 +166,45 @@ ORDER BY t1.UpLoadDateTime DESC +