主程序报告处理审核初步代码

This commit is contained in:
tangw 2025-08-09 22:28:44 +08:00
parent d0c905821e
commit 17e75c4c52
16 changed files with 356 additions and 51 deletions

View File

@ -46,4 +46,9 @@ public class CacheConstants
* lis字典缓存 * lis字典缓存
*/ */
public static final String COM_DICT_KEY = "com_dict:"; public static final String COM_DICT_KEY = "com_dict:";
/**
* lis设置缓存
*/
public static final String COM_OPT_KEY = "com_opt:";
} }

View File

@ -0,0 +1,57 @@
package com.czlis.common.utils;
import com.alibaba.fastjson2.JSONArray;
import com.czlis.common.constant.CacheConstants;
import com.czlis.common.core.domain.entity.lis.ComOpt;
import com.czlis.common.core.redis.RedisCache;
import com.czlis.common.utils.spring.SpringUtils;
import java.util.Collection;
import java.util.List;
public class ComOptionUtils {
/**
* 设置字典缓存
*
* @param key 参数键
* @param dictDatas 字典数据列表
*/
public static void setOptCache(String key, List<ComOpt> optDatas) {
//先清除该key的所有缓存,然后再重新设置该key的缓存
SpringUtils.getBean(RedisCache.class).deleteObject(key);
SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), optDatas);
}
/**
* 清空字典缓存
*/
public static void clearOptCache() {
Collection<String> keys = SpringUtils.getBean(RedisCache.class).keys("com_opt:" + "*");
SpringUtils.getBean(RedisCache.class).deleteObject(keys);
}
/**
* 获取字典缓存
*
* @param key 参数键
* @return dictDatas 字典数据列表
*/
public static List<ComOpt> getOptCache(String key) {
JSONArray arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key));
if (StringUtils.isNotNull(arrayCache)) {
return arrayCache.toList(ComOpt.class);
}
return null;
}
/**
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
*/
public static String getCacheKey(String configKey) {
return CacheConstants.COM_OPT_KEY + configKey;
}
}

View File

@ -1,7 +1,11 @@
package com.czlis.interfaceCommon.mapper; package com.czlis.interfaceCommon.mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date; import java.util.Date;
public interface CommonMapper { public interface CommonMapper {
Date getCurrentTime(); Date getCurrentTime();
String getyhjs(@Param("yhdh")String yhdh);
String getUserPower(@Param("yq")String yq,@Param("yhdh")String yhdh);
} }

View File

@ -13,11 +13,11 @@ public interface LabPatMapper {
List<LabPat> getSampleList(@Param("jyrq") Date jyrq, @Param("yq") String yq); List<LabPat> getSampleList(@Param("jyrq") Date jyrq, @Param("yq") String yq);
List<LabPat> getSampleListday(@Param("yq") String yq,@Param("days")Long days); List<LabPat> getSampleListday(@Param("yq") String yq,@Param("days")Long days);
List<LabPat> getLabPat(LabPat labPat); List<LabPat> getLabPat(LabPat labPat);
int delLabPat(@Param("jyrq") String jyrq, @Param("yq") String yq,@Param("ybh") String ybh); int delLabPat(@Param("jyrq") Date jyrq, @Param("yq") String yq,@Param("ybh") String ybh);
int updateLabPat(LabPat labPat); int updateLabPat(LabPat labPat);
//根据主键判断是否存在数据 //根据主键判断是否存在数据
int getCountByKey(@Param("jyrq") String 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")String jyrq,@Param("yq") String yq,@Param("ybh") String ybh); String getSqhByKey(@Param("jyrq")Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh);
} }

View File

@ -6,4 +6,5 @@ import java.util.List;
public interface LabReqdetailMapper { public interface LabReqdetailMapper {
List<LabReqdetail> getLabReqdetailList(String sqh); List<LabReqdetail> getLabReqdetailList(String sqh);
int getCountByKey(String sqh);
} }

View File

