diff --git a/src/main/java/com/emr/controller/ArchiveOtherExtController.java b/src/main/java/com/emr/controller/ArchiveOtherExtController.java index 9032243..1978d33 100644 --- a/src/main/java/com/emr/controller/ArchiveOtherExtController.java +++ b/src/main/java/com/emr/controller/ArchiveOtherExtController.java @@ -37,6 +37,8 @@ public class ArchiveOtherExtController { @RequestMapping("getArchiveExtInfo") @ResponseBody public OffsetLimitPage getArchiveExtInfo(Integer offset, Integer limit, ArchiveOtherExtVo archiveOtherExtVo, HttpServletRequest request){ +// String s = archiveOtherExtVo.getId().toString(); +// archiveOtherExtVo.setMid(s); if(null != offset && null != limit) { PageHelper.offsetPage(offset, limit); } @@ -90,6 +92,12 @@ public class ArchiveOtherExtController { archiveOtherExtService.updateSubmit(ids,notNursingIds,detailIds,jzh,masterId,sysFlag,request); return Msg.success(); } + @RequestMapping("submitUpdate1") + @ResponseBody + public Msg submitUpdate1(String ids){ + archiveOtherExtService.updateSubmit1(ids); + return Msg.success(); + } /** * 根据id查询采集完成记录数 @@ -117,6 +125,23 @@ public class ArchiveOtherExtController { return Msg.fail("参数ids不能为空"); } } + /** + * 根据id查询采集完成记录数 + * @param ids + * @return + * @throws Exception + */ + @RequestMapping("selectAllByIdsAndSubmitTime1") + @ResponseBody + public int selectSuccessByExtIds1(String ids) { + Integer i = archiveOtherExtService.SuccessByExtIds1(ids); + if (i==0){ + //返回1是采集完毕2还没完成采集 + return 1; + }else { + return 0; + } + } /** * 查询未同步更新完成的文件名称集合 diff --git a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java index b6dd5e6..c526caa 100644 --- a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java +++ b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java @@ -33,6 +33,7 @@ public interface ArchiveOtherExtMapper { */ List selectAllByIdsAndSubmitTime(@Param("ids")String ids,@Param("patientId")String patientId); + Integer SuccessByExtIds1(@Param("ids")String ids); /** * 查询未同步更新完成的文件名称集合 * @param patientId diff --git a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java index b168128..8884fa0 100644 --- a/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java +++ b/src/main/java/com/emr/service/ipml/ArchiveOtherExtService.java @@ -10,6 +10,7 @@ import com.emr.entity.ArchiveOtherExtSubmittime; import com.emr.vo.ArchiveOtherExtVo; import com.emr.vo.KeyValue; import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.annotations.Param; import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -148,6 +149,10 @@ public class ArchiveOtherExtService { operOtherExtSubmitInfo(ids,idsStr,detailIds,request); } + public void updateSubmit1(String ids){ + archiveOtherExtMapper.updateSubmit(ids); + } + /** * 处理护理,其余同步更新操作 * 1.按idsTemp记录查询archive_other表是否存在 @@ -337,6 +342,9 @@ public class ArchiveOtherExtService { public List selectAllByIdsAndSubmitTime(String ids,String jzh) { return archiveOtherExtMapper.selectAllByIdsAndSubmitTime(ids,jzh); } + public Integer SuccessByExtIds1(String ids){ + return archiveOtherExtMapper.SuccessByExtIds1(ids); + } /** * 查询未同步更新完成的文件名称集合 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 221b615..9ac8811 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -32,10 +32,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; 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 @@ -322,7 +319,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { PageHelper.offsetPage(offset, limit); } archiveMasterVo.setIsSuccess(null); - list = archiveMasterMapper.selectMasterByColumn(archiveMasterVo); + list = archiveMasterMapper.selectByColumn(archiveMasterVo); + //组织完整性字段并完整的更新archive_master表的完整性字段值为完整LockInfo='完整' //updateMasterBySuccess(list); //转换科室与赋值超期天数 @@ -356,6 +354,44 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { } } }*/ + Emr_Dictionary dictionary = new Emr_Dictionary(); + dictionary.setTypecode("dept_code"); + List dictionaries = dictionaryMapper.dicByTypeCode(dictionary); + for (Archive_Master_Vo masterVo : list) { + //科室名称编码转名称 + deptNameCode2Name(dictionaries, masterVo); + //状态均为护士长已质控,取出一个对象,转换中文状态 + Integer status = Integer.valueOf(masterVo.getArchivestate()); + if(status.equals(EnumVerify.DocState.HeadNurseCheck.getCode())){ + masterVo.setStatus(EnumVerify.DocState.HeadNurseCheck.getName()); + }else if(status.equals(EnumVerify.DocState.CallBacked.getCode())){ + masterVo.setStatus(EnumVerify.DocState.CallBacked.getName()); + } + } + if (null != list && !list.isEmpty()) { + List flowRoles = this.flowRoleMapper.selectAll(); + Msg role = this.getRole(); + if (null != role) { + Iterator var8 = list.iterator(); + + while(var8.hasNext()) { + Archive_Master_Vo masterVo = (Archive_Master_Vo)var8.next(); + String archivestate = masterVo.getArchivestate(); + if (StringUtils.isNotBlank(archivestate)) { + boolean numeric = this.isNumeric(archivestate); + if (numeric) { + Integer status = Integer.valueOf(archivestate); + archivestate = EnumVerify.DocState.GetStepName(status, role.getCode()); + String currentArchivestate = EnumVerify.DocState.GetCurrentStepName(status, role.getCode()); + masterVo.setStatus(archivestate); + masterVo.setCurrentStatus(currentArchivestate); + String btns = this.getBtns(status, flowRoles, masterVo.getId()); + masterVo.setBtns(btns); + } + } + } + } + } return list; } diff --git a/src/main/resources/mapper/ArchiveOtherExtMapper.xml b/src/main/resources/mapper/ArchiveOtherExtMapper.xml index cbdcef2..e58e66c 100644 --- a/src/main/resources/mapper/ArchiveOtherExtMapper.xml +++ b/src/main/resources/mapper/ArchiveOtherExtMapper.xml @@ -433,95 +433,141 @@ - + + + + diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index a052abb..6e6e902 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -745,7 +745,7 @@ and admission_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' - and discharge_date_time='1801-02-03 00:00:00' + and discharge_date_time ='1801-02-03 00:00:00' ORDER BY admission_date_time desc diff --git a/src/main/webapp/static/js/beHospList/beHospList.js b/src/main/webapp/static/js/beHospList/beHospList.js index ead942c..93685ef 100644 --- a/src/main/webapp/static/js/beHospList/beHospList.js +++ b/src/main/webapp/static/js/beHospList/beHospList.js @@ -150,32 +150,32 @@ function initTable() { } } }, - { - title: 'HIS召回状态', - field: 'callBackStatus', - align: 'center', - valign: 'middle', - formatter:function(value, row){ - if(value == '是'){ - return ''; - }else{ - return ''; - } - } - }, - { - title: '打印状态', - field: 'printStatus', - align: 'center', - valign: 'middle', - formatter:function(value, row){ - if(value == '是'){ - return ''; - }else{ - return ''; - } - } - }, + // { + // title: 'HIS召回状态', + // field: 'callBackStatus', + // align: 'center', + // valign: 'middle', + // formatter:function(value, row){ + // if(value == '是'){ + // return ''; + // }else{ + // return ''; + // } + // } + // }, + // { + // title: '打印状态', + // field: 'printStatus', + // align: 'center', + // valign: 'middle', + // formatter:function(value, row){ + // if(value == '是'){ + // return ''; + // }else{ + // return ''; + // } + // } + // }, { title: "操作", align: 'left', diff --git a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js index 4eb18d8..e189e6f 100644 --- a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js +++ b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js @@ -1204,13 +1204,10 @@ function initTable5(data,sidePagination) { events: { 'click .editInfo': function (e, value, row, index) { var id = row.idTemp; - var sysflag = row.sysflag; - var notNursingIds = ''; - if(sysflag != 1){ - sysflag = ''; - notNursingIds = id; - } - submitUpdate(id,notNursingIds,row.did,sysflag); + var sysFlagStr =row.sysFlagStr; + var sysFlagArray1 = row.sysFlagArray; + console.log(row.sysFlagArray) + submitUpdate(id,sysFlagStr,sysFlagArray1); } } }, @@ -1222,7 +1219,7 @@ function initTable5(data,sidePagination) { }, { title: '标题', - field: 'c1', + field: 'c2', align: 'left', valign: 'middle', formatter: function (value, row, index) { @@ -1330,6 +1327,7 @@ function initTable5(data,sidePagination) { option.url = path+"/archiveExt/getArchiveExtInfo"; }else{ option.data = data; + } $("#table5").bootstrapTable(option); } @@ -1398,20 +1396,52 @@ function cancleListentingSuccess(){ } //提交同步采集 -function submitUpdate(ids,notNursingIds,detailIds,sysFlag) { +function submitUpdate(ids,sysFlagStr) { //记录需要监听的数据 - addListentingData(ids); + //addListentingData(ids); //撤销定时 clearInterval(timeInterval); var jzh = $("#patientId").val(); + var consumeTime = ''; + var consumeTImeSum = 0; + var consumeTImeArray = []; $.ajax({ type:'post', - url:path+'/archiveExt/submitUpdate', - data:{ids:ids,notNursingIds:notNursingIds,detailIds:detailIds,jzh:jzh,masterId:$("#idLab").text(),sysFlag:sysFlag}, + url:path+'/archiveExt/submitUpdate1', + data:{ids:ids}, dataType:'json', success:function (data) { if(data.code == 100){ - toastr.success("同步更新已发送,请耐心等待!"); + for (var i = 0; i < sysFlagStr.length; i++){ + switch(sysFlagStr[i]) { + case "护理文书": + consumeTime = 1 + break + case "电子病历": + consumeTime =1 + break + case "Pacs检查": + consumeTime =1 + break + case "心电图": + consumeTime =1 + break + case "手麻信息": + consumeTime =2 + break + case "Lis检验": + consumeTime =1 + break + case "病案首页": + consumeTime =3 + break + case "长临医嘱": + consumeTime =2 + break + } + consumeTImeSum +=consumeTime + } + toastr.success("同步更新已发送,预计"+consumeTImeSum+"分钟请耐心等待!"); //刷新列表 initTable5('','server'); setTimeout(function() { @@ -1419,50 +1449,31 @@ function submitUpdate(ids,notNursingIds,detailIds,sysFlag) { },500); $("#loading").show(); timeInterval = setInterval(function () { - if(otherExtIds != '') { - //其他 - $.ajax({ - type: 'get', - url: path + '/archiveExt/selectAllByIdsAndSubmitTime', - data: {ids: otherExtIds,jzh:jzh}, - dataType: 'json', - async:false, - success: function (result) { - if (result.code == 100) { - var data = result.extend.list.length; - if(otherExtIds.split(",").length == data){ - if(sysFlag == 1){ - //包括护理 - //撤销监听 - clearInterval(timeInterval); - //执行业务 - setTimeout(function(){ - toastr.success("按需采集全部完成,页面将在" + times + "秒后自动刷新"); - //刷新列表 - initTable5('','server'); - setTimeout(function() { - $('#table5').bootstrapTable('selectPage', pageNumber); - },500); - //撤销监听 - cancleListentingSuccess(); - },nurseTimes*1000); - }else{ - toastr.success("按需采集全部完成,页面将在" + times + "秒后自动刷新"); - setTimeout(function(){ - //刷新列表 - initTable5('','server'); - setTimeout(function() { - $('#table5').bootstrapTable('selectPage', pageNumber); - },500); - },times*1000); - //撤销监听 - cancleListentingSuccess(); - } - } - } + //其他 + $.ajax({ + type: 'get', + url: path + '/archiveExt/selectAllByIdsAndSubmitTime1', + data: {ids: ids}, + dataType: 'json', + async:false, + success: function (result) { + if (result == 1) { + //撤销监听 + clearInterval(timeInterval); + //执行业务 + setTimeout(function(){ + toastr.success("按需采集全部完成,页面将在" + times + "秒后自动刷新"); + //刷新列表 + initTable5('','server'); + setTimeout(function() { + $('#table5').bootstrapTable('selectPage', pageNumber); + },500); + //撤销监听 + cancleListentingSuccess(); + },times*1000); } - }) - } + } + }) /*setTimeout(function(){ toastr.error("后台按需采集超时,请联系系统运维人员"); //隐藏加载控件 @@ -1482,37 +1493,30 @@ $("#searchBtn6").click(function(){ toastr.warning("请至少选中一个!"); }else{ var ids = ''; - var sysflag = ''; - var notNursingIds = ''; - var detailIds = ''; + var sysFlagArray=[]; for (var i = 0; i < data.length; i++) { - var id = data[i].idTemp; - var detailId = data[i].did; - if(detailId == ''){ - //占位 - detailId = null; - } - //拼接detailId - if(detailIds != ''){ - detailIds += ','; - } - detailIds += detailId; - //拼接id - if(ids != ''){ - ids += ','; - } - ids += id; - if(data[i].sysflag == 1){ - //判断包含护理 - sysflag = 1; - }else{ - //拼接不包含护理的id - if(notNursingIds != ''){ - notNursingIds += ','; - } - notNursingIds += id; + + sysFlagArray.push(data[i].sysFlagStr); + if(ids!=''){ + ids += ","; } + ids += data[i].idTemp; } - submitUpdate(ids,notNursingIds,detailIds,sysflag); + sysFlagArray=unique(sysFlagArray); + console.log(sysFlagArray) + submitUpdate(ids,sysFlagArray); } }) +function unique (arr) { + + return Array.from(new Set(arr)) + // for (var i = 0; i < sysFlagStrsss.length; i++) { + // + // sysFlagStrss +=sysFlagStrsss[i] + // if(i !=sysFlagStrss.length-1){ + // sysFlagStrss += ","; + // } + // } + + +}