缺陷列表:原本主管医生改为正式主治医生姓名、优化查询等

master
hujl 3 years ago
parent c9c692c377
commit 71a3743a5c

@ -34,6 +34,7 @@ import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Controller
@RequestMapping("fault")
@ -67,8 +68,7 @@ public class faultController {
String[] fileNames = {"archiveDetailId","inpNo","visitId","name","deptName","dischargeDateTime","archivestate","price","doctorInCharge","totalBackNum","totalBackFee","backNum","backFee","updater","updateTime","assortName","score","content","creater","createTime"};//,"backContent"
//文件名
String fileName = "缺陷信息数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//构造excel的数据
// List<Emr_Fault_Vo> list = emrFaultDetailService.getQualityControlList(emrFaultVo);
//获取病案室退回医生或护士的缺陷列表
List<Emr_Fault_Vo> list = emrFaultDetailService.selByCol(emrFaultVo);
//获取病案退回是第几次 updater为退回人
@ -87,96 +87,90 @@ public class faultController {
faultInfo.setTotalBackNum("0");
faultInfo.setTotalBackFee("0");
//退回总次数、总费用和总评分
for (Emr_Fault_Vo masertInfo : masterList) {
if(faultInfo.getArchiveDetailId().equals(masertInfo.getArchiveDetailId())) {
faultInfo.setBackFee(masertInfo.getBackFee());
faultInfo.setInpNo(masertInfo.getInpNo());
faultInfo.setVisitId(masertInfo.getVisitId());
faultInfo.setName(masertInfo.getName());
faultInfo.setDeptName(masertInfo.getDeptName());
faultInfo.setDischargeDateTime(masertInfo.getDischargeDateTime());
faultInfo.setArchiveState(masertInfo.getArchiveState());
faultInfo.setPrice(masertInfo.getScore());
faultInfo.setTotalBackNum(masertInfo.getTotalBackNum());
faultInfo.setTotalBackFee(masertInfo.getTotalBackFee());
}else{
//匹配不到退回相关的ArchiveDetailId,分数暂时为100
faultInfo.setPrice(new BigDecimal(100));
}
List<Emr_Fault_Vo> masterList2= masterList.stream().filter(u -> (u.getArchiveDetailId()).equals(faultInfo.getArchiveDetailId())).collect(Collectors.toList());
if(masterList2.size()>0){
Emr_Fault_Vo masertInfo=masterList2.get(0);
faultInfo.setBackFee(masertInfo .getBackFee());
faultInfo.setInpNo(masertInfo.getInpNo());
faultInfo.setVisitId(masertInfo.getVisitId());
faultInfo.setName(masertInfo.getName());
faultInfo.setDeptName(masertInfo.getDeptName());
faultInfo.setDischargeDateTime(masertInfo.getDischargeDateTime());
faultInfo.setArchiveState(masertInfo.getArchiveState());
faultInfo.setPrice(masertInfo.getScore());
faultInfo.setTotalBackNum(masertInfo.getTotalBackNum());
faultInfo.setTotalBackFee(masertInfo.getTotalBackFee());
}else{
//匹配不到退回相关的ArchiveDetailId,分数暂时为100
faultInfo.setPrice(new BigDecimal(100));
}
//获取病案退回是第几次 updater为退回人
for (Emr_Fault_Vo backInfo : backList) {
if(faultInfo.getArchiveDetailId().equals(backInfo.getArchiveDetailId())) {
if(backInfo.getCreateTime()!=null && backInfo.getCreateTime()!=""){
if(backInfo.getStartDateTo()!=null && backInfo.getStartDateTo()!="" && backInfo.getEndDateTo()!=null && backInfo.getEndDateTo()!=""){
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
Date nowTime = ft.parse(faultInfo.getCreateTime());
Date startTime = ft.parse(backInfo.getStartDateTo());
Date endTime = ft.parse(backInfo.getEndDateTo());
if( isEffectiveDate(nowTime,startTime,endTime)){
faultInfo.setStartDateTo(backInfo.getStartDateTo());
faultInfo.setEndDateTo(backInfo.getEndDateTo());
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
//System.out.println(backInfo.getCreateTime());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
faultInfo.setBackContent(backInfo.getContent());
break;
List<Emr_Fault_Vo> backList2= backList.stream().filter(u -> (u.getArchiveDetailId()).equals(faultInfo.getArchiveDetailId())).collect(Collectors.toList());
//获取病案退回是第几次 updater为退回人 1583480
for (Emr_Fault_Vo backInfo : backList2) {
if(backInfo.getCreateTime()!=null && backInfo.getCreateTime()!=""){
if(backInfo.getStartDateTo()!=null && backInfo.getStartDateTo()!="" && backInfo.getEndDateTo()!=null && backInfo.getEndDateTo()!=""){
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
Date nowTime = ft.parse(faultInfo.getCreateTime());
Date startTime = ft.parse(backInfo.getStartDateTo());
Date endTime = ft.parse(backInfo.getEndDateTo());
if( isEffectiveDate(nowTime,startTime,endTime)){
faultInfo.setStartDateTo(backInfo.getStartDateTo());
faultInfo.setEndDateTo(backInfo.getEndDateTo());
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
// faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge());
//System.out.println(backInfo.getCreateTime());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
faultInfo.setBackContent(backInfo.getContent());
break;
}
}else if(faultInfo.getEndDateTo()!=null && faultInfo.getEndDateTo()!=""){
if(compare(backInfo.getCreateTime(),faultInfo.getEndDateTo())){
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
//faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge());
//System.out.println(backInfo.getCreateTime());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
}else if(faultInfo.getEndDateTo()!=null && faultInfo.getEndDateTo()!=""){
if(compare(backInfo.getCreateTime(),faultInfo.getEndDateTo())){
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
//System.out.println(backInfo.getCreateTime());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
faultInfo.setBackContent(backInfo.getContent());
break;
}
}else if(faultInfo.getStartDateTo()!=null && faultInfo.getStartDateTo()!=""){
if(compare(faultInfo.getStartDateTo(),backInfo.getCreateTime())){
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
faultInfo.setBackContent(backInfo.getContent());
break;
faultInfo.setBackContent(backInfo.getContent());
break;
}
}else if(faultInfo.getStartDateTo()!=null && faultInfo.getStartDateTo()!=""){
if(compare(faultInfo.getStartDateTo(),backInfo.getCreateTime())){
faultInfo.setBackNum(backInfo.getBackNum());
faultInfo.setUpdater(backInfo.getCreater());
//faultInfo.setDoctorInCharge(backInfo.getDoctorInCharge());
if(StringUtils.isNotBlank(backInfo.getEndDateTo())){
faultInfo.setUpdateTime(backInfo.getEndDateTo());
}else{
faultInfo.setUpdateTime(backInfo.getStartDateTo());
}
faultInfo.setBackContent(backInfo.getContent());
break;
}
}
}
}
}
if(backList.size()>0) {
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
/* System.out.println("开始执行导出.......");
long start = System.currentTimeMillis();*/
String result = utils.exportExcelToFilePath(response, utils.listConvert(list));
/* long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) / 1000 + "秒");*/
}
}
}
}
ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames);
/* System.out.println("开始执行导出.......");
long start = System.currentTimeMillis();*/
String result = utils.exportExcelToFilePath(response, utils.listConvert(list));
/* long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) / 1000 + "秒");*/
}
public boolean compare(String time1,String time2) throws ParseException {

@ -330,13 +330,12 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
if(list!=null && list.size()>0) {
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null) {
Map<String, JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject, String>() {
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}
});
}});
for (Emr_Fault_Vo emr_fault_vo : list) {
// emr_fault_vo.setBackFee(priceVal);
@ -467,6 +466,14 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
} else {
emr_fault_vo.setCreater(userInfo.getString("name"));
}
userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo == null) {
emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge());
} else {
emr_fault_vo.setDoctorInCharge(userInfo.getString("name"));
}
}
}
}

Loading…
Cancel
Save