@ -1,9 +1,9 @@
package com.czlis.interfaceCommon.utils; package com.czlis.interfaceCommon.utils;
import com.czlis.common.core.domain.entity.lis.LabPat; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabReqdetail; import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.LabReqmain; import com.czlis.common.utils.ComDictUtils;
import com.czlis.common.core.domain.entity.lis.LabResult; import com.czlis.common.utils.ComOptionUtils;
import com.czlis.interfaceCommon.mapper.*; import com.czlis.interfaceCommon.mapper.*;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -43,8 +43,8 @@ public class CommonUtil {
public int delLabPat(LabPat labPat){return labPatMapper.updateLabPat(labPat);} public int delLabPat(LabPat labPat){return labPatMapper.updateLabPat(labPat);}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int updateLabPat(LabPat labPat){return labPatMapper.updateLabPat(labPat);} public int updateLabPat(LabPat labPat){return labPatMapper.updateLabPat(labPat);}
public int getCountByKey(String jyrq, String yq,String ybh) {return labPatMapper.getCountByKey(jyrq,yq,ybh);} public int getCountByKey(Date jyrq, String yq,String ybh) {return labPatMapper.getCountByKey(jyrq,yq,ybh);}
public String getSqhByKey(String jyrq,String yq,String ybh){return labPatMapper.getSqhByKey(jyrq,yq,ybh);} public String getSqhByKey(Date jyrq,String yq,String ybh){return labPatMapper.getSqhByKey(jyrq,yq,ybh);}
//申请单主表方法集合 //申请单主表方法集合
public LabReqmain getLabReqmainOne(String sqh){ public LabReqmain getLabReqmainOne(String sqh){
return labReqmainMapper.getLabReqmainOne(sqh); return labReqmainMapper.getLabReqmainOne(sqh);
@ -88,24 +88,35 @@ public class CommonUtil {
} }
//字典查询方法集合 //字典查询方法集合
public String getComDictNameById(String zdlb,String xxdh){ public String getComDictNameById(String zdlb, String zddh) {
String zdmc = comDictMapper.getComDictNameById(zdlb,xxdh); List<ComDict> comDictList =getDictCache(zdlb);
if(zdmc == null || zdmc.equals("")){ if(comDictList!=null){
return xxdh; for (ComDict dict : comDictList) {
}else{ if (zddh.equals(dict.getZddh())) {
return zdmc; return dict.getZdmc();
} }
}}
return comDictMapper.getComDictNameById(zdlb,zddh);
} }
public String getComDictIdByName(String zdlb,String zdmc){ public String getComDictIdByName(String zdlb,String zdmc) {
String zddh = comDictMapper.getComDictIdByName(zdlb,zdmc); List<ComDict> comDictList =getDictCache(zdlb);
if(zddh == null || zddh.equals("")){ if(comDictList!=null){
return zdmc; for (ComDict dict : comDictList) {
}else{ if (zdmc.equals(dict.getZdmc())) {
return zddh; return dict.getZddh();
} }
}}
return comDictMapper.getComDictIdByName(zdlb,zdmc);
} }
public String getComOptValue(String yq,String xxdh){ public String getComOptValue(String yq,String xxdh){
List<ComOpt> comOptList =getOptCache(yq);
if(comOptList!=null){
for (ComOpt opt : comOptList) {
if (xxdh.equals(opt.getXxdh())) {
return opt.getXxqz();
}
}}
return comOptMapper.getComOptValue(yq,xxdh); return comOptMapper.getComOptValue(yq,xxdh);
} }
@ -113,6 +124,21 @@ public class CommonUtil {
return labReqdetailMapper.getLabReqdetailList(sqh); return labReqdetailMapper.getLabReqdetailList(sqh);
} }
private List<ComDict> getDictCache(String zdlb) {
return ComDictUtils.getDictCache(zdlb);
}
private List<ComOpt> getOptCache(String yq) {
return ComOptionUtils.getOptCache(yq);
}
public Boolean getUserPower(String yq,String yhdh,int powerIdx){
if ("LIS".equals(yhdh)) return true;
if ("lis".equals(yhdh)) return true;
String yhjs= commonMapper.getyhjs(yhdh);
if ("S".equals(yhjs)) return true;
String userPower=commonMapper.getUserPower(yq,yhdh);
if(userPower==null) return false;
if("Y".equals(userPower.substring(powerIdx - 1,1)))return true;
return false;
}
} }

View File

