|
|
|
@ -22,6 +22,7 @@ import com.google.common.base.Function;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
@ -35,6 +36,9 @@ import java.util.Map;
|
|
|
|
|
@Service
|
|
|
|
|
public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
|
|
|
|
|
|
|
|
|
|
@Value("${backFee}")
|
|
|
|
|
private String backFee;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private Emr_Fault_DetailMapper emrFaultDetailMapper;
|
|
|
|
|
|
|
|
|
@ -312,67 +316,54 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Emr_Fault_Vo> masterTotalList(Emr_Fault_Vo emrFaultVo) {
|
|
|
|
|
List<Emr_Fault_Vo> list= emrFaultDetailMapper.masterTotalList(emrFaultVo);
|
|
|
|
|
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>() {
|
|
|
|
|
@Override
|
|
|
|
|
public String apply(JSONObject temp) {
|
|
|
|
|
return temp.getString("userName");
|
|
|
|
|
}});
|
|
|
|
|
|
|
|
|
|
for (Emr_Fault_Vo emr_fault_vo : list) {
|
|
|
|
|
//主管医生
|
|
|
|
|
JSONObject 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"));
|
|
|
|
|
}
|
|
|
|
|
//退回人
|
|
|
|
|
userInfo = mappedMovies.get(emr_fault_vo.getCreater());
|
|
|
|
|
if (userInfo==null){
|
|
|
|
|
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
|
|
|
|
|
}else {
|
|
|
|
|
emr_fault_vo.setCreater(userInfo.getString("name"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取病案信息
|
|
|
|
|
String priceVal="";
|
|
|
|
|
if(backFee!=null && backFee!=""){
|
|
|
|
|
priceVal=backFee;
|
|
|
|
|
}else{
|
|
|
|
|
//默认退回一次扣30元
|
|
|
|
|
priceVal="30";
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public OffsetLimitPage masterTotalList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
List<Emr_Fault_Vo> list = emrFaultDetailMapper.masterTotalList(emrFaultVo);
|
|
|
|
|
if(list!=null && list.size()>0){
|
|
|
|
|
emrFaultVo.setBackFee(backFee);
|
|
|
|
|
List<Emr_Fault_Vo> list= emrFaultDetailMapper.masterTotalList(emrFaultVo);
|
|
|
|
|
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);
|
|
|
|
|
//主管医生
|
|
|
|
|
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
|
|
|
|
|
if (userInfo==null){
|
|
|
|
|
if (userInfo == null) {
|
|
|
|
|
emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge());
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
emr_fault_vo.setDoctorInCharge(userInfo.getString("name"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//退回人
|
|
|
|
|
userInfo = mappedMovies.get(emr_fault_vo.getCreater());
|
|
|
|
|
if (userInfo==null){
|
|
|
|
|
if (userInfo == null) {
|
|
|
|
|
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
emr_fault_vo.setCreater(userInfo.getString("name"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public OffsetLimitPage masterTotalList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
List<Emr_Fault_Vo> list =masterTotalList(emrFaultVo);
|
|
|
|
|
return new OffsetLimitPage((Page) list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -452,74 +443,7 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
|
|
|
|
|
@Override
|
|
|
|
|
public OffsetLimitPage faultBackScoreList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
|
|
|
|
|
PageHelper.offsetPage(offset, limit);
|
|
|
|
|
List<Emr_Fault_Vo> list = emrFaultDetailMapper.faultBackScoreList(emrFaultVo);
|
|
|
|
|
if(list!=null && list.size()>0){
|
|
|
|
|
Archive_Master_Following archiveMasterFollowing=new Archive_Master_Following();
|
|
|
|
|
archiveMasterFollowing.setFollowingType("9");
|
|
|
|
|
//根据条件查询跟随流程记录的退回次数排序列表,remark暂存退回次数
|
|
|
|
|
List<Archive_Master_Following> followList =archiveMasterFollowingMapper.selByCol(archiveMasterFollowing);
|
|
|
|
|
if(followList!=null && followList.size()>0){
|
|
|
|
|
//Boolean bol=false;
|
|
|
|
|
|
|
|
|
|
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>() {
|
|
|
|
|
@Override
|
|
|
|
|
public String apply(JSONObject temp) {
|
|
|
|
|
return temp.getString("userName");
|
|
|
|
|
}});
|
|
|
|
|
for (Emr_Fault_Vo emr_fault_vo : list) {
|
|
|
|
|
/*JSONObject 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"));
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getCreater());
|
|
|
|
|
if (userInfo==null){
|
|
|
|
|
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
|
|
|
|
|
}else {
|
|
|
|
|
emr_fault_vo.setCreater(userInfo.getString("name"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//退回次数
|
|
|
|
|
for(int i=0;i<followList.size();i++){
|
|
|
|
|
if(emr_fault_vo.getArchiveDetailId().equals(followList.get(i).getMasterId()) && emr_fault_vo.getCreateTime()!=null && emr_fault_vo.getCreateTime()!="" && followList.get(i).getHandleTime()!=null && followList.get(i).getHandleTime()!="") {
|
|
|
|
|
//a早于b返回true
|
|
|
|
|
try {
|
|
|
|
|
if (compare(emr_fault_vo.getCreateTime(), followList.get(i).getHandleTime())) {
|
|
|
|
|
emr_fault_vo.setBackNum(followList.get(i).getRemark());
|
|
|
|
|
if(i!=0) {
|
|
|
|
|
emr_fault_vo.setStartDateTo(followList.get(i - 1).getHandleTime());
|
|
|
|
|
if (StringUtils.isNotBlank(followList.get(i).getHandleTime())) {
|
|
|
|
|
emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime());
|
|
|
|
|
} else {
|
|
|
|
|
emr_fault_vo.setEndDateTo(followList.get(i - 1).getHandleTime());
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//第一次签收
|
|
|
|
|
emr_fault_vo.setStartDateTo("2000-01-01 01:00:00");
|
|
|
|
|
emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime());
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
} catch (ParseException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
emr_fault_vo.setBackNum("异常");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//跟随流程表必须有病案室退回科主任记录,否则list为空
|
|
|
|
|
list=null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<Emr_Fault_Vo> list =faultBackScoreList(emrFaultVo);
|
|
|
|
|
return new OffsetLimitPage((Page) list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|