更新版本20201120

master
zengwh 5 years ago
parent f0a0417008
commit 2469a4350b

@ -12,7 +12,7 @@ END
select * from sys.sql_modules where definition like '%FUNCTION%'
####################################################################################################
##############################################################################
#医生待审核ArchiveState值
'1','16','48','512','256','272','304','768'
@ -33,4 +33,26 @@ select * from sys.sql_modules where definition like '%FUNCTION%'
#病案室待审核ArchiveState值
'64','1024'
##############################################################################
#医生已审核ArchiveState值
'2','18','50','514','768','6','22','54','518','14','30','62','526','64','1024'
#医生质控员已审核ArchiveState值
'6','22','54','518','14','30','62','526','64','1024'
#科主任已审核ArchiveState值
'14','30','62','526','64','1024'
#护士已审核ArchiveState值
'16','18','22','40','528','768','48','50','54','62','304','64','1024'
#护士质控员已审核ArchiveState值
'48','50','54','62','304','64','1024'
#护士长已审核ArchiveState值
'64'
#病案室已审核ArchiveState值
'128'

@ -1,6 +1,7 @@
package com.emr.controller;
import com.emr.entity.ArchiveOther;
import com.emr.entity.ArchiveOtherExt;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.ipml.ArchiveOtherExtService;
import com.emr.service.ipml.ArchiveOtherService;
@ -12,6 +13,8 @@ import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@ -114,4 +117,17 @@ public class ArchiveOtherExtController {
return Msg.fail("参数ids不能为空");
}
}
/**
*
* @param patientId
* @return
* @throws Exception
*/
@RequestMapping("selectC1WithNotCollectFinishByPatientId/{patientId}")
@ResponseBody
public Msg selectC1WithNotCollectFinishByPatientId(@PathVariable("patientId") String patientId) throws Exception{
String c1s = archiveOtherExtService.selectC1WithNotCollectFinishByPatientId(patientId);
return Msg.success().add("c1s",c1s);
}
}

@ -470,4 +470,16 @@ public class FontController {
List<ArchiveFlowInfoVo> list = archiveFlowInfoService.selectFlowInfoByMasterId(masterId,userName);
return Msg.success().add("list",list);
}
/**
* masterId
* @return
* @throws Exception
*/
@RequestMapping("selectDeptList")
@ResponseBody
public Msg selectDeptList() throws Exception{
List<Emr_Dictionary> list = dictionaryMapper.selectAllByParentId("dept_code",null);
return Msg.success().add("list",list);
}
}