@ -1,14 +1,8 @@
package com.czlis.interfaceCommon.utils; package com.czlis.interfaceCommon.utils;
import cn.hutool.core.date.DateUnit; import java.io.UnsupportedEncodingException;
import cn.hutool.core.date.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class LisUtil { public class LisUtil {
/** /**
@ -29,4 +23,49 @@ public class LisUtil {
public static Date getBirthDayFromAge(int nl, String nldw) { public static Date getBirthDayFromAge(int nl, String nldw) {
return AgeUtils.getBirthDayFromAge(nl,nldw); return AgeUtils.getBirthDayFromAge(nl,nldw);
} }
/**
* 按GBK编码的字节宽度截取字符串,最多取cutlens个字节(避免截取半个汉字)
* @param str 原始字符串
* @param beginidx 起始位置
* @param cutlens 截取长度
* @return 截取后的字符串
*/
public static String substringByGbkWidth(String str,int beginidx,int cutlens) {
if (str == null || str.isEmpty()) {
return "";
}
int targetWidth = cutlens; // 目标字节宽度
int currentWidth =beginidx; // 当前累计字节宽度
StringBuilder result = new StringBuilder();
for (char c : str.toCharArray()) {
// 计算当前字符在GBK编码下的字节数
int charWidth;
try {
// GBK编码中,汉字占2字节,英文等占1字节
charWidth = String.valueOf(c).getBytes("GBK").length;
} catch (UnsupportedEncodingException e) {
// 理论上GBK是Java默认支持的编码,不会走到这里
throw new RuntimeException("不支持GBK编码", e);
}
// 判断加上当前字符后是否超过目标宽度
if (currentWidth + charWidth > targetWidth) {
break; // 超过则停止,不截取当前字符
}
// 未超过则累加宽度并添加字符
currentWidth += charWidth;
result.append(c);
// 如果刚好达到目标宽度,提前结束
if (currentWidth == targetWidth) {
break;
}
}
return result.toString();
}
} }

View File

@ -5,9 +5,12 @@
<select id="getCurrentTime"> <select id="getCurrentTime">
select getdate() select getdate()
</select> </select>
<select id="getUserPower" resultType="String">
select yhqx Into :ls_powerdet from com_usrpower where yhdh = #{yhdh} and yq = #{yq} and xtdh = 'LIS'
</select>
<select id="getyhjs" resultType="String">
select yhjs from com_usr where yhdh=#{yhdh}
</select>

View File

@ -6,6 +6,8 @@
<select id="getLabReqdetailList" resultType="com.czlis.common.core.domain.entity.lis.LabReqdetail"> <select id="getLabReqdetailList" resultType="com.czlis.common.core.domain.entity.lis.LabReqdetail">
select * from lab_reqdetail where sqh = #{sqh} select * from lab_reqdetail where sqh = #{sqh}
</select> </select>
<select id="getCountByKey" resultType="int">
select count(1) from lab_reqdetail where sqh = #{sqh}
</select>
</mapper> </mapper>

View File

@ -37,4 +37,18 @@ public class LisWorkOperController extends BaseController {
public Result changePat(LabPat labPat){ public Result changePat(LabPat labPat){
return lisWorkOperService.changePat(labPat); return lisWorkOperService.changePat(labPat);
} }
/**
* 修改病人信息
* @param jyrq 检验日期
* @param yq 仪器
* @param ybh 样本号
* @param hdys 核对医生
* @return
*/
@ApiOperation("修改病人信息")
@PostMapping("/check2")
public Result check2(Date jyrq, String yq, String ybh,String hdys){
return lisWorkOperService.check2(jyrq, yq, ybh, hdys);
}
} }

View File

@ -1,5 +1,14 @@
package com.czlis.liswork.mapper; package com.czlis.liswork.mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.Map;
public interface LisWorkOperMapper { public interface LisWorkOperMapper {
Long checkReqClass(String sqh,String yq); Long checkReqClass(@Param("sqh") String sqh,@Param("yq") String yq);
String selectsqxmdh(String sqh);
String selectyqdl(String yq);
void sp_setrefs(Map<String,Object> map);
void updatelabresultsqxmdhall(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqxmdh") String sqxmdh);
void updatelabresultsqxmdh(@Param("jyrq") Date jyrq,@Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh);
} }

View File

@ -14,8 +14,8 @@ public interface LabPatService {
Result delLabPat(LabPat labPat); Result delLabPat(LabPat labPat);
Result updateLabPat(LabPat labPat); Result updateLabPat(LabPat labPat);
//根据主键判断是否存在数据 //根据主键判断是否存在数据
int getCountById(String jyrq, String yq,String ybh) ; int getCountById(Date jyrq, String yq,String ybh) ;
//根据编号查sqh //根据编号查sqh
String getSqhById(String jyrq,String yq,String ybh); String getSqhById(Date jyrq,String yq,String ybh);
} }

