优化慢sql

master
linjj 2 years ago
parent a2afd42fb2
commit 339b10daa7

@ -86,7 +86,6 @@ public class medicalOverdueController {
for (int a = 0; a < list.size(); a++) {
String overTime1 = list.get(a).getOverTime1();
String handleTime = list.get(a).getHandleTime();
String dischargeDateTime = list.get(a).getDischargeDateTime();
try {
date1 = format.parse(overTime1);
date2 = format.parse(handleTime);

@ -863,7 +863,7 @@ public class signListController {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
String urlNameString = url + "?taskid=" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();

@ -9,6 +9,7 @@ package com.emr.service.ipml;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.emr.dao.*;
import com.emr.service.Emr_DictionaryService;
import com.emr.util.HttpClientTool;
import com.emr.util.IDHelper;
import com.emr.vo.GetTime;
@ -69,6 +70,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Autowired
private Archive_Master_FollowingMapper archiveMasterFollowingMapper;
@Autowired
private Emr_DictionaryService emrDictionaryService;
@Override
public Archive_Master selectById(String id) {
@ -521,6 +524,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
Date date1=null;
Date date2=null;
Date date3=null;
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue(archiveMasterVo);
if(list!=null && list.size()>0) {
//查询用户集合
@ -554,23 +562,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
ca2.setTime(date2);
long distanceMin =( ca2.getTimeInMillis()- ca1.getTimeInMillis())/(1000*60*60*24);
int i= (int)distanceMin;
// archiveMasterVo.setDischargeDateTime1(date3);
// Integer integer = archiveMasterMapper.selectTime1(archiveMasterVo);
// System.out.println("integer:::::"+integer);
// if (integer==1){
// if (i>0){
// archiveMaster.setOverTime(i);
// }else {
// archiveMaster.setOverTime(0);
// }
// }else
// if (integer==2){
// if (i>0){
// archiveMaster.setOverTime(i);
// }else {
// archiveMaster.setOverTime(0);
// }
// }
if (i>0){
archiveMaster.setOverTime(i);
}else {
@ -585,6 +576,21 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
archiveMaster.setFirstInstance(name);
}
}
//转换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = archiveMaster.getDeptName();
String dept2 = archiveMaster.getDeptAdmissionTo();
if (deptName.equals(dicList.get(k).getCode())) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
archiveMaster.setDeptName(deptName);
}
if(dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室dept_admission_to
dept2 = dept2.replace(dept2, dicList.get(k).getName());
archiveMaster.setDeptAdmissionTo(dept2);
}
}
}
}
}
@ -643,22 +649,6 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
int i= (int)distanceMin;
archiveMasterVo.setDischargeDateTime1(date3);
// Integer integer = archiveMasterMapper.selectTime1(archiveMasterVo);
// System.out.println("integer:::::"+integer);
// if (integer==1){
// if (i>0){
// archiveMaster.setOverTime(i);
// }else {
// archiveMaster.setOverTime(0);
// }
// }else
// if (integer==2){
// if (i>0){
// archiveMaster.setOverTime(i);
// }else {
// archiveMaster.setOverTime(0);
// }
// }
if (i>0){
archiveMaster.setOverTime(i);
}else {
@ -673,6 +663,26 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
archiveMaster.setFirstInstance(name);
}
}
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
//转换科室
for (int k = 0; k < dicList.size(); k++) {
String deptName = archiveMaster.getDeptName();
String dept2 = archiveMaster.getDeptAdmissionTo();
if (deptName.equals(dicList.get(k).getCode())) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
archiveMaster.setDeptName(deptName);
}
if(dept2 != null && dept2.equals(dicList.get(k).getCode())) {
//入院科室dept_admission_to
dept2 = dept2.replace(dept2, dicList.get(k).getName());
archiveMaster.setDeptAdmissionTo(dept2);
}
}
}
}
}

@ -1,4 +1,4 @@
POWER_IP=localhost
POWER_IP=127.0.0.1
jdbc.username=sa
jdbc.password=admin123
dataBaseName=zj_record_new
@ -15,10 +15,10 @@ hibernate.hbm2ddl.auto=update
hibernate.current_session_context_class=thread
hibernate.jdbc.batch_size=50
hibernate.enable_lazy_load_no_trans=true
WEBSOCKET_URLHEAD=${POWER_JSPHEAD}:8089
WEBSOCKET_URLHEAD=${POWER_JSPHEAD}:8088
#\u901A\u77E5\u5B57\u7B26\u4E32\u95F4\u9694\u7B26
STR_SPLIT=*^:|,.
POWER_JSPHEAD=localhost
POWER_JSPHEAD=127.0.0.1
##\u56FE\u7247\u5730\u5740
pictureUrl=Z:\\test\\uploadImage

