From 81bf847763a9eb073a44685903d1d47e3855a60c Mon Sep 17 00:00:00 2001 From: zengwh <81383286@qq.com> Date: Fri, 10 Dec 2021 10:49:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=A7=91=E4=B8=BB=E4=BB=BB?= =?UTF-8?q?=E5=92=8C=E6=8A=A4=E5=A3=AB=E9=95=BF=E5=AE=A1=E6=A0=B8=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E5=AE=8C=E6=95=B4=E6=80=A7=E4=B8=94=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?emr=E5=92=8C=E6=8A=A4=E7=90=86=E7=9A=84=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E3=80=82=E6=9F=A5=E7=9C=8B=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BA=E5=8F=AC=E5=9B=9E=E3=80=81?= =?UTF-8?q?=E9=80=80=E5=9B=9E=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/beHospitaledController.java | 12 ++ .../com/emr/dao/ArchiveOtherExtMapper.java | 14 ++ .../emr/service/Archive_MasterService.java | 2 + .../service/ipml/ArchiveFlowInfoService.java | 73 +++++++- .../ipml/Archive_MasterServiceImpl.java | 173 ++++++++++++++++-- src/main/java/com/emr/util/OracleConnect.java | 26 ++- .../mapper/ArchiveFlowInfoMapper.xml | 2 - .../mapper/ArchiveOtherExtMapper.xml | 34 ++++ .../resources/mapper/Archive_MasterMapper.xml | 2 +- .../views/beHospitaledDir/beHospList.jsp | 3 +- .../webapp/static/js/beHospList/beHospList.js | 72 ++++++-- 11 files changed, 368 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 1df2139..33d6b73 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -291,6 +291,18 @@ public class beHospitaledController { List list = archiveMasterService.loadOverTimeDoctorInCharge(); return Msg.success().add("list",list); } + + /** + * 实时查询各个采集任务是否采集完成 + * @return + * @throws Exception + */ + @RequestMapping("judgeCollectCompleted") + @ResponseBody + private Msg judgeCollectCompleted(String jzh) throws Exception{ + Msg msg = archiveMasterService.judgeCollectCompleted(jzh); + return msg; + } } diff --git a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java index fffe670..700bdd5 100644 --- a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java +++ b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java @@ -74,4 +74,18 @@ public interface ArchiveOtherExtMapper { * @return */ List callBackStatisticsDetail(ArchiveOtherExtVo record); + + /** + * 根据系统标识查询任务详情 + * @param sysFlag + * @return + */ + List judgeCollectCompleted(@Param("jzh") String jzh,@Param("sysFlag") Integer sysFlag); + /** + * 查询emr退回信息 + * @param masterId + * @return + */ + List selectEmrBackInfo(@Param("masterId") String masterId); + } \ No newline at end of file diff --git a/src/main/java/com/emr/service/Archive_MasterService.java b/src/main/java/com/emr/service/Archive_MasterService.java index 5b62c32..8d30719 100644 --- a/src/main/java/com/emr/service/Archive_MasterService.java +++ b/src/main/java/com/emr/service/Archive_MasterService.java @@ -126,6 +126,8 @@ public interface Archive_MasterService { void updateDetailByArchivIdForBack(String id, String backContent); + Msg judgeCollectCompleted(String jzh); + //String selectLockInfoByMasterId(String archiveDetailId); } diff --git a/src/main/java/com/emr/service/ipml/ArchiveFlowInfoService.java b/src/main/java/com/emr/service/ipml/ArchiveFlowInfoService.java index 3b4371c..97fc231 100644 --- a/src/main/java/com/emr/service/ipml/ArchiveFlowInfoService.java +++ b/src/main/java/com/emr/service/ipml/ArchiveFlowInfoService.java @@ -1,9 +1,7 @@ package com.emr.service.ipml; -import com.emr.dao.ArchiveFlowInfoMapper; -import com.emr.dao.ArchiveFlowRoleMapper; -import com.emr.dao.Archive_MasterMapper; -import com.emr.dao.EmrHolidaySetMapper; +import com.alibaba.fastjson.JSON; +import com.emr.dao.*; import com.emr.entity.*; import com.emr.service.Emr_Fault_TypeService; import com.emr.vo.ArchiveFlowInfoVo; @@ -17,10 +15,8 @@ import org.springframework.transaction.annotation.Transactional; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * @ProjectName: @@ -47,6 +43,8 @@ public class ArchiveFlowInfoService { private Emr_Fault_TypeService faultTypeService; @Autowired private EmrHolidaySetMapper holidaySetMapper; + @Autowired + private ArchiveOtherExtMapper archiveOtherExtMapper; /** * 添加进流转记录 * @param masterId @@ -301,9 +299,68 @@ public class ArchiveFlowInfoService { } } } + //增加emr退回信息 + list = addEmrBackInfoList(id,list); + return list; + } + + /** + * 增加emr退回流程 + * @param id + * @return + */ + private List addEmrBackInfoList(String id,List list) { + //根据masterId查询archive_other_ext表的退回信息 + List archiveOtherExts = archiveOtherExtMapper.selectEmrBackInfo(id); + if(!CollectionUtils.isEmpty(archiveOtherExts)){ + for(ArchiveOtherExt archiveOtherExt : archiveOtherExts){ + ArchiveFlowInfoVo obj = new ArchiveFlowInfoVo(); + String sycobj = archiveOtherExt.getSycobj(); + if(StringUtils.isNotBlank(sycobj)) { + //获取召回、退回字段FISZH + String fiszh = getFisZhByJsonStr(sycobj); + if (StringUtils.isNotBlank(fiszh) && !"未召回".equals(fiszh)) { + //赋值使用时间 + obj.setUseTime("0"); + //获取审批时间 + Date t2 = archiveOtherExt.getT2(); + obj.setSumbitTime(t2); + //获取操作者 + String c10 = archiveOtherExt.getC10(); + obj.setUserName(c10 + fiszh); + //获取操作原因 + String c7 = archiveOtherExt.getC7(); + obj.setRemark(c7); + obj.setOperRole(Short.valueOf("1")); + list.add(obj); + } + } + } + } + if(!CollectionUtils.isEmpty(list)) { + //list按时间排序 + list = list.stream().sorted(Comparator.comparing(ArchiveFlowInfoVo::getSumbitTime).reversed()) + .collect(Collectors.toList()); + } return list; } + /** + * 根据json字符串获取sycobj字段值 + * @param sycobj + * @return + */ + private String getFisZhByJsonStr(String sycobj) { + String returnStr = ""; + try { + Map mapTypes = JSON.parseObject(sycobj); + returnStr = (String)mapTypes.get("FISZH"); + } catch (Exception e) { + e.printStackTrace(); + } + return returnStr; + } + /** * 获取流程明细列表 * @param flowInfoVo 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 75d0c41..a9e4b22 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -27,11 +27,9 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Set; +import java.util.*; /** * @author zwh @@ -58,6 +56,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { private PaperPostionService paperPostionService; @Autowired private ArchiveForceSumbitInfoService archiveForceSumbitInfoService; + @Autowired + private ArchiveOtherExtMapper archiveOtherExtMapper; /** * 在院列表 * */ @@ -295,8 +295,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { masterVo.setCurrentStatus(currentArchivestate); //根据角色 //获取审核按钮和退回按钮集合 - String btns = getBtns(status, flowRoles, masterVo.getId()); - masterVo.setBtns(btns); + getBtns(status, flowRoles, masterVo.getId(),masterVo.getPatientId(),masterVo); } } } @@ -483,10 +482,24 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return list; } + /** + * 组织前端操作审核的方法名 + * @param code + * @param status + * @param targetCode + * @param masterId + * @param patientId + * @return + */ + private String verifyInfoMethodStr(int code,Integer status,int targetCode,String masterId,String patientId){ + patientId = "\"" + patientId + "\""; + return "verifyInfo(" + code + "," + status + "," + targetCode +","+masterId+","+patientId+")"; + } + /** * 获取审核按钮和退回按钮集合 * */ - private String getBtns(Integer status,List roles,String id){ + private void getBtns(Integer status, List roles, String id, String patientId,Archive_Master_Vo masterVo){ String btns = ""; //获取用户功能权限信息 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); @@ -595,49 +608,58 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { String masterId = '"' + id + '"'; //定义下个节点code int targetCode = 0; + //定义医生支线或护士长节点的code + Integer judgeCode = null; if(!EnumVerify.DocState.HasCurrentState(status,EnumVerify.DocState.HeadNurseCheck)){ //判断是否护士长审核 boolean headNurseCheckFlag = getHeadNurseCheckFlag(status,roles); if (headNurseCheckFlag) { if (headNurseCheckPower == 1 && headNurseCheckEffective == 1) { targetCode = EnumVerify.DocState.HeadNurseCheck.getCode(); - btns += ""; - + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Generate.getCode(),status,targetCode,masterId,patientId); + btns += ""; + judgeCode = targetCode; } } else { //没有医生提交 if (!EnumVerify.DocState.HasCurrentState(status, EnumVerify.DocState.DortorSubmit)) { if (doctorSumbitPower == 1 && doctorSubmitEffective == 1) { targetCode = EnumVerify.DocState.DortorSubmit.getCode(); - 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(); - btns += ""; + 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(); - btns += ""; + 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(); - 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(); - btns += ""; + String verifyInfo = verifyInfoMethodStr(EnumVerify.Checker.Nurse.getCode(),status,targetCode,masterId,patientId); + btns += ""; } } } @@ -646,8 +668,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { btns += ""; } } + masterVo.setBtns(btns); + masterVo.setOperRole(judgeCode); } - return btns; } /** * 计算是否属于护士长审核 @@ -1042,7 +1065,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { log.info("失败"); throw new RuntimeException("审核信息插入oracle失败"); } - } } @@ -1305,6 +1327,125 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { archiveMasterMapper.updateById(archiveMaster); //加入日志 } + + /** + * 格式化时间判断 + * @param time + * @param jzh + * @param dataBaseName + * @param sysFlagStr + * @return + */ + private Date judgeTime(String time,String jzh,String dataBaseName,String sysFlagStr){ + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date parse = fmt.parse(time); + return parse; + } catch (ParseException e) { + e.printStackTrace(); + log.info("实时查询各个采集任务是否采集完成格式化时间出错了:"+"数据库:"+dataBaseName+"." + sysFlagStr + ";记账号:"+jzh); + } + return null; + } + + @Override + public Msg judgeCollectCompleted(String jzh) { + //定义失败提示语 + 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 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"); + //获取最后时间 + String kdsj = (String)map1.get("KDSJ"); + Date kdsjDate = judgeTime(kdsj, jzh, "MZ", "V_JSWZH_HL_DATA"); + 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(StringUtils.isNotBlank(failResult)){ + failResult.append(","); + } + failResult.append(showName); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + //判断电子病历是否完成sysFlag = 2 + //查询电子病历采集任务 + String sql2 = "SELECT FPAT_NO,FREC_ID,FFILE_NAME,FLOGLUDATE FROM VIEW_DOCTOR_DATA_2 WHERE FPAT_NO = '"+jzh+"'"; + try { + List selectList2 = OracleConnect.selectListConvertMap(sql2); + if(!CollectionUtils.isEmpty(selectList2)) { + //查询电子病历采集现有的数据 + List archiveOtherExts2 = archiveOtherExtMapper.judgeCollectCompleted(jzh,2); + for(Map map1 : selectList2){ + //获取文件ID + String frecId = (String)map1.get("FREC_ID"); + //获取最后时间 + String flogludate = (String)map1.get("FLOGLUDATE"); + Date flogluDate = judgeTime(flogludate, jzh, "MZ", "VIEW_DOCTOR_DATA_2"); + if(null == flogluDate){ + return Msg.fail("电子病历任务的时间格式不符合规范"); + } + //定义是否完整 + boolean complete = false; + //遍历判断关联的文件的采集时间前后 + for(ArchiveOtherExt archiveOtherExt : archiveOtherExts2){ + //获取文件 + String c2 = archiveOtherExt.getC2(); + //获取最后同步时间 + Date sysupdatetime = archiveOtherExt.getSysupdatetime(); + if(null != sysupdatetime && frecId.equals(c2)){ + if(flogluDate.getTime() <= sysupdatetime.getTime()){ + complete = true; + } + break; + } + } + if(!complete){ + //不完整添加进提示语句 + if(StringUtils.isNotBlank(failResult)){ + failResult.append(","); + } + failResult.append(map1.get("FFILE_NAME")); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + if(StringUtils.isNotBlank(failResult)){ + failResult.append("采集未完成不允许提交"); + return Msg.fail(failResult.toString()); + } + return Msg.success(); + } } diff --git a/src/main/java/com/emr/util/OracleConnect.java b/src/main/java/com/emr/util/OracleConnect.java index 7d287f6..8997955 100644 --- a/src/main/java/com/emr/util/OracleConnect.java +++ b/src/main/java/com/emr/util/OracleConnect.java @@ -1,12 +1,10 @@ package com.emr.util; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; +import java.sql.*; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.alibaba.druid.pool.DruidDataSource; @@ -127,6 +125,24 @@ public class OracleConnect { OracleConnect.CloseConn(rs, pst, conn); return str; } + public static List selectListConvertMap(String sql) throws Exception{ + List list = new ArrayList<>(); + Connection conn = new OracleConnect().getConnect(); + pst = conn.prepareStatement(sql); + rs = pst.executeQuery(); + if (rs != null) { + ResultSetMetaData md = rs.getMetaData();//获取键名 + int columnCount = md.getColumnCount();//获取列的数量 + while (rs.next()) { + Map rowData = new HashMap<>();//声明Map + for (int i = 1; i <= columnCount; i++) { + rowData.put(md.getColumnName(i), rs.getObject(i));//获取键名及值 + } + list.add(rowData); + } + } + return list; + } public static int insert(String sql){ Connection conn = new OracleConnect().getConnect(); diff --git a/src/main/resources/mapper/ArchiveFlowInfoMapper.xml b/src/main/resources/mapper/ArchiveFlowInfoMapper.xml index 1890fa4..7be27f3 100644 --- a/src/main/resources/mapper/ArchiveFlowInfoMapper.xml +++ b/src/main/resources/mapper/ArchiveFlowInfoMapper.xml @@ -243,8 +243,6 @@ LEFT JOIN emr_fault_detail ON archive_flow_info.id = emr_fault_detail.parent_id WHERE archive_flow_info.master_id = #{masterId} - ORDER BY - archive_flow_info.createtime desc + select jzh,C1,C2,convert(varchar(19),sysUpdateTime,120) sysUpdateTime from archive_other_ext + + jzh = #{jzh} + + AND sysFlag = #{sysFlag} + + AND C1 != '一般病程记录' UNION ALL + SELECT + jzh, + C1, + C2, + convert( VARCHAR ( 19 ), sysUpdateTime, 120 ) sysUpdateTime + FROM + archive_other_ext + INNER JOIN ( SELECT top 1 ID FROM archive_other_ext WHERE jzh = #{jzh} AND sysFlag = 2 AND C1 = '一般病程记录' ORDER BY sysUpdateTime DESC ) archive_other_ext1 ON archive_other_ext.ID = archive_other_ext1.ID + + + + + + diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 8012df7..c315e9c 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -619,7 +619,7 @@
+ @@ -856,7 +857,7 @@
- + \ No newline at end of file diff --git a/src/main/webapp/static/js/beHospList/beHospList.js b/src/main/webapp/static/js/beHospList/beHospList.js index 867ba54..7959a57 100644 --- a/src/main/webapp/static/js/beHospList/beHospList.js +++ b/src/main/webapp/static/js/beHospList/beHospList.js @@ -458,7 +458,7 @@ function paramsMatter(value, row) { return value; } //审核弹窗 单个审批① -function verifyInfo(role,archivestate,roleCode,masterId){ +function verifyInfo(role,archivestate,roleCode,masterId,patientId){ //生成表单token,防止表单重复提交 setFormToken(); //赋值审批一个 @@ -474,6 +474,7 @@ function verifyInfo(role,archivestate,roleCode,masterId){ }); $("#verifyText").val(""); $("#archiveId").val(masterId); + $("#jzh").val(patientId); $("#roleCode").val(roleCode); $("#archivestate").val(archivestate); $("#role").val(role); @@ -507,19 +508,33 @@ $("#verifyBtn").on('click', function () { $("#result").val(result); if(result != '完整'){ result = "完整性未通过:"+result+";"; - } - if(result != '完整'){ $("#resultLabel1").text(result); } + var roleCode = $("#roleCode").val(); + //roleCode = 8科主任、roleCode = 64护士长,不让提交 var c1s = selectC1WithNotCollectFinishByPatientId(); $("#resultLabel2").text(c1s); if (result != '完整' || c1s != '') { - $('#WZModal').modal({ - backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 - keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 - show: true//弹出对话框 - }); + if(roleCode == '8' || roleCode == '64'){ + //定义不能提交的提示语 + var resultAll = ''; + if(result != '完整'){ + resultAll += result; + } + if(c1s != ''){ + resultAll += c1s; + } + toastr.warning(resultAll + "不允许提交"); + }else{ + $('#WZModal').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + } } else { + //实时查询科主任或护士长审核时采集任务是否采集完成 + judgeCollectCompleted('',$("#roleCode").val(),$("#jzh").val()); save(1,''); } } @@ -527,6 +542,8 @@ $("#verifyBtn").on('click', function () { //强制提交 单个审批③ $("#wzSaveBtn").on('click', function () { $("#WZModal").modal('hide'); + //实时查询科主任或护士长审核时采集任务是否采集完成 + judgeCollectCompleted('',$("#roleCode").val(),$("#jzh").val()); save(1,''); }); //批量初审功能 批量审批① @@ -617,6 +634,10 @@ $("#sureBtn").click(function(){ failCount++; failSelects.push(selects[i]); }else{ + //实时查询科主任或护士长审核时采集任务是否采集完成 + if(selects[i].operRole != null) { + judgeCollectCompleted(selects[i].name,selects[i].operRole,selects[i].patientId); + } successCount++; } } @@ -626,16 +647,17 @@ $("#sureBtn").click(function(){ //提交后台审核 function save(successCount,failSelects){ $("#sureModal").modal('hide'); - var id = $("#archiveId").val(); var roleCode = $("#roleCode").val(); var firstTrial = $("#verifyText").val(); var archivestate = $("#archivestate").val(); var isSuccess = $("#isSuccess").val(); var role = $("#role").val(); - $.ajax({ + var lockInfo = $("#result").val(); + var id = $("#archiveId").val(); + /*$.ajax({ url: path+"/beHosp/updateStateByArchivId", type: "POST", - data: {id: id, remark: firstTrial,archivestate:archivestate, isSuccess:isSuccess,status: roleCode,roles:role,formToken:$("#formToken").val(),lockInfo:$("#result").val()}, + data: {id: id, remark: firstTrial,archivestate:archivestate, isSuccess:isSuccess,status: roleCode,roles:role,formToken:$("#formToken").val(),lockInfo:lockInfo}, dataType:'json', success: function (data) { if(data.code == 100){ @@ -664,7 +686,33 @@ function save(successCount,failSelects){ toastr.error(data.msg); } } - }); + });*/ +} + +//实时查询各个采集任务是否采集完成 +function judgeCollectCompleted(name,roleCode,jzh){ + var flag = true; + if(roleCode == '8' || roleCode == '64'){ + $.ajax({ + async: false, + url: path+"/beHosp/judgeCollectCompleted", + type: "POST", + data: {jzh:jzh}, + success: function (result) { + if (result.code != 100) { + flag = false; + var msg = result.msg; + if(name != ''){ + msg = name + msg; + } + toastr.warning(msg); + } + } + }); + } + if(!flag){ + return; + } } //查看退回信息