Merge remote-tracking branch 'lis8.0/master'

This commit is contained in:
jiangs 2025-09-10 17:33:16 +08:00
commit 0440d97479
16 changed files with 542 additions and 85 deletions

View File

@ -0,0 +1,41 @@
package com.czlis.common.core.domain.entity.lis;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LabPatwarning {
private Date jyrq;
private String yq;
private String ybh;
private String lb;
private String bgr;
private String btzr;
private String tzfs;
private Date tzsj;
private String bz;
private String qrr;
private Date qrsj;
private String qrr1;
private Date qrsj1;
private String zt;
private String tbr;
private Date tbsj;
private String fhzt;
private String fhyy;
private String fhr;
private Date fhsj;
private String jtr;
private String lrr;
private Date lrsj;
private String phone;
}

View File

@ -0,0 +1,24 @@
package com.czlis.common.core.domain.entity.lis;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LabResultwarning {
private Date jyrq;
private String yq;
private String ybh;
private String xmdh;
private String csjg;
private String jgbz;
private String bz;
}

View File

@ -0,0 +1,48 @@
package com.czlis.common.core.domain.entity.lis;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LisPatlog {
private String wyh;
private Date jyrq;
private String yq;
private String ybh;
private Date xgrq;
private String xgyhdh;
private String yblx;
private String fb;
private String ksdh;
private String sjys;
private String hdys;
private String yhdh;
private String brdh;
private String brxm;
private String brxb;
private String brly;
private String ch;
private Integer nl;
private String nldw;
private String sqh;
private Date sqsj;
private Date dysj;
private String dybz;
private String jgbz;
private String bbbz;
private String zd;
private String bz;
private String bz1;
private String zjf;
private Date cyrq;
private String bq;
private String czybh;
}

View File

@ -0,0 +1,13 @@
package com.czlis.interfaceCommon.mapper;
import com.czlis.common.core.domain.entity.lis.LabPatwarning;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface LabPatwarningMapper {
LabPatwarning getLabPatwarning(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh);
int insertLabPatwarning(LabPatwarning labPatwarning);
int deleteLabPatwarning(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh);
}

View File

