From be2849a706586b56ac0a0a18a84dfa5eaf22b1bf Mon Sep 17 00:00:00 2001 From: ALW <850658129@qq.com> Date: Wed, 14 Dec 2022 14:25:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E9=9B=86=E5=99=A8=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ArchiveOtherExtController.java | 106 ++- .../com/emr/dao/ArchiveFlowRoleMapper.java | 4 + .../com/emr/dao/ArchiveOtherExtMapper.java | 6 +- .../java/com/emr/dao/CollectorMapper.java | 2 +- src/main/java/com/emr/dao/DiskMapper.java | 2 +- .../java/com/emr/entity/ArchiveOtherExt.java | 10 + .../java/com/emr/entity/Archive_Detail.java | 10 + .../service/ipml/ArchiveOtherExtService.java | 61 +- .../ipml/Archive_DetailServiceImpl.java | 7 + .../ipml/Archive_MasterServiceImpl.java | 694 +++++++++--------- .../service/ipml/CollectorServiceImpl.java | 4 +- .../java/com/emr/service/ipml/EnumVerify.java | 318 ++++---- .../emr/service/ipml/VirtualServiceImpl.java | 32 +- src/main/java/com/emr/util/HttpRequest.java | 125 ++++ src/main/java/com/emr/vo/AfCollectTask.java | 79 ++ .../com/emr/vo/AfCollectTaskUpdateDTO.java | 23 + .../java/com/emr/vo/ArchiveCollectTaskVo.java | 35 + .../java/com/emr/vo/ArchiveOtherExtVo.java | 2 + src/main/java/com/emr/vo/Virtual.java | 5 +- src/main/java/com/emr/vo/VirtualVo.java | 6 +- src/main/resources/config/spring-shiro.xml | 1 + .../mapper/ArchiveFlowRoleMapper.xml | 3 + .../mapper/ArchiveOtherExtMapper.xml | 88 ++- .../resources/mapper/Archive_DetailMapper.xml | 2 +- src/main/resources/mapper/CollectorMapper.xml | 57 +- src/main/resources/mapper/DisMapper.xml | 55 +- src/main/resources/mapper/VirtualMapper.xml | 35 +- .../views/beHospitaledDir/beHospList.jsp | 2 +- .../js/hospitalCommom/hospitalCommom.js | 55 +- .../webapp/static/js/inHospList/inHospList.js | 12 +- .../static/js/statistics/notCollected.js | 4 +- 31 files changed, 1169 insertions(+), 676 deletions(-) create mode 100644 src/main/java/com/emr/util/HttpRequest.java create mode 100644 src/main/java/com/emr/vo/AfCollectTask.java create mode 100644 src/main/java/com/emr/vo/AfCollectTaskUpdateDTO.java create mode 100644 src/main/java/com/emr/vo/ArchiveCollectTaskVo.java diff --git a/src/main/java/com/emr/controller/ArchiveOtherExtController.java b/src/main/java/com/emr/controller/ArchiveOtherExtController.java index 2155f72..b30f786 100644 --- a/src/main/java/com/emr/controller/ArchiveOtherExtController.java +++ b/src/main/java/com/emr/controller/ArchiveOtherExtController.java @@ -2,26 +2,32 @@ package com.emr.controller; import com.emr.dao.ArchiveOtherExtMapper; import com.emr.entity.ArchiveOther; +import com.emr.entity.Archive_Master; import com.emr.entity.OffsetLimitPage; +import com.emr.service.Archive_MasterService; 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.HttpRequest; import com.emr.util.Msg; +import com.emr.vo.AfCollectTaskUpdateDTO; import com.emr.vo.ArchiveForceSumbitInfoVo; import com.emr.vo.ArchiveOtherExtVo; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; +import org.apache.cxf.endpoint.Client; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.net.URL; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -34,8 +40,12 @@ public class ArchiveOtherExtController { private ArchiveOtherService archiveOtherService; @Autowired private ArchiveOtherExtMapper archiveOtherExtMapper; + @Autowired + private Archive_MasterService archiveMasterService; + /** * 任务详情列表 + * * @param offset * @param limit * @param archiveOtherExtVo @@ -44,12 +54,12 @@ public class ArchiveOtherExtController { */ @RequestMapping("getArchiveExtInfo") @ResponseBody - public OffsetLimitPage getArchiveExtInfo(Integer offset, Integer limit, ArchiveOtherExtVo archiveOtherExtVo, HttpServletRequest request){ - if(null != offset && null != limit) { + public OffsetLimitPage getArchiveExtInfo(Integer offset, Integer limit, ArchiveOtherExtVo archiveOtherExtVo, HttpServletRequest request) { + if (null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } try { - List list = archiveOtherExtService.getArchiveExtInfo(request,archiveOtherExtVo); + List list = archiveOtherExtService.getArchiveExtInfo(request, archiveOtherExtVo); return new OffsetLimitPage((Page) list); } catch (Exception e) { ExceptionPrintUtil.printException(e); @@ -57,11 +67,12 @@ public class ArchiveOtherExtController { return null; } } + @RequestMapping("getArchiveExtInfoList") @ResponseBody - public List getArchiveExtInfoList(ArchiveOtherExtVo archiveOtherExtVo, HttpServletRequest request){ + public List getArchiveExtInfoList(ArchiveOtherExtVo archiveOtherExtVo, HttpServletRequest request) { try { - List list = archiveOtherExtService.getArchiveExtInfo(request,archiveOtherExtVo); + List list = archiveOtherExtService.getArchiveExtInfo(request, archiveOtherExtVo); return list; } catch (Exception e) { ExceptionPrintUtil.printException(e); @@ -72,87 +83,111 @@ public class ArchiveOtherExtController { /** * 同步更新 - * @param ids 全部选中的ext_id + * + * @param ids 全部选中的ext_id * @param notNursingIds 不包含护理ext_id的ext_id - * @param detailIds detail表的id集合 - * @param jzh 记账号 - * @param masterId master表的id - * @param sysFlag ext表的权限标识 + * @param detailIds detail表的id集合 + * @param jzh 记账号 + * @param masterId master表的id + * @param sysFlag ext表的权限标识 * @return * @throws Exception */ @RequestMapping("submitUpdate") @ResponseBody - public Msg submitUpdate(String ids,String notNursingIds,String nursingIds,String detailIds,String jzh,String masterId,Integer sysFlag,HttpServletRequest request) throws Exception{ - if(StringUtils.isBlank(ids)){ + public Msg submitUpdate(String ids, String notNursingIds, String nursingIds, String detailIds, String jzh, String masterId, Integer sysFlag, String dzblIds, HttpServletRequest request) throws Exception { + if (StringUtils.isBlank(ids)) { return Msg.fail("至少选中一个!"); } - if(null != sysFlag && sysFlag == 1){ - if(StringUtils.isBlank(jzh)){ + if (null != sysFlag && sysFlag == 1) { + if (StringUtils.isBlank(jzh)) { return Msg.fail("记账号不能为空!"); } - if(StringUtils.isBlank(masterId)){ + if (StringUtils.isBlank(masterId)) { return Msg.fail("masterId不能为空!"); } } - archiveOtherExtService.updateSubmit(ids,notNursingIds,nursingIds,detailIds,jzh,masterId,sysFlag,request); + if (StringUtils.isNotBlank(dzblIds)) { + List list = Arrays.asList(dzblIds.split(",")); + for (String taskid : list) { + HttpRequest.sendGet("http://200.100.104.40:9296/api/noviewtask/MakeUp", "taskid=" + taskid); + } + } + if (StringUtils.isNotBlank(nursingIds)) { + List list = Arrays.asList(nursingIds.split(",")); + for (String taskid : list) { + HttpRequest.sendGet("http://200.100.104.40:9296/api/noviewtask/MakeUp", "taskid=" + taskid); + } + } + archiveOtherExtService.updateSubmit(ids, notNursingIds, nursingIds, detailIds, jzh, masterId, sysFlag, request); return Msg.success(); } + + @PostMapping("/taskUpdate") + public String taskUpdate(@RequestBody AfCollectTaskUpdateDTO updateDTO) { + archiveOtherExtService.taskUpdate(updateDTO); + return "上报成功"; + } + /** * 根据id查询采集完成记录数 + * * @param ids ext_id * @return * @throws Exception */ @RequestMapping("selectAllByIdsAndSubmitTime") @ResponseBody - public Msg selectSuccessByExtIds(String ids,String jzh) throws Exception{ - if(StringUtils.isNotBlank(ids)){ + public Msg selectSuccessByExtIds(String ids, String jzh) throws Exception { + if (StringUtils.isNotBlank(ids)) { String[] split = ids.split(","); StringBuilder temp = new StringBuilder(); - for(String str : split){ - if(StringUtils.isNotBlank(str)){ - if(StringUtils.isNotBlank(temp)){ + for (String str : split) { + if (StringUtils.isNotBlank(str)) { + if (StringUtils.isNotBlank(temp)) { temp.append(","); } temp.append("'").append(str).append("'"); } } - List list = archiveOtherExtService.selectAllByIdsAndSubmitTime(temp.toString(),jzh); + List list = archiveOtherExtService.selectAllByIdsAndSubmitTime(temp.toString(), jzh); //判断遗嘱 - List archiveOthers = archiveOtherService.selectAllByC2(temp.toString(),"Done",-8); + List archiveOthers = archiveOtherService.selectAllByC2(temp.toString(), "Done", -8); list.addAll(archiveOthers); - return Msg.success().add("list",list); - }else{ + return Msg.success().add("list", list); + } else { return Msg.fail("参数ids不能为空"); } } /** * 查询未同步更新完成的文件名称集合 + * * @param patientId 记账号 * @return * @throws Exception */ @RequestMapping("selectC1WithNotCollectFinishByPatientId/{patientId}") @ResponseBody - public Msg selectC1WithNotCollectFinishByPatientId(@PathVariable("patientId") String patientId) throws Exception{ + public Msg selectC1WithNotCollectFinishByPatientId(@PathVariable("patientId") String patientId) throws Exception { String c1s = archiveOtherExtService.selectC1WithNotCollectFinishByPatientId(patientId); - return Msg.success().add("c1s",c1s); + return Msg.success().add("c1s", c1s); } /** * 跳转his召回日志 + * * @return */ @RequestMapping("hisCallBackList") - private String hisCallBackList(){ + private String hisCallBackList() { return "/vCountDir/hisCallBackList"; } /** * 获取his召回日志数据 + * * @param archiveOtherExtVo * @param offset * @param limit @@ -161,7 +196,7 @@ public class ArchiveOtherExtController { */ @ResponseBody @RequestMapping(value = "getHisCallBackList") - public OffsetLimitPage getHisCallBackList(ArchiveOtherExtVo archiveOtherExtVo, Integer offset, Integer limit) throws Exception{ + public OffsetLimitPage getHisCallBackList(ArchiveOtherExtVo archiveOtherExtVo, Integer offset, Integer limit) throws Exception { try { return archiveOtherExtService.getHisCallBackListLimit(archiveOtherExtVo, offset, limit); } catch (Exception e) { @@ -173,12 +208,13 @@ public class ArchiveOtherExtController { /** * 导出 + * * @param response * @param archiveOtherExtVo */ @ResponseBody @RequestMapping(value = "/exportExcel") - public void exportExcel(HttpServletResponse response,ArchiveOtherExtVo archiveOtherExtVo){ + public void exportExcel(HttpServletResponse response, ArchiveOtherExtVo archiveOtherExtVo) { String tableThNames = "申请时间,审批时间,住院号,患者姓名,住院次数,出院日期,出院科室,处理状态,开始时间,结束时间,归档状态"; String fieldCns = "sysupdatetimeStr,t2Str,zyh,c1,visitId,t1Str,deptName,statusFlagStr,stimeStr,etimeStr,n2Str"; //构造excel的数据 @@ -189,8 +225,8 @@ public class ArchiveOtherExtController { //ExportExcelUtil ExportExcelUtil exportExcelUtil = new ExportExcelUtil(); //导出excel的操作 - exportExcelUtil.expordExcel(tableThNames,fieldCns,list,fileName,response); - }catch (Exception e){ + exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response); + } catch (Exception e) { ExceptionPrintUtil.printException(e); e.printStackTrace(); } diff --git a/src/main/java/com/emr/dao/ArchiveFlowRoleMapper.java b/src/main/java/com/emr/dao/ArchiveFlowRoleMapper.java index b2b9f75..2daa10e 100644 --- a/src/main/java/com/emr/dao/ArchiveFlowRoleMapper.java +++ b/src/main/java/com/emr/dao/ArchiveFlowRoleMapper.java @@ -18,4 +18,8 @@ public interface ArchiveFlowRoleMapper { int updateByPrimaryKey(ArchiveFlowRole record); List selectAll(); + + String selectByid(String id); + + } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java index 570ca02..c720b08 100644 --- a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java +++ b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java @@ -2,6 +2,7 @@ package com.emr.dao; import com.emr.entity.ArchiveOther; import com.emr.entity.ArchiveOtherExt; +import com.emr.vo.ArchiveCollectTaskVo; import com.emr.vo.ArchiveOtherExtVo; import org.apache.ibatis.annotations.Param; @@ -20,7 +21,9 @@ public interface ArchiveOtherExtMapper { int updateByPrimaryKey(ArchiveOtherExt record); - List getArchiveExtInfo(ArchiveOtherExtVo record); + List getArchiveExtInfo(ArchiveOtherExt record); + +// ListgetArchiveCollectTaskVoInfo(@Param("MID") String MID); List selectAllByIds(@Param("ids") String ids); @@ -70,6 +73,7 @@ public interface ArchiveOtherExtMapper { void updateOtherDomForStatusFlag( @Param("jzh")String jzh, @Param("filePath")String filePath,@Param("sysFlag")Integer sysFlag); + void upDateArchiveOther( ArchiveOtherExt archiveOtherExtVo); /** * 根据时间查询his召回详情 * @param record diff --git a/src/main/java/com/emr/dao/CollectorMapper.java b/src/main/java/com/emr/dao/CollectorMapper.java index cd4c6c5..df939af 100644 --- a/src/main/java/com/emr/dao/CollectorMapper.java +++ b/src/main/java/com/emr/dao/CollectorMapper.java @@ -23,7 +23,7 @@ public interface CollectorMapper { Integer selectCount(String key); - Integer update(Collector collector ); + Integer update(Collector collector); Integer insert(Collector collector); diff --git a/src/main/java/com/emr/dao/DiskMapper.java b/src/main/java/com/emr/dao/DiskMapper.java index c856097..8b995f7 100644 --- a/src/main/java/com/emr/dao/DiskMapper.java +++ b/src/main/java/com/emr/dao/DiskMapper.java @@ -29,7 +29,7 @@ public interface DiskMapper { int delete(String virtualId); - int saveBatch(List disks); + int saveBatch(Disk disk); diff --git a/src/main/java/com/emr/entity/ArchiveOtherExt.java b/src/main/java/com/emr/entity/ArchiveOtherExt.java index ce7dd0c..9d5fc67 100644 --- a/src/main/java/com/emr/entity/ArchiveOtherExt.java +++ b/src/main/java/com/emr/entity/ArchiveOtherExt.java @@ -9,8 +9,18 @@ public class ArchiveOtherExt implements Serializable { private Date syctime; + private Long consumingTime; + private String sycobj; + public Long getConsumingTime() { + return consumingTime; + } + + public void setConsumingTime(Long consumingTime) { + this.consumingTime = consumingTime; + } + private Long otherid; private Integer sysflag; diff --git a/src/main/java/com/emr/entity/Archive_Detail.java b/src/main/java/com/emr/entity/Archive_Detail.java index 111ef44..b280c6c 100644 --- a/src/main/java/com/emr/entity/Archive_Detail.java +++ b/src/main/java/com/emr/entity/Archive_Detail.java @@ -11,8 +11,18 @@ public class Archive_Detail { private String assortid; + public String getSourceTwo() { + return sourceTwo; + } + + public void setSourceTwo(String sourceTwo) { + this.sourceTwo = sourceTwo; + } + private String source; + private String sourceTwo; + private String subassort; private String title; diff --git a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java index db545a6..41abe47 100644 --- a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java +++ b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java @@ -8,9 +8,7 @@ import com.emr.entity.ArchiveOther; import com.emr.entity.ArchiveOtherExt; import com.emr.entity.ArchiveOtherExtSubmittime; import com.emr.entity.OffsetLimitPage; -import com.emr.vo.ArchiveForceSumbitInfoVo; -import com.emr.vo.ArchiveOtherExtVo; -import com.emr.vo.KeyValue; +import com.emr.vo.*; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; @@ -18,10 +16,12 @@ import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletRequest; import java.io.*; import java.text.CollationElementIterator; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -57,6 +57,11 @@ public class ArchiveOtherExtService { String maxETime = archiveOtherExtMapper.selectMaxETimeByNursingAndJzh(archiveOtherExtVo.getJzh()); archiveOtherExtVo.setNursingEndTime(maxETime); for (ArchiveOtherExtVo vo : list) { +// String mid = vo.getMid(); +// List archiveCollectTaskVoInfo = archiveOtherExtMapper.getArchiveCollectTaskVoInfo(mid); +// for (ArchiveCollectTaskVo vo1:archiveCollectTaskVoInfo){ +// vo.setMid(vo1.getMasterID()); +// } //遗嘱特殊处理结束时间 operYizhuETime(vo); if (vo.getSysflag().equals(1)) { @@ -103,34 +108,6 @@ public class ArchiveOtherExtService { } } } -// if (!vo.getSysflag().equals(1)) { -// String idTemp = vo.getIdTemp(); -// List archiveOtherExtVos = archiveOtherExtMapper.selectEmrBackInfo1(idTemp); -// for (int i = 0; archiveOtherExtVos.size() > i; i++) { -// if (null != archiveOtherExtVos) { -// if (!archiveOtherExtVos.get(i).getC1().equals("")) { -// vo.setStatusFlagStr("完成"); -// } else { -// vo.setStatusFlagStr("未完成"); -// } -// } -// } -// } -// if (vo.getSysflag().equals(1)) { -// archiveOtherExtVo.setPid(vo.getJzh()); -// List archiveOtherExtVos1 = archiveOtherExtMapper.selectEmrBackInfo2(archiveOtherExtVo); -// if (null != archiveOtherExtVos1) { -// for (ArchiveOtherExtVo a : archiveOtherExtVos1) { -// if (a.getStatusFlag()==3) { -// vo.setStatusFlagStr("完成"); -// break; -// } else { -// vo.setStatusFlagStr("未完成"); -// break; -// } -// } -// } -// } } } return list; @@ -204,9 +181,6 @@ public class ArchiveOtherExtService { archiveOtherExtMapper.updateNursingSubmit(nursingIdTemp); } } -// if (null != sysFlag && sysFlag == 3){ -// archiveOtherService.updateArchiveOtherExt(ids) -// } //ext表更新非护理记录 if(StringUtils.isNotBlank(notNursingIds)){ @@ -216,6 +190,25 @@ public class ArchiveOtherExtService { operOtherExtSubmitInfo(ids,idsStr,detailIds,request); } + + public void taskUpdate(AfCollectTaskUpdateDTO updateDTO) { + SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + Date StartTime =null; + Date endTime =null; + try { + StartTime = ft.parse(updateDTO.getStartTime()); + endTime = ft.parse(updateDTO.getEndTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + ArchiveOtherExt archiveOtherExtVo=new ArchiveOtherExt(); + archiveOtherExtVo.setId(updateDTO.getTaskId()); + archiveOtherExtVo.setStime(StartTime); + archiveOtherExtVo.setEtime(endTime); + archiveOtherExtVo.setConsumingTime(updateDTO.getConsumingTime()); + archiveOtherExtMapper.upDateArchiveOther(archiveOtherExtVo); + } + /** * 处理护理,其余同步更新操作 * 1.按idsTemp记录查询archive_other表是否存在 diff --git a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java index a26ba5f..dd702e4 100644 --- a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java @@ -126,6 +126,13 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { record.setRoleId(currentUser.getRoleId()); } PageHelper.offsetPage(offset, limit); + String source = record.getSource(); + if (source.equals("移动护理系统采集服务")){ + record.setSource("'1','移动护理系统采集服务'"); + } + if (source.equals("PACS系统采集服务")){ + record.setSource("'3','PACS系统采集服务'"); + } List list = archiveDetailMapper.detailByClo(record); OffsetLimitPage offsetLimitPage = new OffsetLimitPage((Page) list); if(!CollectionUtils.isEmpty(list)) { diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 540d01e..bacf2d0 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -34,12 +34,14 @@ import java.util.*; /** * @author zwh - * */ + */ @Service @Transactional public class Archive_MasterServiceImpl implements Archive_MasterService { @Value("${notJudgeTasks}") private String notJudgeTasks; + @Value("${qualitySwitch}") + private String qualitySwitch; private static Logger log = LogManager.getLogger("infoLog"); @Autowired private Archive_MasterMapper archiveMasterMapper; @@ -61,62 +63,63 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { private ArchiveForceSumbitInfoService archiveForceSumbitInfoService; @Autowired private ArchiveOtherExtMapper archiveOtherExtMapper; + /** * 在院列表 - * */ + */ @Override public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list= archiveMasterMapper.selectByCol(archiveMasterVo); + List list = archiveMasterMapper.selectByCol(archiveMasterVo); return new OffsetLimitPage((Page) list); } /** * 出院列表 - * */ + */ @Override - public OffsetLimitPage selectByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request) { + public OffsetLimitPage selectByColumn(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit, HttpServletRequest request) { //设置查询条件审核角色 setInfoId(archiveMasterVo); //设置登录用户 - Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); - if(user.getRoleId() != -100 && user.getRoleId() != 0){ + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + if (user.getRoleId() != -100 && user.getRoleId() != 0) { archiveMasterVo.setUserName(user.getUserName()); } //查询 - List list = selectByColumn(offset, limit,archiveMasterVo,request); + List list = selectByColumn(offset, limit, archiveMasterVo, request); return new OffsetLimitPage((Page) list); } /** * 出院列表 - * */ + */ @Override - public OffsetLimitPage selectByColumnTwo(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit,HttpServletRequest request) { + public OffsetLimitPage selectByColumnTwo(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit, HttpServletRequest request) { //设置查询条件审核角色 setInfoId(archiveMasterVo); //设置登录用户 - Power_User user = (Power_User)request.getSession().getAttribute("CURRENT_USER"); - if(user.getRoleId() != -100 && user.getRoleId() != 0){ + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + if (user.getRoleId() != -100 && user.getRoleId() != 0) { archiveMasterVo.setUserName(user.getUserName()); } - List list = selectStatisColumn(offset, limit,archiveMasterVo,request); + List list = selectStatisColumn(offset, limit, archiveMasterVo, request); return new OffsetLimitPage((Page) list); } @Override public List selectStatisColumn(Integer offset, Integer limit, Archive_Master_Vo archiveMasterVo, HttpServletRequest request) { List list = null; - if(null != offset && null != limit) { + if (null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } - list = archiveMasterMapper.selectStatisColumn(archiveMasterVo); + list = archiveMasterMapper.selectStatisColumn(archiveMasterVo); selectByColumnChange(list); List flowRoles = flowRoleMapper.selectAll(); //计算属于哪种审核角色 Msg role = getRole(); - if(null != role) { + if (null != role) { for (Archive_Master_Vo masterVo : list) { String archivestate = masterVo.getArchivestate(); if (StringUtils.isNotBlank(archivestate)) { @@ -127,7 +130,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //组织已经审核的状态 archivestate = EnumVerify.DocState.GetStepName(status, role.getCode()); //组织未审核的状态 - String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode()); + String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode(), qualitySwitch); masterVo.setStatus(archivestate); masterVo.setCurrentStatus(currentArchivestate); //根据角色 @@ -137,16 +140,17 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } } - return list; + return list; } /** * //循环遍历list集合判断是否完整,完整isCheck赋值1,且批量更新LockInfo字段为完整 + * * @param list */ private void updateMasterBySuccess(List list) { //list集合的分组分类集合 - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { //获取资料完整的masterIds String masterIds = getMasterIdsByList(list); Archive_Master_Vo masterVo = new Archive_Master_Vo(); @@ -154,9 +158,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { masterVo.setIsSuccess("1"); //查询自定义的完整性的masterIds集合 List selectCompleteMasterIds = archiveMasterMapper.selectCompleteMasterIds(masterVo); - if(!CollectionUtils.isEmpty(selectCompleteMasterIds)) { + if (!CollectionUtils.isEmpty(selectCompleteMasterIds)) { //将暂时赋值完整的isSuccess = 1 - setIsSuccess(selectCompleteMasterIds,list); + setIsSuccess(selectCompleteMasterIds, list); //获取mastertIds集合 masterIds = getMasterIdsByList(selectCompleteMasterIds); List selectNotInspectionList = null; @@ -170,7 +174,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //循环遍历list集合判断是否完整,完整isCheck赋值1,且批量更新LockInfo字段为完整 //定义通过完整性校验的masterIds StringBuilder masterIdsTemp = new StringBuilder(); - for(Archive_Master_Vo master : list) { + for (Archive_Master_Vo master : list) { //定义检验检查报告分类是完整的 boolean inspectionFlag = false; //判断不存在缺少校验检查分类 @@ -214,13 +218,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 暂时设置完整isSuccess = 1 + * * @param selectCompleteMasterIds * @param list */ private void setIsSuccess(List selectCompleteMasterIds, List list) { - for(Archive_Master_Vo vo : list){ - for(Archive_Master_Vo vo1 : selectCompleteMasterIds){ - if(vo.getId().equals(vo1.getId())){ + for (Archive_Master_Vo vo : list) { + for (Archive_Master_Vo vo1 : selectCompleteMasterIds) { + if (vo.getId().equals(vo1.getId())) { vo.setIsSuccess("1"); break; } @@ -230,6 +235,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 组织masterIds集合 + * * @param list * @return */ @@ -246,7 +252,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 未归档列表 - * */ + */ @Override public OffsetLimitPage selectByUnfile(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); @@ -256,7 +262,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 终审列表 - * */ + */ @Override public OffsetLimitPage selectByLast(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); @@ -266,11 +272,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 查询终审页面列表 - * */ + */ @Override - public List selectLastVerifyList(Archive_Master_Vo archiveMasterVo){ + public List selectLastVerifyList(Archive_Master_Vo archiveMasterVo) { List list = archiveMasterMapper.selectByLast(archiveMasterVo); - if(null != list && !list.isEmpty()){ + if (null != list && !list.isEmpty()) { //查询科室集合 Emr_Dictionary dictionary = new Emr_Dictionary(); dictionary.setTypecode("dept_code"); @@ -282,14 +288,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { deptNameCode2Name(dictionaries, masterVo); //状态均为护士长已质控,取出一个对象,转换中文状态 Integer status = Integer.valueOf(masterVo.getArchivestate()); - if(status.equals(EnumVerify.DocState.HeadNurseCheck.getCode())){ + if (status.equals(EnumVerify.DocState.HeadNurseCheck.getCode())) { masterVo.setStatus(EnumVerify.DocState.HeadNurseCheck.getName()); - }else if(status.equals(EnumVerify.DocState.CallBacked.getCode())){ + } else if (status.equals(EnumVerify.DocState.CallBacked.getCode())) { masterVo.setStatus(EnumVerify.DocState.CallBacked.getName()); } - if(!CollectionUtils.isEmpty(scanBabyIdList) && (StringUtils.isBlank(archiveMasterVo.getCheckName()) || "1".equals(archiveMasterVo.getCheckName()))){ - for(String scanBabyId : scanBabyIdList){ - if(masterVo.getId().equals(scanBabyId)){ + if (!CollectionUtils.isEmpty(scanBabyIdList) && (StringUtils.isBlank(archiveMasterVo.getCheckName()) || "1".equals(archiveMasterVo.getCheckName()))) { + for (String scanBabyId : scanBabyIdList) { + if (masterVo.getId().equals(scanBabyId)) { masterVo.setCheckName("是"); break; } @@ -313,11 +319,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 已归档 * 病案终审退回页面 - * */ + */ @Override - public OffsetLimitPage selectFiled(Archive_Master_Vo master,Integer offset, Integer limit) { + public OffsetLimitPage selectFiled(Archive_Master_Vo master, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list= archiveMasterMapper.selectFiled(master); + List list = archiveMasterMapper.selectFiled(master); return new OffsetLimitPage((Page) list); } @@ -327,10 +333,10 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } @Override - public List selectByColumn(Integer offset, Integer limit,Archive_Master_Vo archiveMasterVo,HttpServletRequest request) { + public List selectByColumn(Integer offset, Integer limit, Archive_Master_Vo archiveMasterVo, HttpServletRequest request) { //分是否按完整性查询 List list = null; - if(null != offset && null != limit) { + if (null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } list = archiveMasterMapper.selectByColumn(archiveMasterVo); @@ -339,24 +345,24 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //转换科室与赋值超期天数 selectByColumnChange(list); //根据状态code转换状态及判断显示按钮 - if(null != list && !list.isEmpty()){ + if (null != list && !list.isEmpty()) { //查询流转角色集合 List flowRoles = flowRoleMapper.selectAll(); //计算属于哪种审核角色 Msg role = getRole(); - if(null != role) { + if (null != role) { for (Archive_Master_Vo masterVo : list) { String archivestate = masterVo.getArchivestate(); String inpNo = masterVo.getPatientId(); -// String sql = "SELECT FISZH FROM V_JSWZH_EMR_CALLBACK WHERE JZH='"+inpNo+"'"; -// try { -// String select = OracleConnect.select(sql); -// masterVo.setHisStatic(select); -//// String hisStatic = masterVo.getHisStatic(); -// } catch (Exception e) { -// ExceptionPrintUtil.printException(e); -// e.printStackTrace(); -// + String sql = "SELECT FISZH FROM V_JSWZH_EMR_CALLBACK WHERE JZH='"+inpNo+"'"; + try { + String select = OracleConnect.select(sql); + masterVo.setHisStatic(select); +// String hisStatic = masterVo.getHisStatic(); + } catch (Exception e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + } if (StringUtils.isNotBlank(archivestate)) { //转换中文状态 boolean numeric = isNumeric(archivestate); @@ -365,12 +371,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //组织已经审核的状态 archivestate = EnumVerify.DocState.GetStepName(status, role.getCode()); //组织未审核的状态 - String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode()); + String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode(),qualitySwitch); masterVo.setStatus(archivestate); masterVo.setCurrentStatus(currentArchivestate); //根据角色 //获取审核按钮和退回按钮集合 - getBtns(status, flowRoles, masterVo.getId(),masterVo.getPatientId(),masterVo); + getBtns(status, flowRoles, masterVo.getId(), masterVo.getPatientId(), masterVo); } } } @@ -380,17 +386,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } - - - - /** * 带完整性查询的出院记录查询 + * * @param archiveMasterVo * @return */ - private List selectBeHospitalByIsSuccess(Integer offset,Integer limit,Archive_Master_Vo archiveMasterVo) { - if(null != offset && null != limit) { + private List selectBeHospitalByIsSuccess(Integer offset, Integer limit, Archive_Master_Vo archiveMasterVo) { + if (null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } return archiveMasterMapper.selectCompleteMasterIds(archiveMasterVo); @@ -398,14 +401,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 设置审核角色 + * * @param archiveMasterVo */ private void setInfoId(Archive_Master_Vo archiveMasterVo) { String status = archiveMasterVo.getStatus(); //取最大值 String archivestate = archiveMasterVo.getArchivestate(); - if(StringUtils.isNotBlank(status) && StringUtils.isNotBlank(archivestate)){ - if ("1".equals(archivestate)){ + if (StringUtils.isNotBlank(status) && StringUtils.isNotBlank(archivestate)) { + if ("1".equals(archivestate)) { //已审核,取最大 Integer maxStatus = 0; String[] statusArr = status.split(","); @@ -418,8 +422,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } } - archiveMasterVo.setStatus(maxStatus+""); - }else{ + archiveMasterVo.setStatus(maxStatus + ""); + } else { //待审核,取带逗号的字符串的数 archiveMasterVo.setStatus(status); } @@ -433,31 +437,31 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { */ private String selectByColumnChange(List list) { StringBuilder patientIdStr = new StringBuilder(); - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { //查询科室集合 Emr_Dictionary dictionary = new Emr_Dictionary(); dictionary.setTypecode("dept_code"); List dictionaries = dictionaryMapper.dicByTypeCode(dictionary); //查询出院天数 List selectDays = new ArrayList<>(); - if(list.size() > 200){ + if (list.size() > 200) { selectDays = archiveMasterMapper.selectDaysByMasterIds(null); - }else{ - selectDays = archiveMasterMapper.selectDaysByMasterIds(list); + } else { + selectDays = archiveMasterMapper.selectDaysByMasterIds(list); } - for (Archive_Master_Vo vo:list) { + for (Archive_Master_Vo vo : list) { //科室名称编码转名称 deptNameCode2Name(dictionaries, vo); //赋值出院天数 - if(!CollectionUtils.isEmpty(selectDays)){ - for(Archive_Master_Vo days : selectDays){ - if(days.getId().equals(vo.getId())){ + if (!CollectionUtils.isEmpty(selectDays)) { + for (Archive_Master_Vo days : selectDays) { + if (days.getId().equals(vo.getId())) { vo.setDays(days.getDays()); break; } } } - if(StringUtils.isNotBlank(patientIdStr)){ + if (StringUtils.isNotBlank(patientIdStr)) { patientIdStr.append(","); } patientIdStr.append(vo.getPatientId()); @@ -468,11 +472,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 科室名称编码转名称 + * * @param dictionaries 科室字典列表 - * @param vo 患者记录对象 + * @param vo 患者记录对象 */ private void deptNameCode2Name(List dictionaries, Archive_Master_Vo vo) { - if(!CollectionUtils.isEmpty(dictionaries)) { + if (!CollectionUtils.isEmpty(dictionaries)) { //在院科室 String deptAdmissionTo = vo.getDeptAdmissionTo(); //出院科室 @@ -492,26 +497,28 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //验证字符串是否是数字 @Override - public boolean isNumeric(String str){ - for (int i = 0; i < str.length(); i++){ - if (!Character.isDigit(str.charAt(i))){ + public boolean isNumeric(String str) { + for (int i = 0; i < str.length(); i++) { + if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } + /** * 处理已审批查询时的节点id,且是多个的 + * * @param archiveMasterVo * @return */ - private void setMaxRoleId(Archive_Master_Vo archiveMasterVo){ + private void setMaxRoleId(Archive_Master_Vo archiveMasterVo) { String status = archiveMasterVo.getStatus(); //取最大值 String archivestate = archiveMasterVo.getArchivestate(); - if(StringUtils.isNotBlank(status) && StringUtils.isNotBlank(archivestate)){ + if (StringUtils.isNotBlank(status) && StringUtils.isNotBlank(archivestate)) { //查询已审批才处理 - if("1".equals(archivestate) && status.contains(",")) { + if ("1".equals(archivestate) && status.contains(",")) { Integer maxStatus = 0; String[] statusArr = status.split(","); for (String statu : statusArr) { @@ -524,7 +531,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } //设置角色index - archiveMasterVo.setStatus(maxStatus+""); + archiveMasterVo.setStatus(maxStatus + ""); } } } @@ -533,10 +540,10 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { public List selectByUnfile(Archive_Master_Vo archiveMasterVo) { List list = archiveMasterMapper.selectByUnfile(archiveMasterVo); //根据状态code转换状态及判断显示按钮 - if(null != list && !list.isEmpty()){ + if (null != list && !list.isEmpty()) { //计算属于哪种审核角色 Msg role = getRole(); - if(null != role) { + if (null != role) { for (Archive_Master_Vo master_vo : list) { String archivestate = master_vo.getArchivestate(); String dischargeDateTime = master_vo.getDischargeDateTime(); @@ -564,6 +571,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 组织前端操作审核的方法名 + * * @param code * @param status * @param targetCode @@ -571,21 +579,21 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { * @param patientId * @return */ - private String verifyInfoMethodStr(int code,Integer status,int targetCode,String masterId,String patientId){ + private String verifyInfoMethodStr(int code, Integer status, int targetCode, String masterId, String patientId) { patientId = "\"" + patientId + "\""; - return "verifyInfo(" + code + "," + status + "," + targetCode +","+masterId+","+patientId+")"; + return "verifyInfo(" + code + "," + status + "," + targetCode + "," + masterId + "," + patientId + ")"; } /** * 获取审核按钮和退回按钮集合 - * */ - private void getBtns(Integer status, List roles, String id, String patientId,Archive_Master_Vo masterVo){ + */ + private void getBtns(Integer status, List roles, String id, String patientId, Archive_Master_Vo masterVo) { String btns = ""; //获取用户功能权限信息 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); Set menus = user.getMenus(); - if(null != menus && !menus.isEmpty()) { + if (null != menus && !menus.isEmpty()) { //医生提交权限标识 String doctorSumbit = "/beHosp/doctorSumbit"; //医生质控员质控权限标识 @@ -617,25 +625,25 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //遍历,判断拥有权限,拥有护士长权限立即返回4,拥有医生支线赋值doctorRole=1,拥有护士支线赋值nurseRole=1 for (String menu : menus) { if (StringUtils.isNotBlank(menu)) { - if (menu.equals(doctorSumbit+"")) { + if (menu.equals(doctorSumbit + "")) { doctorSumbitPower = 1; } - if (menu.equals(doctorCheckSumbit+"")) { + if (menu.equals(doctorCheckSumbit + "")) { doctorCheckSumbitPower = 1; } - if (menu.equals(directorCheckSumbit+"")) { + if (menu.equals(directorCheckSumbit + "")) { directorCheckSumbitPower = 1; } - if (menu.equals(nurseSumbit+"")) { + if (menu.equals(nurseSumbit + "")) { nurseSumbitPower = 1; } - if (menu.equals(nurseCheckSumbit+"")) { + if (menu.equals(nurseCheckSumbit + "")) { nurseCheckSumbitPower = 1; } - if (menu.equals(headNurseCheck+"")) { + if (menu.equals(headNurseCheck + "")) { headNurseCheckPower = 1; } - if (menu.equals(backSumbit+"")) { + if (menu.equals(backSumbit + "")) { backPower = 1; } } @@ -661,22 +669,22 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //定义护士长质控是否有效 int headNurseCheckEffective = 0; for (ArchiveFlowRole flowRole : roles) { - if(flowRole.getCode().equals(EnumVerify.DocState.HeadNurseCheck.getCode()+"")){ + if (flowRole.getCode().equals(EnumVerify.DocState.HeadNurseCheck.getCode() + "")) { headNurseSumbitName = flowRole.getSumbitName(); headNurseCheckEffective = flowRole.getEffective(); - }else if(flowRole.getCode().equals(EnumVerify.DocState.DortorSubmit.getCode()+"")){ + } else if (flowRole.getCode().equals(EnumVerify.DocState.DortorSubmit.getCode() + "")) { doctorSumbitName = flowRole.getSumbitName(); doctorSubmitEffective = flowRole.getEffective(); - }else if(flowRole.getCode().equals(EnumVerify.DocState.DortorCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(EnumVerify.DocState.DortorCheck.getCode() + "")) { doctorCheckSumbitName = flowRole.getSumbitName(); dortorCheckEffective = flowRole.getEffective(); - }else if(flowRole.getCode().equals(EnumVerify.DocState.DirectorCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(EnumVerify.DocState.DirectorCheck.getCode() + "")) { directorCheckSumbitName = flowRole.getSumbitName(); directorCheckEffective = flowRole.getEffective(); - }else if(flowRole.getCode().equals(EnumVerify.DocState.NurseSubmit.getCode()+"")){ + } else if (flowRole.getCode().equals(EnumVerify.DocState.NurseSubmit.getCode() + "")) { nurseSumbitName = flowRole.getSumbitName(); nurseSubmitEffective = flowRole.getEffective(); - }else if(flowRole.getCode().equals(EnumVerify.DocState.NurseCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(EnumVerify.DocState.NurseCheck.getCode() + "")) { nurseCheckSumbitName = flowRole.getSumbitName(); nurseCheckEffective = flowRole.getEffective(); } @@ -690,14 +698,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { int targetCode = 0; //定义医生支线或护士长节点的code Integer judgeCode = null; - if(!EnumVerify.DocState.HasCurrentState(status,EnumVerify.DocState.HeadNurseCheck)){ + if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.HeadNurseCheck)) { //判断是否护士长审核 - boolean headNurseCheckFlag = getHeadNurseCheckFlag(status,roles); + boolean headNurseCheckFlag = getHeadNurseCheckFlag(status, roles); if (headNurseCheckFlag) { if (headNurseCheckPower == 1 && headNurseCheckEffective == 1) { targetCode = EnumVerify.DocState.HeadNurseCheck.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Generate.getCode(),status,targetCode,masterId,patientId); - btns += ""; + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Generate.getCode(), status, targetCode, masterId, patientId); + btns += ""; judgeCode = targetCode; } } else { @@ -705,57 +713,62 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit)) { if (doctorSumbitPower == 1 && doctorSubmitEffective == 1) { targetCode = EnumVerify.DocState.DortorSubmit.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(),status,targetCode,masterId,patientId); - btns += ""; + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(), status, targetCode, masterId, patientId); + btns += ""; } } - //没有医生质控员提交 - if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit) || doctorSubmitEffective == 0) { - if (doctorCheckSumbitPower == 1 && dortorCheckEffective == 1) { - targetCode = EnumVerify.DocState.DortorCheck.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(),status,targetCode,masterId,patientId); - btns += ""; + if (qualitySwitch.equals("1")) { + //没有医生质控员提交 + if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit) || doctorSubmitEffective == 0) { + if (doctorCheckSumbitPower == 1 && dortorCheckEffective == 1) { + targetCode = EnumVerify.DocState.DortorCheck.getCode(); + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(), status, targetCode, masterId, patientId); + btns += ""; + } } - } - //没有科主任审核 - if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DirectorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) || (dortorCheckEffective == 0 && doctorSubmitEffective == 0) || (dortorCheckEffective == 0 && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit))) { - if (directorCheckSumbitPower == 1 && directorCheckEffective == 1) { - targetCode = EnumVerify.DocState.DirectorCheck.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(),status,targetCode,masterId,patientId); - btns += ""; - judgeCode = targetCode; + //没有科主任审核 + if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DirectorCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorCheck) || (dortorCheckEffective == 0 && doctorSubmitEffective == 0) || (dortorCheckEffective == 0 && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit))) { + if (directorCheckSumbitPower == 1 && directorCheckEffective == 1) { + targetCode = EnumVerify.DocState.DirectorCheck.getCode(); + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Dortor.getCode(), status, targetCode, masterId, patientId); + btns += ""; + judgeCode = targetCode; + } } } //没有护士提交 if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseSubmit)) { if (nurseSumbitPower == 1 && nurseSubmitEffective == 1) { targetCode = EnumVerify.DocState.NurseSubmit.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Nurse.getCode(),status,targetCode,masterId,patientId); - btns += ""; + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Nurse.getCode(), status, targetCode, masterId, patientId); + btns += ""; } - //没有护士质控员提交 } - if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseSubmit) || nurseSubmitEffective == 0) { - if (nurseCheckSumbitPower == 1 && nurseCheckEffective == 1) { - targetCode = EnumVerify.DocState.NurseCheck.getCode(); - String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Nurse.getCode(),status,targetCode,masterId,patientId); - btns += ""; + if (qualitySwitch.equals("1")) { + //没有护士质控员提交 + if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseCheck) && EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.NurseSubmit) || nurseSubmitEffective == 0) { + if (nurseCheckSumbitPower == 1 && nurseCheckEffective == 1) { + targetCode = EnumVerify.DocState.NurseCheck.getCode(); + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Nurse.getCode(), status, targetCode, masterId, patientId); + btns += ""; + } } } } //退回按钮 - if(StringUtils.isNotBlank(btns) && backPower == 1){ - btns += ""; + if (StringUtils.isNotBlank(btns) && backPower == 1) { + btns += ""; } } masterVo.setBtns(btns); masterVo.setOperRole(judgeCode); } } + /** * 计算是否属于护士长审核 - * */ - private boolean getHeadNurseCheckFlag(int status,List roles){ + */ + private boolean getHeadNurseCheckFlag(int status, List roles) { boolean flag = true; List effectiveRoles = new ArrayList<>(); //遍历查询匹配医生和护士支线最后节点均已提交 @@ -769,14 +782,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { effectiveRoles.add(role); } } - if(!effectiveRoles.isEmpty()){ - for(ArchiveFlowRole role : effectiveRoles){ + if (!effectiveRoles.isEmpty()) { + for (ArchiveFlowRole role : effectiveRoles) { //获取节点code String code = role.getCode(); //转换类型 Integer integerCode = Integer.valueOf(code); //其中有一个不包含直接返回false - if((status & integerCode) == 0){ + if ((status & integerCode) == 0) { return false; } } @@ -802,12 +815,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 插入第三方oracle库 + * * @param flowInfo */ - private void backInsertOracle(Integer code,ArchiveFlowInfo flowInfo){ + private void backInsertOracle(Integer code, ArchiveFlowInfo flowInfo) { //查询是否存在记录 String masterId = flowInfo.getMasterId(); - String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '"+masterId+"'"; + String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '" + masterId + "'"; List counts = null; try { counts = OracleConnect.selectList(selectSql); @@ -815,7 +829,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { e.printStackTrace(); throw new RuntimeException("审核时查询oracle记录失败"); } - if(code == 1 || !"0".equals(counts.get(0))) { + if (code == 1 || !"0".equals(counts.get(0))) { Archive_Master master = archiveMasterMapper.selectByPrimaryKey(masterId); String patientId = master.getPatientId(); String sql = "insert all into archive_flow_info (" + @@ -867,15 +881,16 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 退回,修改oracle信息 将该支线的所有可用都改为'否',并修改是否退回为''和退回时间 + * * @param roleIndex * @param archiveDetailId */ private void updateOracle(String roleIndex, String archiveDetailId) { //修改语句 - String sql = "update ARCHIVE_FLOW_INFO set is_available = '否' where master_id = '"+archiveDetailId+"'"; - if(StringUtils.isNotBlank(roleIndex)){ + String sql = "update ARCHIVE_FLOW_INFO set is_available = '否' where master_id = '" + archiveDetailId + "'"; + if (StringUtils.isNotBlank(roleIndex)) { //修改单条支线 - sql += " and OPER_ROLE in ("+roleIndex+",4)"; + sql += " and OPER_ROLE in (" + roleIndex + ",4)"; } try { OracleConnect.update(sql); @@ -887,17 +902,17 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 退回操作 - * */ + */ @Override - public int updateReturn(Emr_Fault_Detail_Vo emrFaultDetail) throws Exception{ + public int updateReturn(Emr_Fault_Detail_Vo emrFaultDetail) throws Exception { //修改病案归档状态:复审退回 Archive_Master archiveMaster = new Archive_Master(); // 从session获取用户名 String username = (String) SecurityUtils.getSubject().getSession().getAttribute("userSession");//获取前面登录的用户名 //设置回退给角色信息 String returntoRole = emrFaultDetail.getReturntoRole(); - log.info(username+"将病案:"+emrFaultDetail.getArchiveDetailId()+"退回给"+returntoRole); - if(StringUtils.isNotBlank(emrFaultDetail.getStatus())) { + log.info(username + "将病案:" + emrFaultDetail.getArchiveDetailId() + "退回给" + returntoRole); + if (StringUtils.isNotBlank(emrFaultDetail.getStatus())) { int status = Integer.valueOf(emrFaultDetail.getStatus()); //计算状态code //查询审核角色集合,根据有效进行计算状态code @@ -907,9 +922,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //定义下个节点code String targetCode = ""; //为空为病案室退回 - if(null == emrFaultDetail.getTargetCode()){ + if (null == emrFaultDetail.getTargetCode()) { targetCode = EnumVerify.DocState.MedicalRoomCheck.getCode() + ""; - }else{ + } else { targetCode = emrFaultDetail.getTargetCode() + ""; } //定义退回内容 @@ -927,14 +942,14 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //退回给医生 case "DOCTOR": //获取当前状态码 - status = EnumVerify.DocState.backToDoctor(Integer.valueOf(emrFaultDetail.getStatus()),archiveFlowRoles); + status = EnumVerify.DocState.backToDoctor(Integer.valueOf(emrFaultDetail.getStatus()), archiveFlowRoles); //退回的状态码 backToCodeList.add(EnumVerify.DocState.DortorBack.getCode()); roleIndex = "1"; break; //退回给护士 case "NURSE": - status = EnumVerify.DocState.backToNurse(Integer.valueOf(emrFaultDetail.getStatus()),archiveFlowRoles); + status = EnumVerify.DocState.backToNurse(Integer.valueOf(emrFaultDetail.getStatus()), archiveFlowRoles); backToCodeList.add(EnumVerify.DocState.NurseBack.getCode()); roleIndex = "2"; break; @@ -944,18 +959,19 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { backToCodeList.add(EnumVerify.DocState.DortorBack.getCode()); backToCodeList.add(EnumVerify.DocState.NurseBack.getCode()); break; - default:; + default: + ; } //循环添加进流转记录和缺陷记录 - for(Integer backToCode : backToCodeList){ + for (Integer backToCode : backToCodeList) { //获取当前节点和下个节点对象集合 - List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(targetCode, backToCode,archiveFlowRoles); + List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(targetCode, backToCode, archiveFlowRoles); //添加进流转记录 - ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date()); + ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId, remark, currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), new Date()); //插入退回信息 - backInsertOracle(0,flowInfo); + backInsertOracle(0, flowInfo); //修改退回信息 - updateOracle(roleIndex,emrFaultDetail.getArchiveDetailId()); + updateOracle(roleIndex, emrFaultDetail.getArchiveDetailId()); emrFaultDetail.setParentId(flowInfo.getId()); //添加缺陷记录 emrFaultDetailService.insertSel(emrFaultDetail); @@ -1022,75 +1038,80 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * author:zwh * 初审审核操作 - * */ + */ @Override - public Msg updateStateByArchivId(Archive_Master_Vo master) throws Exception{ - //修改病案归档状态 - if (StringUtils.isNotBlank(master.getArchivestate())) { - StringBuilder masterIds = new StringBuilder(); - //查询审核角色集合,根据有效进行计算状态code - List archiveFlowRoles = flowRoleMapper.selectAll(); - //获取目前code集合 - String[] archivestates = master.getArchivestate().split(","); - //获取主键id集合 - String[] ids = master.getId().split(","); - //获取审核角色集合 - String[] roleArr = master.getRoles().split(","); - //获取当前操作code集合 - String[] roleCodes = master.getStatus().split(","); - //获取资料完整标识集合 - String[] isSuccesses = master.getIsSuccess().split(","); - //获取request - for (int i = 0; i < archivestates.length; i++) { - if(StringUtils.isNotBlank(archivestates[i])){ - //完整或只有一个 - if("1".equals(isSuccesses[i]) || ids.length == 1){ - updateApprove(ids[i],master.getRemark(), roleArr[i], archiveFlowRoles, archivestates[i], roleCodes[i]); - //插入强制提交的记录 - String lockInfo = master.getLockInfo(); - if(!"完整".equals(lockInfo)){ - //插入强制提交记录 - ArchiveForceSumbitInfo archiveForceSumbitInfo = new ArchiveForceSumbitInfo(); - archiveForceSumbitInfo.setMasterId(master.getId()); - archiveForceSumbitInfo.setLockInfo(lockInfo); - archiveForceSumbitInfo.setOperNodeCode(master.getStatus()); - archiveForceSumbitInfo.setStateCode(master.getArchivestate()); - archiveForceSumbitInfoService.saveForceSumbit(archiveForceSumbitInfo); - } - }else{ - if(StringUtils.isBlank(masterIds)){ - masterIds.append("'").append(ids[i]).append("'"); - }else{ - masterIds.append(",'").append(ids[i]).append("'"); + public Msg updateStateByArchivId(Archive_Master_Vo master) throws Exception { + String s = flowRoleMapper.selectByid(master.getId()); + if (s.equals("0")) { + //修改病案归档状态 + if (StringUtils.isNotBlank(master.getArchivestate())) { + StringBuilder masterIds = new StringBuilder(); + //查询审核角色集合,根据有效进行计算状态code + List archiveFlowRoles = flowRoleMapper.selectAll(); + //获取目前code集合 + String[] archivestates = master.getArchivestate().split(","); + //获取主键id集合 + String[] ids = master.getId().split(","); + //获取审核角色集合 + String[] roleArr = master.getRoles().split(","); + //获取当前操作code集合 + String[] roleCodes = master.getStatus().split(","); + //获取资料完整标识集合 + String[] isSuccesses = master.getIsSuccess().split(","); + //获取request + for (int i = 0; i < archivestates.length; i++) { + if (StringUtils.isNotBlank(archivestates[i])) { + //完整或只有一个 + if ("1".equals(isSuccesses[i]) || ids.length == 1) { + updateApprove(ids[i], master.getRemark(), roleArr[i], archiveFlowRoles, archivestates[i], roleCodes[i]); + //插入强制提交的记录 + String lockInfo = master.getLockInfo(); + if (!"完整".equals(lockInfo)) { + //插入强制提交记录 + ArchiveForceSumbitInfo archiveForceSumbitInfo = new ArchiveForceSumbitInfo(); + archiveForceSumbitInfo.setMasterId(master.getId()); + archiveForceSumbitInfo.setLockInfo(lockInfo); + archiveForceSumbitInfo.setOperNodeCode(master.getStatus()); + archiveForceSumbitInfo.setStateCode(master.getArchivestate()); + archiveForceSumbitInfoService.saveForceSumbit(archiveForceSumbitInfo); + } + } else { + if (StringUtils.isBlank(masterIds)) { + masterIds.append("'").append(ids[i]).append("'"); + } else { + masterIds.append(",'").append(ids[i]).append("'"); + } } } } + //不完整,根据不完整主键集合组织不对应不完整分类集合 + List unSuccessList = new ArrayList<>(); + if (StringUtils.isNotBlank(masterIds)) { + unSuccessList = selectUnSuccessAssortByMasterIds(masterIds); + } + if (!CollectionUtils.isEmpty(unSuccessList)) { + //存在不完整 + return Msg.success().add("unSuccessList", unSuccessList); + } else { + //全部完整返回 + return Msg.success(); + } + } else { + return Msg.fail("初始状态出错了!"); } - //不完整,根据不完整主键集合组织不对应不完整分类集合 - List unSuccessList = new ArrayList<>(); - if(StringUtils.isNotBlank(masterIds)){ - unSuccessList = selectUnSuccessAssortByMasterIds(masterIds); - } - if(!CollectionUtils.isEmpty(unSuccessList)){ - //存在不完整 - return Msg.success().add("unSuccessList",unSuccessList); - }else{ - //全部完整返回 - return Msg.success(); - } - } else { - return Msg.fail("初始状态出错了!"); } + return Msg.fail("该病理正处于召回状态不允许提交!"); } /** * 插入第三方oracle库 + * * @param flowInfo */ - private void insertOracle(Integer code,ArchiveFlowInfo flowInfo){ + private void insertOracle(Integer code, ArchiveFlowInfo flowInfo) { //查询是否存在记录 String masterId = flowInfo.getMasterId(); - String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '"+masterId+"'"; + String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '" + masterId + "'"; List counts = null; try { counts = OracleConnect.selectList(selectSql); @@ -1098,8 +1119,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { e.printStackTrace(); throw new RuntimeException("审核时查询oracle记录失败"); } - log.info("masterId查询结果:"+counts.get(0)); - if(code == 1 || !"0".equals(counts.get(0))) { + log.info("masterId查询结果:" + counts.get(0)); + if (code == 1 || !"0".equals(counts.get(0))) { Archive_Master master = archiveMasterMapper.selectByPrimaryKey(masterId); String patientId = master.getPatientId(); String sql = "insert all into archive_flow_info (" + @@ -1136,7 +1157,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { + "'" + patientId + "'," + "'" + "是" + "'" + ") select * from dual"; - log.info("sql:"+sql); + log.info("sql:" + sql); try { OracleConnect.insert(sql); log.info("成功"); @@ -1150,6 +1171,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 当次初审 + * * @param remark * @param role * @param archiveFlowRoles @@ -1158,32 +1180,36 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { * @param roleCode * @throws Exception */ - private void updateApprove(String masterId,String remark, String role, List archiveFlowRoles, String archivestate, String roleCode) throws Exception { + private void updateApprove(String masterId, String remark, String role, List archiveFlowRoles, String archivestate, String roleCode) throws Exception { Archive_Master archiveMaster = new Archive_Master(); Integer code = Integer.valueOf(archivestate); //计算状态code // code:当前状态code,role:角色1医生2护士3护士长,archiveFlowRoles:根据有效的审核角色进行计算 - int statuCode = EnumVerify.DocState.GetNextStepCode(code,Integer.valueOf(role), archiveFlowRoles); - archiveMaster.setArchivestate(statuCode+""); + int statuCode = EnumVerify.DocState.GetNextStepCode(code, Integer.valueOf(role), archiveFlowRoles); + if (statuCode == 18 && qualitySwitch.equals("2")) { + statuCode = 64; + } + archiveMaster.setArchivestate(statuCode + ""); archiveMaster.setId(masterId); //更新 updateByClo(archiveMaster); //获取当前节点和下个节点对象集合 - List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(roleCode, null,archiveFlowRoles); + List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(roleCode, null, archiveFlowRoles); //添加进流转记录 - ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date()); + ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId, remark, currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), new Date()); //处于初始状态的添加进第三方oracle库里 - insertOracle(code,flowInfo); + insertOracle(code, flowInfo); } /** * 根据不完整masterId集合返回对应不完整分类集合 + * * @param masterIds * @return */ private List selectUnSuccessAssortByMasterIds(StringBuilder masterIds) { List list = new ArrayList<>(); - if(StringUtils.isNotBlank(masterIds)){ + if (StringUtils.isNotBlank(masterIds)) { //按masterId分组查询需要已采集的分类集合 List details = detailMapper.selectAssortIdsByMasterIds(masterIds.toString()); //按masterId分组查询是否存在缺少检验检查报告单的masterId集合 @@ -1193,41 +1219,41 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { assort.setIsCheck(1); List assortList = assortMapper.selectAll(assort); String[] masterIdArr = masterIds.toString().split(","); - for (String masterId:masterIdArr) { + for (String masterId : masterIdArr) { masterId = masterId.replaceAll("\'", ""); Archive_Master_Vo master = new Archive_Master_Vo(); StringBuilder unSuccessAssortNames = new StringBuilder(); - for(Zd_Assort assortFor : assortList){ + for (Zd_Assort assortFor : assortList) { //定义无匹配的分类 boolean flag = false; - for(Archive_Detail detail : details){ + for (Archive_Detail detail : details) { //判断主键相同且分类id相同 - if(masterId.equals(detail.getMasterid()) && assortFor.getAssortId().equals(detail.getAssortid())){ + if (masterId.equals(detail.getMasterid()) && assortFor.getAssortId().equals(detail.getAssortid())) { flag = true; break; } } //该分类无匹配组织名称集合 - if(!flag){ - if(StringUtils.isBlank(unSuccessAssortNames)){ + if (!flag) { + if (StringUtils.isBlank(unSuccessAssortNames)) { unSuccessAssortNames.append(assortFor.getAssortName()); - }else{ + } else { unSuccessAssortNames.append(",").append(assortFor.getAssortName()); } } } //判断是否缺少检验检查报告单 - if(!CollectionUtils.isEmpty(inspectionList)){ + if (!CollectionUtils.isEmpty(inspectionList)) { //定义存在缺少检验检查报告 boolean inspectionFlag = true; - for(Archive_Detail detail:inspectionList){ - if(masterId.equals(detail.getMasterid())){ + for (Archive_Detail detail : inspectionList) { + if (masterId.equals(detail.getMasterid())) { inspectionFlag = false; break; } } - if(!inspectionFlag){ - if(StringUtils.isNotBlank(unSuccessAssortNames)){ + if (!inspectionFlag) { + if (StringUtils.isNotBlank(unSuccessAssortNames)) { unSuccessAssortNames.append(","); } unSuccessAssortNames.append("检验检查报告单"); @@ -1244,9 +1270,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * author:zwh * 终审审核操作 - * */ + */ @Override - public void updateFiled(Archive_Master_Vo master) throws Exception{ + public void updateFiled(Archive_Master_Vo master) throws Exception { // 从session获取用户名 String username = (String) SecurityUtils.getSubject().getSession().getAttribute("userSession");//获取前面登录的用户名 SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1255,9 +1281,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { String patientId = master.getPatientId(); String[] patientIdList = patientId.split(","); List archiveFlowRoles = flowRoleMapper.selectAll(); - for(int i = 0;i < idList.length;i++) { + for (int i = 0; i < idList.length; i++) { String id = idList[i]; - if(StringUtils.isNotBlank(id)) { + if (StringUtils.isNotBlank(id)) { //修改病案归档状态 Archive_Master archiveMaster = new Archive_Master(); master.setId(id); @@ -1285,10 +1311,10 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { //是已召回,将当前节点code置为病案室审核 String currentStatus = EnumVerify.DocState.MedicalRoomCheck.getCode() + ""; //获取当前节点和下个节点对象集合 - List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(currentStatus, EnumVerify.DocState.MedicalRoomCheck.getCode(),archiveFlowRoles); + List currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(currentStatus, EnumVerify.DocState.MedicalRoomCheck.getCode(), archiveFlowRoles); //添加流转节点 ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(master.getId(), master.getRemark(), currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), sumbitDate); - insertOracle(0,flowInfo); + insertOracle(0, flowInfo); //添加纸质位置 paperPostionService.savePaperPostion(master); } @@ -1298,15 +1324,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 获取当前角色属于审核哪种角色 * 医生支线返回1,护士支线返回2,一般审核者返回3 - * */ + */ @Override - public Msg getRole(){ + public Msg getRole() { Msg msg = new Msg(); //获取用户功能权限信息 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); Set menus = user.getMenus(); - if(null != menus && !menus.isEmpty()){ + if (null != menus && !menus.isEmpty()) { //定义医生支线role int doctorRole = 0; //定义护士支线role @@ -1328,45 +1354,45 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { StringBuilder powerCode = new StringBuilder(); //遍历,判断拥有权限,拥有护士长权限立即返回4,拥有医生支线赋值doctorRole=1,拥有护士支线赋值nurseRole=1 for (String menu : menus) { - if(StringUtils.isNotBlank(menu)){ - if(menu.equals(doctorSumbit)){ + if (StringUtils.isNotBlank(menu)) { + if (menu.equals(doctorSumbit)) { doctorRole = 1; powerCode.append(EnumVerify.DocState.DortorSubmit.getCode()).append(","); } - if(menu.equals(doctorCheckSumbit)){ + if (menu.equals(doctorCheckSumbit)) { doctorRole = 1; powerCode.append(EnumVerify.DocState.DortorCheck.getCode()).append(","); } - if(menu.equals(directorCheckSumbit)){ + if (menu.equals(directorCheckSumbit)) { doctorRole = 1; powerCode.append(EnumVerify.DocState.DirectorCheck.getCode()).append(","); } - if(menu.equals(nurseSumbit)){ + if (menu.equals(nurseSumbit)) { nurseRole = 1; powerCode.append(EnumVerify.DocState.NurseSubmit.getCode()).append(","); } - if(menu.equals(nurseCheckSumbit)){ + if (menu.equals(nurseCheckSumbit)) { nurseRole = 1; powerCode.append(EnumVerify.DocState.NurseCheck.getCode()).append(","); } - if(menu.equals(headNurseCheck)){ + if (menu.equals(headNurseCheck)) { genegrateRole = 1; powerCode.append(EnumVerify.DocState.HeadNurseCheck.getCode()).append(","); } } } - if(powerCode.toString().endsWith(",")){ + if (powerCode.toString().endsWith(",")) { powerCode = new StringBuilder(powerCode.substring(0, powerCode.length() - 1)); } msg.setMsg(powerCode.toString()); //判断属于哪个支线权限 - if(doctorRole == 1 && nurseRole == 0){ + if (doctorRole == 1 && nurseRole == 0) { msg.setCode(1); } - if(doctorRole == 0 && nurseRole == 1){ + if (doctorRole == 0 && nurseRole == 1) { msg.setCode(2); } - if(doctorRole == 1 && nurseRole == 1 || genegrateRole == 1){ + if (doctorRole == 1 && nurseRole == 1 || genegrateRole == 1) { msg.setCode(4); } return msg; @@ -1376,23 +1402,24 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 查oracle视图,带记账号查询纸质签收的记账号集合 + * * @param patientIdStr * @return */ @Override - public List selectOracleGetSignList(StringBuilder patientIdStr, List selectList){ + public List selectOracleGetSignList(StringBuilder patientIdStr, List selectList) { //查询签收情况 String sql = ""; - if(StringUtils.isNotBlank(patientIdStr)){ - sql = "select fpat_no from v_jswzh_archive_bqreg where fpat_no in ("+patientIdStr.toString()+")" + - "and freg_date is not null"; - }else{ + if (StringUtils.isNotBlank(patientIdStr)) { + sql = "select fpat_no from v_jswzh_archive_bqreg where fpat_no in (" + patientIdStr.toString() + ")" + + "and freg_date is not null"; + } else { sql = "select fpat_no from v_jswzh_archive_bqreg where freg_date is not null"; } //执行查询 - try{ + try { selectList = OracleConnect.selectList(sql); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); ExceptionPrintUtil.printException(e); } @@ -1414,104 +1441,104 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { StringBuilder failResult = new StringBuilder(); //判断护理文书是否完成sysFlag = 1 //查询护理文书采集任务 - String sql1 = "SELECT SHOW_NAME,KDSJ FROM V_JSWZH_HL_DATA WHERE (ENABLED_VALUE = 'Y' OR ENABLED_VALUE IS NULL) AND SHOW_NAME != '护嘱单' AND SHOW_NAME != '术前准备与手术交接记录单' AND SHOW_NAME != '新生儿转NICU交接记录单' AND SHOW_NAME != '护理计划' AND SHOW_NAME != '首次护理记录单(二)' AND SHOW_NAME != '健康教育' AND SHOW_NAME != '产程图' AND SHOW_NAME != '普外科术后疼痛护理单' AND JZH = '"+jzh+"'"; - try { - List selectList1 = OracleConnect.selectListConvertMap(sql1); - if(!CollectionUtils.isEmpty(selectList1)) { - //查询护理文书采集现有的数据 - List archiveOtherExts1 = archiveOtherExtMapper.judgeCollectCompleted(jzh,1); - for(Map map1 : selectList1){ - //获取文件名 - String showName = (String)map1.get("SHOW_NAME"); - //获取最后时间 - Date kdsjDate = null; - if(null != map1.get("KDSJ")){ - try { - kdsjDate = (Date)map1.get("KDSJ"); - } catch (Exception e) { - e.printStackTrace(); - return Msg.fail("护理记录任务的时间格式不符合规范"); - } - } - if(null == kdsjDate){ - return Msg.fail("护理记录任务的时间为空"); - } - //定义是否完整 - boolean complete = false; - //遍历判断关联的文件的采集时间前后 - for(ArchiveOtherExt archiveOtherExt : archiveOtherExts1){ - //获取文件名 - String c1 = archiveOtherExt.getC1(); - //获取最后同步时间 - Date sysupdatetime = archiveOtherExt.getSysupdatetime(); - if(null != sysupdatetime && showName.equals(c1)){ - if(kdsjDate.getTime() <= sysupdatetime.getTime()){ - complete = true; - } - break; - } - } - if(!complete){ - //最终判断是否添加进校验提示名单 - if(judgeIsNotJudgeTask(showName)) { - //不完整添加进提示语句 - if(StringUtils.isNotBlank(failResult)){ - failResult.append(","); - } - failResult.append(showName); - } - } - } - } - } catch (Exception e) { - e.printStackTrace(); - return Msg.fail("请求护理文书平台失败"); - } +// String sql1 = "SELECT SHOW_NAME,KDSJ FROM V_JSWZH_HL_DATA WHERE (ENABLED_VALUE = 'Y' OR ENABLED_VALUE IS NULL) AND SHOW_NAME != '护嘱单' AND SHOW_NAME != '术前准备与手术交接记录单' AND SHOW_NAME != '新生儿转NICU交接记录单' AND SHOW_NAME != '护理计划' AND SHOW_NAME != '首次护理记录单(二)' AND SHOW_NAME != '健康教育' AND SHOW_NAME != '产程图' AND SHOW_NAME != '普外科术后疼痛护理单' AND JZH = '"+jzh+"'"; +// try { +// List selectList1 = OracleConnect.selectListConvertMap(sql1); +// if(!CollectionUtils.isEmpty(selectList1)) { +// //查询护理文书采集现有的数据 +// List archiveOtherExts1 = archiveOtherExtMapper.judgeCollectCompleted(jzh,1); +// for(Map map1 : selectList1){ +// //获取文件名 +// String showName = (String)map1.get("SHOW_NAME"); +// //获取最后时间 +// Date kdsjDate = null; +// if(null != map1.get("KDSJ")){ +// try { +// kdsjDate = (Date)map1.get("KDSJ"); +// } catch (Exception e) { +// e.printStackTrace(); +// return Msg.fail("护理记录任务的时间格式不符合规范"); +// } +// } +// if(null == kdsjDate){ +// return Msg.fail("护理记录任务的时间为空"); +// } +// //定义是否完整 +// boolean complete = false; +// //遍历判断关联的文件的采集时间前后 +// for(ArchiveOtherExt archiveOtherExt : archiveOtherExts1){ +// //获取文件名 +// String c1 = archiveOtherExt.getC1(); +// //获取最后同步时间 +// Date sysupdatetime = archiveOtherExt.getSysupdatetime(); +// if(null != sysupdatetime && showName.equals(c1)){ +// if(kdsjDate.getTime() <= sysupdatetime.getTime()){ +// complete = true; +// } +// break; +// } +// } +// if(!complete){ +// //最终判断是否添加进校验提示名单 +// if(judgeIsNotJudgeTask(showName)) { +// //不完整添加进提示语句 +// if(StringUtils.isNotBlank(failResult)){ +// failResult.append(","); +// } +// failResult.append(showName); +// } +// } +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// return Msg.fail("请求护理文书平台失败"); +// } //判断电子病历是否完成sysFlag = 2 //查询电子病历采集任务 - String sql2 = "SELECT FPAT_NO,FREC_ID,FENTRY_NAME,FLOGLUDATE FROM VIEW_DOCTOR_DATA_2 WHERE FISAVAILABLE = 'Y' AND FENTRY_NAME NOT IN ('手术同意书','手术安全审核单','手术风险评估单','彩超检查申请单','X线检查申请单','B超检查申请单','电子支气管镜检查申请单','CT检查申请单','MRI检查申请单','组织病理学送检单','细胞病理学送检单','知情沟通记录') AND FPAT_NO = '"+jzh+"'"; + String sql2 = "SELECT FPAT_NO,FREC_ID,FENTRY_NAME,FLOGLUDATE FROM VIEW_DOCTOR_DATA_2 WHERE FISAVAILABLE = 'Y' AND FENTRY_NAME NOT IN ('手术同意书','手术安全审核单','手术风险评估单','彩超检查申请单','X线检查申请单','B超检查申请单','电子支气管镜检查申请单','CT检查申请单','MRI检查申请单','组织病理学送检单','细胞病理学送检单','知情沟通记录') AND FPAT_NO = '" + jzh + "'"; try { List selectList2 = OracleConnect.selectListConvertMap(sql2); - if(!CollectionUtils.isEmpty(selectList2)) { + if (!CollectionUtils.isEmpty(selectList2)) { //查询电子病历采集现有的数据 - List archiveOtherExts2 = archiveOtherExtMapper.judgeCollectCompleted(jzh,2); - for(Map map1 : selectList2){ + List archiveOtherExts2 = archiveOtherExtMapper.judgeCollectCompleted(jzh, 2); + for (Map map1 : selectList2) { //获取文件ID - String frecId = (String)map1.get("FREC_ID"); + String frecId = (String) map1.get("FREC_ID"); //获取最后时间 Date flogluDate = null; - if(null != map1.get("FLOGLUDATE")) { + if (null != map1.get("FLOGLUDATE")) { try { - flogluDate = (Date)map1.get("FLOGLUDATE"); + flogluDate = (Date) map1.get("FLOGLUDATE"); } catch (Exception e) { e.printStackTrace(); return Msg.fail("电子病历任务的时间格式不符合规范"); } } - if(null == flogluDate){ + if (null == flogluDate) { return Msg.fail("电子病历任务的时间不能为空"); } //定义是否完整 boolean complete = false; //遍历判断关联的文件的采集时间前后 - for(ArchiveOtherExt archiveOtherExt : archiveOtherExts2){ + for (ArchiveOtherExt archiveOtherExt : archiveOtherExts2) { //获取文件 String c2 = archiveOtherExt.getC2(); //获取最后同步时间 Date sysupdatetime = archiveOtherExt.getSysupdatetime(); - if(null != sysupdatetime && frecId.equals(c2)){ - if(flogluDate.getTime() <= sysupdatetime.getTime()){ + if (null != sysupdatetime && frecId.equals(c2)) { + if (flogluDate.getTime() <= sysupdatetime.getTime()) { complete = true; } break; } } - if(!complete){ - String fentryName = (String)map1.get("FENTRY_NAME"); + if (!complete) { + String fentryName = (String) map1.get("FENTRY_NAME"); //最终判断是否添加进校验提示名单 - if(judgeIsNotJudgeTask(fentryName)) { + if (judgeIsNotJudgeTask(fentryName)) { //不完整添加进提示语句 - if(StringUtils.isNotBlank(failResult)){ + if (StringUtils.isNotBlank(failResult)) { failResult.append(","); } failResult.append(fentryName); @@ -1523,7 +1550,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { e.printStackTrace(); return Msg.fail("请求电子病历平台失败"); } - if(StringUtils.isNotBlank(failResult)){ + if (StringUtils.isNotBlank(failResult)) { failResult.append("采集未完成不允许提交"); return Msg.fail(failResult.toString()); } @@ -1532,14 +1559,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { /** * 判断是否需要添加进校验提示名单 + * * @param task * @return */ - private boolean judgeIsNotJudgeTask(String task){ - if(StringUtils.isNotBlank(task) && StringUtils.isNotBlank(notJudgeTasks)){ + private boolean judgeIsNotJudgeTask(String task) { + if (StringUtils.isNotBlank(task) && StringUtils.isNotBlank(notJudgeTasks)) { String[] tasks = notJudgeTasks.split(","); - for(String taskTemp : tasks){ - if(taskTemp.equals(task)){ + for (String taskTemp : tasks) { + if (taskTemp.equals(task)) { return false; } } diff --git a/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java b/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java index 3f91ab5..6fdd239 100644 --- a/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/CollectorServiceImpl.java @@ -29,7 +29,9 @@ public class CollectorServiceImpl implements ICollectorService { collector.setStartUrl(collectorVo.getUrlMap().get(1)); collector.setRestartUrl(collectorVo.getUrlMap().get(2)); //判断采集器信息是否存在 - if (collectorMapper.selectCount(collector.getKey()) != 0) { + String key = collector.getKey(); + Integer integer = collectorMapper.selectCount(key); + if (integer!=0) { //存在 collectorMapper.update(collector); } else { diff --git a/src/main/java/com/emr/service/ipml/EnumVerify.java b/src/main/java/com/emr/service/ipml/EnumVerify.java index b8872bd..aaeaf06 100644 --- a/src/main/java/com/emr/service/ipml/EnumVerify.java +++ b/src/main/java/com/emr/service/ipml/EnumVerify.java @@ -1,24 +1,32 @@ package com.emr.service.ipml; import com.emr.entity.ArchiveFlowRole; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; + +@Service +@Transactional public class EnumVerify { + + + + /** * 审核角色枚举 - * */ - public enum Checker - { - Dortor(1,"医生"), - Nurse(2,"护士"), - Generate(4,"一般审核者"); + */ + public enum Checker { + Dortor(1, "医生"), + Nurse(2, "护士"), + Generate(4, "一般审核者"); + private int code; private String name; - private Checker(int code, String name) - { + private Checker(int code, String name) { this.code = code; this.name = name; } @@ -41,9 +49,9 @@ public class EnumVerify { /** * 流转节点角色枚举 - * */ - public enum DocState - { + */ + + public enum DocState { None(1, "初始状态"), DortorSubmit(2, "医生提交"), DortorCheck(4, "医生质控员质控"), @@ -56,6 +64,8 @@ public class EnumVerify { NurseBack(512, "护士退回"), CallBacked(1024, "召回"); + + private int code; private String name; @@ -91,81 +101,68 @@ public class EnumVerify { //判断是否包含 - public static boolean HasCurrentState(int curState, DocState ds) - { + public static boolean HasCurrentState(int curState, DocState ds) { return (curState & ds.code) != 0; } //获取当前步骤的显示名称,可以考虑用JS实现 //根据当前状态获取获取状态中文逗号隔开的字符串 - public static String GetStepName(Integer curState,int role) - { + public static String GetStepName(Integer curState, int role) { String doctorV = ""; String nurseV = ""; - if((Checker.Nurse.code != role)){ - if(!HasCurrentState(curState, DortorSubmit) && !HasCurrentState(curState, DortorCheck) && !HasCurrentState(curState, DirectorCheck)){ + if ((Checker.Nurse.code != role)) { + if (!HasCurrentState(curState, DortorSubmit) && !HasCurrentState(curState, DortorCheck) && !HasCurrentState(curState, DirectorCheck)) { doctorV = None.name; } } - if((Checker.Dortor.code != role)){ - if(!HasCurrentState(curState, NurseSubmit) && !HasCurrentState(curState, NurseCheck)){ - nurseV = None.name; + if ((Checker.Dortor.code != role)) { + if (!HasCurrentState(curState, NurseSubmit) && !HasCurrentState(curState, NurseCheck)) { + nurseV = None.name; } } - if (HasCurrentState(curState, DortorSubmit) && (Checker.Nurse.code != role)) - { + if (HasCurrentState(curState, DortorSubmit) && (Checker.Nurse.code != role)) { doctorV = "医生已提交"; } - if (HasCurrentState(curState, DortorCheck) && (Checker.Nurse.code != role)) - { + if (HasCurrentState(curState, DortorCheck) && (Checker.Nurse.code != role)) { doctorV = "医生质控员已质控"; } - if (HasCurrentState(curState, DirectorCheck) && (Checker.Nurse.code != role)) - { + if (HasCurrentState(curState, DirectorCheck) && (Checker.Nurse.code != role)) { doctorV = "科主任已质控"; } - if (HasCurrentState(curState, NurseSubmit) && (Checker.Dortor.code != role)) - { + if (HasCurrentState(curState, NurseSubmit) && (Checker.Dortor.code != role)) { nurseV = "护士已提交"; } - if (HasCurrentState(curState, NurseCheck) && (Checker.Dortor.code != role)) - { + if (HasCurrentState(curState, NurseCheck) && (Checker.Dortor.code != role)) { nurseV = "护士质控员已质控"; } String tmpV = ""; - if (HasCurrentState(curState, DortorBack)) - { - if(Checker.Nurse.code != role){ + if (HasCurrentState(curState, DortorBack)) { + if (Checker.Nurse.code != role) { doctorV = "医生退回"; } } - if (HasCurrentState(curState, NurseBack)) - { - if(Checker.Dortor.code != role){ + if (HasCurrentState(curState, NurseBack)) { + if (Checker.Dortor.code != role) { nurseV = "护士退回"; } } - if(Checker.Dortor.code == role){ + if (Checker.Dortor.code == role) { tmpV = doctorV; - }else if(Checker.Nurse.code == role){ + } else if (Checker.Nurse.code == role) { tmpV = nurseV; - }else if(Checker.Generate.code == role){ + } else if (Checker.Generate.code == role) { tmpV = doctorV + "," + nurseV; } - if (HasCurrentState(curState, HeadNurseCheck)) - { + if (HasCurrentState(curState, HeadNurseCheck)) { tmpV = "护士长已质控"; } - if (HasCurrentState(curState, MedicalRoomCheck)) - { + if (HasCurrentState(curState, MedicalRoomCheck)) { tmpV = "已归档"; } - if (HasCurrentState(curState, CallBacked)) - { + if (HasCurrentState(curState, CallBacked)) { tmpV = "病案室审核"; } - if(tmpV.startsWith(",")) - { + if (tmpV.startsWith(",")) { tmpV = tmpV.substring(1); } @@ -174,52 +171,51 @@ public class EnumVerify { /** * 获取待质控字符 + * * @param curState * @param role * @return */ - public static String GetCurrentStepName(Integer curState,int role) - { + public static String GetCurrentStepName(Integer curState, int role,String qualitySwitch) { String doctorV = ""; String nurseV = ""; - if (HasCurrentState(curState, None) || HasCurrentState(curState, DortorBack) || !HasCurrentState(curState, DortorSubmit)) - { + if (HasCurrentState(curState, None) || HasCurrentState(curState, DortorBack) || !HasCurrentState(curState, DortorSubmit)) { doctorV = ",医生未质控"; } - if (HasCurrentState(curState, DortorSubmit) && !HasCurrentState(curState, DortorCheck)) - { - doctorV = ",医生质控员未质控"; - } - if (HasCurrentState(curState, DortorCheck) && !HasCurrentState(curState, DirectorCheck)) - { - doctorV = ",科主任未质控"; + if (qualitySwitch.equals("1")) { + if (HasCurrentState(curState, DortorSubmit) && !HasCurrentState(curState, DortorCheck)) { + doctorV = ",医生质控员未质控"; + } + if (HasCurrentState(curState, DortorCheck) && !HasCurrentState(curState, DirectorCheck)) { + doctorV = ",科主任未质控"; + } } - if (HasCurrentState(curState, None) || HasCurrentState(curState, NurseBack) || !HasCurrentState(curState, NurseSubmit)) - { + + if (HasCurrentState(curState, None) || HasCurrentState(curState, NurseBack) || !HasCurrentState(curState, NurseSubmit)) { nurseV = ",护士未质控"; } - if (HasCurrentState(curState, NurseSubmit) && !HasCurrentState(curState, NurseCheck)) - { - nurseV = ",护士质控员未质控"; + if (qualitySwitch.equals("1")) { + if (HasCurrentState(curState, NurseSubmit) && !HasCurrentState(curState, NurseCheck)) { + nurseV = ",护士质控员未质控"; + } } String tmpV = ""; - if(Checker.Dortor.code == role){ + if (Checker.Dortor.code == role) { tmpV = doctorV; - }else if(Checker.Nurse.code == role){ + } else if (Checker.Nurse.code == role) { tmpV = nurseV; - }else if(Checker.Generate.code == role){ + } else if (Checker.Generate.code == role) { tmpV = doctorV + nurseV; } - if (HasCurrentState(curState, DirectorCheck) && HasCurrentState(curState, NurseCheck)) - { - tmpV = ",护士长未质控"; + if (qualitySwitch.equals("1")) { + if (HasCurrentState(curState, DirectorCheck) && HasCurrentState(curState, NurseCheck)) { + tmpV = ",护士长未质控"; + } } - if (HasCurrentState(curState,HeadNurseCheck)) - { + if (HasCurrentState(curState, HeadNurseCheck)) { tmpV = ",病案室未质控"; } - if(tmpV.startsWith(",")) - { + if (tmpV.startsWith(",")) { tmpV = tmpV.substring(1); } @@ -227,96 +223,82 @@ public class EnumVerify { } //获取当前步骤所包含的枚举值,可以返回多个值 - public static ArrayList GetCurrentStepContainStates(int curState) throws Exception - { + public static ArrayList GetCurrentStepContainStates(int curState) throws Exception { ArrayList rets = new ArrayList<>(); - if (HasCurrentState(curState, DortorSubmit)) - { + if (HasCurrentState(curState, DortorSubmit)) { rets.add(DortorSubmit.code); } - if (HasCurrentState(curState, DortorCheck)) - { + if (HasCurrentState(curState, DortorCheck)) { rets.add(DortorCheck.code); } - if (HasCurrentState(curState, DirectorCheck)) - { + if (HasCurrentState(curState, DirectorCheck)) { rets.add(DirectorCheck.code); } - if (HasCurrentState(curState, NurseSubmit)) - { + if (HasCurrentState(curState, NurseSubmit)) { rets.add(NurseSubmit.code); } - if (HasCurrentState(curState, NurseCheck)) - { + if (HasCurrentState(curState, NurseCheck)) { rets.add(NurseCheck.code); } - if (HasCurrentState(curState, HeadNurseCheck)) - { + if (HasCurrentState(curState, HeadNurseCheck)) { rets.add(HeadNurseCheck.code); } - if (HasCurrentState(curState, MedicalRoomCheck)) - { + if (HasCurrentState(curState, MedicalRoomCheck)) { rets.add(MedicalRoomCheck.code); } - if (HasCurrentState(curState, DortorBack)) - { + if (HasCurrentState(curState, DortorBack)) { rets.add(DortorBack.code); } - if (HasCurrentState(curState, NurseBack)) - { + if (HasCurrentState(curState, NurseBack)) { rets.add(NurseBack.code); } - if (HasCurrentState(curState, None)) - { + if (HasCurrentState(curState, None)) { rets.add(None.code); } return rets; } + //医生累加code - public static int GetNextStepCode_Dortor(int curState,List flowRoles) throws Exception - { + public static int GetNextStepCode_Dortor(int curState, List flowRoles) throws Exception { //定义医生提交是否有效 int doctorSubmitEffective = 0; //定义医生质控员是否有效 int dortorCheckEffective = 0; //定义科主任审核是否有效 int directorCheckEffective = 0; - if(null != flowRoles && !flowRoles.isEmpty()) { + if (null != flowRoles && !flowRoles.isEmpty()) { for (ArchiveFlowRole flowRole : flowRoles) { - if (flowRole.getCode().equals(DortorSubmit.code+"")){ + if (flowRole.getCode().equals(DortorSubmit.code + "")) { doctorSubmitEffective = flowRole.getEffective(); } - if (flowRole.getCode().equals(DortorCheck.code+"")){ + if (flowRole.getCode().equals(DortorCheck.code + "")) { dortorCheckEffective = flowRole.getEffective(); } - if (flowRole.getCode().equals(DirectorCheck.code+"")){ + if (flowRole.getCode().equals(DirectorCheck.code + "")) { directorCheckEffective = flowRole.getEffective(); } //如果遍历完立即退出循环 - if(doctorSubmitEffective == 1 && dortorCheckEffective == 1 && directorCheckEffective == 1){ + if (doctorSubmitEffective == 1 && dortorCheckEffective == 1 && directorCheckEffective == 1) { break; } } } - if(!HasCurrentState(curState, DortorSubmit) && doctorSubmitEffective == 1) - { + if (!HasCurrentState(curState, DortorSubmit) && doctorSubmitEffective == 1) { //有退回情况,需减去医生退回code再加当前提交 int state = curState ^ DortorBack.code | DortorSubmit.code; //无退回情况,^退回编码会更大,不需要^退回编码 - if(state > (curState | DortorSubmit.code)){ - return curState | DortorSubmit.code; - }else{ + if (state > (curState | DortorSubmit.code)) { + return curState | DortorSubmit.code; + } else { //否则需要减去医生退回部分 return state; } } - if(!HasCurrentState(curState, DortorCheck) && dortorCheckEffective == 1) - { - return curState | DortorCheck.code; + if (!HasCurrentState(curState, DortorCheck) && dortorCheckEffective == 1) { + return curState | DortorCheck.code; } - if(!HasCurrentState(curState, DirectorCheck) && directorCheckEffective == 1) - { - return curState | DirectorCheck.code; + if (!HasCurrentState(curState, DirectorCheck) && directorCheckEffective == 1) { + return curState | DirectorCheck.code; } /* if(HasCurrentState(curState,DirectorCheck)) { @@ -340,120 +322,108 @@ public class EnumVerify { } //护士累加code - public static int GetNextStepCode_Nurse(int curState,List flowRoles) throws Exception - { + public static int GetNextStepCode_Nurse(int curState, List flowRoles) throws Exception { int nurseSubmitEffective = 0; int nurseCheckEffective = 0; - if(null != flowRoles && !flowRoles.isEmpty()) { + if (null != flowRoles && !flowRoles.isEmpty()) { for (ArchiveFlowRole flowRole : flowRoles) { - if (flowRole.getCode().equals(NurseSubmit.code+"")){ + if (flowRole.getCode().equals(NurseSubmit.code + "")) { nurseSubmitEffective = flowRole.getEffective(); } - if (flowRole.getCode().equals(NurseCheck.code+"")){ + if (flowRole.getCode().equals(NurseCheck.code + "")) { nurseCheckEffective = flowRole.getEffective(); } //两者都遍历到立即退出循环 - if(nurseSubmitEffective == 1 && nurseCheckEffective == 1){ + if (nurseSubmitEffective == 1 && nurseCheckEffective == 1) { break; } } } - if(!HasCurrentState(curState, NurseSubmit) && nurseSubmitEffective == 1) - { + if (!HasCurrentState(curState, NurseSubmit) && nurseSubmitEffective == 1) { int state = curState ^ NurseBack.code | NurseSubmit.code; - if(state > (curState | NurseSubmit.code)){ + if (state > (curState | NurseSubmit.code)) { return curState | NurseSubmit.code; - }else{ + } else { return state; } } - if(!HasCurrentState(curState, NurseCheck) && nurseCheckEffective == 1) - { + if (!HasCurrentState(curState, NurseCheck) && nurseCheckEffective == 1) { return curState | NurseCheck.code; } throw new Exception("护士提交的状态未知。"); } //一般审核者累加code - public static int GetNextStepCode_Generate(int curState,List flowRoles) throws Exception - { + public static int GetNextStepCode_Generate(int curState, List flowRoles) throws Exception { int headNurseCheckEffective = 0; int medicalRoomCheckEffective = 0; - if(null != flowRoles && !flowRoles.isEmpty()) { + if (null != flowRoles && !flowRoles.isEmpty()) { for (ArchiveFlowRole flowRole : flowRoles) { - if (flowRole.getCode().equals(HeadNurseCheck.code+"")){ + if (flowRole.getCode().equals(HeadNurseCheck.code + "")) { headNurseCheckEffective = flowRole.getEffective(); } - if (flowRole.getCode().equals(MedicalRoomCheck.code+"")){ + if (flowRole.getCode().equals(MedicalRoomCheck.code + "")) { medicalRoomCheckEffective = flowRole.getEffective(); } } } - if (!HasCurrentState(curState, HeadNurseCheck) && headNurseCheckEffective == 1) - { + if (!HasCurrentState(curState, HeadNurseCheck) && headNurseCheckEffective == 1) { return HeadNurseCheck.code; } - if(!HasCurrentState(curState, MedicalRoomCheck) && medicalRoomCheckEffective == 1) - { + if (!HasCurrentState(curState, MedicalRoomCheck) && medicalRoomCheckEffective == 1) { return MedicalRoomCheck.code; } throw new Exception("一般工作者提交的状态未知。"); } //累加当前code - public static int GetNextStepCode(int curState, Integer isDortor,List flowRoles) throws Exception - { - if(curState == None.code) - { - if(isDortor == Checker.Dortor.code) - { + public static int GetNextStepCode(int curState, Integer isDortor, List flowRoles) throws Exception { + if (curState == None.code) { + if (isDortor == Checker.Dortor.code) { return DortorSubmit.code; } - if(isDortor == Checker.Nurse.code) - { + if (isDortor == Checker.Nurse.code) { return NurseSubmit.code; } - throw new Exception("初始状态,只有可能是医生或护士进行提交"); + throw new Exception("初始状态,只有可能是医生或护士进行提交"); } - if(isDortor == Checker.Dortor.code) - { - return GetNextStepCode_Dortor(curState,flowRoles); + if (isDortor == Checker.Dortor.code) { + return GetNextStepCode_Dortor(curState, flowRoles); } - if(isDortor == Checker.Nurse.code) - { - return GetNextStepCode_Nurse(curState,flowRoles); + if (isDortor == Checker.Nurse.code) { + return GetNextStepCode_Nurse(curState, flowRoles); } - if(isDortor == Checker.Generate.code) - { - return GetNextStepCode_Generate(curState,flowRoles); + if (isDortor == Checker.Generate.code) { + return GetNextStepCode_Generate(curState, flowRoles); } throw new Exception(String.format("参数出错 %d", curState)); } + //医生退回 - public static int backToDoctor(int curState,List flowRoles) throws Exception{ - if(curState != HeadNurseCheck.code && curState != CallBacked.code){ + public static int backToDoctor(int curState, List flowRoles) throws Exception { + if (curState != HeadNurseCheck.code && curState != CallBacked.code) { //不是病案室退回节点,删除医生code - if(HasCurrentState(curState, DirectorCheck)){ + if (HasCurrentState(curState, DirectorCheck)) { curState ^= DirectorCheck.code; } - if(HasCurrentState(curState, DortorCheck)){ + if (HasCurrentState(curState, DortorCheck)) { curState ^= DortorCheck.code; } - if(HasCurrentState(curState, DortorSubmit)){ + if (HasCurrentState(curState, DortorSubmit)) { curState ^= DortorSubmit.code; } - if(HasCurrentState(curState, HeadNurseCheck)){ + if (HasCurrentState(curState, HeadNurseCheck)) { curState ^= HeadNurseCheck.code; } - }else{ + } else { curState = 0; //是病案室退回节点,累加护士code - for(ArchiveFlowRole flowRole : flowRoles) { + for (ArchiveFlowRole flowRole : flowRoles) { if (flowRole.getEffective() == 1) { - if(flowRole.getCode().equals(NurseSubmit.getCode()+"")){ + if (flowRole.getCode().equals(NurseSubmit.getCode() + "")) { curState = curState | NurseSubmit.getCode(); - }else if(flowRole.getCode().equals(NurseCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(NurseCheck.getCode() + "")) { curState = curState | NurseCheck.getCode(); } } @@ -461,29 +431,30 @@ public class EnumVerify { } return curState | DortorBack.code; } + //护士退回 - public static int backToNurse(int curState,List flowRoles) throws Exception{ - if(curState != HeadNurseCheck.code && curState != CallBacked.code) { + public static int backToNurse(int curState, List flowRoles) throws Exception { + if (curState != HeadNurseCheck.code && curState != CallBacked.code) { //不是病案室退回节点,删除护士code - if(HasCurrentState(curState, NurseCheck)){ + if (HasCurrentState(curState, NurseCheck)) { curState ^= NurseCheck.code; } - if(HasCurrentState(curState, NurseSubmit)){ + if (HasCurrentState(curState, NurseSubmit)) { curState ^= NurseSubmit.code; } - if(HasCurrentState(curState, HeadNurseCheck)){ + if (HasCurrentState(curState, HeadNurseCheck)) { curState ^= HeadNurseCheck.code; } - }else{ + } else { curState = 0; //是病案室退回节点,累加医生节点 - for(ArchiveFlowRole flowRole : flowRoles) { + for (ArchiveFlowRole flowRole : flowRoles) { if (flowRole.getEffective() == 1) { - if(flowRole.getCode().equals(DortorSubmit.getCode()+"")){ + if (flowRole.getCode().equals(DortorSubmit.getCode() + "")) { curState = curState | DortorSubmit.getCode(); - }else if(flowRole.getCode().equals(DortorCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(DortorCheck.getCode() + "")) { curState = curState | DortorCheck.getCode(); - }else if(flowRole.getCode().equals(DirectorCheck.getCode()+"")){ + } else if (flowRole.getCode().equals(DirectorCheck.getCode() + "")) { curState = curState | DirectorCheck.getCode(); } } @@ -491,8 +462,9 @@ public class EnumVerify { } return curState | NurseBack.code; } + //医生护士全退回 - public static int backToAll(){ + public static int backToAll() { return DortorBack.code | NurseBack.code; } } diff --git a/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java b/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java index 043ec81..04040d5 100644 --- a/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/VirtualServiceImpl.java @@ -32,7 +32,7 @@ public class VirtualServiceImpl implements IVirtualService { //获取虚拟机信息 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date=new Date(); - Virtual virtual=new Virtual(null, virtualVo.getCpuUtilization(), virtualVo.getMemoryTotal(), + Virtual virtual=new Virtual(null,virtualVo.getCpuUtilization(), virtualVo.getMemoryTotal(), virtualVo.getMemoryAllowance(), virtualVo.getUplinkRate(), virtualVo.getDescendingRate(), virtualVo.getIp(),virtualVo.getUrl(),simpleDateFormat.format(date)); //获取磁盘信息 @@ -48,25 +48,35 @@ public class VirtualServiceImpl implements IVirtualService { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("virtual_id",id);//满足的条件 queryWrapper.or(); - String virtualId = virtual.getId().toString(); - diskMapper.delete(virtualId); + diskMapper.delete(virtual.getIp()); //重新添加磁盘信息 - for(Disk disk:disks){ - disk.setId(null); - disk.setVirtualId(virtual.getId().toString()); + Disk disk=new Disk(); + for(Disk disk1:disks){ + disk.setVirtualId(virtual.getIp()); + disk.setAvailableSize(disk1.getAvailableSize()); + disk.setDiskName(disk1.getDiskName()); + disk.setTotalSize(disk1.getTotalSize()); + disk.setDiskFormat(disk1.getDiskFormat()); + disk.setDiskType(disk1.getDiskType()); + diskMapper.saveBatch(disk); } - diskMapper.saveBatch(disks); }else{ //不存在则添加 int insert = virtualMapper.insert(virtual); //把虚拟机id给磁盘对象 - for(Disk disk:disks){ - disk.setId(null); - disk.setVirtualId(virtual.getId().toString()); + Disk disk=new Disk(); + for(Disk disk1:disks){ + disk.setVirtualId(virtual.getIp()); + disk.setAvailableSize(disk1.getAvailableSize()); + disk.setDiskName(disk1.getDiskName()); + disk.setTotalSize(disk1.getTotalSize()); + disk.setDiskFormat(disk1.getDiskFormat()); + disk.setDiskType(disk1.getDiskType()); + diskMapper.saveBatch(disk); } //添加磁盘信息 - diskMapper.saveBatch(disks); + } } diff --git a/src/main/java/com/emr/util/HttpRequest.java b/src/main/java/com/emr/util/HttpRequest.java new file mode 100644 index 0000000..b3ccdae --- /dev/null +++ b/src/main/java/com/emr/util/HttpRequest.java @@ -0,0 +1,125 @@ +package com.emr.util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.List; +import java.util.Map; + +public class HttpRequest { + /** + * 向指定URL发送GET方法的请求 + * + * @param url + * 发送请求的URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return URL 所代表远程资源的响应结果 + */ + public static String sendGet(String url, String param) { + String result = ""; + BufferedReader in = null; + try { + String urlNameString = url + "?" + param; + URL realUrl = new URL(urlNameString); + // 打开和URL之间的连接 + URLConnection connection = realUrl.openConnection(); + // 设置通用的请求属性 + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 建立实际的连接 + connection.connect(); + // 获取所有响应头字段 + Map> map = connection.getHeaderFields(); + // 遍历所有的响应头字段 + for (String key : map.keySet()) { + System.out.println(key + "--->" + map.get(key)); + } + // 定义 BufferedReader输入流来读取URL的响应 + in = new BufferedReader(new InputStreamReader( + connection.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送GET请求出现异常!" + e); + e.printStackTrace(); + } + // 使用finally块来关闭输入流 + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return result; + } + + /** + * 向指定 URL 发送POST方法的请求 + * + * @param url + * 发送请求的 URL + * @param param + * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 + * @return 所代表远程资源的响应结果 + */ + public static String sendPost(String url, String param) { + PrintWriter out = null; + BufferedReader in = null; + String result = ""; + try { + URL realUrl = new URL(url); + // 打开和URL之间的连接 + URLConnection conn = realUrl.openConnection(); + // 设置通用的请求属性 + conn.setRequestProperty("accept", "*/*"); + conn.setRequestProperty("connection", "Keep-Alive"); + conn.setRequestProperty("user-agent", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + // 发送POST请求必须设置如下两行 + conn.setDoOutput(true); + conn.setDoInput(true); + // 获取URLConnection对象对应的输出流 + out = new PrintWriter(conn.getOutputStream()); + // 发送请求参数 + out.print(param); + // flush输出流的缓冲 + out.flush(); + // 定义BufferedReader输入流来读取URL的响应 + in = new BufferedReader( + new InputStreamReader(conn.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + result += line; + } + } catch (Exception e) { + System.out.println("发送 POST 请求出现异常!"+e); + e.printStackTrace(); + } + //使用finally块来关闭输出流、输入流 + finally{ + try{ + if(out!=null){ + out.close(); + } + if(in!=null){ + in.close(); + } + } + catch(IOException ex){ + ex.printStackTrace(); + } + } + return result; + } +} diff --git a/src/main/java/com/emr/vo/AfCollectTask.java b/src/main/java/com/emr/vo/AfCollectTask.java new file mode 100644 index 0000000..0172493 --- /dev/null +++ b/src/main/java/com/emr/vo/AfCollectTask.java @@ -0,0 +1,79 @@ +package com.emr.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 病案采集任务 + *

+ * + * @author 曾文和 + * @since 2021-05-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) + +public class AfCollectTask implements Serializable { + + private static final long serialVersionUID = 1L; + + + @TableId(value = "id", type = IdType.ID_WORKER_STR) + private Long id; + + + private String patientId; + + + + + private String sysflag; + + + private Date startTime; + + + private Date endTime; + + + private Long consumingTime; + + + private String state; + + + private Date syncTime; + + + private Date recollectTime; + + + private String recollectName; + + + private String remark; + + + private String C1; + + + private String C2; + + + private String C3; + + + private String C4; + + + private String C6; + + + private String C9; +} diff --git a/src/main/java/com/emr/vo/AfCollectTaskUpdateDTO.java b/src/main/java/com/emr/vo/AfCollectTaskUpdateDTO.java new file mode 100644 index 0000000..0ad8f9b --- /dev/null +++ b/src/main/java/com/emr/vo/AfCollectTaskUpdateDTO.java @@ -0,0 +1,23 @@ +package com.emr.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; + +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +@Data + +public class AfCollectTaskUpdateDTO implements Serializable { + private static final long serialVersionUID = 1L; + private Long taskId; + + + private String startTime; + private String endTime; + + private Long consumingTime; +} diff --git a/src/main/java/com/emr/vo/ArchiveCollectTaskVo.java b/src/main/java/com/emr/vo/ArchiveCollectTaskVo.java new file mode 100644 index 0000000..3642d19 --- /dev/null +++ b/src/main/java/com/emr/vo/ArchiveCollectTaskVo.java @@ -0,0 +1,35 @@ +package com.emr.vo; + +import lombok.Data; + +@Data +public class ArchiveCollectTaskVo { + + private Long id; + private String MasterID; + private Long afArchiveDetailId; + private String sysflag; + private String startTime; + private String endTime; + private Long consumingTime; + private String state; + private String syncTime; + private String createTime; + private String recollectTime; + private String recollectName; + private String remark; + private String exceInfo; + private String exceRemark; + private String pResult; + private String C1; + private String C2; + private String C3; + private String C4; + private String C5; + private String C6; + private String C7; + private String C8; + private String C9; + private String C10; + +} diff --git a/src/main/java/com/emr/vo/ArchiveOtherExtVo.java b/src/main/java/com/emr/vo/ArchiveOtherExtVo.java index 980e746..9a7841b 100644 --- a/src/main/java/com/emr/vo/ArchiveOtherExtVo.java +++ b/src/main/java/com/emr/vo/ArchiveOtherExtVo.java @@ -19,6 +19,8 @@ import lombok.Data; public class ArchiveOtherExtVo extends ArchiveOtherExt { private String idTemp; + private Long consumingTime; + private String sysupdatetimeStr; private String stimeStr; diff --git a/src/main/java/com/emr/vo/Virtual.java b/src/main/java/com/emr/vo/Virtual.java index bf0210a..d694b4e 100644 --- a/src/main/java/com/emr/vo/Virtual.java +++ b/src/main/java/com/emr/vo/Virtual.java @@ -1,6 +1,8 @@ package com.emr.vo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -19,9 +21,10 @@ import java.io.Serializable; @Data @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper = false) public class Virtual implements Serializable { private static final long serialVersionUID = 1L; - + @TableId(value = "id", type = IdType.INPUT) private Long id; private String cpuUtilization; diff --git a/src/main/java/com/emr/vo/VirtualVo.java b/src/main/java/com/emr/vo/VirtualVo.java index 3daff19..d5eabd9 100644 --- a/src/main/java/com/emr/vo/VirtualVo.java +++ b/src/main/java/com/emr/vo/VirtualVo.java @@ -1,5 +1,7 @@ package com.emr.vo; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -9,13 +11,15 @@ import java.io.Serializable; import java.util.List; + @Data @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper = false) public class VirtualVo implements Serializable { private static final long serialVersionUID = 1L; - + @TableId(value = "id", type = IdType.INPUT) private Long id; diff --git a/src/main/resources/config/spring-shiro.xml b/src/main/resources/config/spring-shiro.xml index a6f107a..03ee308 100644 --- a/src/main/resources/config/spring-shiro.xml +++ b/src/main/resources/config/spring-shiro.xml @@ -22,6 +22,7 @@ /login=anon /static/**=anon /statistics/**=anon + /archiveExt/**=anon /jspf/**=anon /img/**=anon /collector/**=anon diff --git a/src/main/resources/mapper/ArchiveFlowRoleMapper.xml b/src/main/resources/mapper/ArchiveFlowRoleMapper.xml index 799d5b7..1477adb 100644 --- a/src/main/resources/mapper/ArchiveFlowRoleMapper.xml +++ b/src/main/resources/mapper/ArchiveFlowRoleMapper.xml @@ -118,4 +118,7 @@ + \ No newline at end of file diff --git a/src/main/resources/mapper/ArchiveOtherExtMapper.xml b/src/main/resources/mapper/ArchiveOtherExtMapper.xml index 9f609ab..44f4d82 100644 --- a/src/main/resources/mapper/ArchiveOtherExtMapper.xml +++ b/src/main/resources/mapper/ArchiveOtherExtMapper.xml @@ -434,31 +434,28 @@ and statusFlag = #{statusflag,jdbcType=INTEGER} + + + and sysFlag in (1,2,3,4,5,6,7,8,9) + + and jzh = #{jzh,jdbcType=NVARCHAR} + + + and C1 like '%${c1}%' + + + and sysFlag = #{sysflag,jdbcType=INTEGER} + + + and statusFlag = #{statusflag,jdbcType=INTEGER} + + @@ -825,5 +868,10 @@ parameterType="com.emr.vo.ArchiveOtherExtVo"> select * from archive_other_ext where jzh=#{jzh} and sysFlag=1 + + + + + diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index f9987c5..c51b17c 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -136,7 +136,7 @@ and t.title like '%${title}%' - and t.Source = #{source,jdbcType=VARCHAR} + and t.Source in (${source}) ORDER BY diff --git a/src/main/resources/mapper/CollectorMapper.xml b/src/main/resources/mapper/CollectorMapper.xml index 6dfcc0e..33064cd 100644 --- a/src/main/resources/mapper/CollectorMapper.xml +++ b/src/main/resources/mapper/CollectorMapper.xml @@ -5,56 +5,83 @@ insert into collector - virtualId, + virtual_id , + + + [key], type, - beforeTime, + before_time , state, - stopUrl, + stop_url , - startUrl, + start_url , - restartUrl, + restart_url, - #{virtual_id}, + #{virtualId}, + + + #{key}, #{type}, - #{before_time}, + #{beforeTime}, #{state}, - #{stop_url}, + #{stopUrl}, - #{start_url}, + #{startUrl}, - #{restart_url}, + #{restartUrl}, - UPDATE collector - SET `virtual_id`=#{virtualId}, `type`=#{type}, `before_time`=#{beforeTime}, - `state`=#{state}, `stop_url`=#{stopUrl}, `start_url`=#{startUrl}, `restart_url`=#{restartUrl} - WHERE `key`=#{key} + update collector + + + virtual_id = #{virtualId}, + + + type = #{type}, + + + before_time = #{beforeTime}, + + + state = #{state}, + + + stop_url = #{stopUrl}, + + + start_url = #{startUrl}, + + + restart_url = #{restartUrl}, + + + WHERE [key]=#{key} SELECT count(1) FROM collector - WHERE `key`=#{key} + WHERE [key]=#{key} - select * from virtual where ip =#{ip} + select id from virtual where ip =#{ip} \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index bd13b4c..4ba99d2 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -295,7 +295,7 @@
- +
病历信息
diff --git a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js index 3135794..c9656e1 100644 --- a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js +++ b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js @@ -233,6 +233,12 @@ function getSource(){ list = list.split(","); for (var i = 0; i < list.length; i++) { var source = list[i]; + if (source=="1"){ + source="移动护理系统采集服务"; + } + if (source=="3"){ + source="PACS系统采集服务"; + } html += ''; } } @@ -698,7 +704,15 @@ function initTable2() { field: 'source', align: 'center', valign: 'middle', - width: 50 // 定义列的宽度,单位为像素px + width: 50, // 定义列的宽度,单位为像素px + formatter:function(value, row){ + if(value=="1"){ + return '移动护理系统采集服务'; + } + if(value=="3"){ + return 'PACS系统采集服务'; + } + } }, { title: '状态', @@ -1087,7 +1101,7 @@ $("#workDetail").click(function(){ $.ajax({ type:'get', url:path+'/archiveExt/getArchiveExtInfoList', - data:{jzh: $("#patientId").val()}, + data:{jzh: $("#patientId").val(),mid: $("#masterId").val()}, dataType:'json', success:function(data){ loadTable5Table(data); @@ -1205,6 +1219,7 @@ function initTable5(data,sidePagination) { jzh: $("#patientId").val(), c1: $("#c1").val(), statusflag:$("#statusflag").val(), + mid: $("#masterId").val(), sysflag:$("#sysflag").val(), assortId:$("#assortIdSearch").val() }; @@ -1223,8 +1238,8 @@ function initTable5(data,sidePagination) { if (statusFlagStr=="未完成" ||statusFlagStr==""){ return { disabled : true} } - let sysFlagStr=row.sysFlagStr - if (sysFlagStr=='Pacs检查'){ + let sysflag=row.sysflag + if (sysflag == 1 || sysflag == 3){ return { disabled : true} } }, @@ -1236,8 +1251,12 @@ function initTable5(data,sidePagination) { width: 120, // 定义列的宽度,单位为像素px formatter: function (value, row, index) { let statusFlagStr = row.statusFlagStr; - let sysFlagStr=row.sysFlagStr - if (sysFlagStr!='Pacs检查'){ + var sysflag=row.sysflag; + console.log(sysflag) + if (sysflag == 1 ||sysflag == 3){ + var html = ''; + return html; + }else { if (statusFlagStr=="未完成" ||statusFlagStr==""){ var html = ''; return html; @@ -1245,9 +1264,6 @@ function initTable5(data,sidePagination) { var html = ''; return html; } - }else { - var html = ''; - return html; } }, events: { @@ -1256,6 +1272,7 @@ function initTable5(data,sidePagination) { var sysflag = row.sysflag; var notNursingIds = ''; var nursingIds=''; + var dzblIds=''; if(sysflag = 1){ nursingIds= id; } @@ -1263,7 +1280,10 @@ function initTable5(data,sidePagination) { sysflag = ''; notNursingIds = id; } - submitUpdate(id,notNursingIds,row.did,sysflag,nursingIds); + if(sysflag = 3){ + dzblIds= id; + } + submitUpdate(id,notNursingIds,row.did,sysflag,nursingIds,dzblIds); } } }, @@ -1467,7 +1487,7 @@ function cancleListentingSuccess(){ } //提交同步采集 -function submitUpdate(ids,notNursingIds,detailIds,sysFlag,nursingIds) { +function submitUpdate(ids,notNursingIds,detailIds,sysFlag,nursingIds,dzblIds) { //记录需要监听的数据 addListentingData(ids); //撤销定时 @@ -1476,7 +1496,7 @@ function submitUpdate(ids,notNursingIds,detailIds,sysFlag,nursingIds) { $.ajax({ type:'post', url:path+'/archiveExt/submitUpdate', - data:{ids:ids,notNursingIds:notNursingIds,nursingIds:nursingIds,detailIds:detailIds,jzh:jzh,masterId:$("#idLab").text(),sysFlag:sysFlag}, + data:{ids:ids,notNursingIds:notNursingIds,nursingIds:nursingIds,detailIds:detailIds,jzh:jzh,masterId:$("#idLab").text(),sysFlag:sysFlag,dzblIds:dzblIds}, dataType:'json', success:function (data) { @@ -1565,6 +1585,7 @@ $("#searchBtn6").click(function(){ var sysflag = ''; var notNursingIds = ''; var nursingIds=''; + var dzblIds=''; var detailIds = ''; for (var i = 0; i < data.length; i++) { var id = data[i].idTemp; @@ -1597,7 +1618,15 @@ $("#searchBtn6").click(function(){ } notNursingIds += id; } + if(data[i].sysflag == 3){ + //判断包含护理 + sysflag = 3; + if(dzblIds != ''){ + dzblIds += ','; + } + dzblIds += id; + } } - submitUpdate(ids,notNursingIds,detailIds,sysflag,nursingIds); + submitUpdate(ids,notNursingIds,detailIds,sysflag,nursingIds,dzblIds); } }) diff --git a/src/main/webapp/static/js/inHospList/inHospList.js b/src/main/webapp/static/js/inHospList/inHospList.js index f7e7d4e..f686ee7 100644 --- a/src/main/webapp/static/js/inHospList/inHospList.js +++ b/src/main/webapp/static/js/inHospList/inHospList.js @@ -4,7 +4,7 @@ var tipLoad = 1; var maxHeight = 0; $(function () { //设置默认起止日期 - setDate('startDateTo','endDateTo'); + // setDate('startDateTo','endDateTo'); //加载主管医生列表 loadDoctorInCharge(); //加载权限科室 @@ -52,20 +52,18 @@ $(function () { $('#deptDiv').hide(); } }); -var data9=[{"id":"1631899845518445326","patientId":"1376182","inpNo":"427891","visitId":"1","name":"钟媚婴","sex":"男","deptName":"新生儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:55:18.0000000","deptAdmissionTo":"新生儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"曹冰冰","idNo":"","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631900306912130142","patientId":"1376179","inpNo":"427890","visitId":"1","name":"谭冬妙婴","sex":"男","deptName":"新生儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:45:55.0000000","deptAdmissionTo":"新生儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"曹冰冰","idNo":"","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631899163873580594","patientId":"1376183","inpNo":"427872B","visitId":"0","name":"谢姗珊婴","sex":"男","deptName":"产科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:45:00.0000000","deptAdmissionTo":"产科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"罗砚馨","idNo":"1376132","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631898552258375252","patientId":"1376178","inpNo":"387810","visitId":"2","name":"林满星","sex":"男","deptName":"耳鼻喉科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:37:16.0000000","deptAdmissionTo":"耳鼻喉科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"梁启彬","idNo":"44062419690102381X","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631898745801677943","patientId":"1376177","inpNo":"381306","visitId":"3","name":"陈国新","sex":"男","deptName":"心血管内科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:30:51.0000000","deptAdmissionTo":"心血管内科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"尤杰鹏","idNo":"440624195709090030","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631897799723776239","patientId":"1376176","inpNo":"407147","visitId":"2","name":"范建华","sex":"男","deptName":"骨二科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:25:21.0000000","deptAdmissionTo":"骨二科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"吴增志","idNo":"362202196510203014","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631896482501734905","patientId":"1376175","inpNo":"352386","visitId":"2","name":"苏婧琳","sex":"女","deptName":"儿科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:09:33.0000000","deptAdmissionTo":"儿科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"程建婷","idNo":"440608201809200100","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631896713576918588","patientId":"1376174","inpNo":"378977","visitId":"3","name":"黄玉连","sex":"女","deptName":"妇科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 10:02:45.0000000","deptAdmissionTo":"妇科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"王晓乐","idNo":"440624196408255748","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631895964451391095","patientId":"1376173","inpNo":"332663","visitId":"2","name":"黄美玉","sex":"女","deptName":"产科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 09:57:17.0000000","deptAdmissionTo":"产科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"陆凤莹","idNo":"452625199208010600","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null},{"id":"1631897731668219103","patientId":"1376171","inpNo":"427889","visitId":"1","name":"李惠英","sex":"女","deptName":"神经内科","dischargeDateTime":"1801-02-03 00:00:00.0000000","archivestate":"在院","admissionDateTime":"2022-10-11 09:48:16.0000000","deptAdmissionTo":"神经内科","checkDoctor":"","checkDatetime":null,"checkedDoctor":"","checkedDatetime":"1801-02-03 00:00:00.0000000","lockinfo":"","doctorInCharge":"范国锋","idNo":"441281194607153944","dischargeDisposition":"","deptCodeLend":"","returntoRole":null,"returnOperUsername":null,"changeReason":null,"d1":null,"t1":null,"c4":null}]; if (tipLoad == 1) { $("#table").bootstrapTable({ // 对应table标签的id - //method: 'POST', - //url: path+"/inHosp/inHospitalList", // 获取表格数据的url + method: 'POST', + url: path+"/inHosp/inHospitalList", // 获取表格数据的url contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求,注释掉这句话也能拿到数据 - //dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行 + // dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行 cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true striped: true, //是否显示行间隔色 pagination: true, // 在表格底部显示分页组件,默认false paginationShowPageGo: true, pageList: [10, 20, 50, 100], // 如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。 - sidePagination: 'client', // 设置为服务器端分页 客户端:client - data:data9, + sidePagination: 'server', // 设置为服务器端分页 客户端:client search: false, showColumns: true, toolbar: '#toolbar',//指定工具栏 diff --git a/src/main/webapp/static/js/statistics/notCollected.js b/src/main/webapp/static/js/statistics/notCollected.js index 70291c0..f58adcd 100644 --- a/src/main/webapp/static/js/statistics/notCollected.js +++ b/src/main/webapp/static/js/statistics/notCollected.js @@ -148,9 +148,9 @@ function initTable() { }, { title: '最后更新时间', - field: 'diskType', + field: 'updateTime', align: 'center', - valign: 'updateTime', + valign: 'middle', } ], onLoadSuccess: function (result) { //加载成功时执行