查询修改,送检业务修改

This commit is contained in:
jiangs 2026-03-19 17:38:03 +08:00
parent ec10a19cd2
commit 890ae37381
10 changed files with 154 additions and 36 deletions

View File

@ -311,7 +311,23 @@ public class RegTransitSample {
private Date DateStart;
private Date DateEnd;
/**
* 项目类别提示
*/
private String itemclass_tips;
/**
* 作废时间
*/
private Date cancelTime;
/**
* 作废人代码
*/
private String cancelCode;
/**
* 作废人姓名
*/
private String cancelName;

View File

@ -33,6 +33,8 @@ public class RegRequestInfoController extends BaseController {
@ApiOperation("查询申请单信息")
@GetMapping("/queryRegRequestInfo")
public Result queryRegRequestInfo(RegRequestInfoDTO regRequestInfoDTO) {
String loginYLJG = getLoginUser().getSysLoginParam().getLoginYLJG();
regRequestInfoDTO.setSrcHospCode(loginYLJG);
return regRequestInfoService.queryRegRequestInfo(regRequestInfoDTO);
}

View File

@ -53,8 +53,15 @@ public class RegTransitSampleController extends BaseController {
@ApiOperation("状态修改")
@PostMapping("/sampleSign")
public Result sampleSign(@RequestBody SampleSignVO sampleSignVO){
List<String> barcode = sampleSignVO.getBarcode();
String status = sampleSignVO.getStatus();
String nickName = getLoginUser().getUser().getNickName();
sampleSignVO.setAffirmUserCode(getUsername());
sampleSignVO.setAffirmUserName(nickName);
sampleSignVO.setSendUserCode(getUsername());
sampleSignVO.setSendUserName(nickName);
sampleSignVO.setSignUserCode(getUsername());
sampleSignVO.setSignUserName(nickName);
sampleSignVO.setBackUserCode(getUsername());
sampleSignVO.setBackUserName(nickName);
return regTransitSampleService.sampleSign(sampleSignVO,getUsername());
}

View File

@ -40,4 +40,22 @@ public class SampleSignVO {
private String signUserCode;
@ApiModelProperty(value = "标本签收人姓名")
private String signUserName;
@ApiModelProperty(value = "标本退回人代码")
private String backUserCode;
@ApiModelProperty(value = "标本退回人姓名")
private String backUserName;
@ApiModelProperty(value = "报告时间")
private Date ReportTime;
@ApiModelProperty(value = "报告人代码")
private String ReportUserCode;
@ApiModelProperty(value = "报告人姓名")
private String ReportUserName;
@ApiModelProperty(value = "标本作废时间")
private Date cancelTime;
@ApiModelProperty(value = "标本作废人代码")
private String cancelCode;
@ApiModelProperty(value = "标本作废人名称")
private String cancelName;
@ApiModelProperty(value = "标本退回时间")
private Date BackTime;
}

View File

@ -15,4 +15,5 @@ public class RegRequestInfoDTO {
private String status;
private Date begdate;
private Date enddate;
private String SrcHospCode;
}

View File

@ -202,7 +202,51 @@ public class RegInterfaceImpl {
break;
case "60": //上机检测
break;
case "70": //结果审核
Date reportTime = sampleSignVO.getReportTime();
String reportUserCode = sampleSignVO.getReportUserCode();
String reportUserName = sampleSignVO.getReportUserName();
if(reportTime == null) return new Result("-1","审核时间不能为空!");
if(reportUserCode == null || reportUserCode.equals("")) return new Result("-1","审核人代码不能为空!");
if(reportUserName == null || reportUserName.equals("")) return new Result("-1","审核人姓名不能为空!");
RegTransitSample regTransitSample70 = new RegTransitSample();
regTransitSample70.setBarcode(barcode);
regTransitSample70.setReportTime(reportTime);
regTransitSample70.setReportUserCode(reportUserCode);
regTransitSample70.setReportUserName(reportUserName);
regTransitSample70.setStatus("70");
regTransitSampleMapper.updateRegTransitSample(regTransitSample70);
break;
case "90": //申请作废
Date cancelTime = sampleSignVO.getCancelTime();
String cancelCode = sampleSignVO.getCancelCode();
String cancelName = sampleSignVO.getCancelName();
if(cancelTime == null) return new Result("-1","cancelTime申请作废时间不能为空!");
if(cancelCode == null || cancelCode.equals("")) return new Result("-1","cancelCode申请作废代码不能为空!");
if(cancelName == null || cancelName.equals("")) return new Result("-1","cancelName申请作废名称不能为空!");
RegTransitSample regTransitSample90 = new RegTransitSample();
regTransitSample90.setBarcode(barcode);
regTransitSample90.setCancelTime(cancelTime);
regTransitSample90.setCancelCode(cancelCode);
regTransitSample90.setCancelName(cancelName);
regTransitSample90.setStatus("90");
regTransitSampleMapper.updateRegTransitSample(regTransitSample90);
break;
case "100": //标本退回
String backUserCode = sampleSignVO.getBackUserCode();
String backUserName = sampleSignVO.getBackUserName();
Date backTime = sampleSignVO.getBackTime();
if(backTime == null) return new Result("-1","backTime标本退回时间不能为空!");
if(backUserCode == null || backUserCode.equals("")) return new Result("-1","backUserCode标本退回人员代码不能为空!");
if(backUserName == null || backUserName.equals("")) return new Result("-1","backUserName标本退回人员姓名不能为空!");
RegTransitSample regTransitSample100 = new RegTransitSample();
regTransitSample100.setBarcode(barcode);
regTransitSample100.setBackTime(backTime);
regTransitSample100.setBackUserCode(backUserCode);
regTransitSample100.setBackUserName(backUserName);
regTransitSample100.setStatus("100");
regTransitSampleMapper.updateRegTransitSample(regTransitSample100);
break;
}

View File

@ -6,6 +6,7 @@ import cn.hutool.json.JSONUtil;
import com.transitPlatForm.common.core.domain.Result;
import com.transitPlatForm.common.core.domain.entity.LabIntersendList;
import com.transitPlatForm.common.core.domain.entity.SysLoginParam;
import com.transitPlatForm.common.core.domain.entity.SysUser;
import com.transitPlatForm.common.core.domain.entity.reg.*;
import com.transitPlatForm.common.utils.SecurityUtils;
import com.transitPlatForm.common.utils.ip.IpUtils;
@ -165,7 +166,7 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService {
List<RegTransitSample> regTransitSampleList = regTransitSampleMapper.getRegTransitSample(regTransitSample);
if (regTransitSampleList.size() <= 0) return new Result("-1", "没有查到该标本的条码信息,请先保存数据!");
//修改打印状态
applicationContext.getBean(RegRequestInfoServiceImpl.class).updatePrintStatus(applyId, barcode);
applicationContext.getBean(RegRequestInfoServiceImpl.class).updatePrintStatus(applyId, barcode,userName);
}
printBar(barcodeList1, userName);
@ -212,8 +213,6 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService {
List<RegTransitSampleDetail> regTransitSampleDetailList = new ArrayList<>();
List<Map<String, Object>> reqSqdInfoList = new ArrayList<>();
String hospitalBrly = commonUtil.selectConfigByKey("hospital_brly");
//获取项目的对照信息列表
List<Map<String, Object>> feeClassList = commonMapper.getFeeClassList();
for (RegApplyDetail regApplyDetail : regApplyDetailList) {
@ -238,7 +237,7 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService {
reqSqdInfo.put("sample_PatId", regApply.getPatId());
reqSqdInfo.put("sample_PatCardType", regApply.getPatCardType());
reqSqdInfo.put("sample_PatCardNo", regApply.getPatCardNo());
reqSqdInfo.put("sample_PatType", hospitalBrly);//regApply.getPatType() 这里条码的病人来源,需要根据医院的需求修改
reqSqdInfo.put("sample_PatType",regApply.getPatType());//regApply.getPatType() 这里条码的病人来源,需要根据医院的需求修改
reqSqdInfo.put("sample_RegNo", regApply.getRegNo());
reqSqdInfo.put("sample_PatName", regApply.getPatName());
reqSqdInfo.put("sample_PatSex", regApply.getPatSex());
@ -469,17 +468,26 @@ public class RegRequestInfoServiceImpl implements RegRequestInfoService {
@Transactional(rollbackFor = Exception.class)
public void updatePrintStatus(String applyId, String barCode) {
public void updatePrintStatus(String applyId, String barCode,String userName) {
//修改申请单状态
RegApply regApply = new RegApply();
regApply.setStatus("20");
regApply.setApplyid(applyId);
regApplyMapper.update(regApply);
String nickName = "";
SysUser sysUserOne = commonUtil.getSysUserOne(userName);
if(sysUserOne != null){
nickName = sysUserOne.getNickName();
}
//条码状态
RegTransitSample regTransitSample = new RegTransitSample();
regTransitSample.setStatus("20");
regTransitSample.setBarcode(barCode);
regTransitSample.setAffirmUserCode(userName);
regTransitSample.setAffirmUserName(nickName);
regTransitSample.setAffirmTime(commonUtil.getCurrentTime());
regTransitSampleMapper.updateRegTransitSample(regTransitSample);
}

View File

@ -86,50 +86,54 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService {
String dstHospCode = sampleSignVO.getDstHospCode();
String dstHospName = sampleSignVO.getDstHospName();
String backReasons = sampleSignVO.getBackReasons();
Date affirmTime = sampleSignVO.getAffirmTime();
String affirmUserCode = sampleSignVO.getAffirmUserCode();
String affirmUserName = sampleSignVO.getAffirmUserName();
Date sendPackTime = sampleSignVO.getSendPackTime();
String sendUserName = sampleSignVO.getSendUserName();
String sendUserCode = sampleSignVO.getSendUserCode();
String backUserCode = sampleSignVO.getBackUserCode();
String backUserName = sampleSignVO.getBackUserName();
List<String> barcode = sampleSignVO.getBarcode();
for (int i = 0; i < barcode.size(); i++) {
RegTransitSample regTransitSample = new RegTransitSample();
regTransitSample.setBarcode(barcode.get(i));
List<RegTransitSample> regTransitSampleList = regTransitSampleMapper.getRegTransitSample(regTransitSample);
if(regTransitSampleList.size() <= 0) return new Result("-1","没有找到条码信息!");
SysUser sysUserOne = commonUtil.getSysUserOne(userId);
if(sysUserOne == null) return new Result("-1","未查询到员工信息!");
String nickName = sysUserOne.getNickName();
String statusSample = regTransitSample.getStatus();
String statusSample = regTransitSampleList.get(0).getStatus();
switch (status){
case "20": //标本采集
if(affirmTime == null) return new Result("-1","affirmTime标本采集时间不能为空!");
//if(affirmTime == null) return new Result("-1","affirmTime标本采集时间不能为空!");
if(statusSample.equals("20")) return new Result("0","该标本已经采集!");
if(affirmUserName == null || affirmUserName.equals("")) return new Result("-1","affirmUserName标本采集人姓名不能为空!");
regTransitSample.setAffirmTime(affirmTime);
regTransitSample.setAffirmTime(commonUtil.getCurrentTime());//affirmTime
regTransitSample.setAffirmUserCode(affirmUserCode);
regTransitSample.setAffirmUserName(affirmUserName);
case "30": //标本送检
if(dstHospName == null || dstHospName.equals("")) return new Result("-1","dstHospName不能为空!");
if(sendPackTime == null) return new Result("-1","sendPackTime不能为空!");
if(sendUserName == null || sendUserName.equals("")) return new Result("-1","sendUserName不能为空!");
if(statusSample.equals("30")) return new Result("0","该标本已经送检!");
if(statusSample.equals("30")) return new Result("-1","该标本已经送检!");
if(Integer.parseInt(backReasons) > 30) return new Result("-1","标本已经签收或者上机,不能再进行送检操作!");
regTransitSample.setDstHospCode(dstHospCode);
regTransitSample.setDstHospName(dstHospName);
regTransitSample.setSendPackTime(sendPackTime);
regTransitSample.setSendPackTime(commonUtil.getCurrentTime()); //
regTransitSample.setSendUserCode(sendUserCode);
regTransitSample.setSendUserName(sendUserName);
break;
case "50": //标本签收
if(statusSample.equals("50")) return new Result("0","该标本已经签收!");
if(Integer.parseInt(statusSample) > 50) return new Result("-1","该标本已经上机或者报告,不能再签收!");
regTransitSample.setSignInTime(commonUtil.getCurrentTime());
regTransitSample.setSignInUserCode(userId);
regTransitSample.setSignInUserName(nickName);
break;
case "100": //标本退回
if(statusSample.equals("100")) return new Result("0","该标本已经退回!");
regTransitSample.setBackUserCode(userId);
regTransitSample.setBackUserName(nickName);
if(Integer.parseInt(statusSample) < 50) return new Result("-1","该标本还未签收,不能退回!");
regTransitSample.setBackUserCode(backUserCode);
regTransitSample.setBackUserName(backUserName);
regTransitSample.setBackTime(commonUtil.getCurrentTime());
break;
@ -139,7 +143,7 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService {
regTransitSample.setUpdate_time(commonUtil.getCurrentTime());
regTransitSampleMapper.updateRegTransitSample(regTransitSample);
}
return new Result("0","签收成功!");
return new Result("0","操作成功!");
}
/**

View File

@ -8,6 +8,7 @@
<if test="patId != null and patId != ''"> and PatId = #{patId}</if>
<if test="brxm != null and brxm != ''">and PatName like '%'+#{brxm}+'%'</if>
<if test="status != null and status != ''">and Status = #{status}</if>
<if test="SrcHospCode != null and SrcHospCode != ''">and SrcHospCode = #{SrcHospCode}</if>
order by OrderTime desc
</select>

View File

@ -5,23 +5,21 @@
<mapper namespace="com.transitPlatForm.transitPF.mapper.RegTransitSampleMapper">
<select id="getRegTransitSample" resultType="com.transitPlatForm.common.core.domain.entity.reg.RegTransitSample">
select * from Reg_TransitSample
<where>
<if test="Barcode != null and Barcode !=''">and Barcode = #{Barcode}</if>
<if test="SrcHospName != null and SrcHospName !=''">and SrcHospName like '%'+#{SrcHospName}+'%' </if>
<if test="DstHospName != null and DstHospName !=''">and DstHospName like '%'+#{DstHospName}+'%' </if>
<if test="DstHospCode != null and DstHospCode !=''">and DstHospCode like '%'+#{DstHospCode}+'%' </if>
<if test="SrcHospCode != null and SrcHospCode !=''">and SrcHospCode like '%'+#{SrcHospCode}+'%' </if>
<if test="PatName != null and PatName !=''">and PatName like '%'+#{PatName}+'%'</if>
<if test="checkPUR != null and checkPUR !=''">and checkPUR like '%'+#{checkPUR}+'%'</if>
<if test="Status != null and Status !=''">and Status = #{Status}</if>
<if test="AffirmUserName != null and AffirmUserName !=''">and AffirmUserName like '%'+#{AffirmUserName}+'%'</if>
<if test="SignInUserName != null and SignInUserName !=''">and SignInUserName like '%'+#{SignInUserName}+'%'</if>
<if test="DateType == '登记时间'">and (OrderTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '采样时间'">and (AffirmTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '送出时间'">and (SendPackTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '签收时间'">and (SignInTime between #{DateStart} and #{DateEnd}) </if>
</where>
select a.*,b.itemclass_tips from Reg_TransitSample a,reg_itemclass b where a.SrcHospBarcode = b.itemclass_code
<if test="Barcode != null and Barcode !=''">and a.Barcode = #{Barcode}</if>
<if test="SrcHospName != null and SrcHospName !=''">and a.SrcHospName like '%'+#{SrcHospName}+'%' </if>
<if test="DstHospName != null and DstHospName !=''">and a.DstHospName like '%'+#{DstHospName}+'%' </if>
<if test="DstHospCode != null and DstHospCode !=''">and a.DstHospCode like '%'+#{DstHospCode}+'%' </if>
<if test="SrcHospCode != null and SrcHospCode !=''">and a.SrcHospCode like '%'+#{SrcHospCode}+'%' </if>
<if test="PatName != null and PatName !=''">and a.PatName like '%'+#{PatName}+'%'</if>
<if test="checkPUR != null and checkPUR !=''">and a.checkPUR like '%'+#{checkPUR}+'%'</if>
<if test="Status != null and Status !=''">and a.Status = #{Status}</if>
<if test="AffirmUserName != null and AffirmUserName !=''">and a.AffirmUserName like '%'+#{AffirmUserName}+'%'</if>
<if test="SignInUserName != null and SignInUserName !=''">and a.SignInUserName like '%'+#{SignInUserName}+'%'</if>
<if test="DateType == '登记时间'">and (a.OrderTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '采样时间'">and (a.AffirmTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '送出时间'">and (a.SendPackTime between #{DateStart} and #{DateEnd}) </if>
<if test="DateType == '签收时间'">and (a.SignInTime between #{DateStart} and #{DateEnd}) </if>
</select>
<select id="getRegTransitSampleDetail" resultType="com.transitPlatForm.common.core.domain.entity.reg.RegTransitSampleDetail">
@ -246,6 +244,12 @@
<if test="SampleTypeName != null and SampleTypeName != ''">SampleTypeName = #{SampleTypeName},</if>
<if test="RegNo != null and RegNo != ''">RegNo = #{RegNo},</if>
<if test="Status != null and Status != ''">Status = #{Status},</if>
<if test="AffirmTime != null ">AffirmTime = #{AffirmTime},</if>
<if test="AffirmUserCode != null and AffirmUserCode !=''">AffirmUserCode = #{AffirmUserCode},</if>
<if test="AffirmUserName != null and AffirmUserName !=''">AffirmUserName = #{AffirmUserName},</if>
<if test="SendPackTime != null">SendPackTime = #{SendPackTime},</if>
<if test="SendUserCode != null and SendUserCode !=''">SendUserCode = #{SendUserCode},</if>
<if test="SendUserName != null and SendUserName !=''">SendUserName = #{SendUserName},</if>
<if test="BackReasons != null and BackReasons != ''">BackReasons = #{BackReasons},</if>
<if test="SignInTime != null">SignInTime = #{SignInTime},</if>
<if test="SignInUserCode != null and SignInUserCode != ''">SignInUserCode = #{SignInUserCode},</if>
@ -254,9 +258,22 @@
<if test="DstHospName != null and DstHospName != ''">DstHospName = #{DstHospName},</if>
<if test="BackUserCode != null and BackUserCode != ''">BackUserCode = #{BackUserCode},</if>
<if test="BackUserName != null and BackUserName != ''">BackUserName = #{BackUserName},</if>
<if test="ExpressComCode != null and ExpressComCode != ''">ExpressComCode = #{ExpressComCode},</if>
<if test="ExpressComName != null and ExpressComName != ''">ExpressComName = #{ExpressComName},</if>
<if test="PackSerial != null and PackSerial != ''">PackSerial = #{PackSerial},</if>
<if test="ExpressNum != null and ExpressNum != ''">ExpressNum = #{ExpressNum},</if>
<if test="ReportTime != null ">ReportTime = #{ReportTime},</if>
<if test="ReportUserCode != null and ReportUserCode != ''">ReportUserCode = #{ReportUserCode},</if>
<if test="ReportUserName != null and ReportUserName != ''">ReportUserName = #{ReportUserName},</if>
<if test="TestDate != null ">TestDate = #{TestDate},</if>
<if test="BackTime != null">BackTime = #{BackTime},</if>
<if test="slzq != null and slzq != ''">slzq = #{slzq},</if>
<if test="checkPUR != null and checkPUR != ''">checkPUR = #{checkPUR},</if>
<if test="SrcHospCode != null and SrcHospCode != ''">SrcHospCode = #{SrcHospCode},</if>
<if test="SrcHospName != null and SrcHospName != ''">SrcHospName = #{SrcHospName},</if>
<if test="cancelTime != null ">cancelTime = #{cancelTime},</if>
<if test="cancelCode != null and cancelCode != ''">cancelCode = #{cancelCode},</if>
<if test="cancelName != null and cancelName != ''">cancelName = #{cancelName},</if>
update_by = #{update_by},update_time = #{update_time}
</set>
where barcode = #{barcode}