View File

@ -8,4 +8,6 @@ import java.util.Date;
public interface LisWorkOperService { public interface LisWorkOperService {
Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId); Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId);
Result changePat(LabPat labPat); Result changePat(LabPat labPat);
Result check2(Date jyrq, String yq, String ybh, String hdys);
} }

View File

@ -63,13 +63,13 @@ public class LabPatServiceImpl implements LabPatService {
//根据主键判断是否存在数据 //根据主键判断是否存在数据
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public int getCountById(String jyrq, String yq,String ybh) { public int getCountById(Date jyrq, String yq,String ybh) {
return labPatMapper.getCountByKey(jyrq,yq,ybh); return labPatMapper.getCountByKey(jyrq,yq,ybh);
} }
//根据编号查sqh //根据编号查sqh
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public String getSqhById(String jyrq,String yq,String ybh){ public String getSqhById(Date jyrq,String yq,String ybh){
return labPatMapper.getSqhByKey(jyrq,yq,ybh); return labPatMapper.getSqhByKey(jyrq,yq,ybh);
} }

View File

@ -2,20 +2,21 @@ package com.czlis.liswork.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants; import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants;
import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.interfaceCommon.constants.SampleStatusConstants; import com.czlis.interfaceCommon.constants.SampleStatusConstants;
import com.czlis.interfaceCommon.mapper.LabReqdetailMapper;
import com.czlis.interfaceCommon.mapper.LabReqmainMapper; import com.czlis.interfaceCommon.mapper.LabReqmainMapper;
import com.czlis.interfaceCommon.pojo.inter.DayMessage; import com.czlis.interfaceCommon.pojo.inter.DayMessage;
import com.czlis.interfaceCommon.pojo.inter.GetReqInterface; import com.czlis.interfaceCommon.pojo.inter.GetReqInterface;
import com.czlis.interfaceCommon.pojo.inter.SetReqStatus; import com.czlis.interfaceCommon.pojo.inter.SetReqStatus;
import com.czlis.interfaceCommon.utils.AgeUtils;
import com.czlis.interfaceCommon.utils.CommonUtil; import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisInterfaceUtil; import com.czlis.interfaceCommon.utils.LisInterfaceUtil;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.liswork.mapper.LisWorkOperMapper; import com.czlis.liswork.mapper.LisWorkOperMapper;
import com.czlis.liswork.mapper.dict.LabInstrvsreqclassMapper; import com.czlis.liswork.mapper.dict.LabInstrvsreqclassMapper;
import com.czlis.common.core.domain.entity.lis.LabInstrvsreqclass;
import com.czlis.liswork.service.LisWorkOperService; import com.czlis.liswork.service.LisWorkOperService;
import com.czlis.liswork.utils.LisWorkUtil; import com.czlis.liswork.utils.LisWorkUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -40,7 +41,8 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
LabInstrvsreqclassMapper labInstrvsreqclassMapper; LabInstrvsreqclassMapper labInstrvsreqclassMapper;
@Autowired @Autowired
LabReqmainMapper labReqmainMapper; LabReqmainMapper labReqmainMapper;
@Autowired
LabReqdetailMapper labReqdetailMapper;
@Override @Override
public Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId) { public Result newPatInfo(Date jyrq,String ybh, String sqh, String yq, Long userId) {
@ -161,17 +163,17 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
labPat.setBrxb(labReqmain.getBrxb()); labPat.setBrxb(labReqmain.getBrxb());
labPat.setBrly(labReqmain.getBrly()); labPat.setBrly(labReqmain.getBrly());
labPat.setCh(labReqmain.getCh()); labPat.setCh(labReqmain.getCh());
Map<String, String> ageFromBirthDay = LisWorkUtil.getAgeFromBirthDay(DateUtil.format(labReqmain.getBrsr(), "yyyy-MM-dd")); Map<String, Object> ageFromBirthDay = AgeUtils.getAgeByBirthDate(labReqmain.getBrsr());
String age = ageFromBirthDay.get("age"); String age = ageFromBirthDay.get("nl").toString();
String unit = ageFromBirthDay.get("unit"); String unit = ageFromBirthDay.get("nldw").toString();
labPat.setNl(Integer.parseInt(age)); labPat.setNl(Integer.parseInt(age));
labPat.setNldw(unit); labPat.setNldw(unit);
labPat.setSqh(sqh); labPat.setSqh(sqh);
labPat.setSqsj(labReqmain.getSqsj()); labPat.setSqsj(commonUtil.getCurrentTime());
labPat.setJgbz("0"); labPat.setJgbz("0");
labPat.setZd(labReqmain.getZd()); labPat.setZd(labReqmain.getZd());
labPat.setCyrq(labReqmain.getCysj()); labPat.setCyrq(labReqmain.getCysj());
labPat.setJymd(labReqmain.getJymd()); labPat.setJymd(LisUtil.substringByGbkWidth(labReqmain.getJymd(),0,50));
labPat.setLastuser(userId); labPat.setLastuser(userId);
labPat.setLastdt(commonUtil.getCurrentTime()); labPat.setLastdt(commonUtil.getCurrentTime());
labPat.setShcs(0); labPat.setShcs(0);
@ -192,5 +194,125 @@ public class LisWorkOperServiceImpl implements LisWorkOperService {
labReqmainMapper.updateLabReqmainZT(map); labReqmainMapper.updateLabReqmainZT(map);
} }
/**
* 审核报告单全流程
* @param jyrq
* @param yq
* @param ybh
* @param hdys
* @return
*/
public Result check2(Date jyrq, String yq, String ybh, String hdys){
//1,审核权限校验
if(!commonUtil.getUserPower(yq,hdys,20))return new Result("-1","当前核对者无权对本仪器报告审核!");
//2:数据合法性校验
Result result=beforecheck2(jyrq, yq, ybh, hdys);
if("0".equals(result.getCode()))return result;
//3:数据完整性校验
result= saveallresult(jyrq, yq, ybh, hdys);
if("0".equals(result.getCode()))return result;
//4:CA请求业务的处理
//Result result=addCA(jyrq, yq, ybh, hdys);
//if("0".equals(result.getCode()))return result;
//5:数据状态修改,异步上传接口作业创建
//Result result=aftercheck2(jyrq, yq, ybh, hdys);
//if("0".equals(result.getCode()))return result;
return new Result("0","保存成功!");
}
public Result beforecheck2(Date jyrq, String yq, String ybh, String hdys){
if(hdys==null || "".equals(hdys) ) new Result("-1","审核者为空,无法审核!");
LabPat labPat=commonUtil.getLabPatOne(jyrq, yq, ybh);
if(labPat==null)return new Result("-1","病人信息为空禁止审核!");
String jgbz=labPat.getJgbz();
if("2".equals(jgbz)) new Result("0","保存成功!");
if("5".equals(jgbz)) return new Result("-1","已锁定报告禁止审核!");
if(!"1".equals(jgbz)){
String f_check1=commonUtil.getComOptValue(yq,"f_check1");
if("1".equals(f_check1)) return new Result("-1","审核前必须先初审!");
}
String brxm=labPat.getBrxm();
if(brxm==null || "".equals(brxm) ) new Result("-1","姓名为空禁止审核!");
return new Result("0","保存成功!");
}
/**
* 保存所有结果的修正值,涉及:空结果清除,计算项目添加,添加单位,添加申请项目编码,参考值重新计算更新,结果标志重新计算更新,危急值标志计算更新
* @param jyrq
* @return
*/
public Result saveallresult(Date jyrq, String yq, String ybh, String hdys){
List<LabResult> labResultList =commonUtil.getLabResultList(jyrq, yq, ybh);
if(labResultList==null)return new Result("-1","结果为空禁止审核!");
for (LabResult labResult : labResultList) {
String csjg=labResult.getCsjg();
if ("未做".equals(csjg)) {
return new Result("-1","还有结果为“未做”的项目,不可审核!");
}
if(csjg!=null ) {
if(csjg.contains("ERR"))return new Result("-1","有结果错误,不可审核!");
if(csjg.contains("需稀释"))return new Result("-1","有结果需稀释,不可审核!");
if(csjg.contains("需复做"))return new Result("-1","有结果需复做,不可审核!");
}
}
String keepnodataitem=commonUtil.getComOptValue(yq,"keepnodataitem");
if("1".equals(keepnodataitem)){}else{
for (LabResult labResult : labResultList) {
String csjg=labResult.getCsjg();
if (csjg==null || "".equals(csjg)) {
commonUtil.delLabResult(labResult);
}
}
}
String yqdl=lisWorkOperMapper.selectyqdl(yq);
if(!"细菌仪".equals(yqdl)) {
Map<String, Object> map = new HashMap<>();
map.put("jyrq", jyrq);
map.put("yq", yq);
map.put("ybh", ybh);
map.put("settype", "1");
map.put("retcode", "");
map.put("retmsg", "");
lisWorkOperMapper.sp_setrefs(map);
String retCode = String.valueOf(map.get("retcode"));
String retMsg = String.valueOf(map.get("retmsg"));
log.info("调用存储过程{}返回值:{},{}", "sp_setrefs", retCode, retMsg);
if (retCode == null || "".equals(retCode) || "-1".equals(retCode))
return new Result("-1", "保存常规参考值失败!");
}
setItemSqxmdh(jyrq, yq, ybh);
return new Result("0","保存成功!");
}
/**
* 结果表补充申请单项目代码
* @param jyrq
* @param yq
* @param ybh
*/
public void setItemSqxmdh(Date jyrq, String yq, String ybh){
String sqh=commonUtil.getSqhByKey(jyrq,yq,ybh);
if (sqh==null || "".equals(sqh)) {}else{
int sl=labReqdetailMapper.getCountByKey(sqh);
if(sl==1){
String sqxmdh=lisWorkOperMapper.selectsqxmdh(sqh);
lisWorkOperMapper.updatelabresultsqxmdhall(jyrq,yq,ybh,sqxmdh);
}else{
lisWorkOperMapper.updatelabresultsqxmdh(jyrq,yq,ybh,sqh);
}
}
}
/**
* 计算项目增加及重新计算
* @param jyrq
* @param yq
* @param ybh
*/
public void calcsample(Date jyrq, String yq, String ybh){
}
} }

