diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index ffcd3196..1e1fb7a2 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -280,149 +280,166 @@ public class beHospitaledController { return "请不要重复提交!"; } response.setCharacterEncoding("utf-8"); - // 从session获取用户名 - Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); - String username = user.getUserName();//获取前面登录的用户名 - String handleName = user.getUserPosition(); + String result=""; + + //判断该病案是否已经是提交,如果是提交,则前端提示并进行刷新表格 Archive_Master archiveMaster=new Archive_Master(); archiveMaster.setId(archiveMasterVo.getId()); - archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor()); - archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse()); - - Emr_Staff_Remark emrStaffRemark=new Emr_Staff_Remark(); - emrStaffRemark.setEffective(1); - emrStaffRemark.setMasterId(archiveMasterVo.getId()); - emrStaffRemark.setContent(archiveMasterVo.getContent()); - - Archive_Master_Following archive_master_following = new Archive_Master_Following(); - archive_master_following.setMasterId(archiveMasterVo.getId()); - - SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String nowTime = format1.format(new Date()); - String result=""; - int bol =0; //判断id 不为空 if(!archiveMaster.getId().equals("")&&!archiveMaster.equals(null)) { Archive_Master obj=archiveMasterService.selectById(archiveMaster.getId()); + //病案记录存在 if(obj!=null) { - //如果是医生提交判断医生是否有缺陷未处理,如果是护士提交判断护士是否有缺陷未处理 - //查询该病案号缺陷,如果有医生就退回医生如果有护士则退回护士否则不退回提示 - Emr_Fault_Detail entityFault=new Emr_Fault_Detail(); - entityFault.setArchiveDetailId(archiveMaster.getId()); - List faultList=emrFaultDetailService.selectByArchiveId(entityFault); - int doctorFlagNum=0; - int nurseFlagNum=0; - if(faultList!=null && faultList.size()>0){ - //1医生 ,2护士 - for (int k = 0; k < faultList.size(); k++) { - if ("1".equals(faultList.get(k).getBackFlag()) || "5".equals(faultList.get(k).getBackFlag())) { - doctorFlagNum+=1; - } - if ("2".equals(faultList.get(k).getBackFlag()) || "6".equals(faultList.get(k).getBackFlag())) { - nurseFlagNum+=1; + //不为初审、主任退回,且医生未提交或护士未提交 + if((!obj.getArchivestate().equals("初审") || !obj.getArchivestate().equals("主任退回")) && (obj.getCmtDoctor()!=1 && archiveMasterVo.getCmtDoctor()==1)||(obj.getCmtNurse()!=1 && archiveMasterVo.getCmtNurse()==1)){ + // 从session获取用户名 + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + String username = user.getUserName();//获取前面登录的用户名 + String handleName = user.getUserPosition(); + + + archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor()); + archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse()); + + Emr_Staff_Remark emrStaffRemark=new Emr_Staff_Remark(); + emrStaffRemark.setEffective(1); + emrStaffRemark.setMasterId(archiveMasterVo.getId()); + emrStaffRemark.setContent(archiveMasterVo.getContent()); + + Archive_Master_Following archive_master_following = new Archive_Master_Following(); + archive_master_following.setMasterId(archiveMasterVo.getId()); + + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowTime = format1.format(new Date()); + + int bol =0; + // Archive_Master obj=archiveMasterService.selectById(archiveMaster.getId()); + //如果是医生提交判断医生是否有缺陷未处理,如果是护士提交判断护士是否有缺陷未处理 + //查询该病案号缺陷,如果有医生就退回医生如果有护士则退回护士否则不退回提示 + Emr_Fault_Detail entityFault=new Emr_Fault_Detail(); + entityFault.setArchiveDetailId(archiveMaster.getId()); + List faultList=emrFaultDetailService.selectByArchiveId(entityFault); + int doctorFlagNum=0; + int nurseFlagNum=0; + if(faultList!=null && faultList.size()>0){ + //1医生 ,2护士 + for (int k = 0; k < faultList.size(); k++) { + if ("1".equals(faultList.get(k).getBackFlag()) || "5".equals(faultList.get(k).getBackFlag())) { + doctorFlagNum+=1; + } + if ("2".equals(faultList.get(k).getBackFlag()) || "6".equals(faultList.get(k).getBackFlag())) { + nurseFlagNum+=1; + } } } - } - //修改病案归档状态 - if (archiveMaster.getCmtDoctor()==1) { - if(doctorFlagNum==0) { - //医生提交(医生和护士同时提交后,归档状态变更为:提交) - if (obj.getCmtNurse() == 1) { - archiveMaster.setArchivestate("提交"); - archiveMaster.setCmtNurse(1); + //修改病案归档状态 + if (archiveMaster.getCmtDoctor()==1 && obj.getCmtDoctor()!=1) { + if(doctorFlagNum==0) { + //医生提交(医生和护士同时提交后,归档状态变更为:提交) + if (obj.getCmtNurse() == 1) { + archiveMaster.setArchivestate("提交"); + archiveMaster.setCmtNurse(1); + } + archiveMaster.setCmtDoctor(1); + archiveMaster.setDoctorName(username); + archiveMaster.setCmtDoctorDate(nowTime); + + //添加医生备注记录 + emrStaffRemark.setTypeFlag(0); + List list = emrStaffRemarkService.selectByCol(emrStaffRemark); + if (list != null && list.size() > 0) { + //修改 + list.get(0).setUpdateTime(nowTime); + list.get(0).setUpdater(username); + list.get(0).setContent(archiveMasterVo.getContent()); + list.get(0).setUpdateTime(nowTime); + bol = emrStaffRemarkService.updateByClo(list.get(0)); + } else { + //插入 + emrStaffRemark.setCreater(username); + emrStaffRemark.setCreateTime(nowTime); + bol = emrStaffRemarkService.insertClo(emrStaffRemark); + } + + //following表中添加归档医生提交操作记录 + archive_master_following.setFollowingType("1");//followingType=1 归档医生提交 + archive_master_following.setFollowingContent("主管医生提交"); + archive_master_following.setHandleTime(nowTime); + archive_master_following.setHandleId(username); + archive_master_following.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archive_master_following); + //addArchiveOther(archiveMasterVo); + }else{ + result = "医生提交失败,存在缺陷未处理!"; } - archiveMaster.setCmtDoctor(1); - archiveMaster.setDoctorName(username); - archiveMaster.setCmtDoctorDate(nowTime); - - //添加医生备注记录 - emrStaffRemark.setTypeFlag(0); - List list = emrStaffRemarkService.selectByCol(emrStaffRemark); - if (list != null && list.size() > 0) { - //修改 - list.get(0).setUpdateTime(nowTime); - list.get(0).setUpdater(username); - list.get(0).setContent(archiveMasterVo.getContent()); - list.get(0).setUpdateTime(nowTime); - bol = emrStaffRemarkService.updateByClo(list.get(0)); - } else { - //插入 - emrStaffRemark.setCreater(username); - emrStaffRemark.setCreateTime(nowTime); - bol = emrStaffRemarkService.insertClo(emrStaffRemark); + } else if (archiveMaster.getCmtNurse()==1 && obj.getCmtNurse()!=1) { + if(nurseFlagNum==0) { + //护士提交(医生和护士同时提交后,归档状态变更为:提交) + if (obj.getCmtDoctor() == 1) { + archiveMaster.setArchivestate("提交"); + archiveMaster.setCmtDoctor(1); + } + archiveMaster.setCmtNurse(1); + archiveMaster.setNurseName(username); + archiveMaster.setCmtNurseDate(nowTime); + + //添加护士备注记录 + emrStaffRemark.setTypeFlag(1); + List list = emrStaffRemarkService.selectByCol(emrStaffRemark); + if (list != null && list.size() > 0) { + //修改 + list.get(0).setUpdater(username); + list.get(0).setUpdateTime(nowTime); + list.get(0).setContent(archiveMasterVo.getContent()); + bol = emrStaffRemarkService.updateByClo(list.get(0)); + } else { + //插入 + emrStaffRemark.setCreater(username); + emrStaffRemark.setCreateTime(nowTime); + bol = emrStaffRemarkService.insertClo(emrStaffRemark); + } + + //following表中添加归档护士提交操作记录 + archive_master_following.setFollowingType("3"); + archive_master_following.setFollowingContent("护士长提交"); + archive_master_following.setHandleTime(nowTime); + archive_master_following.setHandleId(username); + archive_master_following.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archive_master_following); + }else{ + result = "护士提交失败,存在缺陷未处理!"; } - - //following表中添加归档医生提交操作记录 - archive_master_following.setFollowingType("1");//followingType=1 归档医生提交 - archive_master_following.setFollowingContent("主管医生提交"); - archive_master_following.setHandleTime(nowTime); - archive_master_following.setHandleId(username); - archive_master_following.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archive_master_following); - //addArchiveOther(archiveMasterVo); - }else{ - result = "医生提交失败,存在缺陷未处理!"; } - } else if (archiveMaster.getCmtNurse()==1) { - if(nurseFlagNum==0) { - //护士提交(医生和护士同时提交后,归档状态变更为:提交) - if (obj.getCmtDoctor() == 1) { - archiveMaster.setArchivestate("提交"); - archiveMaster.setCmtDoctor(1); + if(bol==1) { + archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); + archiveMaster.setLockinfo(archiveMasterVo.getLockinfo()); + bol = archiveMasterService.updateByClo(archiveMaster); + if(archiveMaster.getCmtDoctor()!=obj.getCmtDoctor()) { + result = "归档医生提交"; + }else if(archiveMaster.getCmtNurse()!=obj.getCmtNurse()){ + result = "归档护士提交"; } - archiveMaster.setCmtNurse(1); - archiveMaster.setNurseName(username); - archiveMaster.setCmtNurseDate(nowTime); - - //添加护士备注记录 - emrStaffRemark.setTypeFlag(1); - List list = emrStaffRemarkService.selectByCol(emrStaffRemark); - if (list != null && list.size() > 0) { - //修改 - list.get(0).setUpdater(username); - list.get(0).setUpdateTime(nowTime); - list.get(0).setContent(archiveMasterVo.getContent()); - bol = emrStaffRemarkService.updateByClo(list.get(0)); - } else { - //插入 - emrStaffRemark.setCreater(username); - emrStaffRemark.setCreateTime(nowTime); - bol = emrStaffRemarkService.insertClo(emrStaffRemark); + if(bol==1){ + result+="成功!"; + }else{ + result+= "失败!"; } - - //following表中添加归档护士提交操作记录 - archive_master_following.setFollowingType("3"); - archive_master_following.setFollowingContent("护士长提交"); - archive_master_following.setHandleTime(nowTime); - archive_master_following.setHandleId(username); - archive_master_following.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archive_master_following); - }else{ - result = "护士提交失败,存在缺陷未处理!"; - } - } - if(bol==1) { - archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); - archiveMaster.setLockinfo(archiveMasterVo.getLockinfo()); - bol = archiveMasterService.updateByClo(archiveMaster); - if(archiveMaster.getCmtDoctor()!=obj.getCmtDoctor()) { - result = "归档医生提交"; - }else if(archiveMaster.getCmtNurse()!=obj.getCmtNurse()){ - result = "归档护士提交"; - } - if(bol==1){ - result+="成功!"; }else{ - result+= "失败!"; + return "请不要重复提交!"; } + + }else{ + return "请不要重复提交!"; } + }else{ result = "病案不存在!"; } }else{ - result="病案不存在!"; + result = "病案不存在!"; } + return result; } @@ -456,7 +473,8 @@ public class beHospitaledController { @RequestMapping(value = "/getDoctorInCharge") public List getDoctorInCharge(HttpServletResponse response, Archive_Master archiveMaster) throws Exception { //根据目前账号所在科室获取主管医生列表 - return archiveMasterService.getDoctorInCharge(archiveMaster); + List list=archiveMasterService.getDoctorInCharge(archiveMaster); + return list; } @Transactional @@ -470,60 +488,65 @@ public class beHospitaledController { response.setCharacterEncoding("utf-8"); Archive_Master archiveMaster=new Archive_Master(); archiveMaster.setId(archiveMasterVo.getId()); - Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); - String username = user.getUserName();//工号 - String handleName = user.getUserPosition();//姓名 - SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String nowTime = format1.format(new Date()); - String result=""; int bol =0; //判断id 不为空 if(!"".equals(archiveMaster.getId()) && archiveMaster.getId() != null) { Archive_Master obj = archiveMasterService.selectById(archiveMaster.getId()); if (obj!=null){ - Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following(); - archiveMasterFollowing.setMasterId(archiveMasterVo.getId()); - //backRole=1医生撤销 - if (backRole == 1){ - //医生撤回操作 - archiveMaster.setCmtDoctorDate(""); - archiveMaster.setDoctorName(""); - archiveMaster.setCmtDoctor(0); - //following表中添加归档医生撤回操作记录 - archiveMasterFollowing.setFollowingType("2"); - archiveMasterFollowing.setFollowingContent("主管医生撤回提交"); - archiveMasterFollowing.setHandleTime(nowTime); - archiveMasterFollowing.setHandleId(username); - archiveMasterFollowing.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archiveMasterFollowing); - result="归档医生撤回成功!"; - }else if(backRole == 2){ - //backRole=2护士撤销 - //护士撤回操作 - archiveMaster.setCmtNurseDate(""); - archiveMaster.setNurseName(""); - archiveMaster.setCmtNurse(0); - //following表中添加归档护士撤回操作记录 - archiveMasterFollowing.setFollowingType("4"); - archiveMasterFollowing.setFollowingContent("护士长撤回提交"); - archiveMasterFollowing.setHandleTime(nowTime); - archiveMasterFollowing.setHandleId(username); - archiveMasterFollowing.setHandleName(handleName); - bol = archive_master_followingService.insertSelective(archiveMasterFollowing); - result="归档护士撤回成功!"; - } - archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); - //撤回后,状态改为0 - archiveMaster.setIsscaned("0"); - bol=archiveMasterService.updateByClo(archiveMaster); - if (bol!=1){ - if (archiveMasterVo.getCmtDoctor()==0){ - result="归档医生撤回失败!"; + //不重复撤销 + if(obj.getArchivestate().equals("归档中") && (obj.getCmtDoctor()!=0 && archiveMasterVo.getCmtDoctor()==0)||(obj.getCmtNurse()!=0 && archiveMasterVo.getCmtNurse()==0)){ + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + String username = user.getUserName();//工号 + String handleName = user.getUserPosition();//姓名 + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowTime = format1.format(new Date()); + + Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following(); + archiveMasterFollowing.setMasterId(archiveMasterVo.getId()); + //backRole=1医生撤销 + if (backRole == 1){ + //医生撤回操作 + archiveMaster.setCmtDoctorDate(""); + archiveMaster.setDoctorName(""); + archiveMaster.setCmtDoctor(0); + //following表中添加归档医生撤回操作记录 + archiveMasterFollowing.setFollowingType("2"); + archiveMasterFollowing.setFollowingContent("主管医生撤回提交"); + archiveMasterFollowing.setHandleTime(nowTime); + archiveMasterFollowing.setHandleId(username); + archiveMasterFollowing.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archiveMasterFollowing); + result="归档医生撤回成功!"; + }else if(backRole == 2){ + //backRole=2护士撤销 + //护士撤回操作 + archiveMaster.setCmtNurseDate(""); + archiveMaster.setNurseName(""); + archiveMaster.setCmtNurse(0); + //following表中添加归档护士撤回操作记录 + archiveMasterFollowing.setFollowingType("4"); + archiveMasterFollowing.setFollowingContent("护士长撤回提交"); + archiveMasterFollowing.setHandleTime(nowTime); + archiveMasterFollowing.setHandleId(username); + archiveMasterFollowing.setHandleName(handleName); + bol = archive_master_followingService.insertSelective(archiveMasterFollowing); + result="归档护士撤回成功!"; } - if (archiveMasterVo.getCmtNurse()==0){ - result="归档护士撤回失败!"; + archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); + //撤回后,状态改为0 + archiveMaster.setIsscaned("0"); + bol=archiveMasterService.updateByClo(archiveMaster); + if (bol!=1){ + if (archiveMasterVo.getCmtDoctor()==0){ + result="归档医生撤回失败!"; + } + if (archiveMasterVo.getCmtNurse()==0){ + result="归档护士撤回失败!"; + } } + }else{ + result = "请不要重复撤回!"; } }else{ result = "病案不存在!"; @@ -531,6 +554,7 @@ public class beHospitaledController { }else{ result="病案不存在!"; } + return result; } diff --git a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java index 5502b4ad..bcf8db0c 100644 --- a/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Emr_Fault_DetailServiceImpl.java @@ -372,7 +372,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { emr_fault_vo.setEndDateTo(followList.get(i - 1).getHandleTime()); } }else{ - emr_fault_vo.setStartDateTo(followList.get(i).getHandleTime()); + //第一次签收 + emr_fault_vo.setStartDateTo("2000-01-01 01:00:00"); emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime()); } break; @@ -445,7 +446,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService { emr_fault_vo.setEndDateTo(followList.get(i - 1).getHandleTime()); } }else{ - emr_fault_vo.setStartDateTo(followList.get(i).getHandleTime()); + //第一次签收 + emr_fault_vo.setStartDateTo("2000-01-01 01:00:00"); emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime()); } break; diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 87b4f3b7..517279bd 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -934,9 +934,10 @@ ORDER BY discharge_date_time desc +