主程序
This commit is contained in:
parent
96d67c84ad
commit
4c6012bfec
@ -47,4 +47,5 @@ public class LabResult extends BaseEntity {
|
|||||||
private Integer cp_modify;
|
private Integer cp_modify;
|
||||||
private String cp_compa;
|
private String cp_compa;
|
||||||
private String cp_lastflag;
|
private String cp_lastflag;
|
||||||
|
private Date cp_lastjyrq;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.czlis.interfaceCommon.mapper;
|
package com.czlis.interfaceCommon.mapper;
|
||||||
|
|
||||||
import com.czlis.common.core.domain.entity.lis.LabPat;
|
import com.czlis.common.core.domain.entity.lis.LabPat;
|
||||||
|
import com.czlis.interfaceCommon.pojo.entity.LastLabPatParam;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -22,5 +23,5 @@ public interface LabPatMapper {
|
|||||||
int getCountByKey(@Param("jyrq") Date jyrq, @Param("yq") String yq,@Param("ybh") String ybh) ;
|
int getCountByKey(@Param("jyrq") Date jyrq, @Param("yq") String yq,@Param("ybh") String ybh) ;
|
||||||
//根据编号查sqh
|
//根据编号查sqh
|
||||||
String getSqhByKey(@Param("jyrq")Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
|
String getSqhByKey(@Param("jyrq")Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
|
||||||
|
List<LabPat> getlastLabPat(LastLabPatParam lastLabPatParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
package com.czlis.interfaceCommon.pojo.entity;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class LastLabPatParam {
|
||||||
|
private Date startda;
|
||||||
|
private Date endda;
|
||||||
|
private String brdh;
|
||||||
|
private String brxm;
|
||||||
|
private String mzh;
|
||||||
|
private String sfzh;
|
||||||
|
private String instrlist;
|
||||||
|
private String yq;
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.czlis.common.core.domain.entity.lis.*;
|
|||||||
import com.czlis.common.utils.ComDictUtils;
|
import com.czlis.common.utils.ComDictUtils;
|
||||||
import com.czlis.common.utils.ComOptionUtils;
|
import com.czlis.common.utils.ComOptionUtils;
|
||||||
import com.czlis.interfaceCommon.mapper.*;
|
import com.czlis.interfaceCommon.mapper.*;
|
||||||
|
import com.czlis.interfaceCommon.pojo.entity.LastLabPatParam;
|
||||||
import com.sun.org.apache.bcel.internal.generic.RETURN;
|
import com.sun.org.apache.bcel.internal.generic.RETURN;
|
||||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@ -175,7 +176,9 @@ public class CommonUtil {
|
|||||||
public String getLabPatJgbz(Date jyrq, String yq, String ybh){
|
public String getLabPatJgbz(Date jyrq, String yq, String ybh){
|
||||||
return labPatMapper.getLabPatJgbz(jyrq, yq, ybh);
|
return labPatMapper.getLabPatJgbz(jyrq, yq, ybh);
|
||||||
}
|
}
|
||||||
|
public List<LabPat> getlastLabPat(LastLabPatParam lastLabPatParam){
|
||||||
|
return labPatMapper.getlastLabPat(lastLabPatParam);
|
||||||
|
}
|
||||||
public String getSqhByKey(Date jyrq, String yq, String ybh) {
|
public String getSqhByKey(Date jyrq, String yq, String ybh) {
|
||||||
return labPatMapper.getSqhByKey(jyrq, yq, ybh);
|
return labPatMapper.getSqhByKey(jyrq, yq, ybh);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -678,21 +678,21 @@ public class LisWorkUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean checknowjz(LabPat labPat) {
|
private boolean checknowjz(LabPat labPat) {
|
||||||
boolean nowjz = false;
|
|
||||||
//危急值标识去除原则 nowjz = true 不能算做危急值
|
//危急值标识去除原则 nowjz = true 不能算做危急值
|
||||||
String brxm = labPat.getBrxm();
|
String brxm = labPat.getBrxm();
|
||||||
if (brxm != null) {
|
if (brxm != null) {
|
||||||
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
if (brxm.contains("质控") || brxm.contains("复查") || brxm.contains("QC") || brxm.contains("qc") || brxm.contains("软化水") || brxm.contains("锅炉水")) {
|
||||||
nowjz = true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String brly = labPat.getBrly();
|
String brly = labPat.getBrly();
|
||||||
if (brly != null) brly = commonUtil.getComDictNameById("PT", brly);
|
if (brly != null) brly = commonUtil.getComDictNameById("PT", brly);
|
||||||
if (brly != null) if (brly.contains("质控")) nowjz = true;
|
if (brly != null) if (brly.contains("质控")) return true;
|
||||||
|
if (brly != null) if (brly.contains("复查")) return true;
|
||||||
String ksdh = labPat.getKsdh();
|
String ksdh = labPat.getKsdh();
|
||||||
if (ksdh != null) ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
if (ksdh != null) ksdh = commonUtil.getComDictNameById("DP", ksdh);
|
||||||
if (ksdh != null) if (ksdh.contains("检验科")) nowjz = true;
|
if (ksdh != null) if (ksdh.contains("检验科")) return true;
|
||||||
return nowjz;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -37,6 +37,23 @@
|
|||||||
<select id="getLabPatJgbz" resultType="String">
|
<select id="getLabPatJgbz" resultType="String">
|
||||||
select jgbz from lab_pat where yq = #{yq} and jyrq = #{jyrq} and ybh = #{ybh}
|
select jgbz from lab_pat where yq = #{yq} and jyrq = #{jyrq} and ybh = #{ybh}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getlastLabPat" resultType="com.czlis.common.core.domain.entity.lis.LabPat" parameterType="com.czlis.interfaceCommon.pojo.entity.LastLabPatParam">
|
||||||
|
SELECT top 10 lab_pat.jyrq,lab_pat.yq,lab_pat.ybh
|
||||||
|
FROM lab_pat
|
||||||
|
<where>
|
||||||
|
<if test="startda != null">and jyrq >= #{startda}</if>
|
||||||
|
<if test="endda != null">and #{endda} >= jyrq </if>
|
||||||
|
<if test="brdh != null and brdh !=''">and brdh = #{brdh}</if>
|
||||||
|
<if test="brxm != null and brxm !=''">and brxm = #{brxm}</if>
|
||||||
|
<if test="mzh != null and mzh !=''">and mzh = #{mzh}</if>
|
||||||
|
<if test="sfzh != null and sfzh !=''">and sfzh = #{sfzh}</if>
|
||||||
|
<if test="instrlist != null and instrlist !=''">and yq in ${instrlist} </if>
|
||||||
|
<if test="yq != null and yq !=''">and yq = #{yq}</if>
|
||||||
|
</where>
|
||||||
|
ORDER BY lab_pat.jyrq DESC,right(replicate(' ',20) + lab_pat.ybh,20) DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<insert id="insertLabPat" parameterType="com.czlis.common.core.domain.entity.lis.LabPat">
|
<insert id="insertLabPat" parameterType="com.czlis.common.core.domain.entity.lis.LabPat">
|
||||||
insert into lab_pat (jyrq, yq, ybh,
|
insert into lab_pat (jyrq, yq, ybh,
|
||||||
wyh, yblx, fb, ksdh,
|
wyh, yblx, fb, ksdh,
|
||||||
|
|||||||
@ -10,10 +10,8 @@ import com.czlis.common.utils.SecurityUtils;
|
|||||||
import com.czlis.common.utils.StringUtils;
|
import com.czlis.common.utils.StringUtils;
|
||||||
import com.czlis.interfaceCommon.constants.ComLogConstants;
|
import com.czlis.interfaceCommon.constants.ComLogConstants;
|
||||||
import com.czlis.interfaceCommon.constants.LabReqmainConstants;
|
import com.czlis.interfaceCommon.constants.LabReqmainConstants;
|
||||||
import com.czlis.interfaceCommon.utils.CommonUtil;
|
import com.czlis.interfaceCommon.pojo.entity.LastLabPatParam;
|
||||||
import com.czlis.interfaceCommon.utils.LisWorkUtils;
|
import com.czlis.interfaceCommon.utils.*;
|
||||||
import com.czlis.interfaceCommon.utils.LoginConfigParamUtil;
|
|
||||||
import com.czlis.interfaceCommon.utils.ReportUtil;
|
|
||||||
import com.czlis.liswork.mapper.LisWorkMapper;
|
import com.czlis.liswork.mapper.LisWorkMapper;
|
||||||
|
|
||||||
|
|
||||||
@ -330,18 +328,117 @@ public class LisWorkServiceImpl implements LisWorkService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LabPat labPat =commonUtil.getLabPatOne(jyrq,yq,ybh);
|
||||||
|
List<LabResult> labResultList0=getlastresult(labPat,labResultList);
|
||||||
|
if(labResultList0.size()>0) {
|
||||||
|
for (LabResult labResult : labResultList) {
|
||||||
|
labResult.setCp_lastjyrq(labResultList0.get(0).getJyrq());
|
||||||
|
String xmdh=labResult.getXmdh();
|
||||||
|
String csjg=labResult.getCsjg();
|
||||||
|
if(csjg==null)csjg="";
|
||||||
|
if(xmdh!=null&&!"".equals(xmdh)) {
|
||||||
|
List<LabResult> labResult0 = labResultList0.stream().filter(rlog -> xmdh.equals(rlog.getXmdh())).collect(Collectors.toList());
|
||||||
|
if(labResult0.size()>0) {
|
||||||
|
String csjg0 =labResult0.get(0).getCsjg();
|
||||||
|
String result_flag=labResult0.get(0).getResult_flag();
|
||||||
|
if("未做".equals(csjg0)||csjg0==null){
|
||||||
|
csjg0="";
|
||||||
|
result_flag="";
|
||||||
|
}
|
||||||
|
labResult.setCp_compa(csjg0);
|
||||||
|
labResult.setCp_lastflag(result_flag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return new Result("0","成功!",labResultList);
|
return new Result("0","成功!",labResultList);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前结果的上一次结果
|
* 获取当前结果的上一次结果
|
||||||
* @param jyrq
|
|
||||||
* @param yq
|
|
||||||
* @param ybh
|
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private List<LabResult> getlastresult(Date jyrq, String yq, String ybh){
|
|
||||||
List<LabResult> labResultList=commonUtil.getresultinfo(jyrq,yq,ybh);
|
private List<LabResult> getlastresult(LabPat labPat,List<LabResult> labResultall){
|
||||||
|
Date jyrq=labPat.getJyrq();
|
||||||
|
String yq=labPat.getYq();
|
||||||
|
String ybh=labPat.getYbh();
|
||||||
|
LastLabPatParam lastLabPatParam=new LastLabPatParam();
|
||||||
|
String comparecol = commonUtil.getComOptValue(yq,"COMPARECOL");
|
||||||
|
String brdh=labPat.getBrdh();
|
||||||
|
String mzh=labPat.getMzh();
|
||||||
|
String sfzh=labPat.getSfzh();
|
||||||
|
String brxm=labPat.getBrxm();
|
||||||
|
List<LabResult> labResultList=new ArrayList<>();
|
||||||
|
switch (comparecol){
|
||||||
|
case "住院号":
|
||||||
|
if("".equals(brdh)||brdh==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
lastLabPatParam.setBrdh(brdh);
|
||||||
|
break;
|
||||||
|
case "卡号":
|
||||||
|
if("".equals(mzh)||mzh==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
lastLabPatParam.setMzh(mzh);
|
||||||
|
break;
|
||||||
|
case "身份证":
|
||||||
|
if("".equals(sfzh)||sfzh==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
lastLabPatParam.setSfzh(sfzh);
|
||||||
|
break;
|
||||||
|
case "姓名":
|
||||||
|
if("".equals(brxm)||brxm==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
lastLabPatParam.setBrxm(brxm);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if("".equals(brdh)||brdh==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
if("".equals(brxm)||brxm==null){
|
||||||
|
return labResultList;
|
||||||
|
}
|
||||||
|
lastLabPatParam.setBrdh(brdh);
|
||||||
|
lastLabPatParam.setBrxm(brxm);
|
||||||
|
}
|
||||||
|
String interval = commonUtil.getComOptValue(yq,"COMPAREDA");
|
||||||
|
if(interval==null||"".equals(interval))interval="60";
|
||||||
|
int getday=-Integer.parseInt(interval);
|
||||||
|
lastLabPatParam.setEndda(jyrq);
|
||||||
|
lastLabPatParam.setStartda(LisUtil.relativeDate(jyrq,getday));
|
||||||
|
String compother= commonUtil.getComOptValue(yq,"COMPOTHERINSTR");
|
||||||
|
if(compother!=null&&!"".equals(compother)) {
|
||||||
|
String instrlist = commonUtil.getComOptValue(yq, "COMPOTHERINSTRLIST");
|
||||||
|
//'CAL800','XS500I','33','40'
|
||||||
|
if("".equals(instrlist)||instrlist==null){lastLabPatParam.setYq(yq);}
|
||||||
|
else {
|
||||||
|
instrlist="("+instrlist+",'"+yq+"')";
|
||||||
|
lastLabPatParam.setInstrlist(instrlist);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<LabPat> labPatList =commonUtil.getlastLabPat(lastLabPatParam);
|
||||||
|
if(labPatList.size()>0) {
|
||||||
|
for(LabPat labPat0:labPatList) {
|
||||||
|
Date jyrq0 = labPat0.getJyrq();
|
||||||
|
String yq0 = labPat0.getYq();
|
||||||
|
String ybh0 = labPat0.getYbh();
|
||||||
|
if (jyrq0 == jyrq && yq0.equals(yq) && ybh0.equals(ybh)) {
|
||||||
|
}else {
|
||||||
|
List<LabResult> labResultList0 = commonUtil.getLabResultList(jyrq0, yq0, ybh0);
|
||||||
|
for(LabResult labResult:labResultList0) {
|
||||||
|
String xmdh=labResult.getXmdh();
|
||||||
|
List<LabResult> labResult0 = labResultall.stream().filter(rlog -> xmdh.equals(rlog.getXmdh())).collect(Collectors.toList());
|
||||||
|
if(labResult0.size()>0){
|
||||||
|
return labResultList0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return labResultList;
|
return labResultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user