View File

@ -8,6 +8,27 @@
where lab_reqdetail.sqxmdh=xm_feeinstr.sfxmdh where lab_reqdetail.sqxmdh=xm_feeinstr.sfxmdh
and lab_reqdetail.sqh=#{sqh} and xm_feeinstr.yq=#{yq}; and lab_reqdetail.sqh=#{sqh} and xm_feeinstr.yq=#{yq};
</select> </select>
<select id="selectsqxmdh" resultType="String">
select sqxmdh from lab_reqdetail where lab_reqdetail.sqh=#{sqh}
</select>
<select id="selectyqdl" resultType="String">
select yqdl from lab_instr where lab_instr.yq=#{yq}
</select>
<update id="updatelabresultsqxmdhall">
update lab_result set sqxmdh=#{sqxmdh} where yq=#{yq} and jyrq=#{jyrq} and ybh=#{ybh};
</update>
<update id="updatelabresultsqxmdh">
<![CDATA[ update a set a.sqxmdh=c.sqxmdh from lab_result a,xm_reqitem_vs_reportitem b ,lab_reqdetail c
where b.sqxmdh=c.sqxmdh and b.xmdh=a.xmdh and b.yq=a.yq and c.sqh=#{sqh} and a.yq=#{yq} and a.ybh=#{ybh} and a.jyrq=#{jyrq} ;
]]>
</update>
<select id="spSetrefs" parameterType="map" statementType="CALLABLE" useCache="false">
{call sp_setrefs(#{jyrq,mode=IN,jdbcType=DATETIME},
#{yq,mode=IN,jdbcType=VARCHAR},
#{ybh,mode=IN,jdbcType=VARCHAR},
#{settype,mode=IN,jdbcType=VARCHAR},
#{retmsg,mode=OUT,jdbcType=VARCHAR},
#{retcode,mode=OUT,jdbcType=INTEGER})
}
</select>
</mapper> </mapper>