diff --git a/doc/gm_record.bak b/doc/gm_record.bak deleted file mode 100644 index 0922072..0000000 Binary files a/doc/gm_record.bak and /dev/null differ diff --git a/src/main/java/com/emr/controller/ArchiveOtherExtController.java b/src/main/java/com/emr/controller/ArchiveOtherExtController.java index f5dbbf2..3787be6 100644 --- a/src/main/java/com/emr/controller/ArchiveOtherExtController.java +++ b/src/main/java/com/emr/controller/ArchiveOtherExtController.java @@ -3,6 +3,7 @@ package com.emr.controller; import com.emr.entity.ArchiveOther; import com.emr.entity.OffsetLimitPage; import com.emr.service.ipml.ArchiveOtherExtService; +import com.emr.service.ipml.ArchiveOtherService; import com.emr.util.ExceptionPrintUtil; import com.emr.util.ExportExcelUtil; import com.emr.util.Msg; @@ -28,6 +29,8 @@ import java.util.List; public class ArchiveOtherExtController { @Autowired private ArchiveOtherExtService archiveOtherExtService; + @Autowired + private ArchiveOtherService archiveOtherService; /** * 任务详情列表 * @param offset @@ -114,6 +117,9 @@ public class ArchiveOtherExtController { } } List list = archiveOtherExtService.selectAllByIdsAndSubmitTime(temp.toString(),jzh); + //判断遗嘱 + List archiveOthers = archiveOtherService.selectAllByC2(temp.toString(),"Done",-8); + list.addAll(archiveOthers); return Msg.success().add("list",list); }else{ return Msg.fail("参数ids不能为空"); diff --git a/src/main/java/com/emr/controller/FontController.java b/src/main/java/com/emr/controller/FontController.java index 21bc898..fce07c3 100644 --- a/src/main/java/com/emr/controller/FontController.java +++ b/src/main/java/com/emr/controller/FontController.java @@ -630,7 +630,7 @@ public class FontController { //已归档 return Msg.success().add("data",1); } - archiveOtherService.updateArchiveOther(patientId,masterId); + archiveOtherService.updateArchiveOther(patientId,masterId,null,null); return Msg.success(); } diff --git a/src/main/java/com/emr/dao/ArchiveOtherMapper.java b/src/main/java/com/emr/dao/ArchiveOtherMapper.java index 5cb534c..1af0037 100644 --- a/src/main/java/com/emr/dao/ArchiveOtherMapper.java +++ b/src/main/java/com/emr/dao/ArchiveOtherMapper.java @@ -23,13 +23,13 @@ public interface ArchiveOtherMapper extends CommomMapper{ * @param patientId 记账号 * @return */ - List selectExistByPatientId(String patientId); + List selectExistByPatientId(@Param("patientId") String patientId,@Param("sysFlag")Integer sysFlag); /** * 根据c2查询是否存在 * @param c2s * @return */ - List selectAllByC2(@Param("c2s")String c2s,@Param("c1")String c1); + List selectAllByC2(@Param("c2s")String c2s,@Param("c1")String c1,@Param("sysFlag")Integer sysFlag); /** * 根据c2集合置空c1 * @param c2s diff --git a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java index c21fb95..34ef993 100644 --- a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java +++ b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java @@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.io.*; +import java.text.CollationElementIterator; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -56,6 +57,8 @@ public class ArchiveOtherExtService { String maxETime = archiveOtherExtMapper.selectMaxETimeByNursingAndJzh(archiveOtherExtVo.getJzh()); archiveOtherExtVo.setNursingEndTime(maxETime); for (ArchiveOtherExtVo vo : list) { + //遗嘱特殊处理结束时间 + operYizhuETime(vo); if (vo.getSysflag().equals(1)) { if (StringUtils.isNotBlank(maxETime)) { vo.setNursingEndTime(maxETime); @@ -99,6 +102,27 @@ public class ArchiveOtherExtService { return list; } + /** + * @Description: operYizhuETime方法是遗嘱完成的话eTime使用按需表archive_other的T2 + * @param: [vo] + * @return: void + * @author 曾文和 + * @createTime 2022/5/21 22:29 + */ + + private void operYizhuETime(ArchiveOtherExtVo vo) { + Integer sysflag = vo.getSysflag(); + if(null != sysflag && sysflag == 8){ + String extId = "'" + vo.getIdTemp() + "'"; + //查询该archive_other + List archiveOthers = archiveOtherService.selectAllByC2(extId.toString(),"Done",-8); + if(!CollectionUtils.isEmpty(archiveOthers)){ + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + vo.setEtimeStr(fmt.format(archiveOthers.get(0).getT2())); + } + } + } + /** * 读取json文件方法 * @param request @@ -138,7 +162,7 @@ public class ArchiveOtherExtService { //存在护理记录则调用护理按需采集功能 if(null != sysFlag && sysFlag == 1) { //调用护理按需采集功能 - archiveOtherService.updateArchiveOther(jzh, masterId); + archiveOtherService.updateArchiveOther(jzh, masterId,null,null); //ext表更新非护理记录 if(StringUtils.isNotBlank(notNursingIds)){ idsTemp = splitString2String(notNursingIds); @@ -146,7 +170,7 @@ public class ArchiveOtherExtService { } //ext表更新非护理记录 if(StringUtils.isNotBlank(notNursingIds)){ - updateCommomSubmit(idsTemp); + updateCommomSubmit(jzh, masterId,idsTemp); } //操作提交信息表 operOtherExtSubmitInfo(ids,idsStr,detailIds,request); @@ -159,9 +183,66 @@ public class ArchiveOtherExtService { * 3.不存在按各自系统的标识插入数据 * @param idsTemp */ - private void updateCommomSubmit(String idsTemp) throws Exception { + private void updateCommomSubmit(String jzh,String masterId,String idsTemp) throws Exception { + //判断是存在遗嘱sysFlag = 8 + //查询是否存在遗嘱集合 + List yizhuOtherExts = archiveOtherExtMapper.selectListBySysFlagAndIds(8, idsTemp); + //定义非护理和遗嘱的id集合 + StringBuilder notNurseAndYizhuIds = new StringBuilder(); + if(CollectionUtils.isEmpty(yizhuOtherExts)){ + notNurseAndYizhuIds = new StringBuilder(idsTemp); + }else{ + String[] extIdArr = idsTemp.split(","); + //定义遗嘱id + StringBuilder yizhuExtIds = new StringBuilder(); + //定义遗嘱的extId + Long yizhuExtIdLong = null; + for(String extId : extIdArr){ + //定义是否是遗嘱id + boolean flag = false; + //遍历遗嘱任务集合 + for(ArchiveOtherExt ext : yizhuOtherExts){ + String yizhuExtId = "'" + ext.getId() + "'"; + if(extId.equals(yizhuExtId)){ + if(StringUtils.isNotBlank(yizhuExtIds)){ + yizhuExtIds.append(","); + } + yizhuExtIds.append("'").append(extId).append("'"); + flag = true; + //接收遗嘱id + yizhuExtIdLong = ext.getId(); + break; + } + } + if(!flag){ + if(StringUtils.isNotBlank(notNurseAndYizhuIds)){ + notNurseAndYizhuIds.append(","); + } + notNurseAndYizhuIds.append("'").append(extId).append("'"); + } + } + if(StringUtils.isNotBlank(yizhuExtIds)){ + archiveOtherService.updateArchiveOther(jzh, masterId,-8,yizhuExtIdLong); + } + } + if(StringUtils.isBlank(notNurseAndYizhuIds)){ + return; + } + //同步更新非护理和遗嘱部分 + updateNotNurseAndYizhu(notNurseAndYizhuIds.toString()); + } + + /** + * @Description: updateNotNurseAndYizhu方法是同步更新非护理和遗嘱部分 + * @param: [idsTemp] + * @return: void + * @author 曾文和 + * @createTime 2022/5/21 20:19 + */ + + private void updateNotNurseAndYizhu(String idsTemp) throws Exception { //根据other_ext的id查询存在c2字段值的集合 - List archiveOthers = archiveOtherService.selectAllByC2(idsTemp,null); + List archiveOthers = archiveOtherService.selectAllByC2(idsTemp,null,null); //定义需要新增的id集合 String notExistTemp = ""; if(!CollectionUtils.isEmpty(archiveOthers)){ diff --git a/src/main/java/com/emr/service/ipml/ArchiveOtherService.java b/src/main/java/com/emr/service/ipml/ArchiveOtherService.java index d063cdc..ab089c5 100644 --- a/src/main/java/com/emr/service/ipml/ArchiveOtherService.java +++ b/src/main/java/com/emr/service/ipml/ArchiveOtherService.java @@ -38,9 +38,9 @@ public class ArchiveOtherService { * 存在将C1置为'' 不存在新增一条记录 * @param patientId 记账号 */ - public void updateArchiveOther(String patientId,String masterId) throws Exception{ + public void updateArchiveOther(String patientId,String masterId,Integer sysFlag,Long extId) throws Exception{ //查询记账号是否存在 - List archiveOthers = archiveOtherMapper.selectExistByPatientId(patientId); + List archiveOthers = archiveOtherMapper.selectExistByPatientId(patientId,sysFlag); if(!CollectionUtils.isEmpty(archiveOthers)){ //存在则将C1值置为空字符串 ArchiveOther archiveOther = archiveOthers.get(0); @@ -51,6 +51,9 @@ public class ArchiveOtherService { ArchiveOtherExtVo extObj = new ArchiveOtherExtVo(); extObj.setJzh(patientId); extObj.setMid(masterId); + //非护理的需要的 + extObj.setSysflag(sysFlag); + extObj.setId(extId); //填充数据 ArchiveOther archiveOther = getArchiveOther(extObj); archiveOtherMapper.insert(archiveOther); @@ -129,6 +132,10 @@ public class ArchiveOtherService { sysFlagTemp = -8; otherInfo = "医嘱"; break; + case -8: + sysFlagTemp = -8; + otherInfo = "医嘱"; + break; default: break; } @@ -143,7 +150,7 @@ public class ArchiveOtherService { * @return */ public int selectC1ByPatientId(String patientId) { - List archiveOthers = archiveOtherMapper.selectExistByPatientId(patientId); + List archiveOthers = archiveOtherMapper.selectExistByPatientId(patientId,null); if(!CollectionUtils.isEmpty(archiveOthers)){ //获取对象 ArchiveOther archiveOther = archiveOthers.get(0); @@ -164,8 +171,8 @@ public class ArchiveOtherService { * @param c1 * @return */ - public List selectAllByC2(String c2s,String c1){ - return archiveOtherMapper.selectAllByC2(c2s,c1); + public List selectAllByC2(String c2s,String c1,Integer sysFlag){ + return archiveOtherMapper.selectAllByC2(c2s,c1,sysFlag); } /** diff --git a/src/main/resources/mapper/ArchiveOtherMapper.xml b/src/main/resources/mapper/ArchiveOtherMapper.xml index 29d5219..301510c 100644 --- a/src/main/resources/mapper/ArchiveOtherMapper.xml +++ b/src/main/resources/mapper/ArchiveOtherMapper.xml @@ -266,12 +266,22 @@ diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index d486c54..db45ecf 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -613,7 +613,7 @@ - (select distinct jzh from archive_other_ext where sysFlag = -300) + (select jzh,max(sysUpdateTime) sysUpdateTime from archive_other_ext where sysFlag = -300 GROUP BY jzh) @@ -625,8 +625,12 @@ select , CASE - WHEN jzh IS NOT NULL THEN - '是' + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) < 7) + THEN + '召回中' + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) >= 7) + THEN + '召回完成' ELSE '否' END callBackStatus, @@ -665,8 +669,12 @@ SELECT , CASE - WHEN jzh IS NOT NULL THEN - '是' + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) < 7) + THEN + '召回中' + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) >= 7) + THEN + '召回完成' ELSE '否' END callBackStatus, @@ -714,8 +722,12 @@ '已签收' ELSE '未签收' END remark, CASE - WHEN jzh IS NOT NULL THEN + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) < 7) + THEN '召回中' + WHEN (jzh IS NOT NULL AND datediff(day,archive_other_ext.sysUpdateTime,GETDATE()) >= 7) + THEN + '召回完成' ELSE '否' END callBackStatus, diff --git a/src/main/webapp/static/js/beHospList/beHospList.js b/src/main/webapp/static/js/beHospList/beHospList.js index 23adff4..37dfdea 100644 --- a/src/main/webapp/static/js/beHospList/beHospList.js +++ b/src/main/webapp/static/js/beHospList/beHospList.js @@ -156,8 +156,8 @@ function initTable() { align: 'center', valign: 'middle', formatter:function(value, row){ - if(value == '召回中'){ - return '召回中'; + if(value != '否'){ + return ''+value+''; }else{ return '未召回'; } diff --git a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js index eb3f06c..87f8d6b 100644 --- a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js +++ b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js @@ -1523,7 +1523,7 @@ function submitUpdate(ids,notNursingIds,detailIds,sysFlag) { success: function (result) { if (result.code == 100) { var data = result.extend.list.length; - if(otherExtIds.split(",").length == data){ + if(otherExtIds.split(",").length <= data){ toastr.success("按需采集全部完成,页面将在" + times + "秒后自动刷新"); setTimeout(function(){ //刷新列表 diff --git a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js index 32a8377..309587a 100644 --- a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js +++ b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js @@ -194,8 +194,8 @@ function initTable() { align: 'center', valign: 'middle', formatter:function(value, row){ - if(value == '召回中'){ - return '召回中'; + if(value != '否'){ + return ''+value+''; }else{ return '未召回'; }