@ -11,13 +11,16 @@ import com.emr.vo.SubmitRecord;
import com.emr.vo.SubmitRecordStatistics;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -43,12 +46,29 @@ public class RecordController {
@ResponseBody
public OffsetLimitPage getSubmitRecordList(Integer offset,
Integer limit,
RecordSearch recordSearch){
if(offset != null && limit != null) {
PageHelper.offsetPage(offset, limit);
RecordSearch recordSearch,
HttpServletRequest request){
List<SubmitRecord> submitRecords = (List<SubmitRecord>)request.getSession().getAttribute("unSubmitRecords");
try {
if(CollectionUtils.isEmpty(submitRecords)){
submitRecords = recordService.selectUnCountGroupDept(recordSearch,request);
}
}catch (Exception e){
e.printStackTrace();
ExceptionPrintUtil.printException(e);
}
List<SubmitRecord> submitRecords = recordService.selectUnCountGroupDept(recordSearch);
return new OffsetLimitPage((Page) submitRecords);
OffsetLimitPage offsetLimitPage = new OffsetLimitPage();
offsetLimitPage.setTotal((long) submitRecords.size());
List<SubmitRecord> list = new ArrayList<>();
for (int i = offset; i < submitRecords.size(); i++) {
list.add(submitRecords.get(i));
if(list.size() == limit){
break;
}
}
offsetLimitPage.setRows(list);
request.getSession().removeAttribute("unSubmitRecords");
return offsetLimitPage;
}
/**
@ -68,7 +88,8 @@ public class RecordController {
@ResponseBody
@RequestMapping(value = "/exportExcelSubmit")
public void exportExcelSubmit(HttpServletResponse response,
RecordSearch recordSearch){
RecordSearch recordSearch,
HttpServletRequest request){
String tableThNames = "科室名称,出院人数,医生已提交,医生未提交,医生提交率," +
"医生质控员已提交,医生质控员未提交,医生质控员提交率," +
"科主任已提交,科主任未提交,科主任提交率," +
@ -83,7 +104,7 @@ public class RecordController {
"headNurseCount,unHeadNurseCount,headNursePercent";
//构造excel的数据
try {
List<SubmitRecord> list = recordService.selectUnCountGroupDept(recordSearch);
List<SubmitRecord> list = recordService.selectUnCountGroupDept(recordSearch,request);
//文件名
String fileName = "病案提交统计" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//ExportExcelUtil
@ -110,8 +131,8 @@ public class RecordController {
*/
@RequestMapping("selectOvertimeCount")
@ResponseBody
public Msg selectOvertimeCount(RecordSearch recordSearch) throws Exception{
SubmitRecordStatistics recordStatistics = recordService.selectOvertimeCount(recordSearch);
public Msg selectOvertimeCount(RecordSearch recordSearch,HttpServletRequest request) throws Exception{
SubmitRecordStatistics recordStatistics = recordService.selectOvertimeCount(recordSearch,request);
return Msg.success().add("record",recordStatistics);
}
@ -145,14 +166,15 @@ public class RecordController {
@ResponseBody
@RequestMapping(value = "/exportExcelDeptOverTime")
public void exportExcelDeptOverTime(HttpServletResponse response,
RecordSearch recordSearch){
RecordSearch recordSearch,
HttpServletRequest request){
String tableThNames = "科室名称,超期份數,医生未提交,医生质控员未提交,科主任未提交,护士未提交,"+
"护士质控员未提交,护士长未提交,病案室未提交";
String fieldCns = "deptNameCn,count,unDoctorSubmitCount,unDoctorCheckCount,unDirectorCheckCount," +
"unNurseSubmitCount,unNurseCheckCount,unHeadNurseCount,headNurseCount";
//构造excel的数据
try {
List<SubmitRecord> list = recordService.selectUnCountGroupDept(recordSearch);
List<SubmitRecord> list = recordService.selectUnCountGroupDept(recordSearch,request);
//文件名
String fileName = "科室病案超期" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//ExportExcelUtil
@ -166,7 +188,7 @@ public class RecordController {
}
/**
*
*
* @return
*/
@RequestMapping("signedRecord")
@ -175,7 +197,7 @@ public class RecordController {
}
/**
*
*
* @return
*/
@RequestMapping("getSignedRecordList")
@ -184,8 +206,14 @@ public class RecordController {
if(offset != null && limit != null) {
PageHelper.offsetPage(offset, limit);
}
List<SubmitRecordStatistics> submitRecords = recordService.getSignedRecordList(recordSearch);
return new OffsetLimitPage((Page) submitRecords);
List<SubmitRecordStatistics> submitRecords = new Page<>();
try {
submitRecords = recordService.getSignedRecordList(recordSearch);
}catch (Exception e){
e.printStackTrace();
ExceptionPrintUtil.printException(e);
}
return new OffsetLimitPage((Page)submitRecords);
}
/**

@ -32,4 +32,17 @@ public interface ArchiveOtherExtMapper {
* @return
*/
List<ArchiveOther> selectAllByIdsAndSubmitTime(@Param("ids")String ids);
/**
*
* @param patientId
* @return
*/
List<ArchiveOtherExt> selectC1WithNotCollectFinishByPatientId(@Param("patientId")String patientId);
/**
*
* @return
*/
List<ArchiveOtherExt> selectNotCompleteMidList();
}

@ -35,4 +35,6 @@ public interface EmrHolidaySetMapper {
List<EmrHolidaySet> selectWorkDayByDate(@Param("startDate")String startDate,
@Param("endDate")String endDate,
@Param("order")String order);
List<EmrHolidaySet> selectNotHolidayList();
}

@ -1,6 +1,7 @@
package com.emr.dao;
import com.emr.entity.Emr_Dictionary;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -39,4 +40,13 @@ public interface Emr_DictionaryMapper {
* @return
*/
int updateCloById(Emr_Dictionary emrDictionary);
/**
* id
* @param parentId idid
* @param orderSql
* @return
*/
List<Emr_Dictionary> selectAllByParentId(@Param("parentId")String parentId,
@Param("orderSql")String orderSql);
}

@ -22,4 +22,8 @@ public interface RecordMapper {
List<Archive_Master_Vo> selectRecordGroupDeptAndRole(RecordSearch recordSearch);
int selectCountOverTimeByRoleId(RecordSearch recordSearch);
//查询按日期分组
List<SubmitRecordStatistics> selectGroupDate(RecordSearch recordSearch);
//查询属于需要校验完整的带分类的集合
List<Archive_Master_Vo> selectAllWithCompleteAssort(RecordSearch recordSearch);
}

@ -59,6 +59,10 @@ public class Archive_Master_Vo extends Archive_Master{
private Integer isSign;//是否查询纸质签收状态
private List<String> patientIdsForSign;//已纸质签收集合
private String assortId;//分段id
private Integer count;//数量
}

@ -4,6 +4,7 @@ import com.emr.dao.ArchiveOtherExtMapper;
import com.emr.dao.ArchiveOtherExtSubmittimeMapper;
import com.emr.dao.ArchiveOtherMapper;
import com.emr.entity.ArchiveOther;
import com.emr.entity.ArchiveOtherExt;
import com.emr.entity.ArchiveOtherExtSubmittime;
import com.emr.vo.ArchiveOtherExtVo;
import com.emr.vo.KeyValue;
@ -303,4 +304,33 @@ public class ArchiveOtherExtService {
public List<ArchiveOther> selectAllByIdsAndSubmitTime(String ids) {
return archiveOtherExtMapper.selectAllByIdsAndSubmitTime(ids);
}
/**
*
* @param patientId
* @return
*/
public String selectC1WithNotCollectFinishByPatientId(String patientId) {
List<ArchiveOtherExt> archiveOtherExts = archiveOtherExtMapper.selectC1WithNotCollectFinishByPatientId(patientId);
StringBuilder c1s = new StringBuilder();
if(!CollectionUtils.isEmpty(archiveOtherExts)){
for(ArchiveOtherExt archiveOtherExt : archiveOtherExts){
if(StringUtils.isNotBlank(archiveOtherExt.getC1())){
if(StringUtils.isNotBlank(c1s)){
c1s.append(",");
}
c1s.append(archiveOtherExt.getC1());
}
}
}
return c1s.toString();
}
/**
*
* @return
*/
public List<ArchiveOtherExt> selectNotCompleteMidList(){
return archiveOtherExtMapper.selectNotCompleteMidList();
}
}

@ -91,6 +91,7 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
dept2 = dept2.replace(dept2, dictionary.getName());
emr_fault_vo.setDeptAdmissionTo(dept2);
break;
}
}

@ -1,9 +1,9 @@
package com.emr.service.ipml;
import com.emr.dao.EmrHolidaySetMapper;
import com.emr.dao.Emr_DictionaryMapper;
import com.emr.dao.RecordMapper;
import com.emr.entity.Archive_Master_Vo;
import com.emr.entity.Emr_Dictionary;
import com.emr.entity.*;
import com.emr.service.Archive_MasterService;
import com.emr.util.Msg;
import com.emr.vo.*;
@ -12,7 +12,9 @@ import org.apache.shiro.util.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
public class RecordService {
@ -24,11 +26,171 @@ public class RecordService {
private CommomService commomService;
@Autowired
private Archive_MasterService archiveMasterService;
@Autowired
private EmrOvertimeSetService overtimeSetService;
@Autowired
private EmrHolidaySetMapper holidaySetMapper;
@Autowired
private ZdAssortService assortService;
@Autowired
private ArchiveOtherExtService otherExtService;
/**
*
* @return
*/
public List<SubmitRecord> selectUnCountGroupDept(RecordSearch recordSearch){
public List<SubmitRecord> selectUnCountGroupDept(RecordSearch recordSearch, HttpServletRequest request) throws Exception{
/*Integer infoId = recordSearch.getInfoId();
if(null != infoId){
//有按审核角色查询
if(infoId < 5){
//医生支线
recordSearch.setOperRole(1);
}else if(infoId == 5 || infoId == 6){
//护士支线
recordSearch.setOperRole(2);
}else if(infoId == 8){
recordSearch.setOperRole(4);
}
}*/
//按科室查询总出院人数
List<SubmitRecord> unSubmitRecords = recordMapper.selectUnCountGroupDept(recordSearch);
if (!CollectionUtils.isEmpty(unSubmitRecords)) {
if(null != recordSearch.getFlag() && recordSearch.getFlag() == 2){
//过滤超期
unSubmitRecords = selectOvertimeRecord(unSubmitRecords);
}
//按科室填充数据
unSubmitRecords = selectUnSubmitCountGroupDept(unSubmitRecords);
//填充各个角色数据、主要填充已提交的
selectList(unSubmitRecords);
}
request.getSession().setAttribute("unSubmitRecords",unSubmitRecords);
return unSubmitRecords;
}
/**
*
* @param unSubmitRecords
* @return
*/
private List<SubmitRecord> selectOvertimeRecord(List<SubmitRecord> unSubmitRecords) throws Exception{
//查询超期参数
EmrOvertimeSet overtimeSet = overtimeSetService.selectByPrimaryKey(1);
//获取未超期列表
List<EmrHolidaySet> unHolidays = holidaySetMapper.selectNotHolidayList();
Iterator<SubmitRecord> iterator = unSubmitRecords.iterator();
//获取非死亡工作日
String date = unHolidays.get(overtimeSet.getDays()).getDate();
//获取非死亡工作日
String deadDate = unHolidays.get(overtimeSet.getDeadDays()).getDate();
//定义格式化日期
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
while (iterator.hasNext()) {
SubmitRecord record = (SubmitRecord) iterator.next();
//获取是否死亡
String dischargeDisposition = record.getDischargeDisposition();
String dischargeDateTime = record.getDischargeDateTime();
long time = fmt.parse(dischargeDateTime).getTime();
if(StringUtils.isNotBlank(dischargeDisposition) && "5".equals(dischargeDisposition)){
//死亡
if(time >= fmt.parse(deadDate).getTime()){
iterator.remove();
}
}else{
//非死亡
if(time >= fmt.parse(date).getTime()){
iterator.remove();
}
}
}
return unSubmitRecords;
}
/**
*
* @param unSubmitRecords
* @return
*/
private List<SubmitRecord> selectUnSubmitCountGroupDept(List<SubmitRecord> unSubmitRecords) {
//查询科室集合
List<Emr_Dictionary> depts = dictionaryMapper.selectAllByParentId("dept_code", "CODE");
//医生未提交状态码集合
String[] unDoctorSubmitArr = {"1","16","48","512","256","272","304","768"};
List<String> unDoctorSubmitStr = Arrays.asList(unDoctorSubmitArr);
//医生质控员未提交状态码集合
String[] unDoctorCheckArr = {"2","18","50","514"};
List<String> unDoctorCheckStr = Arrays.asList(unDoctorCheckArr);
//科主任未提交状态码集合
String[] unDirectorCheckArr = {"6","22","54","518"};
List<String> unDirectorCheckStr = Arrays.asList(unDirectorCheckArr);
//护士未提交状态码集合
String[] unNurseSubmitArr = {"1","2","6","14","256","512","514","518","526","768"};
List<String> unNurseSubmitStr = Arrays.asList(unNurseSubmitArr);
//护士质控员未提交状态码集合
String[] unNurseCheckArr = {"16","18","22","30","272"};
List<String> unNurseCheckStr = Arrays.asList(unNurseCheckArr);
//护士长未提交状态码集合
String[] unHeadNurseArr = {"62"};
List<String> unHeadNurseStr = Arrays.asList(unHeadNurseArr);
//病案室未提交状态码集合
String[] unRecordRoomArr = {"64","1024"};
List<String> unRecordRoomStr = Arrays.asList(unRecordRoomArr);
List<SubmitRecord> list = new ArrayList<>();
for(Emr_Dictionary dept : depts) {
int allCount = 0;
//定义医生未提交数量
int unDoctorSubmitCount = 0;
int unDoctorCheckCount = 0;
int unDirectorCheckCount = 0;
int unNurseSubmitCount = 0;
int unNurseCheckCount = 0;
int unHeadNurseCount = 0;
int unRecordRoomCount = 0;
for (SubmitRecord obj : unSubmitRecords) {
if(dept.getCode().equals(obj.getDeptName())) {
allCount++;
//判断属于哪个审核角色未提交状态
if (unDoctorSubmitStr.contains(obj.getArchivestate())) {
unDoctorSubmitCount++;
}
if (unDoctorCheckStr.contains(obj.getArchivestate())) {
unDoctorCheckCount++;
}
if (unDirectorCheckStr.contains(obj.getArchivestate())) {
unDirectorCheckCount++;
}
if (unNurseSubmitStr.contains(obj.getArchivestate())) {
unNurseSubmitCount++;
}
if (unNurseCheckStr.contains(obj.getArchivestate())) {
unNurseCheckCount++;
}
if (unHeadNurseStr.contains(obj.getArchivestate())) {
unHeadNurseCount++;
}
if (unRecordRoomStr.contains(obj.getArchivestate())) {
unRecordRoomCount++;
}
}
}
if(allCount != 0){
SubmitRecord record = new SubmitRecord();
record.setCount(allCount);
record.setUnDoctorSubmitCount(unDoctorSubmitCount);
record.setUnDoctorCheckCount(unDoctorCheckCount);
record.setUnDirectorCheckCount(unDirectorCheckCount);
record.setUnNurseSubmitCount(unNurseSubmitCount);
record.setUnNurseCheckCount(unNurseCheckCount);
record.setUnHeadNurseCount(unHeadNurseCount);
record.setUnRecordRoomCount(unRecordRoomCount);
record.setDeptNameCn(dept.getName());
record.setDeptName(dept.getCode());
list.add(record);
}
}
return list;
}
/*public List<SubmitRecord> selectUnCountGroupDept(RecordSearch recordSearch){
Integer infoId = recordSearch.getInfoId();
if(null != infoId){
//有按审核角色查询
@ -47,13 +209,13 @@ public class RecordService {
//填充各个角色数据
selectList(unSubmitRecords);
return unSubmitRecords;
}
}*/
/**
*
* @param unSubmitRecords
*/
private void selectList( List<SubmitRecord> unSubmitRecords) {
private void selectList(List<SubmitRecord> unSubmitRecords) {
if(!CollectionUtils.isEmpty(unSubmitRecords)) {
for (SubmitRecord obj : unSubmitRecords) {
int count = obj.getCount();
@ -63,7 +225,6 @@ public class RecordService {
obj.setDoctorSubmitCount(doctorSubmitCount);
obj.setDoctorSubmitPercent(Math.round(doctorSubmitCount * 100 / count) + "%");
//医生质控员提交= 医生提交 - 医生质控员未提交
int doctorCheckCount = doctorSubmitCount - obj.getUnDoctorCheckCount();
obj.setDoctorCheckCount(doctorCheckCount);
@ -109,11 +270,103 @@ public class RecordService {
}
/**
*
* ,
* @return
*/
public List<SubmitRecordStatistics> getSignedRecordList(RecordSearch recordSearch){
//按日期查询
List<SubmitRecordStatistics> dateList = recordMapper.selectGroupDate(recordSearch);
if(!CollectionUtils.isEmpty(dateList)){
//查询属于需要校验完整的带分类的集合
//设置查询的前后日期
recordSearch.setEndDate(dateList.get(0).getDisDate());
recordSearch.setStartDate(dateList.get(dateList.size()-1).getDisDate());
List<Archive_Master_Vo> masterVoList = recordMapper.selectAllWithCompleteAssort(recordSearch);
//组织masterId分组数据
List<Archive_Master_Vo> masterIdVoList = selectGroupDataByMasterId(masterVoList);
//按日期分组和masterId分组组织已提交和已归档的数量
selectGroupDateByMasterIdList(dateList,masterIdVoList);
//转换百分比并有按科室查询时转换科室名称
setDeptNameAndPercent(recordSearch, dateList);
}
return dateList;
}
/**
* masterId
* @param dateSet
* @param masterIdVoList masterId
* @return
*/
private void selectGroupDateByMasterIdList(List<SubmitRecordStatistics> dateSet, List<Archive_Master_Vo> masterIdVoList) {
for(SubmitRecordStatistics submitRecordStatistics : dateSet){
//定义该日期总数量
int allCount = 0;
//定义已提交份数
int count1 = 0;
//定义已归档份数
int count2 = 0;
//定义完整份数
int count3 = 0;
for (Archive_Master_Vo obj : masterIdVoList){
if(obj.getDischargeDateTime().equals(submitRecordStatistics.getDisDate())){
allCount++;
//获取状态码
String archivestate = obj.getArchivestate();
if("64".equals(archivestate) || "128".equals(archivestate) || "1024".equals(archivestate)){
count1++;
}
if("128".equals(archivestate)){
count2++;
}
if("1".equals(obj.getIsSuccess())){
count3++;
}
}
}
submitRecordStatistics.setAllCount(allCount);
submitRecordStatistics.setCount1(count1);
submitRecordStatistics.setCount2(count2);
submitRecordStatistics.setCount3(count3);
}
}
/**
* masterId,
* @param masterVoList
* @return
*/
public List<SubmitRecordStatistics> getSignedRecordList(RecordSearch recordSearch) {
List<SubmitRecordStatistics> list = recordMapper.selectCountWithDate(recordSearch);
private List<Archive_Master_Vo> selectGroupDataByMasterId(List<Archive_Master_Vo> masterVoList) {
//查询需要校验的分类集合
List<Zd_Assort> assortList = assortService.selectAllByIsCheck();
//查询ext表的不完整的集合
List<ArchiveOtherExt> archiveOtherExts = otherExtService.selectNotCompleteMidList();
//组织masterId分组数据,带状态码,日期,是否完整
for(Archive_Master_Vo obj : masterVoList) {
//定义ext表中不存在
boolean exist = false;
if (!CollectionUtils.isEmpty(archiveOtherExts)) {
for (ArchiveOtherExt archiveOtherExt : archiveOtherExts) {
if (obj.getId().equals(archiveOtherExt.getId())) {
exist = true;
break;
}
}
}
//如果数量相等且在ext表中不存在则isSuccess置为1
if (obj.getCount() == assortList.size() && !exist) {
obj.setIsSuccess("1");
}
}
return masterVoList;
}
/**
*
* @param recordSearch
* @param list
*/
private void setDeptNameAndPercent(RecordSearch recordSearch, List<SubmitRecordStatistics> list) {
String deptNameCn = "全部";
String deptName = recordSearch.getDeptName();
if(StringUtils.isNotBlank(deptName)){
@ -132,7 +385,6 @@ public class RecordService {
obj.setDeptNameCn(deptNameCn);
}
}
return list;
}
/**
@ -157,9 +409,9 @@ public class RecordService {
* @param recordSearch
* @return
*/
public SubmitRecordStatistics selectOvertimeCount(RecordSearch recordSearch) {
public SubmitRecordStatistics selectOvertimeCount(RecordSearch recordSearch,HttpServletRequest request) throws Exception{
//查询超期记录数
List<SubmitRecord> submitRecords = selectUnCountGroupDept(recordSearch);
List<SubmitRecord> submitRecords = selectUnCountGroupDept(recordSearch,request);
//定义接收返回对象
SubmitRecordStatistics recordStatistics = new SubmitRecordStatistics();
if(!CollectionUtils.isEmpty(submitRecords)){

@ -28,4 +28,10 @@ public class ZdAssortService {
public List<Zd_Assort> selectAll(Zd_Assort assort){
return assortMapper.selectAll(assort);
}
public List<Zd_Assort> selectAllByIsCheck(){
Zd_Assort assort = new Zd_Assort();
assort.setPrintFlag("0");
assort.setIsCheck(1);
return assortMapper.selectAll(assort);
}
}

@ -7,6 +7,12 @@ public class SubmitRecord {
private String deptName;
private String deptNameCn;
private Integer count;
private String archivestate;
private String dischargeDateTime;
/**
* 5
*/
private String dischargeDisposition;
private Integer doctorSubmitCount;
private Integer unDoctorSubmitCount;

@ -535,4 +535,32 @@
eTime > create_time
AND archive_other_ext.ID IN ( ${ids} )
</select>
<!--查询未同步更新完成的文件名称集合-->
<select id="selectC1WithNotCollectFinishByPatientId" resultMap="BaseResultMap">
SELECT DISTINCT
CASE
WHEN
sysFlag = 8 THEN
'长临医嘱' ELSE C1
END C1
FROM
archive_other_ext
INNER JOIN archive_other_ext_submitTime ON archive_other_ext.ID = archive_other_ext_submitTime.other_ext_id
WHERE
archive_other_ext.jzh = #{patientId}
AND archive_other_ext_submitTime.create_time > archive_other_ext.eTime
</select>
<!--查询校验不完整的集合-->
<select id="selectNotCompleteMidList" resultMap="BaseResultMap">
SELECT
MID
FROM
archive_other_ext
WHERE
sysFlag IN ( 3, 6 )
AND ISNULL( DID, '' )= ''
AND ISNULL( MID, '' )!= ''
GROUP BY
MID
</select>
</mapper>

@ -112,13 +112,10 @@
<!--分段详情文件列表-->
<select id="detailByClo" resultMap="BaseResultMap2" parameterType="com.emr.entity.Archive_Detail_Vo">
select
t.MasterID,t.id,t.PDF_PATH,t.Source,t.UpLoadDateTime,t.SubAssort,t.Title,t.flag,z.assort_id,z.assort_name,z.assort_sort,z.print_flag,isnull(t.PageCount,0) pageCounts,t.id ids,t.PDF_PATH pdfPaths,archive_other_ext_submitTime.create_time
t.MasterID,t.id,t.PDF_PATH,t.Source,t.UpLoadDateTime,t.SubAssort,t.Title,t.flag,z.assort_id,z.assort_name,z.assort_sort,z.print_flag,isnull(t.PageCount,0) pageCounts,t.id ids,t.PDF_PATH pdfPaths
from zd_assort z
left join archive_detail t
on z.assort_id=t.AssortID
left join
archive_other_ext_submitTime
on archive_other_ext_submitTime.str1 = t.id
where 1=1
<if test="patientId != null">
and t.MasterID=#{patientId,jdbcType=VARCHAR}

@ -166,4 +166,16 @@
order by ${order}
</if>
</select>
<!--获取有效期内的日期集合-->
<select id="selectNotHolidayList" resultMap="BaseResultMap">
SELECT top (( SELECT CASE WHEN days >= dead_days THEN days ELSE dead_days END days FROM emr_overtime_set WHERE id = 1 )+ 1
) date
FROM
emr_holiday_set
WHERE
date &lt; GETDATE ()
AND flag = 1
ORDER BY
date DESC
</select>
</mapper>

@ -368,9 +368,19 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=NCHAR},
</if>
</set>
where id = #{id,jdbcType=NVARCHAR}
</update>
<!--按父id查询编码和名称-->
<select id="selectAllByParentId" resultMap="BaseResultMap">
select emr_dictionary.CODE,emr_dictionary.NAME from emr_dictionary
<where>
<if test="parentId != null and parentId != ''">
and parent_id = #{parentId}
</if>
</where>
<if test="orderSql != null and orderSql != ''">
order by ${orderSql}
</if>
</select>
</mapper>

@ -5,19 +5,8 @@
<resultMap id="BaseResultMap1" type="com.emr.vo.SubmitRecordStatistics"></resultMap>
<resultMap id="BaseResultMap2" type="com.emr.entity.Archive_Master_Vo"></resultMap>
<!---查询时间段-->
<sql id="selectByDate">
<sql id="selectSql">
AND CONVERT(varchar(10),archive_master.discharge_date_time, 23) != '1801-02-03'
<!--用于查询超期-->
<if test="flag != null and flag == 2">
<include refid="overTimeWhereSql"></include>
<if test="doctorInCharge != null and doctorInCharge != ''">
AND archive_master.DOCTOR_IN_CHARGE in (#{doctorInCharge})
</if>
<!--提醒通知过滤归档-->
<if test="surplus != null">
AND archive_master.ArchiveState != '128'
</if>
</if>
<if test="deptName != null and deptName != ''">
AND archive_master.dept_name in (${deptName})
</if>
@ -34,8 +23,22 @@
</when>
</choose>
</sql>
<sql id="selectByDate">
<include refid="selectSql"></include>
<!--用于查询超期-->
<if test="flag != null and flag == 2">
<include refid="overTimeWhereSql"></include>
<if test="doctorInCharge != null and doctorInCharge != ''">
AND archive_master.DOCTOR_IN_CHARGE in (#{doctorInCharge})
</if>
<!--提醒通知过滤归档-->
<if test="surplus != null">
AND archive_master.ArchiveState != '128'
</if>
</if>
</sql>
<sql id="selectByDate1">
AND CONVERT(varchar(10),archive_master.discharge_date_time, 23) != '1801-02-03'
AND archive_master.discharge_date_time != '1801-02-03 00:00:00' AND archive_master.discharge_date_time != '' AND archive_master.discharge_date_time is not null
<if test="deptName != null and deptName != ''">
AND archive_master.dept_name in (${deptName})
</if>
@ -85,6 +88,88 @@
</choose>
</sql>
<!---查询分组科室各角色待审核数量-->
<!--<select id="selectUnCountGroupDept" resultMap="BaseResultMap" parameterType="com.emr.vo.RecordSearch">
select
archive_master.dept_name,
archive_master.deptNameCn,
archive_master.count,
isnull(t1.count,0) unDoctorSubmitCount,
isnull(t2.count,0) unDoctorCheckCount,
isnull(t3.count,0) unDirectorCheckCount,
isnull(t4.count,0) unNurseSubmitCount,
isnull(t5.count,0) unNurseCheckCount,
isnull(t6.count,0) unHeadNurseCount,
isnull(t7.count,0) unRecordRoomCount
from (
select
dept_name,
emr_dictionary.Name deptNameCn,
emr_dictionary.CODE,
COUNT(archive_master.id) count
from archive_master
left join emr_dictionary
on archive_master.dept_name = emr_dictionary.code and emr_dictionary.parent_id = 'dept_code'
<where>
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
</where>
GROUP BY
dept_name,
emr_dictionary.NAME,
emr_dictionary.CODE
) archive_master
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('1','16','48','512','256','272','304','768')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t1
on archive_master.dept_name = t1.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('2','18','50','514')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t2
on archive_master.dept_name = t2.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('6','22','54','518')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t3
on archive_master.dept_name = t3.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('1','2','6','14','256','512','514','518','526','768')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t4
on archive_master.dept_name = t4.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('16','18','22','30','272')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t5
on archive_master.dept_name = t5.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('62')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t6
on archive_master.dept_name = t6.dept_name
left join (select dept_name,COUNT(id) count from archive_master where ArchiveState in ('64','1024')
<include refid="selectByInfo"></include>
<include refid="selectByDate"></include>
group by dept_name) t7
on archive_master.dept_name = t7.dept_name
ORDER BY
archive_master.CODE
</select>-->
<select id="selectUnCountGroupDept" resultMap="BaseResultMap" parameterType="com.emr.vo.RecordSearch">
select
archive_master.dept_name,
archive_master.ArchiveState,
archive_master.DISCHARGE_DISPOSITION dischargeDisposition,
CONVERT(varchar(10),archive_master.discharge_date_time, 23) dischargeDateTime
from archive_master
<where>
<include refid="selectByInfo"></include>
<include refid="selectSql"></include>
</where>
</select>
<!--
&lt;!&ndash;-查询分组科室各角色待审核数量&ndash;&gt;
<select id="selectUnCountGroupDept" resultMap="BaseResultMap" parameterType="com.emr.vo.RecordSearch">
select
archive_master.dept_name,
@ -153,6 +238,7 @@
ORDER BY
archive_master.CODE
</select>
-->
<!--过滤超期条件语句-->
<sql id="overTimeWhereSql">
and datediff(
@ -336,52 +422,52 @@
<!--校验完整性-->
<sql id="verificationComplete">
LEFT JOIN (
SELECT
MasterID,
case
when
substring(inp_no,len(inp_no),len(inp_no)+1) = 'B'
then
COUNT( AssortID ) + 2
else
COUNT( AssortID )
end count
FROM
(
SELECT
MasterID,
case
when
substring(inp_no,len(inp_no),len(inp_no)+1) = 'B'
then
COUNT( AssortID ) + 2
else
COUNT( AssortID )
end count
FROM
(
SELECT
archive_detail.MasterID,
archive_master.inp_no,
dbo.archive_detail.AssortID
FROM
dbo.archive_detail
INNER JOIN dbo.zd_assort ON dbo.archive_detail.AssortID = dbo.zd_assort.assort_id
AND dbo.zd_assort.print_flag = 0
AND dbo.zd_assort.is_check = 1
inner join archive_master
on archive_detail.MasterID = archive_master.id
WHERE
( dbo.archive_detail.flag = 0 )
GROUP BY
archive_detail.MasterID,
archive_master.inp_no,
dbo.archive_detail.AssortID
) temp
GROUP BY
MasterID,inp_no
) temp ON archive_master.id = temp.MasterID
LEFT JOIN (
SELECT
MID,
COUNT( MID ) inspectionCount
archive_detail.MasterID,
archive_master.inp_no,
dbo.archive_detail.AssortID
FROM
archive_other_ext
dbo.archive_detail
INNER JOIN dbo.zd_assort ON dbo.archive_detail.AssortID = dbo.zd_assort.assort_id
AND dbo.zd_assort.print_flag = 0
AND dbo.zd_assort.is_check = 1
inner join archive_master
on archive_detail.MasterID = archive_master.id
WHERE
sysFlag IN ( 3, 6 )
AND ISNULL( DID, '' )= ''
AND ISNULL( MID, '' )!= ''
( dbo.archive_detail.flag = 0 )
GROUP BY
MID
) archive_other_ext ON archive_master.id = archive_other_ext.MID
archive_detail.MasterID,
archive_master.inp_no,
dbo.archive_detail.AssortID
) temp
GROUP BY
MasterID,inp_no
) temp ON archive_master.id = temp.MasterID
LEFT JOIN (
SELECT
MID,
COUNT( MID ) inspectionCount
FROM
archive_other_ext
WHERE
sysFlag IN ( 3, 6 )
AND ISNULL( DID, '' )= ''
AND ISNULL( MID, '' )!= ''
GROUP BY
MID
) archive_other_ext ON archive_master.id = archive_other_ext.MID
WHERE
ISNULL( count, 0 ) = ( SELECT COUNT( assort_id ) FROM zd_assort WHERE print_flag = 0 AND is_check = 1 )
AND inspectionCount IS NULL
@ -419,7 +505,7 @@
from archive_master
<!--非提醒功能查过期天数-->
<if test="surplus == null">
inner join v_overtime_record
LEFT JOIN v_overtime_record
on archive_master.id = v_overtime_record.id
</if>
inner join (select DOCTOR_IN_CHARGE,COUNT(DOCTOR_IN_CHARGE) overTimeCounts from archive_master
@ -442,4 +528,64 @@
<include refid="selectByDate"></include>
</where>
</select>
<!--查询属于需要校验完整的集合-->
<select id="selectAllWithCompleteAssort" resultMap="BaseResultMap2">
SELECT
id,
ArchiveState,
<include refid="formatDate"></include> discharge_date_time,
CASE
WHEN substring( inp_no, len ( inp_no ), len ( inp_no )+ 1 ) = 'B' THEN
COUNT( AssortID ) + 2 ELSE COUNT( AssortID )
END count
FROM
(
SELECT
archive_master.id,
archive_master.inp_no,
dbo.archive_detail.AssortID,
ArchiveState,
discharge_date_time
FROM
dbo.archive_detail
INNER JOIN dbo.zd_assort ON dbo.archive_detail.AssortID = dbo.zd_assort.assort_id
AND dbo.zd_assort.print_flag = 0
AND dbo.zd_assort.is_check = 1
RIGHT JOIN archive_master ON archive_detail.MasterID = archive_master.id
AND dbo.archive_detail.flag = 0
<where>
<include refid="selectByDate1"></include>
</where>
GROUP BY
archive_master.id,
archive_master.inp_no,
dbo.archive_detail.AssortID,
ArchiveState,
discharge_date_time
) archive_master
GROUP BY
id,
inp_no,
ArchiveState,
<include refid="formatDate"></include>
</select>
<!--查询分组日期-->
<select id="selectGroupDate" resultMap="BaseResultMap1">
SELECT
<include refid="formatDate"></include> disDate
FROM
(
SELECT
<include refid="formatDate"></include> discharge_date_time
FROM
archive_master
<where>
<include refid="selectByDate1"></include>
</where>
GROUP BY
<include refid="formatDate"></include>
) archive_master
ORDER BY
archive_master.discharge_date_time DESC
</select>
</mapper>

@ -201,6 +201,7 @@
<!--<if test="deptName != null and deptName!=''">-->
<!--and deptName = #{deptName,jdbcType=NVARCHAR}-->
<!--</if>-->
order by deptCode
</select>
</mapper>

@ -58,6 +58,6 @@
<script src="${path}/static/bootstrap-3.3.7/bower_components/bootstrap/dist/js/fileinput.min.js"></script>
<script type="text/javascript" src="${path}/static/js/hospitalCommom/pinying.js"></script>
<script type="text/javascript" src="${path}/static/js/comm.js?t=2020-11-09"></script>
<script type="text/javascript" src="${path}/static/js/comm.js?t=2020-11-19"></script>
<script type="text/javascript" src="${path}/static/js/md5.js"></script>
<input type="hidden" id="userId" value="${CURRENT_USER.userId}">

@ -653,7 +653,11 @@
<div class="modal-body">
<form>
<div class="form-group ">
<label class="control-label" id="resultLabel">完整审核未通过是否强制提交?</label>
<label class="control-label" id="resultLabel">
<p id="resultLabel1"></p>
<p id="resultLabel2"></p>
<p>是否强制提交?</p>
</label>
<textarea hidden id="WzRsult"></textarea>
</div>
</form>
@ -827,7 +831,7 @@
</div>
</div>
</body>
<script src="${path}/static/js/beHospList/beHospList.js?time=2020-11-13"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-13"></script>
<script src="${path}/static/js/beHospList/beHospList.js?time=2020-11-16"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-16"></script>
<script src="${path}/static/js/hospitalLoadPdf/loadPdf.js?time=2020-10-16"></script>
</html>

@ -448,5 +448,5 @@
</script>
<script src="${path}/static/js/inHospList/inHospList.js?time=2020-10-16"></script>
<script src="${path}/static/js/hospitalLoadPdf/loadPdf.js?time=2020-10-16"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-11"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-16"></script>
</html>

@ -655,7 +655,7 @@
</div>
</body>
<script src="${path}/static/js/lastVerifyList/lastVerifyList.js?time=2020-11-13"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-13"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-16"></script>
<script src="${path}/static/js/statistics/getDeptCommom.js"></script>
<script src="${path}/static/js/hospitalLoadPdf/loadPdf.js?time=2020-10-16"></script>
</html>

@ -38,6 +38,7 @@
<body>
<!--当前操作角色-->
<input type="hidden" id="checker">
<input type="hidden" id="flag" value="2">
<div class="mainBody">
<div class="main">
<div class="headDiv">
@ -142,6 +143,7 @@
</div>
<script src="${path}/static/js/statistics/getDeptCommom.js?time=2020-08-18"></script>
<script src="${path}/static/js/statistics/statisticsCommom.js?t=2020-07-24"></script>
<script src="${path}/static/js/record/deptOverTimeInfo.js?time=2020-08-21"></script>
<script src="${path}/static/js/record/deptOverTimeInfo.js?time=2020-11-16"></script>
<script src="${path}/static/js/record/expandRowCommom.js?time=2020-11-16"></script>
</body>
</html>

@ -31,45 +31,45 @@
width: 168px !important;
}
/* .table{
overflow: hidden;
}*/
thead>tr:first-child>th:nth-child(8){
/* .table{
overflow: hidden;
}*/
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(9){
background:green
}
thead>tr:first-child>th:nth-child(7){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(8){
background:mediumseagreen;
}
thead>tr:first-child>th:nth-child(6){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(7){
background:limegreen;
}
thead>tr:first-child>th:nth-child(5){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(6){
background:springgreen;
}
thead>tr:first-child>th:nth-child(4){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(5){
background:lawngreen;
}
thead>tr:first-child>th:nth-child(3){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:first-child>th:nth-child(4){
background:palegreen;
}
thead>tr:last-child>th:nth-child(-n+18){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+18){
background:green
}
thead>tr:last-child>th:nth-child(-n+15){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+15){
background:mediumseagreen;
}
thead>tr:last-child>th:nth-child(-n+12){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+12){
background:limegreen;
}
thead>tr:last-child>th:nth-child(-n+9){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+9){
background:springgreen;
}
thead>tr:last-child>th:nth-child(-n+6){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+6){
background:lawngreen;
}
thead>tr:last-child>th:nth-child(-n+3){
#tableDiv>.bootstrap-table>.fixed-table-container>.fixed-table-header .table>thead>tr:last-child>th:nth-child(-n+3){
background:palegreen;
}
</style>
@ -79,13 +79,9 @@
</head>
<body>
<%--<!--定义加载的层级数-->
<input type="hidden" id="level" value="${level}">
<!--初始化加载科室选中-->
<input type="hidden" id="searchDeptName" value="${record.deptName}">
<!--第三层初始化按科室查-->
<input type="hidden" id="searchDeptNameTemp">
<input type="hidden" id="timeIntervalTemp" value="${record.timeInterval}">--%>
<!--当前操作角色-->
<input type="hidden" id="checker">
<input type="hidden" id="flag" value="">
<div class="mainBody">
<div class="main">
<div class="headDiv">
@ -111,9 +107,9 @@
</div>
<div class="form-group divCss">
<label>出院时段:</label>
<select class="form-control input-sm" id="timeInterval"
onchange="loadTableByTime(this.options[this.options.selectedIndex].value,'startTime1','endTime1','table')">
</select>
<select class="form-control input-sm" id="timeInterval"
onchange="loadTableByTime(this.options[this.options.selectedIndex].value,'startTime1','endTime1','table')">
</select>
</div>
<div class="form-group divCss8">
<label>出院科室:</label>
@ -150,8 +146,25 @@
</div>
</div>
</div>
<%--查看流程弹窗--%>
<div class="modal fade" id="showFlowInfo" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content modal-contentHigh">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">查看流程</h4>
</div>
<div class="modal-body">
<iframe id="showFlowInfoIframe" width="100%" height="100%" scrolling="yes"></iframe>
</div>
</div>
</div>
</div>
<script src="${path}/static/js/statistics/getDeptCommom.js?time=2020-08-18"></script>
<script src="${path}/static/js/statistics/statisticsCommom.js?t=2020-07-24"></script>
<script src="${path}/static/js/record/submitRecord.js?time=2020-08-21"></script>
<script src="${path}/static/js/record/submitRecord.js?time=2020-11-16"></script>
<script src="${path}/static/js/record/expandRowCommom.js?time=2020-11-16"></script>
</body>
</html>

@ -588,6 +588,6 @@
var path = "${path}";
</script>
<script src="${path}/static/js/unfileMedicalList/unfileMedicalList.js?time=2020-10-13"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-11"></script>
<script src="${path}/static/js/hospitalCommom/hospitalCommom.js?time=2020-11-16"></script>
<script src="${path}/static/js/hospitalLoadPdf/loadPdf.js?time=2020-10-16"></script>
</html>

@ -153,8 +153,6 @@ function initTable() {
align: 'left',
valign: 'middle',
formatter: function (value, row) {
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
var html = "";
if (selectPower == 1) {
html += '<button type="button" class="btn btn-danger btn-sm selInfo" title="查看">查看</button>';
@ -468,8 +466,13 @@ $("#verifyBtn").on('click', function () {
//归档状态改为初审还是有就是初审内容保存
//判断完整性
var result = checkSuccessMethod(id);
if (result != '完整') {
$("#resultLabel").text("完整性未通过:" + result + ",是否强制提交?");
if(result != '完整'){
result = "完整性未通过:"+result+";";
}
$("#resultLabel1").text(result);
var c1s = selectC1WithNotCollectFinishByPatientId();
$("#resultLabel2").text(c1s);
if (result != '' || c1s != '') {
$('#WZModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。

@ -107,7 +107,7 @@ $(document).keyup(function(event){
* 判断出院日期是否是1801-02-03
* */
function operDisDate(value){
if(value != ''){
if(value != '' && value != null){
if(value.length >= 10){
value = value.substring(0, 10);
}

@ -14,6 +14,25 @@ function checkSuccessMethod(masterId){
});
return returnStr;
}
//查询根据记账号查询重新采集未完成的文件名称集合
function selectC1WithNotCollectFinishByPatientId(){
var masterId = $("#archiveId").val();
$.ajaxSetup({ //ajax异步转同步
async : false
});
var returnStr = '';
var checkData=$("#table").bootstrapTable('getRowByUniqueId',masterId);
var patientId = checkData.patientId;
$.get(path+"/archiveExt/selectC1WithNotCollectFinishByPatientId/"+patientId,function(result){
if(result.code == 100){
var resultSuccess = result.extend.c1s;
if(resultSuccess != ''){
returnStr += '重新采集未完成:'+resultSuccess+";";
}
}
},'json');
return returnStr;
}
//加载科室内主管医生列表
function loadDoctorInCharge(){
var deptName = getDeptNameForQuery();
@ -617,7 +636,7 @@ function initTable2() {
checkbox: true,
width: 25,
align: 'center',
hidden: true,
hidden: true
}, {
title: '序',
field: 'id',
@ -645,23 +664,14 @@ function initTable2() {
align: 'left',
valign: 'middle',
sortable: true,
width: 150, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
//是否同步过
var createTime = row.createTime;
if(createTime != null){
return selectTimeColor(createTime,row.uploaddatetime,2);
}else{
return value;
}
}
width: 150
},
{
title: '来源',
field: 'source',
align: 'center',
valign: 'middle',
width: 50, // 定义列的宽度单位为像素px
width: 50 // 定义列的宽度单位为像素px
},
{
title: '状态',
@ -1111,6 +1121,7 @@ function loadTable5Table(rows){
}
}
//任务详情
var pageNumber;
function initTable5(data,sidePagination) {
var option = {};
$("#table5").bootstrapTable("destroy");
@ -1296,7 +1307,11 @@ function initTable5(data,sidePagination) {
return operDisTime(value);
}
}
]
],
//监听分页点击事件
onPageChange: function(num, type) {
pageNumber = num;
},
};
if(data == ''){
option.url = path+"/archiveExt/getArchiveExtInfo";
@ -1388,11 +1403,13 @@ function submitUpdate(ids,notNursingIds,detailIds,sysFlag) {
data:{ids:ids,notNursingIds:notNursingIds,detailIds:detailIds,jzh:jzh,masterId:$("#idLab").text(),sysFlag:sysFlag},
dataType:'json',
success:function (data) {
debugger
if(data.code == 100){
toastr.success("同步更新已发送,请耐心等待!");
//刷新列表
initTable5('','server');
setTimeout(function() {
$('#table5').bootstrapTable('selectPage', pageNumber);
},500);
$("#loading").show();
timeInterval = setInterval(function () {
if(otherExtIds != '') {
@ -1411,6 +1428,9 @@ function submitUpdate(ids,notNursingIds,detailIds,sysFlag) {
setTimeout(function(){
//刷新列表
initTable5('','server');
setTimeout(function() {
$('#table5').bootstrapTable('selectPage', pageNumber);
},500);
},times*1000);
//撤销监听
cancleListentingSuccess();
@ -1472,8 +1492,3 @@ $("#searchBtn6").click(function(){
submitUpdate(ids,notNursingIds,detailIds,sysflag);
}
})
//模态框 关闭前事件关闭任务详情刷新表格2
$('#workDetailModal').on('hide.bs.modal', function () {
initTable2();
});

@ -12,26 +12,7 @@ $(function(){
//加载病案统计
selectOvertimeCount();
})
//未终审页面、在院浏览、出院浏览查看病历时按审核角色查询分类主要查询checker=2护士的只查看护理记录单和体温表
function getChecker(){
$.get(path+'/beHosp/getChecker',function(data){
if(data.code == 100){
var checker = data.extend.checker;
$("#checker").val(checker);
//根据操作角色显示退回角色
if(checker == 1){
$("#returnDoctor").show();
}else if(checker == 2){
$("#returnNurse").show();
}else{
$("#returnDoctor").show();
$("#returnNurse").show();
}
}else{
toastr.error(data.msg);
}
},'json');
}
//加载科室内主管医生列表
function loadOverTimeDoctorInCharge(){
$.ajax({
@ -62,6 +43,7 @@ function selectOvertimeCount(){
type:'get',
url:path+'/record/selectOvertimeCount',
dataType:'json',
async:false,
data:{
startDate: $("#startTime1").val(),
endDate: $("#endTime1").val(),
@ -258,269 +240,17 @@ function initTable() {
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var tableId = "table1_" + row.deptName;
var html = '<div id="tableDiv1">\n' +
' <table id="table1" class="table text-nowrap"></table>\n' +
' <table id="'+tableId+'" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
var table1Data = getTable1Data(row);
initTable1(table1Data);
initTable1(table1Data,tableId);
}
});
}
/**
* 组织表1审核角色表的数据
* @param table1Data
*/
function getTable1Data(row){
var data = [];
//查询是否带审核节点查询
var infoId = $("#infoId").val();
var count2 = row.unDoctorSubmitCount;
var map2 = getDataMap(2,'医生未提交',count2,row);
var count3 = row.unDoctorCheckCount;
var map3 = getDataMap(3,'医生质控员未提交',count3,row);
var count4 = row.unDirectorCheckCount;
var map4 = getDataMap(4,'科主任未提交',count4,row);
var count5 = row.unNurseSubmitCount;
var map5 = getDataMap(5,'护士未提交',count5,row);
var count6 = row.unNurseCheckCount;
var map6 = getDataMap(6,'护士质控员未提交',count6,row);
var count7 = row.unHeadNurseCount;
var map7 = getDataMap(7,'护士长未提交',count7,row);
var count8 = row.headNurseCount;
var map8 = getDataMap(8,'病案室未提交',count8,row);
if(infoId == ''){
if(count2 > 0) {
data.push(map2);
}
if(count3 > 0) {
data.push(map3);
}
if(count4 > 0) {
data.push(map4);
}
if(count5 > 0) {
data.push(map5);
}
if(count6 > 0) {
data.push(map6);
}
if(count7 > 0) {
data.push(map7);
}
if(count8 > 0) {
data.push(map8);
}
}else{
if(infoId == '2' && count2 > 0){
data.push(map2);
}
if(infoId == '3' && count3 > 0){
data.push(map3);
}
if(infoId == '4' && count4 > 0){
data.push(map4);
}
if(infoId == '5' && count5 > 0){
data.push(map5);
}
if(infoId == '6' && count6 > 0){
data.push(map6);
}
if(infoId == '7' && count7 > 0){
data.push(map7);
}
if(infoId == '8' && count8 > 0){
data.push(map8);
}
}
return data;
}
/**
* 组织map
* @param roleId
* @param title
* @param count
* @param row
* @returns {*}
*/
function getDataMap(roleId,title,count,row){
if(count != 0){
var map = new Map();
map['deptCode'] = row.deptName;
map['deptNameCn'] = row.deptNameCn;
map['unCount'] = count;
map['role'] = title;
map['infoId'] = roleId;
return map;
}else{
return [];
}
}
//第二层,按审核角色分层
function initTable1(table1Data) {
$("#table1").bootstrapTable({ // 对应table标签的id
data:table1Data,
sidePagination: 'client', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:300,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn'
},
{
title: '审核角色',
field: 'role'
},
{
title: '未提交份数',
field: 'unCount'
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
//reloadTableHeight("table1");
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv2">\n' +
' <table id="table2" class="table2" class="table text-nowrap table-bordered"></table>\n' +
' </div>';
$detail.html(html);
initTable2(row);
}
});
}
//第三层,按科室审核角色分组查
function initTable2(rows) {
$("#table2").bootstrapTable({ // 对应table标签的id
url: path + "/record/getRecordGroupDeptAndRole", // 获取表格数据的url
sidePagination: 'server', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: false,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:553,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParamsInitTable2(params,this,rows);
},
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '主管医生',
field: 'doctorInCharge'
},
{
title: '医生工号',
field: 'doctorInChargeCode'
},
{
title: '超期份数',
field: 'overTimeCounts'
},
{
title: '出院科室',
field: '',
formatter: function (value, row, index) {
return rows.deptNameCn;
}
},
{
title: '患者姓名',
field: 'name'
},
{
title: '住院号',
field: 'inpNo'
},
{
title: '住院次数',
field: 'visitId'
},
{
title: '出院日期',
field: 'dischargeDateTime',
formatter: function (value, row, index) {
return operDisDate(value);
}
},
{
title: '超期天数',
field: 'overtimeDays'
},
{
title: '状态',
field: 'status'
},
{
title:'操作',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return '<button type="button" class="btn btn-sm btn-success showFlowInfo" title="查看流程">查看流程</button>';
},
events:{
//查看流程
'click .showFlowInfo': function (e, value, row) {
$('#showFlowInfo').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var masterId = row.id;
var name = encodeURI(row.name);
var inpNo = row.inpNo;
var visitId = row.visitId;
var dischargeDateTime = row.dischargeDateTime;
$("#showFlowInfoIframe").prop("src",path+"/beHosp/toShowFlowInfo?id="+masterId+"&name="+name+"&inpNo="+inpNo+"&visitId="+visitId+"&dischargeDateTime="+dischargeDateTime+"&role="+$("#checker").val());
}
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
//reloadTableHeight("table1");
},
});
}
//各表格查询条件
function queryParams(params,_this,deptName){
var currPageSize = _this.pageSize;
@ -554,69 +284,6 @@ function queryParams(params,_this,deptName){
return temp;
}
/**
* 明细表格查询条件
* @param params
* @param queryParamsInitTable2
* @returns {{deptName, flag: number, infoId: (*|jQuery|*|*|*|*), offset: *, endDate: (*|jQuery|*|*|*|*), limit: (*|number), startDate: (*|jQuery|*|*|*|*), doctorInCharge}}
*/
function queryParamsInitTable2(params,_this,row){
var currPageSize = _this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = _this.totalRows;
_this.pageSize = limit;
} else {
limit = currPageSize;
_this.pageSize = currPageSize;
}
var infoId = row.infoId;
var deptName = row.deptCode;
var operRole = 0;
if(infoId < 5){
operRole = 1;
}else if(infoId == 5 || infoId == 6){
operRole = 2;
}else{
operRole = 4;
}
var temp = {
offset:offset,
limit:limit,
startDate: $("#startTime1").val(),
endDate: $("#endTime1").val(),
flag:2,
deptName:deptName,
doctorInCharge:getSelecteds("doctorInCharge"),
infoId:infoId,
operRole:operRole
};
return temp;
}
//封装展开显示按钮方法
/*function showDetail(level,deptName){
return '<a type="button" onclick="showDetailMethod('+level+','+deptName+')" target="_blank" class="btn btn-primary btn-sm">展开显示</button></a>'}
//封装展开显示跳转方法
function showDetailMethod(level,deptName){
var startDate =$("#startTime1").val();
var endDate = $("#endTime1").val();
var timeInterval = $("#timeInterval").val();
var name = $("#name").val();
var inpNo = $("#inpNo").val();
if(deptName == null){
deptName = getDeptName();
}
var urlTemp = url + level + "?deptName="+deptName+"&startDate="+ startDate
+ "&endDate="+endDate+"&timeInterval="+timeInterval+"&name="+name
+"&inpNo="+inpNo;
window.open(urlTemp);
}*/
//查询按钮
$('#searchBtnStatistics').click(function () {
//查询之后重新从第一页算起

@ -0,0 +1,319 @@
//未终审页面、在院浏览、出院浏览查看病历时按审核角色查询分类主要查询checker=2护士的只查看护理记录单和体温表
function getChecker(){
$.get(path+'/beHosp/getChecker',function(data){
if(data.code == 100){
var checker = data.extend.checker;
$("#checker").val(checker);
//根据操作角色显示退回角色
if(checker == 1){
$("#returnDoctor").show();
}else if(checker == 2){
$("#returnNurse").show();
}else{
$("#returnDoctor").show();
$("#returnNurse").show();
}
}else{
toastr.error(data.msg);
}
},'json');
}
/**
* 组织表1审核角色表的数据
* @param table1Data
*/
function getTable1Data(row){
var data = [];
//查询是否带审核节点查询
var infoId = $("#infoId").val();
var count2 = row.unDoctorSubmitCount;
var map2 = getDataMap(2,'医生未提交',count2,row);
var count3 = row.unDoctorCheckCount;
var map3 = getDataMap(3,'医生质控员未提交',count3,row);
var count4 = row.unDirectorCheckCount;
var map4 = getDataMap(4,'科主任未提交',count4,row);
var count5 = row.unNurseSubmitCount;
var map5 = getDataMap(5,'护士未提交',count5,row);
var count6 = row.unNurseCheckCount;
var map6 = getDataMap(6,'护士质控员未提交',count6,row);
var count7 = row.unHeadNurseCount;
var map7 = getDataMap(7,'护士长未提交',count7,row);
var count8 = row.headNurseCount;
var map8 = getDataMap(8,'病案室未提交',count8,row);
if(infoId == '' || infoId == undefined){
if(count2 > 0) {
data.push(map2);
}
if(count3 > 0) {
data.push(map3);
}
if(count4 > 0) {
data.push(map4);
}
if(count5 > 0) {
data.push(map5);
}
if(count6 > 0) {
data.push(map6);
}
if(count7 > 0) {
data.push(map7);
}
if(count8 > 0) {
data.push(map8);
}
}else{
if(infoId == '2' && count2 > 0){
data.push(map2);
}
if(infoId == '3' && count3 > 0){
data.push(map3);
}
if(infoId == '4' && count4 > 0){
data.push(map4);
}
if(infoId == '5' && count5 > 0){
data.push(map5);
}
if(infoId == '6' && count6 > 0){
data.push(map6);
}
if(infoId == '7' && count7 > 0){
data.push(map7);
}
if(infoId == '8' && count8 > 0){
data.push(map8);
}
}
return data;
}
/**
* 组织map
* @param roleId
* @param title
* @param count
* @param row
* @returns {*}
*/
function getDataMap(roleId,title,count,row){
if(count != 0){
var map = new Map();
map['deptCode'] = row.deptName;
map['deptNameCn'] = row.deptNameCn;
map['unCount'] = count;
map['role'] = title;
map['infoId'] = roleId;
return map;
}else{
return [];
}
}
//第二层,按审核角色分层
function initTable1(table1Data,tableId) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
data:table1Data,
sidePagination: 'client', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:300,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn'
},
{
title: '审核角色',
field: 'role'
},
{
title: '未提交份数',
field: 'unCount'
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
//展开详情事件
onExpandRow: function (index, row, $detail) {
var tableId = "table2_"+row.deptCode + "_" + row.infoId;
//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv2">\n' +
' <table id="'+tableId+'" class="table2" class="table text-nowrap table-bordered"></table>\n' +
' </div>';
$detail.html(html);
initTable2(row,tableId);
}
});
}
//第三层,按科室审核角色分组查
function initTable2(rows,tableId) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
url: path + "/record/getRecordGroupDeptAndRole", // 获取表格数据的url
sidePagination: 'server', // 设置为服务器端分页 客户端client
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: false,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:553,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParamsInitTable2(params,this,rows);
},
columns: [
{
title: '序号',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '主管医生',
field: 'doctorInCharge'
},
{
title: '医生工号',
field: 'doctorInChargeCode'
},
{
title: '超期份数',
field: 'overTimeCounts'
},
{
title: '出院科室',
formatter: function (value, row, index) {
return rows.deptNameCn;
}
},
{
title: '患者姓名',
field: 'name'
},
{
title: '住院号',
field: 'inpNo'
},
{
title: '住院次数',
field: 'visitId'
},
{
title: '出院日期',
field: 'dischargeDateTime',
formatter: function (value, row, index) {
return operDisDate(value);
}
},
{
title: '超期天数',
field: 'overtimeDays'
},
{
title: '状态',
field: 'status'
},
{
title:'操作',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return '<button type="button" class="btn btn-sm btn-success showFlowInfo" title="查看流程">查看流程</button>';
},
events:{
//查看流程
'click .showFlowInfo': function (e, value, row) {
$('#showFlowInfo').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
var masterId = row.id;
var name = encodeURI(row.name);
var inpNo = row.inpNo;
var visitId = row.visitId;
var dischargeDateTime = row.dischargeDateTime;
$("#showFlowInfoIframe").prop("src",path+"/beHosp/toShowFlowInfo?id="+masterId+"&name="+name+"&inpNo="+inpNo+"&visitId="+visitId+"&dischargeDateTime="+dischargeDateTime+"&role="+$("#checker").val());
}
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
}
});
}
/**
* 明细表格查询条件
* @param params
* @param queryParamsInitTable2
* @returns {{deptName, flag: number, infoId: (*|jQuery|*|*|*|*), offset: *, endDate: (*|jQuery|*|*|*|*), limit: (*|number), startDate: (*|jQuery|*|*|*|*), doctorInCharge}}
*/
function queryParamsInitTable2(params,_this,row){
var currPageSize = _this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = _this.totalRows;
_this.pageSize = limit;
} else {
limit = currPageSize;
_this.pageSize = currPageSize;
}
var infoId = row.infoId;
var deptName = row.deptCode;
var operRole = 0;
if(infoId < 5){
operRole = 1;
}else if(infoId == 5 || infoId == 6){
operRole = 2;
}else{
operRole = 4;
}
var temp = {
offset:offset,
limit:limit,
startDate: $("#startTime1").val(),
endDate: $("#endTime1").val(),
flag:$("#flag").val(),
deptName:deptName,
doctorInCharge:getSelecteds("doctorInCharge"),
infoId:infoId,
operRole:operRole
};
return temp;
}

@ -175,7 +175,7 @@ function formatPercent(value){
return value;
}
}
//第二层,按科室分组查
//按日期分组查
function initTable() {
$("#table").bootstrapTable({ // 对应table标签的id
url: path + "/record/getSignedRecordList", // 获取表格数据的url

@ -8,19 +8,8 @@ $(function(){
initTable();
//加载病案统计
selectCount();
//获取加载层数级
/*var level = $("#level").val();
switch (level) {
case '1':
initTable();
break;
case '2':
initTable1();
break;
case '3':
initTable2(getDeptName(),'table2');
break;
}*/
//赋值审核角色
getChecker();
})
//加载病案统计
function selectCount(){
@ -163,7 +152,7 @@ function initTable() {
sidePagination: 'server', // 设置为服务器端分页 客户端client
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView:false,//是否可展开
detailView:true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
@ -335,227 +324,24 @@ function initTable() {
return formatPercent(value);
}
},
/*{
title:'操作',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
var allRecordCount = row.allRecordCount;
if(allRecordCount != 0){
return showDetail('2',null);
}
}
}*/
]],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
/*//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var html = '<div id="tableDiv1">\n' +
' <table id="table1" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
initTable1();
}*/
});
}
//第二层,按科室分组查
/*function initTable1() {
$("#table1").bootstrapTable({ // 对应table标签的id
url: path + "/statistics/getRecordStatisticsGroupDept", // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
detailView: true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:514,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//查询条件
queryParams: function (params) {
return queryParams(params,this,'');
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '出院科室',
field: 'deptNameCn',
align: 'left'
},
{
title: '出院人数',
field: 'allRecordCount',
align: 'center'
},
{
title: '总文件数',
field: 'allFileCount',
align: 'center'
},
{
title: '总页数',
field: 'allPageCount',
align: 'center'
},
{
title: '自动采集总文件数',
field: 'autoCollectionFileCount',
align: 'center'
},
{
title: '自动采集总页数',
field: 'autoCollectionPageCount',
align: 'center'
},
{
title: '扫描上传总文件数',
field: 'manualScanFileCount',
align: 'center'
},
{
title: '扫描上传总页数',
field: 'manualScanPageCount',
align: 'center'
},
{
title:'操作',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return showDetail('3',row.deptName);
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
//reloadTableHeight("table1");
},
//展开详情事件
onExpandRow: function (index, row, $detail) {//點擊datagrid 展開按鈕事件
var deptName = row.deptName;
var tableId = 'table_'+deptName;
var html = '<div id="tableDiv2">\n' +
' <table id="'+tableId+'" class="table2" class="table text-nowrap table-bordered"></table>\n' +
var tableId = "table1_"+row.deptName;
var html = '<div id="tableDiv1">\n' +
' <table id="'+tableId+'" class="table text-nowrap"></table>\n' +
' </div>';
$detail.html(html);
initTable2(deptName,tableId);
var table1Data = getTable1Data(row);
initTable1(table1Data,tableId);
}
});
}
//第三层,根据科室查询病患详情
function initTable2(deptName,tableId) {
$("#"+tableId).bootstrapTable({ // 对应table标签的id
url: path+"/statistics/getRecordStatisticsByDeptName", // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
sidePagination: 'server', // 设置为服务器端分页 客户端client
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
//detailView:true,//是否可展开
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
height:475,
searchTimeOut: 500,// 默认500 设置搜索超时时间。
showHeader: true,//是否显示列头。
//是否显示导出按钮
queryParams: function (params) {
return queryParams(params,this,deptName);
},
columns: [
{
title: '序号',
align: 'center',
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '住院号',
field: 'inpNo',
align: 'left'
},
{
title: '姓名',
field: 'name',
align: 'left'
},
{
title: '住院次数',
field: 'visitId',
align: 'center'
},
{
title: '出院科室',
field: 'deptNameCn',
align: 'left'
},
{
title: '出院日期',
field: 'dischargeDateTime',
align: 'center',
formatter: function (value) {
return operDisDate(value);
}
},
{
title: '总文件数',
field: 'allFileCount',
align: 'center'
},
{
title: '总页数',
field: 'allPageCount',
align: 'center'
},
{
title: '自动采集总文件数',
field: 'autoCollectionFileCount',
align: 'center'
},
{
title: '自动采集总页数',
field: 'autoCollectionPageCount',
align: 'center'
},
{
title: '扫描上传总文件数',
field: 'manualScanFileCount',
align: 'center'
},
{
title: '扫描上传总页数',
field: 'manualScanPageCount',
align: 'center'
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
//reloadTableHeight("table2");
}
});
}*/
//各表格查询条件
function queryParams(params,_this,deptName){
var currPageSize = _this.pageSize;
@ -585,24 +371,6 @@ function queryParams(params,_this,deptName){
};
return temp;
}
//封装展开显示按钮方法
/*function showDetail(level,deptName){
return '<a type="button" onclick="showDetailMethod('+level+','+deptName+')" target="_blank" class="btn btn-primary btn-sm">展开显示</button></a>'}
//封装展开显示跳转方法
function showDetailMethod(level,deptName){
var startDate =$("#startTime1").val();
var endDate = $("#endTime1").val();
var timeInterval = $("#timeInterval").val();
var name = $("#name").val();
var inpNo = $("#inpNo").val();
if(deptName == null){
deptName = getDeptName();
}
var urlTemp = url + level + "?deptName="+deptName+"&startDate="+ startDate
+ "&endDate="+endDate+"&timeInterval="+timeInterval+"&name="+name
+"&inpNo="+inpNo;
window.open(urlTemp);
}*/
//查询按钮
$('#searchBtnStatistics').click(function () {
//查询之后重新从第一页算起

@ -1,42 +1,42 @@
[
{
"code": 1,
"name": "护理",
"name": "护理文书",
"type": "otherExtSysFlag"
},
{
"code": 2,
"name": "His",
"name": "电子病历",
"type": "otherExtSysFlag"
},
{
"code": 3,
"name": "Pasc",
"name": "Pacs检查",
"type": "otherExtSysFlag"
},
{
"code": 4,
"name": "心电",
"name": "心电",
"type": "otherExtSysFlag"
},
{
"code": 5,
"name": "手麻",
"name": "手麻信息",
"type": "otherExtSysFlag"
},
{
"code": 6,
"name": "Lis",
"name": "Lis检验",
"type": "otherExtSysFlag"
},
{
"code": 7,
"name": "首页",
"name": "病案首页",
"type": "otherExtSysFlag"
},
{
"code": 8,
"name": "医嘱",
"name": "长临医嘱",
"type": "otherExtSysFlag"
},
{

@ -13,6 +13,8 @@ import javax.xml.soap.*;
import javax.xml.ws.Dispatch;
import javax.xml.ws.Service;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@ -28,26 +30,13 @@ public class MapperTest {
* mapper
*/
@Test
public void testCRUD(){
Integer[] a = {0,1,2,4,8,16,32,64,128};
int temp1 = 2;
long start = System.currentTimeMillis();
aa:
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
int value = a[i] ^ a[j];
if(temp1 == value){
System.out.println(a[i]);
System.out.println(a[j]);
break aa;
}
}
}
long end = System.currentTimeMillis();
System.out.println((end-start)/1000.0+"s");
int b = 8 ^ 0;
System.out.println(b);
//getProject("123","456");
public void testCRUD() throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = "2020-11-17";
String date1 = "2020-11-17";
Date parse = sdf.parse(date);
Date parse1 = sdf.parse(date1);
System.out.println(parse.getTime() >= parse1.getTime());
}
private String userName;
private String password;

Loading…
Cancel
Save