diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkBase.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkBase.java index 83caa9c..975c960 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkBase.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkBase.java @@ -1,5 +1,6 @@ package com.czlis.interfaceCommon.utils; +import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.SysLoginParam; import com.czlis.common.core.domain.entity.lis.*; import com.czlis.common.utils.*; @@ -359,4 +360,35 @@ public class LisWorkBase { if (labPat.getJgbz() == null) labPat.setJgbz(LabPatConstants.DEFAULT); return labPat; } + /**判断当前样本是否可以修改**/ + public boolean canmodifysample(LabPat labPat){ + if(labPat==null)return true; + String jgbz=labPat.getJgbz(); + if(jgbz==null||"".equals(jgbz))return true; + if("2".equals(jgbz)||"5".equals(jgbz))return false; + Date jyrq=labPat.getJyrq(); + String yq=labPat.getYq(); + String userno = getusername(); + boolean falg=true; + //是否可以修改非今日标本 + String EDITOTHERDAY=commonUtil.getComOptValue(yq,"EDITOTHERDAY"); + if(!"1".equals(EDITOTHERDAY)){ + //个人是否可以修改非今日标本 + if (!commonUtil.getUserPower(yq, userno, 16)) { + String nd=DateUtils.getDate(); + String sjyrq=DateUtils.dateTime(jyrq); + if(!sjyrq.equals(nd))falg=false; + } + } + if(!falg)return false; + //只可修改自己的标本 + String modifyself=commonUtil.getComOptValue(yq,"modifyself"); + if("1".equals(modifyself)){ + if (!commonUtil.getUserPower(yq, userno, 19)) { + String yhdh=labPat.getYhdh(); + if(!userno.equals(yhdh))falg=false; + } + } + return falg; + } } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java index 45075b4..5de2226 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisWorkcom.java @@ -32,34 +32,7 @@ public class LisWorkcom extends LisWorkBase{ LabInstrvsreqclassMapper labInstrvsreqclassMapper; @Autowired LabReqdetailMapper labReqdetailMapper; - public Result saveallresult(List labResultList) { - if(labResultList == null || labResultList.isEmpty()) return new Result("-1", "结果集为空!"); - Date jyrq0 = labResultList.get(0).getJyrq(); - String yq0 = labResultList.get(0).getYq(); - String ybh0 = labResultList.get(0).getYbh(); - if(jyrq0==null)return new Result("-1", "主键为空!"); - if(yq0==null||yq0.isEmpty())return new Result("-1", "主键为空!"); - if(ybh0==null||ybh0.isEmpty())return new Result("-1", "主键为空!"); - for (LabResult labResult : labResultList) { - Date jyrq = labResult.getJyrq(); - String yq = labResult.getYq(); - String ybh = labResult.getYbh(); - String xmdh = labResult.getXmdh(); - if(jyrq==null)return new Result("-1", "主键为空!"); - if(yq==null||yq.isEmpty())return new Result("-1", "主键为空!"); - if(ybh==null||ybh.isEmpty())return new Result("-1", "主键为空!"); - if(xmdh==null||xmdh.isEmpty())return new Result("-1", "主键为空!"); - } - //commonUtil.delLabResultAll(jyrq0,yq0,ybh0); - for (LabResult labResult : labResultList) { - if(labResult.getChangeflag() != null && labResult.getChangeflag()==2) { - commonUtil.delLabResult(labResult); - commonUtil.insertLabResult(labResult); - labResult.setChangeflag(0); - } - } - return saveresult(labResultList); - } + public Result saveallresult(Date jyrq, String yq, String ybh) { List labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); return saveresult(labResultList); @@ -727,7 +700,9 @@ public class LisWorkcom extends LisWorkBase{ * @return */ public Result changePatColumn(Date jyrq, String yq, String ybh, String column, String value) { - String jgbz = commonUtil.getLabPatJgbz(jyrq, yq, ybh); + LabPat labPat0 = commonUtil.getLabPatOne(jyrq, yq, ybh); + if(!canmodifysample(labPat0))return new Result("-1","目标标本不可修改"); + String jgbz = labPat0.getJgbz(); if ("2".equals(jgbz)) return new Result("-1", "结果已审核禁止修改!"); if ("5".equals(jgbz)) return new Result("-1", "结果已锁定禁止修改!"); if ("1".equals(jgbz)) return new Result("-1", "结果已初审禁止修改!"); @@ -830,6 +805,7 @@ public class LisWorkcom extends LisWorkBase{ String xmdh = labResult.getXmdh(); if ("".equals(xmdh) || xmdh == null) return new Result("-1", "项目代号不能为空!"); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if(labPat==null){ labPat=new LabPat(); labPat.setJyrq(jyrq); @@ -840,7 +816,7 @@ public class LisWorkcom extends LisWorkBase{ if ("2".equals(labPat.getJgbz())) return new Result("-1", "结果已审核禁止修改!"); if ("5".equals(labPat.getJgbz())) return new Result("-1", "结果已锁定禁止修改!"); if ("1".equals(labPat.getJgbz())) return new Result("-1", "结果已初审禁止修改!"); - + if(!canmodifysample(labPat))return new Result("-1","目标标本不可修改"); boolean nowjz = checknowjz(labPat); XmInfo xmInfo = commonUtil.getXmInfo(yq, xmdh); List getXmAlarmdetail = commonUtil.getXmAlarmdetail(yq, xmdh); @@ -864,9 +840,11 @@ public class LisWorkcom extends LisWorkBase{ Date jyrq = labResult.getJyrq(); String ybh = labResult.getYbh(); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if ("2".equals(labPat.getJgbz())) return new Result("-1", "结果已审核禁止修改!"); if ("5".equals(labPat.getJgbz())) return new Result("-1", "结果已锁定禁止修改!"); if ("1".equals(labPat.getJgbz())) return new Result("-1", "结果已初审禁止修改!"); + if(!canmodifysample(labPat))return new Result("-1","目标标本不可修改"); boolean nowjz = checknowjz(labPat); changeresultf(labPat, labResult, nowjz); return new Result("0", "保存成功"); @@ -1017,6 +995,7 @@ public class LisWorkcom extends LisWorkBase{ if (brly == null) brly = ""; if (yljg == null || yljg.isEmpty()) yljg = commonUtil.getLabInstr(yq).getYljg(); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if(!canmodifysample(labPat))return new Result("-1","目标标本不可修改"); boolean newpatinfo = true; if (labPat != null) { String jgbz = labPat.getJgbz(); @@ -1124,6 +1103,7 @@ public class LisWorkcom extends LisWorkBase{ } public Result newPatInfo(Date jyrq, String ybh, String sqh, String yq, int problemId) { LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if(!canmodifysample(labPat))return new Result("-1","目标标本不可修改"); boolean newpatinfo = true; if (labPat != null) { String jgbz = labPat.getJgbz(); diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java index 95d2535..0f41d5d 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java @@ -7,6 +7,7 @@ import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.LabPat; import com.czlis.common.core.domain.entity.lis.LabResult; import com.czlis.common.enums.BusinessType; +import com.czlis.liswork.mapper.LisWorkPageInfoMapper; import com.czlis.liswork.service.LisWorkOperService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -144,6 +145,12 @@ public class LisWorkOperController extends BaseController { public Result delsample(Date jyrq, String yq, String ybh) { return lisWorkOperService.delsample(jyrq, yq, ybh); } + @Log(title = "主界面",businessType = BusinessType.UPDATE) + @ApiOperation("指定为某样本复查结果") + @GetMapping("/setredosample") + public Result setredosample(Date jyrq, String yq, String ybh, String newyq, String newybh) { + return lisWorkOperService.setredosample(jyrq,yq,ybh,newyq,newybh); + } } diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java index 0718f11..381028f 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java @@ -25,4 +25,5 @@ public interface LisWorkOperService { Result calcsample(Date jyrq, String yq, String ybh); String getitemlmtflag(String yq, String xmdh, String csjg); Result reglimit(Date jyrq, String yq, String ybh, String yhdh, String qrr, String phone, String tzfs); + Result setredosample(Date jyrq, String yq, String ybh, String newyq, String newybh); } \ No newline at end of file diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java index a331cec..d0f45fa 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java @@ -194,4 +194,8 @@ public class LisWorkGermServiceImpl implements LisWorkGermService { commonUtil.delLabResultMed(labResultmed); return new Result("0","成功"); } + private String getmedfalg(LabResultMed labResultmed){ + + return ""; + } } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java index 55daacb..62ba3e3 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java @@ -5,191 +5,242 @@ import com.czlis.common.core.domain.entity.lis.*; import com.czlis.common.utils.*; import com.czlis.common.core.domain.Result; import com.czlis.interfaceCommon.utils.*; +import com.czlis.liswork.mapper.LisWorkPageInfoMapper; import com.czlis.liswork.service.LisWorkOperService; +import com.sun.org.apache.bcel.internal.generic.RETURN; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; @Service @Slf4j public class LisWorkOperServiceImpl implements LisWorkOperService { + @Autowired + LisWorkPageInfoMapper lisWorkPageInfoMapper; @Autowired CommonUtil commonUtil; @Autowired LisWorkUtils lisWorkUtils; + @Override public Result newPatInfo(Date jyrq, String ybh, String sqh, String yq) { int problemId = ServletUtils.getParameterToInt("problemId", 0); - return lisWorkUtils.newPatInfo(jyrq, ybh, sqh, yq, problemId); + return lisWorkUtils.newPatInfo(jyrq, ybh, sqh, yq, problemId); } + @Override - public Result delsample(Date jyrq, String yq, String ybh){ + public Result delsample(Date jyrq, String yq, String ybh) { int problemId = ServletUtils.getParameterToInt("problemId", 0); - String yhdh=SecurityUtils.getLoginUser().getUsername(); - return lisWorkUtils.delsample(jyrq, yq, ybh,yhdh, problemId); + String yhdh = SecurityUtils.getLoginUser().getUsername(); + return lisWorkUtils.delsample(jyrq, yq, ybh, yhdh, problemId); } + @Override public Result changePat(LabPat labPat) { int problemId = JsonParamUtils.getParameterToInt("problemId", 0); - Date jyrq=labPat.getJyrq(); - String yq=labPat.getYq(); - String ybh=labPat.getYbh(); - Integer shcs=labPat.getShcs(); - if(shcs==null)labPat.setShcs(0); + Date jyrq = labPat.getJyrq(); + String yq = labPat.getYq(); + String ybh = labPat.getYbh(); + Integer shcs = labPat.getShcs(); + if (shcs == null) labPat.setShcs(0); //要防止别已经修改过了 - LabPat labPat0 =commonUtil.getLabPatOne(jyrq,yq,ybh); - if(labPat0!=null) { + LabPat labPat0 = commonUtil.getLabPatOne(jyrq, yq, ybh); + if (labPat0 != null) { if ("2".equals(labPat0.getJgbz())) return new Result("-1", "结果已审核禁止修改!"); if ("5".equals(labPat0.getJgbz())) return new Result("-1", "结果已锁定禁止修改!"); if ("1".equals(labPat0.getJgbz())) return new Result("-1", "结果已初审禁止修改!"); - String sqh=labPat0.getSqh(); - if(sqh==null)sqh=""; - String brdh=labPat0.getBrdh(); - if(brdh==null)brdh=""; - String sqh1=labPat.getSqh(); - if(sqh1==null)sqh1=""; - String brdh1=labPat.getBrdh(); - if(brdh1==null)brdh1=""; + String sqh = labPat0.getSqh(); + if (sqh == null) sqh = ""; + String brdh = labPat0.getBrdh(); + if (brdh == null) brdh = ""; + String sqh1 = labPat.getSqh(); + if (sqh1 == null) sqh1 = ""; + String brdh1 = labPat.getBrdh(); + if (brdh1 == null) brdh1 = ""; //通过修改申请号触发病人信息载入 - if(!sqh1.isEmpty() &&!sqh1.equals(sqh)){ + if (!sqh1.isEmpty() && !sqh1.equals(sqh)) { return lisWorkUtils.newPatInfo(jyrq, ybh, sqh1, yq, problemId); } //通过修改住院号触发病人信息载入 - if(!brdh1.isEmpty() &&!brdh1.equals(brdh)){ - return lisWorkUtils.newPat(jyrq, ybh, yq, brdh1,labPat.getBrly(),labPat.getYljg(), problemId); + if (!brdh1.isEmpty() && !brdh1.equals(brdh)) { + return lisWorkUtils.newPat(jyrq, ybh, yq, brdh1, labPat.getBrly(), labPat.getYljg(), problemId); } commonUtil.updateLabPat(labPat); - }else{ - String sqh1=labPat.getSqh(); - if(sqh1==null)sqh1=""; - String brdh1=labPat.getBrdh(); - if(brdh1==null)brdh1=""; - // 通过修改申请号触发病人信息载入 - if(!sqh1.isEmpty()){ - return lisWorkUtils.newPatInfo(jyrq, ybh, sqh1, yq, problemId); + } else { + String sqh1 = labPat.getSqh(); + if (sqh1 == null) sqh1 = ""; + String brdh1 = labPat.getBrdh(); + if (brdh1 == null) brdh1 = ""; + // 通过修改申请号触发病人信息载入 + if (!sqh1.isEmpty()) { + return lisWorkUtils.newPatInfo(jyrq, ybh, sqh1, yq, problemId); } //通过修改住院号触发病人信息载入 - if(!brdh1.isEmpty()){ - return lisWorkUtils.newPat(jyrq, ybh, yq, brdh1,labPat.getBrly(),labPat.getYljg(), problemId); + if (!brdh1.isEmpty()) { + return lisWorkUtils.newPat(jyrq, ybh, yq, brdh1, labPat.getBrly(), labPat.getYljg(), problemId); } commonUtil.insertLabPat(labPat); } - lisWorkUtils.saveallresult(jyrq,yq,ybh); + lisWorkUtils.saveallresult(jyrq, yq, ybh); return new Result("0", "保存成功"); } /** * 修改病人信息,输入病人代号需要单独处理 - * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * + * @param jyrq 检验日期 + * @param yq 仪器 + * @param ybh 样本号 * @param column 字段名称 - * @param value 修改值 + * @param value 修改值 * @return 返回状态 */ @Override - public Result changePatColumn(Date jyrq,String yq, String ybh,String column,String value) { + public Result changePatColumn(Date jyrq, String yq, String ybh, String column, String value) { + int problemId = ServletUtils.getParameterToInt("problemId", 0); - if("brdh".equals(column)){ - return lisWorkUtils.newPat(jyrq, ybh, yq, value,"","", problemId); + if ("brdh".equals(column)) { + return lisWorkUtils.newPat(jyrq, ybh, yq, value, "", "", problemId); + } + if ("sqh".equals(column)) { + return lisWorkUtils.newPatInfo(jyrq, ybh, value, yq, problemId); } - if("sqh".equals(column)){return lisWorkUtils.newPatInfo(jyrq, ybh, value, yq, problemId);} return lisWorkUtils.changePatColumn(jyrq, yq, ybh, column, value); } + @Override - public Result newresult(LabResult labResult){ + public Result newresult(LabResult labResult) { return lisWorkUtils.newresult(labResult); } + /** * 修改结果 - * @param labResult 一行结果 + * + * @param labResult 一行结果 * @return 返回状态 */ @Override - public Result changeresult(LabResult labResult){ + public Result changeresult(LabResult labResult) { return lisWorkUtils.changeresult(labResult); } + @Transactional(rollbackFor = Exception.class) - public Result saveReqInfo(LabReqmain labReqmain,LabPat labPat,boolean newpatinfo) { - return lisWorkUtils.saveReqInfo(labReqmain,labPat,newpatinfo); + public Result saveReqInfo(LabReqmain labReqmain, LabPat labPat, boolean newpatinfo) { + return lisWorkUtils.saveReqInfo(labReqmain, labPat, newpatinfo); } + /** * 获取新样本默认值 + * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 * @return 返回 */ @Override public Result loaddefault(Date jyrq, String yq, String ybh) { - LabPat labPat=commonUtil.getLabPatOne(jyrq,yq,ybh); - if(labPat==null)labPat=new LabPat(); + LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if (labPat == null) labPat = new LabPat(); labPat.setJyrq(jyrq); labPat.setYq(yq); labPat.setYbh(ybh); - labPat=lisWorkUtils.loaddefault(labPat); - return new Result("0", "完成",labPat); + labPat = lisWorkUtils.loaddefault(labPat); + return new Result("0", "完成", labPat); } + /** * 审核报告单全流程 * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 * @param hdys 核对医生 * @return 返回 */ @Override public Result confirm(Date jyrq, String yq, String ybh, String hdys) { int problemId = ServletUtils.getParameterToInt("problemId", 0); - return lisWorkUtils.confirm(jyrq,yq,ybh,hdys,problemId); + return lisWorkUtils.confirm(jyrq, yq, ybh, hdys, problemId); } + @Override public Result confirm1(Date jyrq, String yq, String ybh, String hdys) { int problemId = ServletUtils.getParameterToInt("problemId", 0); - return lisWorkUtils.confirm1(jyrq,yq,ybh,hdys,problemId); + return lisWorkUtils.confirm1(jyrq, yq, ybh, hdys, problemId); } + /** * 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新 * - * @param labResult 结果集合 + * @param labResultList 结果集合 * @return 返回 */ @Override - public Result saveallresult(List labResult) { - return lisWorkUtils.saveallresult(labResult); + public Result saveallresult(List labResultList) { + if (labResultList == null || labResultList.isEmpty()) return new Result("-1", "结果集为空!"); + Date jyrq0 = labResultList.get(0).getJyrq(); + String yq0 = labResultList.get(0).getYq(); + String ybh0 = labResultList.get(0).getYbh(); + if (jyrq0 == null) return new Result("-1", "主键为空!"); + if (yq0 == null || yq0.isEmpty()) return new Result("-1", "主键为空!"); + if (ybh0 == null || ybh0.isEmpty()) return new Result("-1", "主键为空!"); + LabPat labPat = commonUtil.getLabPatOne(jyrq0, yq0, ybh0); + if (!lisWorkUtils.canmodifysample(labPat)) return new Result("-1", "目标标本不可修改"); + + for (LabResult labResult : labResultList) { + Date jyrq = labResult.getJyrq(); + String yq = labResult.getYq(); + String ybh = labResult.getYbh(); + String xmdh = labResult.getXmdh(); + if (jyrq == null) return new Result("-1", "主键为空!"); + if (yq == null || yq.isEmpty()) return new Result("-1", "主键为空!"); + if (ybh == null || ybh.isEmpty()) return new Result("-1", "主键为空!"); + if (xmdh == null || xmdh.isEmpty()) return new Result("-1", "主键为空!"); + } + //commonUtil.delLabResultAll(jyrq0,yq0,ybh0); + for (LabResult labResult : labResultList) { + if (labResult.getChangeflag() != null && labResult.getChangeflag() == 2) { + commonUtil.delLabResult(labResult); + commonUtil.insertLabResult(labResult); + labResult.setChangeflag(0); + } + } + return lisWorkUtils.saveresult(labResultList); } /** * 计算项目增加及重新计算 * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 */ @Override public Result calcsample(Date jyrq, String yq, String ybh) { return lisWorkUtils.calcsample(jyrq, yq, ybh); } + /** * 计算项目参考值结果异常标志 * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 */ @Override public Result saverefs(Date jyrq, String yq, String ybh) { return lisWorkUtils.saverefs(jyrq, yq, ybh); } + /** * 获取常用取值结果标志 * - * @param yq 仪器 + * @param yq 仪器 * @param xmdh 项目代号 * @param csjg 测试结果 * @return 返回 @@ -220,47 +271,111 @@ public class LisWorkOperServiceImpl implements LisWorkOperService { * 解除审核原因登记 * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 * @param hdys 解除审核医生 * @return 返回 */ @Override public Result unconfirmlog(Date jyrq, String yq, String ybh, String hdys, String reason) { - return lisWorkUtils.unconfirmlog(jyrq,yq,ybh,hdys,reason); + return lisWorkUtils.unconfirmlog(jyrq, yq, ybh, hdys, reason); } + /** * 撤销审核报告单全流程 * * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 + * @param yq 仪器 + * @param ybh 样本号 * @param yhdh 撤销医生 * @return 返回 */ @Override public Result unconfirm(Date jyrq, String yq, String ybh, String yhdh) { - return lisWorkUtils.unconfirm(jyrq,yq,ybh,yhdh); + return lisWorkUtils.unconfirm(jyrq, yq, ybh, yhdh); } + @Override public Result unconfirm1(Date jyrq, String yq, String ybh, String yhdh) { - return lisWorkUtils.unconfirm1(jyrq,yq,ybh,yhdh); + return lisWorkUtils.unconfirm1(jyrq, yq, ybh, yhdh); } + /** * 登记危急值记录 - * @param jyrq 检验日期 - * @param yq 仪器 - * @param ybh 样本号 - * @param yhdh 操作人 - * @param qrr 确认人 + * + * @param jyrq 检验日期 + * @param yq 仪器 + * @param ybh 样本号 + * @param yhdh 操作人 + * @param qrr 确认人 * @param phone 电话 - * @param tzfs 通知方式 + * @param tzfs 通知方式 * @return 返回 */ @Override - public Result reglimit( Date jyrq, String yq, String ybh, String yhdh,String qrr,String phone,String tzfs){ + public Result reglimit(Date jyrq, String yq, String ybh, String yhdh, String qrr, String phone, String tzfs) { int problemId = ServletUtils.getParameterToInt("problemId", 0); - return lisWorkUtils.reglimit(jyrq,yq,ybh,yhdh,qrr,phone,tzfs,problemId); + return lisWorkUtils.reglimit(jyrq, yq, ybh, yhdh, qrr, phone, tzfs, problemId); + } + + @Override + public Result setredosample(Date jyrq, String yq, String ybh, String newyq, String newybh) { + if (jyrq == null) return new Result("-1", "检验日期不允许为空"); + if (yq == null || "".equals(yq)) return new Result("-1", "仪器不允许为空"); + if (ybh == null || "".equals(ybh)) return new Result("-1", "样本号不允许为空"); + if (newyq == null || "".equals(newyq)) return new Result("-1", "目标仪器不允许为空"); + if (newybh == null || "".equals(newybh)) return new Result("-1", "目标样本号不允许为空"); + LabPat labPat = commonUtil.getLabPatOne(jyrq, newyq, newybh); + String jgbz = labPat.getJgbz(); + if (jgbz == null || "".equals(jgbz)) return new Result("-1", "目标样本不存在"); + List labResultlist = commonUtil.getLabResultList(jyrq, yq, ybh); + if (labResultlist.isEmpty()) return new Result("-1", "当前样本结果不存在"); + if (!lisWorkUtils.canmodifysample(labPat)) return new Result("-1", "目标标本不可修改"); + LabResultRe labResultRe = new LabResultRe(); + labResultRe.setJyrq(jyrq); + labResultRe.setYq(newyq); + labResultRe.setYbh(newybh); + lisWorkPageInfoMapper.deleteRedo(labResultRe); + List labResultlist0 = commonUtil.getLabResultList(jyrq, newyq, newybh); + for (LabResult labResult : labResultlist) { + String xmdh = labResult.getXmdh(); + if (xmdh != null || !xmdh.isEmpty()) { + List labResultlist1 = labResultlist0.stream().filter(xm -> xmdh.equals(xm.getXmdh())).collect(Collectors.toList()); + if (labResultlist1.isEmpty()) { + LabResult labResult1 = labResultlist1.get(0); + String csjg1 = labResult1.getCsjg(); + labResultRe.setCsjg(csjg1); + labResultRe.setXmdh(xmdh); + lisWorkPageInfoMapper.insertLabResultRe(labResultRe); + labResult1.setCsjg(labResult.getCsjg()); + labResult1.setOd(labResult.getOd()); + labResult1.setCutoff(labResult.getCutoff()); + labResult1.setRedo_flag("1"); + commonUtil.updateLabResult(labResult1); + } else { + LabResult labResult1 = new LabResult(); + labResult1.setJyrq(jyrq); + labResult1.setYq(newyq); + labResult1.setYbh(newybh); + labResult1.setXmmc(labResult.getXmmc()); + labResult1.setCsjg(labResult.getCsjg()); + labResult1.setOd(labResult.getOd()); + labResult1.setCutoff(labResult.getCutoff()); + commonUtil.insertLabResult(labResult1); + } + } + } + commonUtil.deleteLabGraphAll(jyrq, newyq, newybh); + List LabGraphlist = commonUtil.getLabGraphAll(jyrq, yq, ybh); + if (!LabGraphlist.isEmpty()) { + for (LabGraph labGraph : LabGraphlist) { + labGraph.setYq(newyq); + labGraph.setYbh(newybh); + commonUtil.insertLabGraph(labGraph); + } + } + lisWorkUtils.saveallresult(jyrq, newyq, newybh); + return new Result("0", "成功"); } }