@ -9,4 +9,5 @@ import java.util.List;
public interface LabReqreportPdffileMapper { public interface LabReqreportPdffileMapper {
List<LabReqreportPdffile> getLabReqreportPdffileList(String sqh); List<LabReqreportPdffile> getLabReqreportPdffileList(String sqh);
LabReqreportPdffile getLabReqreportPdffileOne(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh); LabReqreportPdffile getLabReqreportPdffileOne(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
int deleteLabReqreportPdffile(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
} }

View File

@ -0,0 +1,13 @@
package com.czlis.interfaceCommon.mapper;
import com.czlis.common.core.domain.entity.lis.LabResultwarning;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface LabResultwarningMapper {
List<LabResultwarning> getLabResultwarning(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh);
int insertLabResultwarning(LabResultwarning labResultwarning);
int deleteLabResultwarning(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh);
}

View File

@ -0,0 +1,13 @@
package com.czlis.interfaceCommon.mapper;
import com.czlis.common.core.domain.entity.lis.LisPatlog;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface LisPatlogMapper {
List<LisPatlog> getLisPatlogList(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh);
List<LisPatlog> getLisPatlog(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh") String ybh,@Param("xgrq") Date xgrq);
int insertLisPatlog(LisPatlog lisPatlog);
}

View File

@ -32,6 +32,10 @@ public class CommonUtil {
@Autowired @Autowired
LabResultMapper labResultMapper; LabResultMapper labResultMapper;
@Autowired @Autowired
LabResultwarningMapper labResultwarningMapper;
@Autowired
LabPatwarningMapper labPatwarningMapper;
@Autowired
LabReqdetailMapper labReqdetailMapper; LabReqdetailMapper labReqdetailMapper;
@Autowired @Autowired
ComUsrMapper comUsrMapper; ComUsrMapper comUsrMapper;
@ -57,6 +61,8 @@ public class CommonUtil {
LabRefusedMapper labRefusedMapper; LabRefusedMapper labRefusedMapper;
@Autowired @Autowired
XmCalcMapper xmCalcMapper; XmCalcMapper xmCalcMapper;
@Autowired
LisPatlogMapper lisPatlogMapper;
//====检验主表操作方法集合=== //====检验主表操作方法集合===
public LabPat getLabPatOne(Date jyrq, String yq, String ybh) { public LabPat getLabPatOne(Date jyrq, String yq, String ybh) {
@ -161,6 +167,30 @@ public class CommonUtil {
public int updateLabResult(LabResult labResult) { public int updateLabResult(LabResult labResult) {
return labResultMapper.updateLabResult(labResult); return labResultMapper.updateLabResult(labResult);
} }
//======危急值操作集合=======
public List<LabResultwarning> getLabResultwarning(Date jyrq, String yq, String ybh) {
return labResultwarningMapper.getLabResultwarning(jyrq, yq, ybh);
}
public LabPatwarning getLabPatwarning(Date jyrq, String yq, String ybh) {
return labPatwarningMapper.getLabPatwarning(jyrq, yq, ybh);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabResultwarning(LabResultwarning labResultwarning) {
labResultwarningMapper.insertLabResultwarning(labResultwarning);
}
@Transactional(rollbackFor = Exception.class)
public void insertLabPatwarning(LabPatwarning labPatwarning) {
labPatwarningMapper.insertLabPatwarning(labPatwarning);
}
@Transactional(rollbackFor = Exception.class)
public void deleteLabPatwarning(Date jyrq, String yq, String ybh) {
labPatwarningMapper.deleteLabPatwarning(jyrq, yq, ybh);
}
@Transactional(rollbackFor = Exception.class)
public void deleteLabResultwarning(Date jyrq, String yq, String ybh) {
labResultwarningMapper.deleteLabResultwarning(jyrq, yq, ybh);
}
//=====项目字典查询========= //=====项目字典查询=========
public List<XmInfo> getXmInfoList(String yq) { public List<XmInfo> getXmInfoList(String yq) {
@ -203,10 +233,16 @@ public class CommonUtil {
public List<XmCalc> getXmCalcList(String yq) { public List<XmCalc> getXmCalcList(String yq) {
return xmCalcMapper.getXmCalcList(yq); return xmCalcMapper.getXmCalcList(yq);
} }
@Transactional(rollbackFor = Exception.class)
public Integer insertComLog(ComLog comLog) { public Integer insertComLog(ComLog comLog) {
return comLogMapper.insertComLog(comLog); return comLogMapper.insertComLog(comLog);
} }
@Transactional(rollbackFor = Exception.class)
public Integer insertLisPatlog(LisPatlog lisPatlog) {
return lisPatlogMapper.insertLisPatlog(lisPatlog);
}
public String getYqmc(String yq) { public String getYqmc(String yq) {
return labInstrMapper.getYqmc(yq); return labInstrMapper.getYqmc(yq);
@ -383,4 +419,8 @@ public class CommonUtil {
public LabReqreportPdffile getLabReqreportPdffileOne(Date jyrq, String yq, String ybh) { public LabReqreportPdffile getLabReqreportPdffileOne(Date jyrq, String yq, String ybh) {
return labReqreportPdffileMapper.getLabReqreportPdffileOne(jyrq, yq, ybh); return labReqreportPdffileMapper.getLabReqreportPdffileOne(jyrq, yq, ybh);
} }
@Transactional(rollbackFor = Exception.class)
public int deleteLabReqreportPdffile(Date jyrq, String yq, String ybh) {
return labReqreportPdffileMapper.deleteLabReqreportPdffile(jyrq, yq, ybh);
}
} }

View File

@ -1,8 +1,13 @@
package com.czlis.interfaceCommon.utils; package com.czlis.interfaceCommon.utils;
import com.czlis.common.utils.DateUtils;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
@ -240,4 +245,30 @@ public class LisUtil {
// 3. 返回推算的时间 // 3. 返回推算的时间
return calendar.getTime(); return calendar.getTime();
} }
/**
* 判断前一个时间与后面时间间隔几分钟
* @param pastDate
* @param datenow
* @return
*/
public static long relativeMinute(Date pastDate,Date datenow) {
LocalDateTime pastTime = pastDate.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
LocalDateTime now = datenow.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
long minutesDiff = Duration.between(pastTime, now).toMinutes();
return minutesDiff;
}
/**
* 判断一个时间与当前时间间隔几分钟
* @param pastDate
* @return
*/
public static long relativeMinute(Date pastDate) {
return relativeMinute(pastDate,new Date());
}
} }

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czlis.interfaceCommon.mapper.LabPatwarningMapper">
<select id="getLabPatwarning" resultMap="com.czlis.common.core.domain.entity.lis.LabPatwarning">
select *
from lab_patwarning
where jyrq = #{jyrq,jdbcType=TIMESTAMP}
and yq = #{yq,jdbcType=CHAR}
and ybh = #{ybh,jdbcType=VARCHAR}
</select>
<delete id="deleteLabPatwarning">
delete from lab_patwarning
where jyrq = #{jyrq}
and yq = #{yq}
and ybh = #{ybh}
</delete>
<insert id="insertLabPatwarning" parameterType="com.czlis.common.core.domain.entity.lis.LabPatwarning">
insert into lab_patwarning (jyrq, yq, ybh,
lb, bgr, btzr, tzfs,
tzsj, bz, qrr, qrsj,
qrr1, qrsj1, zt, tbr,
tbsj, fhzt, fhyy, fhr,
fhsj, jtr, lrr, lrsj,
phone)
values (#{jyrq,jdbcType=TIMESTAMP}, #{yq,jdbcType=CHAR}, #{ybh,jdbcType=VARCHAR},
#{lb,jdbcType=CHAR}, #{bgr,jdbcType=VARCHAR}, #{btzr,jdbcType=VARCHAR}, #{tzfs,jdbcType=VARCHAR},
#{tzsj,jdbcType=TIMESTAMP}, #{bz,jdbcType=VARCHAR}, #{qrr,jdbcType=VARCHAR}, #{qrsj,jdbcType=TIMESTAMP},
#{qrr1,jdbcType=CHAR}, #{qrsj1,jdbcType=TIMESTAMP}, #{zt,jdbcType=CHAR}, #{tbr,jdbcType=VARCHAR},
#{tbsj,jdbcType=TIMESTAMP}, #{fhzt,jdbcType=CHAR}, #{fhyy,jdbcType=VARCHAR}, #{fhr,jdbcType=VARCHAR},
#{fhsj,jdbcType=TIMESTAMP}, #{jtr,jdbcType=VARCHAR}, #{lrr,jdbcType=VARCHAR}, #{lrsj,jdbcType=TIMESTAMP},
#{phone,jdbcType=VARCHAR})
</insert>
</mapper>

View File

@ -10,5 +10,10 @@
<select id="getLabReqreportPdffileOne" resultType="com.czlis.common.core.domain.entity.lis.LabReqreportPdffile"> <select id="getLabReqreportPdffileOne" resultType="com.czlis.common.core.domain.entity.lis.LabReqreportPdffile">
select * from lab_reqreport_pdffile where jyrq = #{jyrq} and yq = #{yq} and ybh = #{ybh} select * from lab_reqreport_pdffile where jyrq = #{jyrq} and yq = #{yq} and ybh = #{ybh}
</select> </select>
<delete id="deleteLabReqreportPdffile">
delete from lab_reqreport_pdffile
where jyrq = #{jyrq}
and yq = #{yq}
and ybh = #{ybh}
</delete>
</mapper> </mapper>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czlis.interfaceCommon.mapper.LabResultwarningMapper">
<select id="getLabResultwarning" resultMap="com.czlis.common.core.domain.entity.lis.LabResultwarning">
select *
from lab_resultwarning
where jyrq = #{jyrq,jdbcType=TIMESTAMP}
and yq = #{yq,jdbcType=CHAR}
and ybh = #{ybh,jdbcType=VARCHAR}
</select>
<delete id="deleteLabPatwarning">
delete from lab_resultwarning
where jyrq = #{jyrq}
and yq = #{yq}
and ybh = #{ybh}
</delete>
<insert id="insertLabResultwarning" parameterType="com.czlis.common.core.domain.entity.lis.LabResultwarning">
insert into lab_resultwarning (jyrq, yq, ybh,
xmdh, csjg, jgbz, bz
)
values (#{jyrq,jdbcType=TIMESTAMP}, #{yq,jdbcType=CHAR}, #{ybh,jdbcType=VARCHAR},
#{xmdh,jdbcType=VARCHAR}, #{csjg,jdbcType=VARCHAR}, #{jgbz,jdbcType=CHAR}, #{bz,jdbcType=VARCHAR}
)
</insert>
</mapper>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czlis.interfaceCommon.mapper.LisPatlogMapper">
<select id="getLisPatlogList" resultType="com.czlis.common.core.domain.entity.lis.LisPatlog">
select * from lis_patlog where yq = #{yq} and jyrq = #{jyrq} and ybh = #{ybh}
</select>
<select id="getLisPatlog" resultType="com.czlis.common.core.domain.entity.lis.LisPatlog">
select * from lis_patlog where yq = #{yq} and jyrq = #{jyrq} and ybh = #{ybh} and xgrq = #{xgrq}
</select>
<insert id="insertLisPatlog" parameterType="com.czlis.common.core.domain.entity.lis.LisPatlog">
insert into lis_patlog (jyrq, yq, ybh, xgrq, xgyhdh, bz1)
values (#{jyrq}, #{yq}, #{ybh},#{xgrq}, #{xgyhdh},#{bz1})
</insert>
</mapper>

View File

@ -56,4 +56,17 @@ public class LisWorkOperController extends BaseController {
return lisWorkOperService.confirm(jyrq, yq, ybh, hdys); return lisWorkOperService.confirm(jyrq, yq, ybh, hdys);
} }
@ApiOperation("取消审核")
@GetMapping("/uncheck2")
public Result uncheck2( Date jyrq, String yq, String ybh, String hdys){
log.info("yq:{}", yq);
hdys="lis";
return lisWorkOperService.unconfirm(jyrq, yq, ybh, hdys);
}
@GetMapping("/unconfirmlog")
public Result unconfirmlog( Date jyrq, String yq, String ybh, String hdys,String reason){
return lisWorkOperService.unconfirmlog(jyrq, yq, ybh, hdys,reason);
}
} }

View File

@ -34,6 +34,17 @@ public interface LisWorkOperService {
* @return * @return
*/ */
Result confirm(Date jyrq, String yq, String ybh, String hdys); Result confirm(Date jyrq, String yq, String ybh, String hdys);
/**
* 解除审核
* @param jyrq
* @param yq
* @param ybh
* @param hdys
* @return
*/
Result unconfirm(Date jyrq, String yq, String ybh, String hdys);
Result unconfirmlog(Date jyrq, String yq, String ybh, String hdys,String reason);
/** /**
* 计算项目参考值结果异常标志 * 计算项目参考值结果异常标志
* *

View File

@ -213,6 +213,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
* @param hdys * @param hdys
* @return * @return
*/ */
@Override
public Result confirm(Date jyrq, String yq, String ybh, String hdys) { public Result confirm(Date jyrq, String yq, String ybh, String hdys) {
if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!"); if (hdys == null || "".equals(hdys)) new Result("-1", "审核者为空,无法审核!");
//入参通过GET推送时使用ServletUtils.getParameterToInt获取 //入参通过GET推送时使用ServletUtils.getParameterToInt获取
@ -221,15 +222,15 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
labPat.setHdys(hdys); labPat.setHdys(hdys);
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
if(problemId<3) { if (problemId < 3) {
//1,审核权限校验 //1,审核权限校验
if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!"); if (!commonUtil.getUserPower(yq, hdys, 20)) return new Result("-1", "当前核对者无权对本仪器报告审核!");
//2:数据合法性校验 //2:数据合法性校验
Result result0 = beforeconfirm(labPat, labResultList, 2, problemId); Result result0 = beforeconfirm(labPat, labResultList, 2, problemId);
if (!"0".equals(result0.getCode())) return result0; if (!"0".equals(result0.getCode())) return result0;
} }
if(problemId<3) problemId = 3; if (problemId < 3) problemId = 3;
if(problemId<4) { if (problemId < 4) {
//3:数据完整保存 //3:数据完整保存
labResultList = saveallresult(labPat, labResultList); labResultList = saveallresult(labPat, labResultList);
boolean wjz = getAlarmFlag(labResultList); boolean wjz = getAlarmFlag(labResultList);
@ -243,14 +244,14 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
commonUtil.updateLabPat(labPat); commonUtil.updateLabPat(labPat);
} }
} }
if(problemId<4) problemId = 4; if (problemId < 4) problemId = 4;
if(problemId<5) { if (problemId < 5) {
//医学审核条件判断 //医学审核条件判断
Result result = chksample(labPat, labResultList, problemId); Result result = chksample(labPat, labResultList, problemId);
if (!"0".equals(result.getCode())) return result; if (!"0".equals(result.getCode())) return result;
} }
if(problemId<5) problemId = 5; if (problemId < 5) problemId = 5;
if(problemId<99) { if (problemId < 99) {
//高级医学审核条件判断 //高级医学审核条件判断
Result result = chksamplenew(labPat, labResultList, problemId); Result result = chksamplenew(labPat, labResultList, problemId);
if ("99".equals(result.getCode())) { if ("99".equals(result.getCode())) {
@ -272,20 +273,13 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
/** /**
* 审核前校验数据完整性,审核业务和初审业务都可使用 * 审核前校验数据完整性,审核业务和初审业务都可使用
* *
* @param jyrq * @param labPat
* @param yq * @param labResultList
* @param ybh * @param checktype
* @param problemId
* @return * @return
*/ */
public Result beforeconfirm(Date jyrq, String yq, String ybh) { private Result beforeconfirm(LabPat labPat, List<LabResult> labResultList, Integer checktype, Integer problemId) {
int problemId = ServletUtils.getParameterToInt("problemId", 0);
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
return beforeconfirm(labPat, labResultList,2, problemId);
}
//内部使用
private Result beforeconfirm(LabPat labPat,List<LabResult> labResultList, Integer checktype, Integer problemId) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
String yq = labPat.getYq(); String yq = labPat.getYq();
String ybh = labPat.getYbh(); String ybh = labPat.getYbh();
@ -429,11 +423,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
/** /**
* 医学审核条件判断 * 医学审核条件判断
*
* @param labPat * @param labPat
* @param problemId * @param problemId
* @return * @return
*/ */
private Result chksample(LabPat labPat, List<LabResult> labResultList,Integer problemId) { private Result chksample(LabPat labPat, List<LabResult> labResultList, Integer problemId) {
//医学审核条件判断 //医学审核条件判断
if (problemId < 5) { if (problemId < 5) {
String checkvalue = checkResultUtils.chksample(labPat, labResultList); String checkvalue = checkResultUtils.chksample(labPat, labResultList);
@ -443,13 +438,15 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
/** /**
* 高级医学审核条件判断 * 高级医学审核条件判断
*
* @param labPat * @param labPat
* @param problemId * @param problemId
* @return * @return
*/ */
private Result chksamplenew(LabPat labPat, List<LabResult> labResultList,Integer problemId) { private Result chksamplenew(LabPat labPat, List<LabResult> labResultList, Integer problemId) {
//医学审核条件判断 //医学审核条件判断
Boolean setbz = false; Boolean setbz = false;
String bz = labPat.getBz(); String bz = labPat.getBz();
@ -479,21 +476,14 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
/** /**
* 审核后步骤,在审核过程中,必须完成审核前校验通过,结果计算值填充,参考值结果标志危急值标志填写完成,最后使用此方法修改状态 * 审核后步骤,在审核过程中,必须完成审核前校验通过,结果计算值填充,参考值结果标志危急值标志填写完成,最后使用此方法修改状态
* *
* @param jyrq * @param labPat
* @param yq * @param problemId
* @param ybh
* @return * @return
*/ */
public Result afterconfirm(Date jyrq, String yq, String ybh) {
int problemId = ServletUtils.getParameterToInt("problemId", 0);
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
return afterconfirm(labPat, problemId);
}
//内部使用
private Result afterconfirm(LabPat labPat, Integer problemId) { private Result afterconfirm(LabPat labPat, Integer problemId) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
String yq = labPat.getYq(); String yq = labPat.getYq();
@ -501,12 +491,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
String hdys = labPat.getHdys(); String hdys = labPat.getHdys();
String yqdl = commonUtil.getYqdl(yq); String yqdl = commonUtil.getYqdl(yq);
String itemvs = commonUtil.getHISOPT("itemvs"); String itemvs = commonUtil.getHISOPT("itemvs");
Result ret=new Result("0", "保存成功!"); Result ret = new Result("0", "保存成功!");
if ("1".equals(itemvs)) { if ("1".equals(itemvs)) {
if (!"细菌仪".equals(yqdl)) { if (!"细菌仪".equals(yqdl)) {
String nullcount = lisWorkOperMapper.checkresultnosqxmdh(jyrq, yq, ybh); String nullcount = lisWorkOperMapper.checkresultnosqxmdh(jyrq, yq, ybh);
if (!"".equals(nullcount) && nullcount != null) if (!"".equals(nullcount) && nullcount != null)
ret=new Result("3", "警告!"+LisUtil.LINE_SEPARATOR +" 报告项目未对应申请项目,请进(收费项目报告项目对照)菜单维护对照:"+LisUtil.LINE_SEPARATOR + nullcount); ret = new Result("3", "警告!" + LisUtil.LINE_SEPARATOR + " 报告项目未对应申请项目,请进(收费项目报告项目对照)菜单维护对照:" + LisUtil.LINE_SEPARATOR + nullcount);
} }
} }
@ -683,11 +673,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
String finish = labPat.getFinish(); String finish = labPat.getFinish();
if (!"细菌仪".equals(yqdl) && finish != null && finsh == 1) labPat.setFinish("1"); if (!"细菌仪".equals(yqdl) && finish != null && finsh == 1) labPat.setFinish("1");
labResultList = saveallresult(labPat,labResultList); labResultList = saveallresult(labPat, labResultList);
boolean wjz=getAlarmFlag(labResultList); boolean wjz = getAlarmFlag(labResultList);
//同步主表危急值标识 //同步主表危急值标识
String alarmflag = labPat.getAlarmflag(); String alarmflag = labPat.getAlarmflag();
if (("1".equals(alarmflag) && !wjz )) { if (("1".equals(alarmflag) && !wjz)) {
labPat.setAlarmflag("1"); labPat.setAlarmflag("1");
commonUtil.updateLabPat(labPat); commonUtil.updateLabPat(labPat);
} else if (("".equals(alarmflag) || alarmflag == null) && wjz) { } else if (("".equals(alarmflag) || alarmflag == null) && wjz) {
@ -698,7 +688,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
//内部使用 //内部使用
private List<LabResult> saveallresult(LabPat labPat,List<LabResult> labResultList) { private List<LabResult> saveallresult(LabPat labPat, List<LabResult> labResultList) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
String yq = labPat.getYq(); String yq = labPat.getYq();
String ybh = labPat.getYbh(); String ybh = labPat.getYbh();
@ -708,7 +698,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
commonUtil.delNullLabResult(jyrq, yq, ybh); commonUtil.delNullLabResult(jyrq, yq, ybh);
} }
//计算项目更新 //计算项目更新
labResultList=calcsample(labPat,labResultList); labResultList = calcsample(labPat, labResultList);
//补写结果表申请单项目编号 //补写结果表申请单项目编号
String sqh = labPat.getSqh(); String sqh = labPat.getSqh();
if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh); if (sqh != null && !"".equals(sqh)) setItemSqxmdh(jyrq, yq, ybh, sqh);
@ -757,23 +747,24 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
public Result calcsample(Date jyrq, String yq, String ybh) { public Result calcsample(Date jyrq, String yq, String ybh) {
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
calcsample(labPat,labResultList); calcsample(labPat, labResultList);
return new Result("0", "保存成功!"); return new Result("0", "保存成功!");
} }
private List<LabResult> calcsample(LabPat labPat,List<LabResult> labResultList) {
private List<LabResult> calcsample(LabPat labPat, List<LabResult> labResultList) {
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
String yq = labPat.getYq(); String yq = labPat.getYq();
String ybh = labPat.getYbh(); String ybh = labPat.getYbh();
String jsxmold = ""; String jsxmold = "";
List<XmCalc> xmCalcList =commonUtil.getXmCalcList(yq); List<XmCalc> xmCalcList = commonUtil.getXmCalcList(yq);
for (XmCalc xmCalc : xmCalcList) { for (XmCalc xmCalc : xmCalcList) {
String jsxm = xmCalc.getJsxm(); String jsxm = xmCalc.getJsxm();
if (!jsxmold.equals(jsxm)) { if (!jsxmold.equals(jsxm)) {
jsxmold = jsxm; jsxmold = jsxm;
String jsgs = xmCalc.getJsgs(); String jsgs = xmCalc.getJsgs();
String xmdh= xmCalc.getXmdh(); String xmdh = xmCalc.getXmdh();
boolean setjgsg = true; boolean setjgsg = true;
boolean lb_jsx= false; boolean lb_jsx = false;
Map<String, String> variables = new HashMap<>(); Map<String, String> variables = new HashMap<>();
String[] parameters = CalcUtils.getParameters(jsgs); String[] parameters = CalcUtils.getParameters(jsgs);
for (int i = 0; i < parameters.length; i++) { for (int i = 0; i < parameters.length; i++) {
@ -783,11 +774,11 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if ("男".equals(sex)) sex = "1"; if ("男".equals(sex)) sex = "1";
if ("女".equals(sex)) sex = "2"; if ("女".equals(sex)) sex = "2";
variables.put("SEX", sex); variables.put("SEX", sex);
lb_jsx=true; lb_jsx = true;
} else if ("AGE".equals(itemcode)) { } else if ("AGE".equals(itemcode)) {
double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw())); double age = AgeUtils.getDecimalAge(AgeUtils.getBirthDateByAge(labPat.getNl(), labPat.getNldw()));
variables.put("AGE", String.valueOf(age)); variables.put("AGE", String.valueOf(age));
lb_jsx=true; lb_jsx = true;
} else { } else {
List<LabResult> collect = labResultList.stream().filter(result -> result.getXmdh().equals(itemcode)).collect(Collectors.toList()); List<LabResult> collect = labResultList.stream().filter(result -> result.getXmdh().equals(itemcode)).collect(Collectors.toList());
if (collect.size() > 0) { if (collect.size() > 0) {
@ -800,27 +791,27 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
if (setjgsg) { if (setjgsg) {
String result = CalcUtils.getValueFromCalc(jsgs, variables); String result = CalcUtils.getValueFromCalc(jsgs, variables);
if("0".equals(result) && lb_jsx)result=null; if ("0".equals(result) && lb_jsx) result = null;
if (result != null && !result.trim().isEmpty()) { if (result != null && !result.trim().isEmpty()) {
//插入结果值 //插入结果值
Optional<LabResult> collect0 = labResultList.stream().filter(labR -> labR.getXmdh().equals(jsxm)).findFirst(); Optional<LabResult> collect0 = labResultList.stream().filter(labR -> labR.getXmdh().equals(jsxm)).findFirst();
if (collect0.isPresent()) { if (collect0.isPresent()) {
LabResult labResult =collect0.get(); LabResult labResult = collect0.get();
if(LisUtil.isNumber(result)) { if (LisUtil.isNumber(result)) {
Integer xsws =labResult.getXsws(); Integer xsws = labResult.getXsws();
if (xsws >= 0) result = LisUtil.round(result, xsws); if (xsws >= 0) result = LisUtil.round(result, xsws);
} }
// log.info("result:{},getCsjg:{}",result,labResult.getCsjg()); // log.info("result:{},getCsjg:{}",result,labResult.getCsjg());
if(!result.equals(labResult.getCsjg())) { if (!result.equals(labResult.getCsjg())) {
labResult.setCsjg(result); labResult.setCsjg(result);
String finalResult = result; String finalResult = result;
collect0.ifPresent(labR -> labR.setCsjg(finalResult)); collect0.ifPresent(labR -> labR.setCsjg(finalResult));
commonUtil.updateLabResult(labResult); commonUtil.updateLabResult(labResult);
} }
}else{ } else {
XmInfo xmInfo=commonUtil.getXmInfo(yq,xmdh); XmInfo xmInfo = commonUtil.getXmInfo(yq, xmdh);
if(LisUtil.isNumber(result)) { if (LisUtil.isNumber(result)) {
Integer xsws =xmInfo.getXsws(); Integer xsws = xmInfo.getXsws();
if (xsws >= 0) result = LisUtil.round(result, xsws); if (xsws >= 0) result = LisUtil.round(result, xsws);
} }
LabResult labResult = new LabResult(); LabResult labResult = new LabResult();
@ -843,6 +834,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
} }
return labResultList; return labResultList;
} }
/** /**
* 计算项目参考值结果异常标志 * 计算项目参考值结果异常标志
* *
@ -854,10 +846,10 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
public Result saverefs(Date jyrq, String yq, String ybh) { public Result saverefs(Date jyrq, String yq, String ybh) {
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
List<LabResult> labResultList = saverefs(labPat); List<LabResult> labResultList = saverefs(labPat);
boolean wjz=getAlarmFlag(labResultList); boolean wjz = getAlarmFlag(labResultList);
//同步主表危急值标识 //同步主表危急值标识
String alarmflag = labPat.getAlarmflag(); String alarmflag = labPat.getAlarmflag();
if (("1".equals(alarmflag) && !wjz )) { if (("1".equals(alarmflag) && !wjz)) {
labPat.setAlarmflag("1"); labPat.setAlarmflag("1");
commonUtil.updateLabPat(labPat); commonUtil.updateLabPat(labPat);
} else if (("".equals(alarmflag) || alarmflag == null) && wjz) { } else if (("".equals(alarmflag) || alarmflag == null) && wjz) {
@ -879,7 +871,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
String yq = labPat.getYq(); String yq = labPat.getYq();
String ybh = labPat.getYbh(); String ybh = labPat.getYbh();
String yqdl = commonUtil.getYqdl(yq); String yqdl = commonUtil.getYqdl(yq);
boolean lb_setbj = true, lb_wjz = false,nowjz=false; boolean lb_setbj = true, lb_wjz = false, nowjz = false;
//危急值标识去除原则 nowjz = true 不能算做危急值 //危急值标识去除原则 nowjz = true 不能算做危急值
String brxm = labPat.getBrxm(); String brxm = labPat.getBrxm();
if (brxm != null) { if (brxm != null) {
@ -908,10 +900,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg); log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg);
if (retCode == null || "".equals(retCode) || "-1".equals(retCode)) lb_setbj = false; if (retCode == null || "".equals(retCode) || "-1".equals(retCode)) lb_setbj = false;
labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
log.info("labResultList.size:{}",labResultList.size()); log.info("labResultList.size:{}", labResultList.size());
List<XmInfo> xmInfoList= commonUtil.getXmInfoList(yq); List<XmInfo> xmInfoList = commonUtil.getXmInfoList(yq);
List<XmAlarmdetail> xmAlarmdetailList=null; List<XmAlarmdetail> xmAlarmdetailList = null;
if(!nowjz){xmAlarmdetailList =commonUtil.getXmAlarmdetailList(yq);} if (!nowjz) {
xmAlarmdetailList = commonUtil.getXmAlarmdetailList(yq);
}
for (LabResult labResult : labResultList) { for (LabResult labResult : labResultList) {
String csjg = labResult.getCsjg(); String csjg = labResult.getCsjg();
boolean lb_nummode = LisUtil.isTureNumber(csjg); boolean lb_nummode = LisUtil.isTureNumber(csjg);
@ -919,15 +913,15 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
String ygzd = labResult.getYgzd(); String ygzd = labResult.getYgzd();
//当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断 //当结果为数值并且与周期诊断无关,计算存储过程保存成功后,只进行危急值判断
if (lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)) { if (lb_nummode && lb_setbj && !"Y".equals(ygzd) && !"Y".equals(ygzq)) {
if(nowjz){ if (nowjz) {
String resultalarmflag1 = labResult.getAlarmFlag(); String resultalarmflag1 = labResult.getAlarmFlag();
if (!"".equals(resultalarmflag1) && resultalarmflag1 != null){ if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) {
labResult.setAlarmFlag(""); labResult.setAlarmFlag("");
commonUtil.updateLabResult(labResult); commonUtil.updateLabResult(labResult);
} }
}else { } else {
String xmdh=labResult.getXmdh(); String xmdh = labResult.getXmdh();
List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail-> detail.getXmdh().equals(xmdh)).collect(Collectors.toList()); List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail -> detail.getXmdh().equals(xmdh)).collect(Collectors.toList());
int wjz = alarmcondition(labPat, labResult, getXmAlarmdetail); int wjz = alarmcondition(labPat, labResult, getXmAlarmdetail);
if (wjz != -1) {//危急值标识特殊判断存在时优先使用特殊结果 if (wjz != -1) {//危急值标识特殊判断存在时优先使用特殊结果
String resultalarmflag = labResult.getAlarmFlag(); String resultalarmflag = labResult.getAlarmFlag();
@ -945,12 +939,12 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) lb_wjz = true; if (!"".equals(resultalarmflag1) && resultalarmflag1 != null) lb_wjz = true;
} }
} else { } else {
String xmdh=labResult.getXmdh(); String xmdh = labResult.getXmdh();
List<XmInfo> xmInfo0=xmInfoList.stream().filter(xm->xm.getXmdh().equals(xmdh)).collect(Collectors.toList()); List<XmInfo> xmInfo0 = xmInfoList.stream().filter(xm -> xm.getXmdh().equals(xmdh)).collect(Collectors.toList());
if(xmInfo0.size()>0){ if (xmInfo0.size() > 0) {
XmInfo xmInfo=xmInfo0.get(0); XmInfo xmInfo = xmInfo0.get(0);
List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail-> detail.getXmdh().equals(xmdh)).collect(Collectors.toList()); List<XmAlarmdetail> getXmAlarmdetail = xmAlarmdetailList.stream().filter(detail -> detail.getXmdh().equals(xmdh)).collect(Collectors.toList());
LabResult labResult0 = setxmdhrefs(labPat, labResult,xmInfo,getXmAlarmdetail,nowjz); LabResult labResult0 = setxmdhrefs(labPat, labResult, xmInfo, getXmAlarmdetail, nowjz);
labResult.setCsjg(csjg); labResult.setCsjg(csjg);
labResult.setDw(labResult0.getDw()); labResult.setDw(labResult0.getDw());
labResult.setRefs(labResult0.getRefs()); labResult.setRefs(labResult0.getRefs());
@ -972,7 +966,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
* @param labResult * @param labResult
* @return * @return
*/ */
private LabResult setxmdhrefs(LabPat labPat, LabResult labResult,XmInfo xmInfo,List<XmAlarmdetail> getXmAlarmdetail,boolean nowjz) { private LabResult setxmdhrefs(LabPat labPat, LabResult labResult, XmInfo xmInfo, List<XmAlarmdetail> getXmAlarmdetail, boolean nowjz) {
String yq = labPat.getYq(); String yq = labPat.getYq();
String resultflag = "M", wjzflag = ""; String resultflag = "M", wjzflag = "";
String xmdh = labResult.getXmdh(); String xmdh = labResult.getXmdh();
@ -1045,7 +1039,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
Double csjgnum = Double.valueOf(csjgnew); Double csjgnum = Double.valueOf(csjgnew);
if (ckxx != null) if (csjgnum < ckxx) resultflag = "L"; if (ckxx != null) if (csjgnum < ckxx) resultflag = "L";
if (cksx != null) if (csjgnum > cksx) resultflag = "H"; if (cksx != null) if (csjgnum > cksx) resultflag = "H";
if(!nowjz) { if (!nowjz) {
int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail); int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail);
if (wjzf == -1) { if (wjzf == -1) {
if (llimit != null) if (csjgnum < llimit) wjzflag = "L"; if (llimit != null) if (csjgnum < llimit) wjzflag = "L";
@ -1061,7 +1055,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
if ("P".equals(jgbzold) && (csjg.indexOf("阳") >= 0 || csjg.indexOf("+") >= 0 || csjg.indexOf(":") >= 0) && (lmtflag == null || lmtflag.trim().isEmpty())) if ("P".equals(jgbzold) && (csjg.indexOf("阳") >= 0 || csjg.indexOf("+") >= 0 || csjg.indexOf(":") >= 0) && (lmtflag == null || lmtflag.trim().isEmpty()))
lmtflag = "P"; lmtflag = "P";
resultflag = lmtflag; resultflag = lmtflag;
if(!nowjz) { if (!nowjz) {
if ("J".equals(lmtflag)) wjzflag = "H"; if ("J".equals(lmtflag)) wjzflag = "H";
int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail); int wjzf = alarmcondition(labPat, labResult, getXmAlarmdetail);
if (wjzf == 1) wjzflag = "H";//满足特定危机值条件 if (wjzf == 1) wjzflag = "H";//满足特定危机值条件
@ -1090,7 +1084,7 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
* @param labResult * @param labResult
* @return * @return
*/ */
private int alarmcondition(LabPat labPat, LabResult labResult,List<XmAlarmdetail> getXmAlarmdetail) { private int alarmcondition(LabPat labPat, LabResult labResult, List<XmAlarmdetail> getXmAlarmdetail) {
if (getXmAlarmdetail == null) return -1; if (getXmAlarmdetail == null) return -1;
boolean lb_fcb = false, lb_hasval = false; boolean lb_fcb = false, lb_hasval = false;
String csjg = labResult.getCsjg(); String csjg = labResult.getCsjg();
@ -1268,15 +1262,146 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
/** /**
* 查询明细是否有危急值标识 * 查询明细是否有危急值标识
*
* @param labResultList * @param labResultList
* @return * @return
*/ */
private boolean getAlarmFlag(List<LabResult> labResultList){ private boolean getAlarmFlag(List<LabResult> labResultList) {
boolean wjz=false; boolean wjz = false;
List<LabResult> labResultList0=labResultList.stream().filter(xm->!"".equals(xm.getAlarmFlag())&&xm.getAlarmFlag()!=null).collect(Collectors.toList()); List<LabResult> labResultList0 = labResultList.stream().filter(xm -> !"".equals(xm.getAlarmFlag()) && xm.getAlarmFlag() != null).collect(Collectors.toList());
if(labResultList0.size()>0){ if (labResultList0.size() > 0) {
wjz=true; wjz = true;
} }
return wjz; return wjz;
} }
/**
* 解除审核原因登记
*
* @param jyrq
* @param yq
* @param ybh
* @param hdys
* @return
*/
@Override
public Result unconfirmlog(Date jyrq, String yq, String ybh, String hdys, String reason) {
if ("".equals(reason)) {
return new Result("-1", "没写原因,解除失败!");
}
LisPatlog lisPatlog = new LisPatlog();
lisPatlog.setYq(yq);
lisPatlog.setYbh(ybh);
lisPatlog.setXgyhdh(hdys);
lisPatlog.setJyrq(jyrq);
lisPatlog.setXgrq(new Date());
lisPatlog.setBz1(reason);
commonUtil.insertLisPatlog(lisPatlog);
return new Result("0", "写召回原因成功!");
}
/**
* 撤销审核报告单全流程
*
* @param jyrq
* @param yq
* @param ybh
* @param yhdh
* @return
*/
@Override
public Result unconfirm(Date jyrq, String yq, String ybh, String yhdh) {
if (yhdh == null || "".equals(yhdh)) new Result("-1", "操作者为空,无法解除审核!");
//入参通过GET推送时使用ServletUtils.getParameterToInt获取
//入参通过POSTJSON时使用JsonParamUtils.getParameterToInt获取
int problemId = ServletUtils.getParameterToInt("problemId", 0);
LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
List<LabResult> labResultList = commonUtil.getLabResultList(jyrq, yq, ybh);
if (problemId < 3) {
//1,解除审核权限校验
if (!commonUtil.getUserPower(yq, yhdh, 10)) return new Result("-1", "当前操作者无权对本仪器报告解除审核!");
//2:数据合法性校验
String jgbz = labPat.getJgbz();
if (!"2".equals(jgbz)) return new Result("1", "报告未审核,不需解除!");
}
if (problemId < 3) problemId = 3;
if (problemId < 4) {
String unconfirmlog = commonUtil.getComOptValue(yq, "unconfirmlog");
if ("1".equals(unconfirmlog)) {
return new Result("4", "请填写解除审核原因!", 4);
}
}
if (problemId < 4) problemId = 4;
//调用his报告接口,完成报告同时调用外部接口任务
if (problemId < 5) {
SetReport setReport = new SetReport();
setReport.setIp(IpUtils.getIpAddr());
setReport.setJyrq(DateFormatUtils.format(jyrq, "yyyy-MM-dd"));
setReport.setYq(yq.trim());
setReport.setYbh(ybh);
setReport.setUserid(yhdh);
setReport.setStatus(LisinterfaceNameConstants.REPORTCANCAL);
Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.SETREPORT, setReport);
if (result.getCode().equals("5")) {
if (problemId < 5) {
return new Result(result.getCode(), result.getMsg(), 5);
}
}
if (!result.getCode().equals("0")) return result;
}
if (problemId < 5) problemId = 5;
String sqh = labPat.getSqh();
LabReqmain labReqmain = commonUtil.getLabReqmainOne(sqh);
if (labReqmain != null) {
String zt = labReqmain.getZt();
if (!SampleStatusConstants.CANCAL.equals(zt)) {
labReqmain.setConfirmer("");
labReqmain.setConfirmtime(null);
if (SampleStatusConstants.CONFIRM.equals(zt)) {
labReqmain.setZt(SampleStatusConstants.SIGNFOR);
labReqmain.setConfirmer("");
labReqmain.setConfirmtime(null);
commonUtil.updateLabReqmain(labReqmain);
}
}
}
String msg = "取消成功!";
String sp_rebackreport = commonUtil.getHISOPT("sp_rebackreport");
if ("1".equals(sp_rebackreport)) {
if ("1".equals(labPat.getDybz())) {
msg = msg + LisUtil.LINE_SEPARATOR + "此报告为已打印报告,注意考虑是否追回";
}
LabPatwarning labPatwarning = commonUtil.getLabPatwarning(jyrq, yq, ybh);
if (labPatwarning != null) {
if (problemId < 6) {
Date tzsj = labPatwarning.getTzsj();
long sjc = LisUtil.relativeMinute(tzsj);
if (sjc > 10) {
return new Result("4", "此报告已发布危急值结果,并且时间超过10分钟了!", 6);
}
}
//权限不足,撤回报告失败组长权限单独接口校验,略.................
commonUtil.deleteLabPatwarning(jyrq, yq, ybh);
commonUtil.deleteLabResultwarning(jyrq, yq, ybh);
}
}
commonUtil.deleteLabReqreportPdffile(jyrq, yq, ybh);
labPat.setFslx("");
labPat.setJgbz(ReportStatusConstants.DEFAULT);
commonUtil.updateLabPat(labPat);
setComLog(jyrq, yq, ybh,yhdh,"UCK","");
return new Result("3", msg);
}
public void setComLog(Date jyrq, String yq, String ybh, String yhdh,String logtype,String logdata){
ComLog comLog = new ComLog();
comLog.setJyrq(jyrq);
comLog.setYq(yq);
comLog.setYbh(ybh);
comLog.setYhdh(yhdh);
comLog.setDnmc(IpUtils.getIpAddr());
comLog.setRzbz(logtype);
comLog.setRznr(logdata);
commonUtil.insertComLog(comLog);
}
} }