From fe3a3007277ac9ac042c65e26be0bb38e0c1b4fa Mon Sep 17 00:00:00 2001 From: zengwh Date: Wed, 9 Sep 2020 11:51:57 +0800 Subject: [PATCH] =?UTF-8?q?09-08=E5=87=BA=E5=B7=AE=E5=90=8E--=E5=87=BA?= =?UTF-8?q?=E9=99=A2=E6=B5=8F=E8=A7=88=E5=A2=9E=E5=8A=A0=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=9D=A1=E4=BB=B6=EF=BC=8C=E7=97=85=E5=8E=86?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E5=A2=9E=E5=8A=A0=E6=A0=87=E9=A2=98=E5=92=8C?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emr/controller/inHospitalController.java | 20 ++- .../com/emr/dao/Archive_DetailMapper.java | 2 + .../com/emr/dao/Archive_MasterMapper.java | 2 + .../emr/service/Archive_DetailService.java | 2 + .../ipml/Archive_DetailServiceImpl.java | 5 + .../ipml/Archive_MasterServiceImpl.java | 58 ++++++++- src/main/resources/config/config.properties | 5 +- .../resources/mapper/Archive_DetailMapper.xml | 10 ++ .../resources/mapper/Archive_MasterMapper.xml | 119 +++++++++++++----- .../views/beHospitaledDir/beHospList.jsp | 28 ++++- .../views/inHospitalDir/inHositalList.jsp | 18 +++ .../views/lastVerifyDir/lastVerifyList.jsp | 18 +++ .../unfileMedicalDir/unfileMedicalList.jsp | 18 +++ .../webapp/static/js/beHospList/beHospList.js | 30 ++++- .../js/hospitalCommom/hospitalCommom.js | 41 +++++- .../webapp/static/js/inHospList/inHospList.js | 1 + .../js/lastVerifyList/lastVerifyList.js | 2 +- .../js/unfileMedicalList/unfileMedicalList.js | 2 +- 18 files changed, 324 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java index 3407c39..8f38d96 100644 --- a/src/main/java/com/emr/controller/inHospitalController.java +++ b/src/main/java/com/emr/controller/inHospitalController.java @@ -178,6 +178,25 @@ public class inHospitalController { } } + @ResponseBody + @RequestMapping(value= "/getSourceByMasterId") + public Msg getSourceByMasterId(String masterid){ + List list = archiveDetailService.getSourceByMasterId(masterid); + StringBuilder str = new StringBuilder(); + if(!list.isEmpty()){ + for (Archive_Detail obj:list) { + if(StringUtils.isNotBlank(obj.getSource())){ + if(StringUtils.isNotBlank(str)){ + str.append(",").append(obj.getSource()); + }else{ + str.append(obj.getSource()); + } + } + } + } + return Msg.success().add("str",str.toString()); + } + @ResponseBody @RequestMapping(value = "/updateState") public int updateState(HttpServletRequest request,HttpServletResponse response, Archive_Detail archiveDetail){ @@ -300,7 +319,6 @@ public class inHospitalController { String result=""; // 项目在容器中实际发布运行的根路径 String realPath = request.getSession().getServletContext().getRealPath("/"); - //pdf名称 String pdfFile = String.valueOf(System.currentTimeMillis()); String pdfPath = pictureUrl + "\\" + pdfFile + ".pdf"; //病案号文件夹 diff --git a/src/main/java/com/emr/dao/Archive_DetailMapper.java b/src/main/java/com/emr/dao/Archive_DetailMapper.java index 243db87..fd08fd1 100644 --- a/src/main/java/com/emr/dao/Archive_DetailMapper.java +++ b/src/main/java/com/emr/dao/Archive_DetailMapper.java @@ -47,4 +47,6 @@ public interface Archive_DetailMapper { * @return */ List selectNotInspectionList(@Param("masterIds") String masterIds); + + List getSourceByMasterId(@Param("masterid") String masterid); } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index 5609b30..9eb2b72 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -47,4 +47,6 @@ public interface Archive_MasterMapper { * @return */ int updateLockInfoByMasterId(@Param("masterIds")String masterIds,@Param("lockinfo")String lockinfo); + + List selectDaysByMasterIds(List list); } \ No newline at end of file diff --git a/src/main/java/com/emr/service/Archive_DetailService.java b/src/main/java/com/emr/service/Archive_DetailService.java index edc9867..81dd377 100644 --- a/src/main/java/com/emr/service/Archive_DetailService.java +++ b/src/main/java/com/emr/service/Archive_DetailService.java @@ -83,6 +83,8 @@ public interface Archive_DetailService { void selectByIdStrFont(HttpServletResponse response, HttpSession session,Archive_Detail detail); void showPdf(HttpServletResponse response, HttpSession session, String pdfWater); + + List getSourceByMasterId(String masterid); } 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 e8b8f81..30a4fd5 100644 --- a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java @@ -194,6 +194,11 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { session.removeAttribute("showRecord"); } + @Override + public List getSourceByMasterId(String masterid) { + return archiveDetailMapper.getSourceByMasterId(masterid); + } + @Override public List selectTypeTreeByPatientIdAndAssortIds(String patientId, String assortIds) { return archiveDetailMapper.selectTypeTreeByPatientIdAndAssortIds(patientId, assortIds); 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 609c4a5..b2ff1e5 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -6,10 +6,7 @@ */ package com.emr.service.ipml; -import com.emr.dao.ArchiveFlowRoleMapper; -import com.emr.dao.Archive_DetailMapper; -import com.emr.dao.Archive_MasterMapper; -import com.emr.dao.Zd_AssortMapper; +import com.emr.dao.*; import com.emr.entity.*; import com.emr.service.Archive_MasterService; import com.emr.service.Emr_Fault_DetailService; @@ -52,6 +49,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { private Archive_DetailMapper detailMapper; @Autowired private Zd_AssortMapper assortMapper; + @Autowired + private Emr_DictionaryMapper dictionaryMapper; /** * 在院列表 * */ @@ -231,7 +230,15 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Override public List selectByColumn(Archive_Master_Vo archiveMasterVo) { setMaxRoleId(archiveMasterVo); + long start = System.currentTimeMillis(); List list = archiveMasterMapper.selectByColumn(archiveMasterVo); + long end = System.currentTimeMillis(); + System.out.println("查询所需的时间"+(end-start)/1000.0+"s"); + //转换科室与赋值超期天数 + long start1 = System.currentTimeMillis(); + selectByColumnChange(list); + long end1 = System.currentTimeMillis(); + System.out.println("组织所需的时间"+(end1-start1)/1000.0+"s"); //根据状态code转换状态及判断显示按钮 if(null != list && !list.isEmpty()){ //查询流转角色集合 @@ -259,6 +266,49 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { return list; } + /** + * 出院浏览转换科室中文、查询天数 + * + * @param list + */ + private void selectByColumnChange(List list) { + if(!CollectionUtils.isEmpty(list)){ + //查询科室集合 + Emr_Dictionary dictionary = new Emr_Dictionary(); + dictionary.setTypecode("dept_code"); + List dictionaries = dictionaryMapper.dicByTypeCode(dictionary); + //查询出院天数 + List selectDays = archiveMasterMapper.selectDaysByMasterIds(list); + if(!CollectionUtils.isEmpty(dictionaries)){ + for (Archive_Master_Vo vo:list) { + //在院科室 + String deptAdmissionTo = vo.getDeptAdmissionTo(); + //出院科室 + String deptName = vo.getDeptName(); + //住院科室 + for (Emr_Dictionary dictionaryTemp:dictionaries) { + String name = dictionaryTemp.getName(); + if(StringUtils.isNotBlank(deptAdmissionTo) && deptAdmissionTo.equals(dictionaryTemp.getCode())){ + vo.setDeptAdmissionTo(name); + } + if(StringUtils.isNotBlank(deptName) && deptName.equals(dictionaryTemp.getCode())){ + vo.setDeptName(name); + } + } + //赋值出院天数 + if(!CollectionUtils.isEmpty(selectDays)){ + for(Archive_Master_Vo days : selectDays){ + if(days.getId().equals(vo.getId())){ + vo.setDays(days.getDays()); + break; + } + } + } + } + } + } + } + //验证字符串是否是数字 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ diff --git a/src/main/resources/config/config.properties b/src/main/resources/config/config.properties index 0311676..0a0f6ca 100644 --- a/src/main/resources/config/config.properties +++ b/src/main/resources/config/config.properties @@ -1,5 +1,5 @@ #power\u6743\u9650\u7CFB\u7EDFIP\u548C\u7AEF\u53E3 -POWER_IP = 192.168.1.3 +POWER_IP = localhost POWER_PORT = 8080 #POWER_IP = 200.100.104.40 @@ -17,9 +17,10 @@ powerUrl=${POWER_URLHEAD}/font/getMenusByUserIdAndSysFlag #\u6821\u9A8C\u5B8C\u6574\u6027webService\u670D\u52A1\u63A5\u53E3 #\u6821\u9A8C\u5B8C\u6574\u6027IP +#CHECKSUCCESS_IP = 200.100.104.40 CHECKSUCCESS_IP = ${POWER_IP} #\u6821\u9A8C\u5B8C\u6574\u6027\u7AEF\u53E3 -CHECKSUCCESS_PORT = 8888 +CHECKSUCCESS_PORT = 8081 #CHECKSUCCESS_PORT = ${POWER_PORT} HomepageDictionary=http://${CHECKSUCCESS_IP}:${CHECKSUCCESS_PORT}/WholeCheckInterface/services/HomepageDictionary?wsdl HomepageMethod=CheckData diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index d1af515..6329a8e 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -70,6 +70,12 @@ and t.AssortID in (${assortName}) + + and t.title like '%${title}%' + + + and t.Source = #{source,jdbcType=VARCHAR} + ORDER BY z.assort_sort,t.UpLoadDateTime + + \ No newline at end of file diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 052081f..2ed506a 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -281,24 +281,45 @@ + + + + + LEFT JOIN ( SELECT master_id, COUNT( id ) approveCount FROM archive_flow_info WHERE step_index = 1 GROUP BY master_id HAVING ( COUNT( id )) = 2 ) temp3 ON m.id = temp3.master_id + + + INNER JOIN + ( + SELECT + archive_flow_info.master_id + FROM + archive_flow_info + INNER JOIN ( SELECT MAX( createtime ) createtime, master_id FROM archive_flow_info + + where archive_flow_info.oper_role = #{roles} OR oper_role = 4 + + GROUP BY master_id ) temp ON archive_flow_info.master_id = temp.master_id + AND archive_flow_info.createtime = temp.createtime + + + AND archive_flow_info.target_step_id = #{infoId} + + + AND archive_flow_info.start_step_id = #{infoId} and archive_flow_info.sumbit_name not like '%退回' + + + ) temp1 + ON m.id = temp1.master_id + + + + @@ -987,4 +1006,40 @@ UPDATE archive_master SET LockInfo = #{lockinfo} WHERE id IN (${masterIds}) + + \ 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 848f269..b1cfb21 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -115,6 +115,8 @@ + +
@@ -185,12 +187,12 @@
- <%--
+
- -
--%> +
@@ -319,11 +321,27 @@
+
+
+
+ + +
+
+ + +
+
+ +
+
+
-
-
diff --git a/src/main/webapp/WEB-INF/views/inHospitalDir/inHositalList.jsp b/src/main/webapp/WEB-INF/views/inHospitalDir/inHositalList.jsp index 22db96c..63621d3 100644 --- a/src/main/webapp/WEB-INF/views/inHospitalDir/inHositalList.jsp +++ b/src/main/webapp/WEB-INF/views/inHospitalDir/inHositalList.jsp @@ -260,6 +260,24 @@ +
+
+
+ + +
+
+ + +
+
+ +
+
+
diff --git a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp index 2bc10b2..d974211 100644 --- a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp +++ b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp @@ -299,6 +299,24 @@
+
+
+
+ + +
+
+ + +
+
+ +
+
+
diff --git a/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp b/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp index 068164d..db97757 100644 --- a/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp +++ b/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp @@ -317,6 +317,24 @@
+
+
+
+ + +
+
+ + +
+
+ +
+
+
diff --git a/src/main/webapp/static/js/beHospList/beHospList.js b/src/main/webapp/static/js/beHospList/beHospList.js index 0acddbe..ab81583 100644 --- a/src/main/webapp/static/js/beHospList/beHospList.js +++ b/src/main/webapp/static/js/beHospList/beHospList.js @@ -67,7 +67,9 @@ function initTable() { isSearch:$("#isSearch").val(), status:$("#currentRoleIds").val(), role:$("#currentRole").val(), - isSuccess:$("#isSuccessSearch").val() + roles:$("#searchOperRole").val(), + isSuccess:$("#isSuccessSearch").val(), + infoId:$("#infoId").val() }; return temp; }, @@ -166,6 +168,8 @@ function initTable() { events: { //查看 'click .selInfo': function (e, value, row) { + //校验完整性 + //var checkSuccessResult = checkSuccessMethod(row.id); //移除完整性高亮状态 $("#wzContent").removeClass("wzContent"); //查询是否医生或护士是否提交 @@ -208,6 +212,7 @@ function initTable() { $("#outHospLab").html(row.dischargeDisposition); $("#inLab").html(row.inpNo); $("#inTimeLab").html(row.visitId); + //$("#wzContent").text(checkSuccessResult); $("#wzContent").text(row.lockinfo); $("#masterId").val(row.id); ///入/出院年+出院月+住院号+住院次数 @@ -219,6 +224,7 @@ function initTable() { } $("#outDateLab").val(outDate[0] + "" + outDate[1] + "" + row.inpNo.trim() + "" + row.visitId + ""); initTree(row.id,$("#checker").val()); + getSource(); }, //查看流程 'click .showFlowInfo': function (e, value, row) { @@ -657,25 +663,26 @@ function getApproveRoles() { //获取操作角色 var checker = $("#checker").val(); for (var i = 0; i < flowRoles.length; i++) { + var option = ''; var code = flowRoles[i].code; //过滤病案室审核128和病案室召回1024且无效的对象 if(code != '128' && code != '1024' && flowRoles[i].effective == 1){ if(code <= 64 && code >= 2 && checker != 4){ if(currentRoleIds != '' && currentRoleIds > flowRoles[i].id && checker == flowRoles[i].role){ - html += ''; + html += option; } }else{ if(checker != 4 && flowRoles[i].role != null){ if(checker == flowRoles[i].role){ - html += ''; + html += option; } }else{ - html += ''; + html += option; } } } } - $("#approveRole").append(html); + $("#infoId").append(html); } }else{ toastr.error(data.msg); @@ -683,13 +690,24 @@ function getApproveRoles() { },'json') } +//监听审核节点查询的变更事件,记录属于支线 +$("#infoId").change(function(){ + var dataRole = $(this).find("option:selected").attr("data-role"); + console.log(dataRole) + if(dataRole == 1 || dataRole == 2) { + $("#searchOperRole").val(dataRole); + }else{ + $("#searchOperRole").val(""); + } +}) + $(function () { //赋值审核角色 getChecker(); //加载当前角色 getCurrentCodes(); //加载审核节点 - //getApproveRoles(); + getApproveRoles(); var url = window.location.href; var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", ""); if (index != null && index != "" && index.indexOf("excel") != -1) { diff --git a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js index a4edb2f..8ec7ee7 100644 --- a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js +++ b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js @@ -19,8 +19,8 @@ function checkSuccessMethod(masterId){ if(result != ''){ returnStr = result; } - }, - }) + } + }); return returnStr; } @@ -109,6 +109,7 @@ $("#returnBtn").on('click', function () { } }); +//数字验证,评分范围0-100 function validateNum(value) { var testReg = /^(((\d|[1-9]\d)(\.\d{1,2})?)|100|100.0|100.00)$/; if (testReg.test(value) != true) { @@ -142,6 +143,34 @@ function getFaultType() { } }); } + +//加载采集来源 +function getSource(){ + $.ajax({ + type:'get', + url:path+'/inHosp/getSourceByMasterId', + data:{masterid:$("#idLab").html()}, + dataType:"json", + success:function(data){ + $("#source").empty(); + var html = ''; + if(data.code == 100){ + var list = data.extend.str; + if(list != null && list != '') { + list = list.split(","); + for (var i = 0; i < list.length; i++) { + var source = list[i]; + html += ''; + } + } + } + $("#source").append(html); + } + }) +} +$("#searchBtn2").click(function(){ + initTable2(); +}) //创建数组保存图片 var files = new Array(); var id = 0; @@ -511,14 +540,14 @@ function initTable2() { pageNumber: 1, // 初始化加载第一页,默认第一页 sidePagination: 'server', // 设置为服务器端分页 客户端:client search: false, - showColumns: true, + //showColumns: true, searchOnEnterKey: true, //设置为 true时,按回车触发搜索方法,否则自动触发搜索方法 undefinedText: '---', //当数据为 undefined 时显示的字符 singleSelect: false,//设置True 将禁止多选 clickToSelect: true,//设置true 将在点击行时,自动选择rediobox 和 checkbox height: 560, //定义表格的高度。 searchTimeOut: 500,// 默认500 设置搜索超时时间。 - toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right' + //toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right' paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。 showHeader: true,//是否显示列头。 trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。 @@ -548,7 +577,9 @@ function initTable2() { order: params.order, //排位命令(desc,asc) patientId: patientId, assortId: assortId, - checker:$("#checker").val() + checker:$("#checker").val(), + source:$("#source").val(), + title:$("#title").val() }; return temp; }, diff --git a/src/main/webapp/static/js/inHospList/inHospList.js b/src/main/webapp/static/js/inHospList/inHospList.js index 8b62888..cf2948f 100644 --- a/src/main/webapp/static/js/inHospList/inHospList.js +++ b/src/main/webapp/static/js/inHospList/inHospList.js @@ -250,6 +250,7 @@ function initTable() { } $("#outDateLab").val(outDate[0] + "" + outDate[1] + "" + row.inpNo.trim() + "" + row.visitId + ""); initTree(row.id, $("#checker").val()); + getSource(); } }, cellStyle: function (value, row, index) { diff --git a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js index c9318da..d80a601 100644 --- a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js +++ b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js @@ -242,8 +242,8 @@ function initTable() { outDate = row.admissionDateTime.split("-"); } $("#outDateLab").val(outDate[0] + "" + outDate[1] + "" + row.inpNo.trim() + "" + row.visitId + ""); - initTree(row.id); + getSource(); }, //查看流程 'click .showFlowInfo': function (e, value, row) { diff --git a/src/main/webapp/static/js/unfileMedicalList/unfileMedicalList.js b/src/main/webapp/static/js/unfileMedicalList/unfileMedicalList.js index 9247be5..99f1374 100644 --- a/src/main/webapp/static/js/unfileMedicalList/unfileMedicalList.js +++ b/src/main/webapp/static/js/unfileMedicalList/unfileMedicalList.js @@ -263,8 +263,8 @@ function initTable() { outDate = row.admissionDateTime.split("-"); } $("#outDateLab").val(outDate[0] + "" + outDate[1] + "" + row.inpNo.trim() + "" + row.visitId + ""); - initTree(row.id, $("#checker").val()); + getSource(); }, //查看流程 'click .showFlowInfo': function (e, value, row) {