Merge remote-tracking branch 'origin/master'

This commit is contained in:
tangw 2025-11-27 19:08:06 +08:00
commit 805d9a2ffa
3 changed files with 141 additions and 121 deletions

View File

@ -17,15 +17,16 @@ import java.util.List;
@Component @Component
@Slf4j @Slf4j
public class LisWorkUtils extends LisWorkconfirm{ public class LisWorkUtils extends LisWorkconfirm {
/** /**
* 通用调用医院定制接口 * 通用调用医院定制接口
*
* @param msgid * @param msgid
* @param content * @param content
* @return * @return
*/ */
public Result setDayMessage(String msgid,String content){ public Result setDayMessage(String msgid, String content) {
DayMessage dayMessage = new DayMessage(); DayMessage dayMessage = new DayMessage();
dayMessage.setIp(getIP()); dayMessage.setIp(getIP());
dayMessage.setYljg(getYLJG()); dayMessage.setYljg(getYLJG());
@ -34,8 +35,9 @@ public class LisWorkUtils extends LisWorkconfirm{
dayMessage.setMsg(content); dayMessage.setMsg(content);
return lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.DAYMESSAGE, dayMessage); return lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.DAYMESSAGE, dayMessage);
} }
public LastLabPatParam getLastLabPatParam(LabPat labPat){
LastLabPatParam nullret=new LastLabPatParam(); public LastLabPatParam getLastLabPatParam(LabPat labPat) {
LastLabPatParam nullret = new LastLabPatParam();
Date jyrq = labPat.getJyrq(); Date jyrq = labPat.getJyrq();
String yq = labPat.getYq(); String yq = labPat.getYq();
String ybh = labPat.getYbh(); String ybh = labPat.getYbh();

View File

@ -40,92 +40,102 @@ public class LisWorkPageInfoServiceImpl implements LisWorkPageInfoService {
if (!labGraphList.isEmpty()) { if (!labGraphList.isEmpty()) {
for (LabGraph labGraph : labGraphList) { for (LabGraph labGraph : labGraphList) {
byte[] txnr = labGraph.getTxnr(); byte[] txnr = labGraph.getTxnr();
String picdata=Base64.encode(txnr); String picdata = Base64.encode(txnr);
String bz1=labGraph.getBz1(); String bz1 = labGraph.getBz1();
if(bz1==null)bz1="1"; if (bz1 == null) bz1 = "1";
int lbidx=bz1.indexOf("."); int lbidx = bz1.indexOf(".");
if(lbidx>0)bz1=bz1.substring(0,lbidx); if (lbidx > 0) bz1 = bz1.substring(0, lbidx);
Map<String,String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("xh",bz1); map.put("xh", bz1);
map.put("txlb",labGraph.getTxlb()); map.put("txlb", labGraph.getTxlb());
map.put("txmc",labGraph.getTxmc()); map.put("txmc", labGraph.getTxmc());
map.put("bz",labGraph.getBz2()); map.put("bz", labGraph.getBz2());
map.put("picbase64",picdata); map.put("picbase64", picdata);
listOfMaps.add(map); listOfMaps.add(map);
} }
} }
return new Result("0","获取数据成功!",listOfMaps); return new Result("0", "获取数据成功!", listOfMaps);
} }
@Override @Override
public Result getRedo(Date jyrq, String yq, String ybh) { public Result getRedo(Date jyrq, String yq, String ybh) {
List<LabResultRe> labResultReList = lisWorkPageInfoMapper.getRedo(jyrq,yq,ybh); List<LabResultRe> labResultReList = lisWorkPageInfoMapper.getRedo(jyrq, yq, ybh);
return new Result("0","获取数据成功!",labResultReList); return new Result("0", "获取数据成功!", labResultReList);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result swapRedo(LabResultRe labResultRe) { public Result swapRedo(LabResultRe labResultRe) {
Date jyrq=labResultRe.getJyrq(); Date jyrq = labResultRe.getJyrq();
String yq=labResultRe.getYq(); String yq = labResultRe.getYq();
String ybh=labResultRe.getYbh(); String ybh = labResultRe.getYbh();
String xmdh=labResultRe.getXmdh(); String xmdh = labResultRe.getXmdh();
String csjg=labResultRe.getCsjg(); String csjg = labResultRe.getCsjg();
LabPat labPat=commonUtil.getLabPatOne(jyrq,yq,ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
if(labPat!=null){ if (labPat != null) {
String jgbz=labPat.getJgbz(); String jgbz = labPat.getJgbz();
if(jgbz==null)jgbz="0"; if (jgbz == null) jgbz = "0";
if("2".equals(jgbz)||"5".equals(jgbz)){ if ("2".equals(jgbz) || "5".equals(jgbz)) {
return new Result("1","样本已审核禁止交换!"); return new Result("1", "样本已审核禁止交换!");
} }
} }
LabResult labResult=commonUtil.getLabResult(jyrq,yq,ybh,xmdh); LabResult labResult = commonUtil.getLabResult(jyrq, yq, ybh, xmdh);
if(labResult==null){ if (labResult == null) {
return new Result("1","当前结果为空无法交换!"); return new Result("1", "当前结果为空无法交换!");
} }
String csjg0=labResult.getCsjg(); String csjg0 = labResult.getCsjg();
labResultRe.setCsjg(csjg0); labResultRe.setCsjg(csjg0);
labResult.setCsjg(csjg); labResult.setCsjg(csjg);
labResult.setRedo_flag("1"); labResult.setRedo_flag("1");
lisWorkUtils.changeresult(labResult); lisWorkUtils.changeresult(labResult);
lisWorkPageInfoMapper.updateLabResultRe(labResultRe); lisWorkPageInfoMapper.updateLabResultRe(labResultRe);
return new Result("0","交换数据成功!",labResultRe); return new Result("0", "交换数据成功!", labResultRe);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result saveRedo(LabResultRe labResultRe) { public Result saveRedo(LabResultRe labResultRe) {
Date jyrq=labResultRe.getJyrq(); Date jyrq = labResultRe.getJyrq();
String yq=labResultRe.getYq(); String yq = labResultRe.getYq();
String ybh=labResultRe.getYbh(); String ybh = labResultRe.getYbh();
String xmdh=labResultRe.getXmdh(); String xmdh = labResultRe.getXmdh();
LabResultRe labResultRe0 =lisWorkPageInfoMapper.getLabResultRe(jyrq,yq,ybh,xmdh); LabResultRe labResultRe0 = lisWorkPageInfoMapper.getLabResultRe(jyrq, yq, ybh, xmdh);
if(labResultRe0==null){ if (labResultRe0 == null) {
lisWorkPageInfoMapper.insertLabResultRe(labResultRe); lisWorkPageInfoMapper.insertLabResultRe(labResultRe);
}else{ } else {
lisWorkPageInfoMapper.updateLabResultRe(labResultRe); lisWorkPageInfoMapper.updateLabResultRe(labResultRe);
} }
return new Result("0","保存成功!",labResultRe); return new Result("0", "保存成功!", labResultRe);
} }
@Override
@Transactional(rollbackFor = Exception.class) @Override
public Result deleteRedo(LabResultRe labResultRe){ @Transactional(rollbackFor = Exception.class)
public Result deleteRedo(LabResultRe labResultRe) {
lisWorkPageInfoMapper.deleteRedo(labResultRe); lisWorkPageInfoMapper.deleteRedo(labResultRe);
return new Result("0","成功!"); return new Result("0", "成功!");
} }
@Override @Override
public Result getHistory(Date jyrq, String yq, String ybh) { public Result getHistory(Date jyrq, String yq, String ybh) {
LabPat labPat=commonUtil.getLabPatOne(jyrq,yq,ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
LastLabPatParam lastLabPatParam=lisWorkUtils.getLastLabPatParam(labPat); LastLabPatParam lastLabPatParam = lisWorkUtils.getLastLabPatParam(labPat);
if(lastLabPatParam==null){return new Result("-1","缺少查询条件!");} if (lastLabPatParam == null) {
Map<String,Object> map=BeanUtil.beanToMap(lastLabPatParam); return new Result("-1", "缺少查询条件!");
Result historyResult = getHistoryResult(jyrq,yq,ybh,map); }
if("0".equals(historyResult.getCode())) { Map<String, Object> map = BeanUtil.beanToMap(lastLabPatParam);
if(map == null || map.size() <= 0){
return new Result("-1","查询条件转换错误!");
}
Result historyResult = getHistoryResult(jyrq, yq, ybh, map);
if ("0".equals(historyResult.getCode())) {
return new Result("0", "获取成功!", historyResult.getData()); return new Result("0", "获取成功!", historyResult.getData());
} }
return new Result("-1","无历史数据!"); return new Result("-1", "无历史数据!");
} }
/** /**
* 获取收费信息 * 获取收费信息
*
* @param jyrq * @param jyrq
* @param yq * @param yq
* @param ybh * @param ybh
@ -134,10 +144,10 @@ public Result deleteRedo(LabResultRe labResultRe){
@Override @Override
public Result getReqdetail(Date jyrq, String yq, String ybh) { public Result getReqdetail(Date jyrq, String yq, String ybh) {
LabPat labPatOne = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPatOne = commonUtil.getLabPatOne(jyrq, yq, ybh);
if(labPatOne == null) return new Result("-1","没有查到对应的上机记录!"); if (labPatOne == null) return new Result("-1", "没有查到对应的上机记录!");
String sqh = labPatOne.getSqh(); String sqh = labPatOne.getSqh();
List<Map<String,Object>> labReqdetailList = lisWorkPageInfoMapper.getReqdetail(sqh); List<Map<String, Object>> labReqdetailList = lisWorkPageInfoMapper.getReqdetail(sqh);
return new Result("0","获取数据成功!",labReqdetailList); return new Result("0", "获取数据成功!", labReqdetailList);
} }
@Override @Override
@ -147,31 +157,34 @@ public Result deleteRedo(LabResultRe labResultRe){
String value = "30"; String value = "30";
DateTime dayEnd = DateUtil.offsetDay(DateUtil.date(), Integer.parseInt(value)); DateTime dayEnd = DateUtil.offsetDay(DateUtil.date(), Integer.parseInt(value));
LabPat labPatOne = commonUtil.getLabPatOne(jyrq, yq, ybh); LabPat labPatOne = commonUtil.getLabPatOne(jyrq, yq, ybh);
if(labPatOne == null) return new Result("0","没有查到需要的数据!"); if (labPatOne == null) return new Result("0", "没有查到需要的数据!");
String brdh = labPatOne.getBrdh(); String brdh = labPatOne.getBrdh();
String brxm = labPatOne.getBrxm(); String brxm = labPatOne.getBrxm();
List<Map<String,Object>> queryList = lisWorkPageInfoMapper.getOtherinstr(jyrq,dayEnd,brdh,brxm); List<Map<String, Object>> queryList = lisWorkPageInfoMapper.getOtherinstr(jyrq, dayEnd, brdh, brxm);
return new Result("0","查询数据成功!",queryList); return new Result("0", "查询数据成功!", queryList);
} }
@Override @Override
public Result getReqInfo(Date jyrq, String yq, String ybh) { public Result getReqInfo(Date jyrq, String yq, String ybh) {
List<Map<String,Object>> reqInfoList = lisWorkPageInfoMapper.getReqInfo(jyrq,yq,ybh); List<Map<String, Object>> reqInfoList = lisWorkPageInfoMapper.getReqInfo(jyrq, yq, ybh);
return new Result("0","获取标本流转数据成功!",reqInfoList); return new Result("0", "获取标本流转数据成功!", reqInfoList);
} }
@Override @Override
public Result getOtherinstrDetail(String brdh, String yq, Date jyrq,String ybh) { public Result getOtherinstrDetail(String brdh, String yq, Date jyrq, String ybh) {
LabPat labPat=commonUtil.getLabPatOne(jyrq,yq,ybh); LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh);
LastLabPatParam lastLabPatParam=lisWorkUtils.getLastLabPatParam(labPat); LastLabPatParam lastLabPatParam = lisWorkUtils.getLastLabPatParam(labPat);
if(lastLabPatParam==null){return new Result("-1","缺少查询条件!");} if (lastLabPatParam == null) {
Map<String,Object> map=BeanUtil.beanToMap(lastLabPatParam); return new Result("-1", "缺少查询条件!");
Result historyResult = getHistoryResult(jyrq,yq,ybh,map); }
return new Result("0","获取成功!",historyResult.getData()); Map<String, Object> map = BeanUtil.beanToMap(lastLabPatParam);
Result historyResult = getHistoryResult(jyrq, yq, ybh, map);
return new Result("0", "获取成功!", historyResult.getData());
} }
/** /**
* 申请项目明细 * 申请项目明细
*
* @param yq * @param yq
* @param sqxmdh * @param sqxmdh
* @return * @return
@ -179,31 +192,35 @@ public Result deleteRedo(LabResultRe labResultRe){
@Override @Override
public Result getReqdetailMX(String yq, String sqxmdh) { public Result getReqdetailMX(String yq, String sqxmdh) {
List<Map<String, Object>> bgxmList = lisWorkPageInfoMapper.getbgxm(yq, sqxmdh); List<Map<String, Object>> bgxmList = lisWorkPageInfoMapper.getbgxm(yq, sqxmdh);
return new Result("0","获取数据成功!",bgxmList); return new Result("0", "获取数据成功!", bgxmList);
} }
@Override @Override
public Result getInputmdl(String yq) { public Result getInputmdl(String yq) {
List<LabInputmdl> labInputmdlList = lisWorkPageInfoMapper.getInputmdl(yq); List<LabInputmdl> labInputmdlList = lisWorkPageInfoMapper.getInputmdl(yq);
return new Result("0","获取数据成功!",labInputmdlList); return new Result("0", "获取数据成功!", labInputmdlList);
} }
public Result getHistoryResult(Date jyrq, String yq, String ybh,Map<String,Object> map){ public Result getHistoryResult(Date jyrq, String yq, String ybh, Map<String, Object> map) {
List<HistoryResult> hisResultList0 = lisWorkPageInfoMapper.getHisResult(map); List<HistoryResult> hisResultList0 = lisWorkPageInfoMapper.getHisResult(map);
if(hisResultList0.isEmpty()){return new Result("-1","无历史数据!");} if (hisResultList0.isEmpty()) {
List<HistoryResult> hisResultThisList=hisResultList0.stream().filter(st->jyrq.equals(st.getJyrq())&&yq.trim().equals(st.getYq().trim())&&ybh.equals(st.getYbh())).collect(Collectors.toList()); return new Result("-1", "无历史数据!");
}
List<HistoryResult> hisResultThisList = hisResultList0.stream().filter(st -> jyrq.equals(st.getJyrq()) && yq.trim().equals(st.getYq().trim()) && ybh.equals(st.getYbh())).collect(Collectors.toList());
HistoryResultDTO historyResultDTO = new HistoryResultDTO(); HistoryResultDTO historyResultDTO = new HistoryResultDTO();
historyResultDTO.setFirst(hisResultThisList); historyResultDTO.setFirst(hisResultThisList);
List<HistoryResult> hisResultList=hisResultList0.stream().filter(st->!(jyrq.equals(st.getJyrq())&&yq.trim().equals(st.getYq().trim())&&ybh.equals(st.getYbh()))).collect(Collectors.toList()); List<HistoryResult> hisResultList = hisResultList0.stream().filter(st -> !(jyrq.equals(st.getJyrq()) && yq.trim().equals(st.getYq().trim()) && ybh.equals(st.getYbh()))).collect(Collectors.toList());
if(hisResultList.isEmpty()){return new Result("-1","无历史数据!",historyResultDTO);} if (hisResultList.isEmpty()) {
return new Result("-1", "无历史数据!", historyResultDTO);
}
// 依据 jyrq,yq,ybh 去重(自定义去重字段) // 依据 jyrq,yq,ybh 去重(自定义去重字段)
List<HistoryResult> distinctList = hisResultList.stream() List<HistoryResult> distinctList = hisResultList.stream()
// 利用 LinkedHashSet 去重并保留顺序,键为 "jyrq,yq,ybh" 的组合 // 利用 LinkedHashSet 去重并保留顺序,键为 "jyrq,yq,ybh" 的组合
.collect(Collectors.toMap( .collect(Collectors.toMap(
// 生成唯一键:将所选字段拼接为字符串(确保唯一) // 生成唯一键:将所选字段拼接为字符串(确保唯一)
item -> item.getJyrq() + "_" + item.getYq().trim()+"_"+item.getYbh(), item -> item.getJyrq() + "_" + item.getYq().trim() + "_" + item.getYbh(),
// 值为对象本身 // 值为对象本身
item -> item, item -> item,
// 若键重复,保留第一个出现的对象 // 若键重复,保留第一个出现的对象
@ -219,23 +236,23 @@ public Result deleteRedo(LabResultRe labResultRe){
.collect(Collectors.toList()); .collect(Collectors.toList());
int i = 0; int i = 0;
for (HistoryResult HistoryResult0 : sortedList) { for (HistoryResult HistoryResult0 : sortedList) {
Date jyrq0=HistoryResult0.getJyrq(); Date jyrq0 = HistoryResult0.getJyrq();
String yq0=HistoryResult0.getYq(); String yq0 = HistoryResult0.getYq();
String ybh0=HistoryResult0.getYbh(); String ybh0 = HistoryResult0.getYbh();
List<HistoryResult> historySingleResultList=hisResultList.stream().filter(st->jyrq0.equals(st.getJyrq())&&yq0.equals(st.getYq())&&ybh0.equals(st.getYbh())).collect(Collectors.toList()); List<HistoryResult> historySingleResultList = hisResultList.stream().filter(st -> jyrq0.equals(st.getJyrq()) && yq0.equals(st.getYq()) && ybh0.equals(st.getYbh())).collect(Collectors.toList());
boolean havexmdh=false; boolean havexmdh = false;
for (HistoryResult labResult : hisResultThisList) { for (HistoryResult labResult : hisResultThisList) {
String xmdh = labResult.getXmdh(); String xmdh = labResult.getXmdh();
List<HistoryResult> labResult0 = historySingleResultList.stream().filter(rlog -> xmdh.equals(rlog.getXmdh())).collect(Collectors.toList()); List<HistoryResult> labResult0 = historySingleResultList.stream().filter(rlog -> xmdh.equals(rlog.getXmdh())).collect(Collectors.toList());
if (!labResult0.isEmpty()) { if (!labResult0.isEmpty()) {
havexmdh=true; havexmdh = true;
break; break;
} }
} }
if (havexmdh) { if (havexmdh) {
i++; i++;
switch (i){ switch (i) {
case 1: case 1:
historyResultDTO.setOne(historySingleResultList); historyResultDTO.setOne(historySingleResultList);
break; break;
@ -266,14 +283,14 @@ public Result deleteRedo(LabResultRe labResultRe){
} }
} }
} }
return new Result("0","获取成功!",historyResultDTO); return new Result("0", "获取成功!", historyResultDTO);
} }
@Override @Override
public Result getclinicref(String yq, String xmdh) { public Result getclinicref(String yq, String xmdh) {
String lcyy=lisWorkPageInfoMapper.getclinicref(yq,xmdh); String lcyy = lisWorkPageInfoMapper.getclinicref(yq, xmdh);
return new Result("0","获取成功!",lcyy); return new Result("0", "获取成功!", lcyy);
} }
} }

View File

@ -162,7 +162,7 @@
where a.jyrq = b.jyrq and a.yq = b.yq and a.ybh = b.ybh and a.jgbz = '2' where a.jyrq = b.jyrq and a.yq = b.yq and a.ybh = b.ybh and a.jgbz = '2'
and c.yq = b.yq and c.xmdh = b.xmdh and d.yq = a.yq and c.yq = b.yq and c.xmdh = b.xmdh and d.yq = a.yq
<if test="startda != null">and a.jyrq >= #{startda}</if> <if test="startda != null">and a.jyrq >= #{startda}</if>
<if test="endda != null">and #{endda} >= a.jyrq </if> <if test="endda != null"><![CDATA[and a.jyrq <= #{endda}]]> </if>
<if test="yqdl != null and yqdl != ''"> and d.yqdl = #{yqdl}</if> <if test="yqdl != null and yqdl != ''"> and d.yqdl = #{yqdl}</if>
<if test="brdh != null and brdh != ''"> and a.brdh = #{brdh}</if> <if test="brdh != null and brdh != ''"> and a.brdh = #{brdh}</if>
<if test="brxm != null and brxm !=''">and a.brxm = #{brxm}</if> <if test="brxm != null and brxm !=''">and a.brxm = #{brxm}</if>
@ -173,6 +173,7 @@
<if test="yq != null and yq != ''"> and a.yq = #{yq}</if> <if test="yq != null and yq != ''"> and a.yq = #{yq}</if>
<if test="ybh != null and ybh != ''"> and a.ybh = #{ybh}</if> <if test="ybh != null and ybh != ''"> and a.ybh = #{ybh}</if>
order by c.dyxh asc order by c.dyxh asc
</select> </select>