@ -1734,9 +1734,8 @@
m.discharge_date_time,
120
) and flag= 1 order by date asc) as b) as overTime1
,m.master_id,m.patient_id,m.inp_no,m.visit_id,m.name,ISNULL(c.name,m.dept_name)
dept_name,m.discharge_date_time,m.DOCTOR_IN_CHARGE,m.first_instance,m.death_flag,ISNULL(e.name,m.dept_admission_to)
dept_admission_to,admission_date_time
,m.master_id,m.patient_id,m.inp_no,m.visit_id,m.name,m.dept_name,m.discharge_date_time,m.DOCTOR_IN_CHARGE,
m.first_instance,m.death_flag,m.dept_admission_to,admission_date_time
from (
select id,master_id ,convert(varchar,handle_time,120) handle_time ,handle_id,handle_name,following_type from (
select ROW_NUMBER() over(partition by master_id order by handle_time asc) RowNum
@ -1746,24 +1745,15 @@
LEFT JOIN (
select id master_id,patient_id,inp_no,visit_id,name,dept_name,convert(varchar,discharge_date_time,120)
discharge_date_time,check_doctor,first_instance,DOCTOR_IN_CHARGE,death_flag,dept_admission_to,convert(varchar,admission_date_time,120)
admission_date_time,
<if test="overdueDays != null and overdueDays != ''">
convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int)-1,convert(varchar(10),discharge_date_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),discharge_date_time,23),convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int),convert(varchar(10),discharge_date_time,23))),23)) , 0) dayOne
</if>
<if test="overdueDays == null and overdueDays == ''">overTime => #{overdueDays }</if>
<if test="overdueDays == null or overdueDays == ''">
convert(varchar(10),(DATEADD(DAY,2,convert(varchar(10),discharge_date_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),discharge_date_time,23),convert(varchar(10),(DATEADD(DAY,3,convert(varchar(10),discharge_date_time,23))),23)) , 0) dayOne
</if>
admission_date_time
from archive_master where 1=1 and ArchiveState not in('作废','已封存','取消入院') and Is_Valid!=1
) m
on f.master_id=m.master_id
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) c
on m.dept_name=c.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e
on m.dept_admission_to=e.code
-- LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) c
-- on m.dept_name=c.code
--
-- LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e
-- on m.dept_admission_to=e.code
<where> 1=1 and m.master_id!='' and m.master_id is not null
<!--<if test="(overdueDaysTwo != null and overdueDaysTwo != '') ">-->
<!--and-->

@ -5060,7 +5060,6 @@
});
}
initTable2();
$("#flag").click(function () {
if ($("#flag").is(":checked") == true) {

@ -3608,7 +3608,7 @@
var html = "";
if (index != null && index != "") {
if (index.indexOf("select") != -1) {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (row.archivestate == '提交' || row.archivestate == '复审退回') {
if (index.indexOf("back") != -1) {
@ -4397,7 +4397,7 @@
});
}
initTable2();
$("#flag").click(function () {
if ($("#flag").is(":checked") == true) {

@ -2566,7 +2566,7 @@
var html = "";
if (index != null && index != "" && index.indexOf("select") != -1) {
//return '<button class="btn btn-danger btn-sm" onclick="selectFun(\'' + row + '\')">查看 </button>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看 </button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看 </button>';// '<a href="javascript:;" class="delete">删除</a>';
}
return html;
@ -3063,7 +3063,7 @@
});
}
initTable2();
$("#flag").click(function () {
if ($("#flag").is(":checked") == true) {

@ -3796,7 +3796,7 @@
//return '<button class="btn btn-danger btn-sm" onclick="selectFun(\'' + row + '\')">查看 </button>';
var html = "";
if (index != null && index != "" && index.indexOf("select") != -1) {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (row.archivestate == '初审') {
/*if (index != null && index != "" && index.indexOf("back") != -1) {
@ -4549,7 +4549,7 @@
});
}
initTable2();
// initTable2();
//点击扫描全选分段列表,查询来源为嘉时扫描系统
/*$("#pdfBtn3").click(function () {

@ -2275,7 +2275,7 @@
var html = "";
//return '<button class="btn btn-danger btn-sm" onclick="selectFun(\'' + row + '\')">查看 </button>';
if (index != null && index != "" && index.indexOf("select") != -1) {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
return html;
}, events: {

@ -3359,7 +3359,7 @@
//return '<button class="btn btn-danger btn-sm" onclick="selectFun(\'' + row + '\')">查看 </button>';
var html = "";
if (index != null && index != "" && index.indexOf("select") != -1) {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (row.archivestate == '初审') {
/*if (index != null && index != "" && index.indexOf("back") != -1) {
@ -4172,7 +4172,7 @@
});
}
initTable2();
//点击扫描全选分段列表,查询来源为嘉时扫描系统
/*$("#pdfBtn3").click(function () {

@ -3453,7 +3453,7 @@
var html = "";
//return '<button class="btn btn-danger btn-sm" onclick="selectFun(\'' + row + '\')">查看 </button>';
if (index != null && index != "" && index.indexOf("select") != -1 && row.archivestate != "已封存") {
html = '<button type="button" class="btn btn-danger btn-sm selInfo" >查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
html = '<button type="button" class="btn btn-danger btn-sm selInfo" onclick="initTable2()">查看</button>';// '<a href="javascript:;" class="delete">删除</a>';
}
if (index.indexOf("qxSel") != -1) {
var redFlag = row.numb;
@ -3984,7 +3984,6 @@
});
}
initTable2();
$("#flag").click(function () {
if ($("#flag").is(":checked") == true) {

Loading…
Cancel
Save