标本录入界面,申请单扫描登记

This commit is contained in:
jiangs 2026-07-28 17:20:29 +08:00
parent 360a1076d8
commit 2a37a35f52
20 changed files with 526 additions and 7 deletions

View File

@ -9,4 +9,6 @@ public class BloodSysLogConstants {
public static final String LOG_TYPE_DMZD = "代码字典";
public static final String LOG_TYPE_TRANSFUSE_APPLY = "输血申请";
public static final String LOG_TYPE_TRANSFUSE_APPLY_APPROVAL = "输血审批";
public static final String LOG_TYPE_SAMPLE_INFO = "样本信息";
public static final String LOG_TYPE_SEARCH_TRANSFUSEBILL_INFO = "申请单扫描登记";
}

View File

@ -7,4 +7,5 @@ import java.util.List;
public interface XkCheckBloodtypeMapper {
List<XkCheckBloodtype> queryList(XkCheckBloodtype xkCheckBloodtype);
void insert(XkCheckBloodtype xkCheckBloodtype);
}

View File

@ -0,0 +1,12 @@
package com.czblood.bus.mapper;
import com.czblood.bus.pojo.XkSearchTransfuseBill;
import java.util.List;
public interface XkSearchTransfuseBillMapper {
List<XkSearchTransfuseBill> queryList(XkSearchTransfuseBill xkSearchTransfuseBill);
XkSearchTransfuseBill queryOne(String billNo);
void insert(XkSearchTransfuseBill xkSearchTransfuseBill);
void delete(String billNo);
}

View File

@ -1,6 +1,7 @@
package com.czblood.bus.pojo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -10,6 +11,7 @@ import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiOperation("血型复核")
public class XkCheckBloodtype {
@ApiModelProperty("单据编号")
private String bill_no;

View File

@ -15,7 +15,7 @@ import java.util.Date;
public class XkSampleInfo {
@ApiModelProperty("样本号")
private String Sample_No;
@ApiModelProperty("标本用途")
@ApiModelProperty("标本用途,A输血,B血型鉴定,S治疗")
private String Purpose;
@ApiModelProperty("申请科室")
private String Dept;
@ -46,7 +46,7 @@ public class XkSampleInfo {
private String Overdue_Flag;
private String Exp1;
private String Exp2;
@ApiModelProperty("样本状态")
@ApiModelProperty("样本状态,1打印条码,2已采样,3已送检,4已签收,5复核血型")
private String sample_status;
@ApiModelProperty("作废人")
private String discard_person;

View File

@ -0,0 +1,28 @@
package com.czblood.bus.pojo;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiOperation("申请单扫描登记")
public class XkSearchTransfuseBill {
private String bill_no;
private Integer sid;
private String input_person;
private Date input_date;
@ApiModelProperty("合格标志,1:合格,0:不合格")
private String hgbz;
@ApiModelProperty("不合格原因")
private String hgyy;
private String hos_id;
private String stime;
private String etime;
}

View File

@ -0,0 +1,24 @@
<?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.czblood.bus.mapper.XkSearchTransfuseBillMapper">
<insert id="insert">
insert into xk_search_transfuse_bill (sid, bill_no, input_person, input_date,hgbz,hgyy,hos_id)
values (#{sid}, #{bill_no}, #{input_person}, #{input_date},#{hgbz},#{hgyy},#{hos_id})
</insert>
<delete id="delete">
delete from xk_search_transfuse_bill where bill_no = #{billNo}
</delete>
<select id="queryList" resultType="com.czblood.bus.pojo.XkSearchTransfuseBill">
select * from xk_search_transfuse_bill
<where>
<if test="bill_no != null">bill_no = #{bill_no}</if>
<if test="input_person != null and input_person != ''">input_person = #{input_person}</if>
<if test="stime != null and etime != null">input_time between #{stime} and #{etime}</if>
</where>
</select>
<select id="queryOne" resultType="com.czblood.bus.pojo.XkSearchTransfuseBill">
select * from xk_search_transfuse_bill where bill_no = #{billNo}
</select>
</mapper>

View File

@ -0,0 +1,56 @@
package com.czblood.busBloodbank.controller;
import com.czblood.bus.constants.BloodSysLogConstants;
import com.czblood.bus.pojo.XkSearchTransfuseBill;
import com.czblood.busBloodbank.pojo.VO.XkSearchTransfuseBillVO;
import com.czblood.busBloodbank.service.SearchTransfuseBillService;
import com.czblood.common.annotation.Log;
import com.czblood.common.core.controller.BaseController;
import com.czblood.common.core.domain.Result;
import com.czblood.common.core.page.TableDataInfo;
import com.czblood.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Api(tags = "申请单扫描登记")
@RestController
@RequestMapping("/bus/bloodbank/searchTransfuseBill")
public class SearchTransfuseBillController extends BaseController {
@Resource
private SearchTransfuseBillService searchTransfuseBillService;
@ApiOperation("查询登记列表")
@GetMapping("/queryList")
public TableDataInfo queryList(XkSearchTransfuseBillVO xkSearchTransfuseBillVO) {
List<XkSearchTransfuseBill> xkSearchTransfuseBillList = searchTransfuseBillService.queryList(xkSearchTransfuseBillVO);
return getDataTable(xkSearchTransfuseBillList);
}
@Log(title = BloodSysLogConstants.LOG_TYPE_SEARCH_TRANSFUSEBILL_INFO, businessType = BusinessType.INSERT)
@ApiOperation("申请单扫描登记")
@GetMapping("/saveBillNo")
public Result saveBillNo(XkSearchTransfuseBill xkSearchTransfuseBill){
return searchTransfuseBillService.saveBillNo(xkSearchTransfuseBill);
}
@ApiOperation("查询某个申请单")
@GetMapping("/queryOne")
public Result queryOne(String billNo){
return searchTransfuseBillService.queryOne(billNo);
}
@ApiOperation("取消扫描登记")
@GetMapping("/delete")
@Log(title = BloodSysLogConstants.LOG_TYPE_SEARCH_TRANSFUSEBILL_INFO, businessType = BusinessType.DELETE)
public Result delete(String billNo){
return searchTransfuseBillService.delete(billNo);
}
}

View File

@ -0,0 +1,11 @@
package com.czblood.busBloodbank.mapper;
import com.czblood.bus.pojo.XkSearchTransfuseBill;
import com.czblood.busBloodbank.pojo.VO.XkSearchTransfuseBillVO;
import java.util.List;
public interface SearchTransfuseBillMapper {
List<XkSearchTransfuseBill> queryList(XkSearchTransfuseBillVO xkSearchTransfuseBillVO);
Integer getMaxSid();
}

View File

@ -0,0 +1,18 @@
package com.czblood.busBloodbank.pojo.VO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class XkSearchTransfuseBillVO {
private String stime;
private String etime;
private String dept;
private String billNo;
private String hgbz;
private String status;
}

View File

@ -0,0 +1,17 @@
package com.czblood.busBloodbank.service;
import com.czblood.bus.pojo.XkSearchTransfuseBill;
import com.czblood.busBloodbank.pojo.VO.XkSearchTransfuseBillVO;
import com.czblood.common.core.domain.Result;
import java.util.List;
public interface SearchTransfuseBillService {
List<XkSearchTransfuseBill> queryList(XkSearchTransfuseBillVO xkSearchTransfuseBillVO);
Result saveBillNo(XkSearchTransfuseBill xkSearchTransfuseBill);
Result queryOne(String billNo);
Result delete(String billNo);
}

View File

@ -0,0 +1,65 @@
package com.czblood.busBloodbank.service.impl;
import com.czblood.bus.mapper.XkSearchTransfuseBillMapper;
import com.czblood.bus.pojo.XkSearchTransfuseBill;
import com.czblood.busBloodbank.mapper.SearchTransfuseBillMapper;
import com.czblood.busBloodbank.pojo.VO.XkSearchTransfuseBillVO;
import com.czblood.busBloodbank.service.SearchTransfuseBillService;
import com.czblood.common.core.domain.Result;
import com.czblood.common.utils.spring.SpringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Service
public class SearchTransfuseBillServiceImpl implements SearchTransfuseBillService {
@Resource
private SearchTransfuseBillMapper searchTransfuseBillMapper;
@Resource
XkSearchTransfuseBillMapper xkSearchTransfuseBillMapper;
@Override
public List<XkSearchTransfuseBill> queryList(XkSearchTransfuseBillVO xkSearchTransfuseBillVO) {
return searchTransfuseBillMapper.queryList(xkSearchTransfuseBillVO);
}
/**
* 申请单登记
* @param xkSearchTransfuseBill
* @return
*/
@Override
public Result saveBillNo(XkSearchTransfuseBill xkSearchTransfuseBill) {
XkSearchTransfuseBill xkSearchTransfuseBill1 = xkSearchTransfuseBillMapper.queryOne(xkSearchTransfuseBill.getBill_no());
if(xkSearchTransfuseBill1 != null) return new Result("-1","申请单已扫描登记!");
SpringUtils.getBean(SearchTransfuseBillServiceImpl.class).saveData(xkSearchTransfuseBill);
return new Result("0","登记成功!");
}
@Override
public Result queryOne(String billNo) {
XkSearchTransfuseBill xkSearchTransfuseBill = xkSearchTransfuseBillMapper.queryOne(billNo);
return new Result("0","查询成功",xkSearchTransfuseBill);
}
/**
* 删除某个申请单
* @param billNo
* @return
*/
@Override
public Result delete(String billNo) {
xkSearchTransfuseBillMapper.delete(billNo);
return new Result("0","删除成功!");
}
@Transactional(rollbackFor = Exception.class)
public synchronized void saveData(XkSearchTransfuseBill xkSearchTransfuseBill){
Integer maxSid = searchTransfuseBillMapper.getMaxSid();
xkSearchTransfuseBill.setSid(maxSid+1);
xkSearchTransfuseBillMapper.insert(xkSearchTransfuseBill);
}
}

View File

@ -0,0 +1,42 @@
<?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.czblood.busBloodbank.mapper.SearchTransfuseBillMapper">
<select id="queryList" resultType="com.czblood.bus.pojo.XkSearchTransfuseBill">
SELECT xk_search_transfuse_bill.sid,
xk_search_transfuse_bill.bill_no,
xk_search_transfuse_bill.input_person,
xk_search_transfuse_bill.input_date,
xk_search_transfuse_bill.hgbz,
xk_search_transfuse_bill.hgyy,
xk_transfuse_apply.patient_bed,
xk_transfuse_apply.dept_id,
xk_transfuse_apply.apply_date,
xk_transfuse_apply.apply_medic,
xk_transfuse_apply.diagnoses,
xk_patient_info.patient_name,
xk_patient_info.patient_sex,
xk_transfuse_apply_bloodbreed.blood_breed,
xk_transfuse_apply_bloodbreed.blood_num,
xk_transfuse_apply_bloodbreed.unit,
xk_transfuse_apply.abo_type,
xk_transfuse_apply.rh_type ,
xk_transfuse_apply.beinhos_id
FROM xk_patient_info,
xk_search_transfuse_bill,
xk_transfuse_apply,
xk_transfuse_apply_bloodbreed
WHERE ( xk_search_transfuse_bill.bill_no = xk_transfuse_apply.bill_no ) and
( xk_transfuse_apply.beinhos_id = xk_patient_info.beinhos_id ) and
( xk_transfuse_apply.bill_no = xk_transfuse_apply_bloodbreed.bill_no )
<if test="stime != null and etime != null">and xk_search_transfuse_bill.input_date between #{stime} and #{etime}</if>
<if test="dept != null and dept != ''">and xk_transfuse_apply.dept_id = #{dept}</if>
<if test="billNo != null and billNo != ''">and xk_transfuse_apply.bill_no = #{billNo}</if>
<if test="hgbz != null and hgbz != ''">and xk_search_transfuse_bill.hgbz = #{hgbz}</if>
<if test="status != null and status != ''">and xk_transfuse_apply.bill_stasus = #{status}</if>
</select>
<select id="getMaxSid" resultType="java.lang.Integer">
select max(sid) from xk_search_transfuse_bill
</select>
</mapper>

View File

@ -1,8 +1,12 @@
package com.czblood.busNurse.controller;
import com.czblood.bus.constants.BloodSysLogConstants;
import com.czblood.busNurse.pojo.VO.SampleInfoVO;
import com.czblood.busNurse.service.SampleInfoService;
import com.czblood.common.annotation.Log;
import com.czblood.common.core.controller.BaseController;
import com.czblood.common.core.domain.Result;
import com.czblood.common.enums.BusinessType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -13,18 +17,28 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(tags = "打印条码")
@Api(tags = "护士打印条码")
@RestController
@RequestMapping("/bus/nurse/sampleInfo")
@Slf4j
public class SampleInfoController {
public class SampleInfoController extends BaseController {
@Resource
private SampleInfoService sampleInfoService;
@Log(title = BloodSysLogConstants.LOG_TYPE_SAMPLE_INFO, businessType = BusinessType.INSERT)
@ApiOperation("查询样本信息列表")
@GetMapping("/queryList")
public Result queryList(SampleInfoVO sampleInfoVO){
sampleInfoVO.setUserId(getUsername());
return sampleInfoService.queryList(sampleInfoVO);
}
@ApiOperation("打印条码")
@GetMapping("/printBarCode")
public Result printBarCode(String sampleNo){
return sampleInfoService.printBarCode(sampleNo);
}
}

View File

@ -1,5 +1,6 @@
package com.czblood.busNurse.mapper;
import com.czblood.bus.pojo.XkCheckBloodtype;
import com.czblood.busNurse.pojo.VO.SampleInfoVO;
import java.util.List;
@ -7,4 +8,6 @@ import java.util.Map;
public interface SampleInfoMapper {
List<Map<String,Object>> queryList(SampleInfoVO sampleInfoVO);
List<Map<String,Object>> querySampleInfoData(String dept);
XkCheckBloodtype queryMaxTestDateInfo(String beinhos_id);
}

View File

@ -20,4 +20,5 @@ public class SampleInfoVO {
private String patname;
private String reqid;
private String reqzt;
private String userId;
}

View File

@ -5,4 +5,6 @@ import com.czblood.common.core.domain.Result;
public interface SampleInfoService {
Result queryList(SampleInfoVO sampleInfoVO);
Result printBarCode(String sampleNo);
}

View File

@ -1,13 +1,24 @@
package com.czblood.busNurse.service.impl;
import cn.hutool.core.date.DateUtil;
import com.czblood.bus.mapper.XkBloodBreedMapper;
import com.czblood.bus.mapper.XkSampleInfoMapper;
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
import com.czblood.bus.pojo.XkSampleInfo;
import com.czblood.bus.pojo.XkTransfuseApply;
import com.czblood.bus.pojo.xtwh.XkBloodBreed;
import com.czblood.bus.utils.BloodBankUtil;
import com.czblood.busNurse.mapper.SampleInfoMapper;
import com.czblood.busNurse.pojo.VO.SampleInfoVO;
import com.czblood.busNurse.service.SampleInfoService;
import com.czblood.busNurse.utils.SampleInfoUtil;
import com.czblood.common.core.domain.Result;
import com.czblood.common.utils.spring.SpringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -18,21 +29,133 @@ public class SampleInfoServiceImpl implements SampleInfoService {
private SampleInfoMapper sampleInfoMapper;
@Resource
BloodBankUtil bloodBankUtil;
@Resource
XkSampleInfoMapper xkSampleInfoMapper;
@Resource
XkTransfuseApplyMapper xkTransfuseApplyMapper;
@Resource
XkBloodBreedMapper xkBloodBreedMapper;
@Resource
SampleInfoUtil sampleInfoUtil;
@Override
public Result queryList(SampleInfoVO sampleInfoVO) {
//生成条码
Result result = createSampleInfo(sampleInfoVO.getDept(), sampleInfoVO.getUserId());
String msg = "";
if(!result.getCode().equals("0")) msg = result.getMsg();
List<Map<String, Object>> mapList = sampleInfoMapper.queryList(sampleInfoVO);
return new Result("0", "操作成功", mapList);
if(!msg.equals("")){
return new Result("1", msg, mapList);
}else{
return new Result("0", "操作成功", mapList);
}
}
/**
* 打印条码
* @param sampleNo
* @return
*/
@Override
public Result printBarCode(String sampleNo) {
XkSampleInfo xkSampleInfo = xkSampleInfoMapper.queryOne(sampleNo);
if(xkSampleInfo == null) return new Result("0","没有找到该样本信息!");
return new Result("0","打印成功!");
}
public Result createSampleInfo(){
/**
* 生成条码
* @param dept
* @param userId
* @return
*/
public Result createSampleInfo(String dept,String userId){
//条码是否在输血审核的时候生成","N","(Y,N)Y在输血审核的时候生成,N在标本录入的时候生成。
String tmsfzsxshsc = bloodBankUtil.getParameterValue("TMSFZSXSHSC");
if(tmsfzsxshsc.equals("Y")) return new Result("0","不在这里产生条码!");
//标本录入时条码生成方式(A-按照血型复核三天生成判断,B-全量生成)
String createsampletype = bloodBankUtil.getParameterValue("CREATESAMPLETYPE");
return null;
Date currentTimeDate = bloodBankUtil.getCurrentTimeDate();
List<Map<String, Object>> sampleInfoList = sampleInfoMapper.querySampleInfoData(dept);
boolean match = false;
boolean isMatch = false;
String sort = "";
String xxfh = "";
for (Map<String, Object> stringObjectMap : sampleInfoList) {
//String billNo = BloodBankUtil.isBank(stringObjectMap.get("bill_no"));
String bloodBreed = BloodBankUtil.isBank(stringObjectMap.get("blood_breed"));
String beinhos_id = BloodBankUtil.isBank(stringObjectMap.get("beinhos_id"));
String billStatus = BloodBankUtil.isBank(stringObjectMap.get("bill_stasus"));
if(!createsampletype.equals("B")){
//不是全量生成条码,按照血型复核三天生成判断
XkBloodBreed xkBloodBreed = xkBloodBreedMapper.queryOne(bloodBreed);
if(xkBloodBreed.getIs_match().equals("Y")) match = true;
if(match){
sort = "B";
}else{
sort = "A";
}
isMatch = sampleInfoUtil.bloodCheckIsMatch(beinhos_id, sort);
if(isMatch){
xxfh = "1";
}else{
xxfh = "0";
}
//已经做过血型复核的单据,但是没有生成标本数据,则再生成一遍
if(billStatus.equals("F") || billStatus.equals("D") || billStatus.equals("C") || billStatus.equals("S")){
xxfh = "1";
isMatch = true;
}
}else{
//全量生成条码
xxfh = "1";
isMatch = true;
}
XkSampleInfo xkSampleInfo = null;
XkTransfuseApply xkTransfuseApply = null;
if(isMatch){
xkSampleInfo = new XkSampleInfo();
String sample_No = bloodBankUtil.produceBillNo("");
xkSampleInfo.setSample_No(sample_No);
xkSampleInfo.setPick_Nurse(userId);
xkSampleInfo.setPick_Date(currentTimeDate);
xkSampleInfo.setPurpose("A");
xkSampleInfo.setDept(BloodBankUtil.isBank(stringObjectMap.get("dept_id")));
xkSampleInfo.setBlood_Type(BloodBankUtil.isBank(stringObjectMap.get("abo")));
xkSampleInfo.setRh_Blood_Type(BloodBankUtil.isBank(stringObjectMap.get("rh")));
xkSampleInfo.setSample_Name(BloodBankUtil.isBank(stringObjectMap.get("patient_name")));
xkSampleInfo.setSex(BloodBankUtil.isBank(stringObjectMap.get("patient_sex")));
xkSampleInfo.setAge(BloodBankUtil.isBank(stringObjectMap.get("age")));
xkSampleInfo.setBirthday(DateUtil.parse(BloodBankUtil.isBank(stringObjectMap.get("patient_birthday")),"yyyy-MM-dd HH:mm:ss"));
xkSampleInfo.setRelate_ApplyNo(BloodBankUtil.isBank(stringObjectMap.get("bill_no")));
xkSampleInfo.setExp1("Y");
xkTransfuseApply = new XkTransfuseApply();
xkTransfuseApply.setBill_no(BloodBankUtil.isBank(stringObjectMap.get("bill_no")));
xkTransfuseApply.setSample_id(sample_No);
xkTransfuseApply.setGather_date(currentTimeDate);
xkTransfuseApply.setIsxxfh(xxfh);
}else{
xkTransfuseApply = new XkTransfuseApply();
xkTransfuseApply.setBill_no(BloodBankUtil.isBank(stringObjectMap.get("bill_no")));
xkTransfuseApply.setIsxxfh(xxfh);
}
SpringUtils.getBean(SampleInfoServiceImpl.class).saveSampleInfo(xkTransfuseApply, xkSampleInfo);
}
return new Result("0","生成成功!");
}
@Transactional(rollbackFor = Exception.class)
public void saveSampleInfo(XkTransfuseApply xkTransfuseApply, XkSampleInfo xkSampleInfo){
if(xkSampleInfo != null){
xkSampleInfoMapper.insert(xkSampleInfo);
}
xkTransfuseApplyMapper.update(xkTransfuseApply);
}
}

View File

@ -0,0 +1,67 @@
package com.czblood.busNurse.utils;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.czblood.bus.pojo.XkCheckBloodtype;
import com.czblood.bus.utils.BloodBankUtil;
import com.czblood.busNurse.mapper.SampleInfoMapper;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Component
public class SampleInfoUtil {
@Resource
SampleInfoMapper sampleInfoMapper;
@Resource
BloodBankUtil bloodBankUtil;
/**
* 判断病人是否要进行血型复核
* @param beinhos_id
* @param need_check
* @return
*/
public Boolean bloodCheckIsMatch(String beinhos_id,String need_check){
DateTime validDate = null;
XkCheckBloodtype xkCheckBloodtype = sampleInfoMapper.queryMaxTestDateInfo(beinhos_id);
if(xkCheckBloodtype != null){
Date testDate = xkCheckBloodtype.getTest_date();
//只要过了零点就代表是三天之内的判断
String formatDate = DateUtil.format(testDate, "yyyy-MM-dd");
validDate = DateUtil.offsetDay(DateUtil.parse(formatDate, "yyyy-MM-dd"), 3);
}
Boolean isMatch = false;
Date now = bloodBankUtil.getCurrentTimeDate();
//申请的血液品种不需要进行交叉配血
if(need_check.equals("A")){
if(xkCheckBloodtype == null){
//无输血记录
isMatch = true;
}else{
isMatch = false;
}
}
//申请的血液品种需要进行交叉配血
if(need_check.equals("B")){
if(xkCheckBloodtype == null) {
//无输血记录
isMatch = true;
}else if(validDate.compareTo(now) < 0){
isMatch = true;
}else{
isMatch = false;
}
}
if(!need_check.equals("A") && !need_check.equals("B")){
isMatch = true;
}
return isMatch;
}
}

View File

@ -70,4 +70,35 @@
<if test="dept != null and dept != ''">AND (xk_transfuse_apply.dept_id = #{dept})</if>
<if test="sample_no != null and sample_no != ''">and (xk_transfuse_apply.bill_no = #{sample_no)}</if>
</select>
<select id="querySampleInfoData" resultType="java.util.Map">
SELECT xk_transfuse_apply_bloodbreed.blood_breed,
xk_transfuse_apply_bloodbreed.blood_num,
xk_transfuse_apply_bloodbreed.unit,
xk_transfuse_apply.bill_no,
xk_transfuse_apply.beinhos_id,
xk_transfuse_apply.dept_id,
xk_transfuse_apply.patient_bed,
xk_transfuse_apply.apply_date,
xk_transfuse_apply.apply_medic,
xk_patient_info.patient_name,
xk_patient_info.abo,
xk_patient_info.rh,
xk_patient_info.patient_sex,
xk_patient_info.age,
xk_patient_info.patient_birthday,
xk_transfuse_apply.sample_id,
xk_transfuse_apply.bill_stasus
FROM xk_patient_info,
xk_transfuse_apply,
xk_transfuse_apply_bloodbreed
WHERE ( xk_patient_info.beinhos_id = xk_transfuse_apply.beinhos_id )
and ( xk_transfuse_apply.bill_no = xk_transfuse_apply_bloodbreed.bill_no )
<![CDATA[and ( xk_transfuse_apply.operation_type = 'C' ) and xk_transfuse_apply.bill_stasus <> 'Z']]>
and xk_transfuse_apply.sample_id IS NULL and xk_transfuse_apply.isxxfh is null
<if test="dept != null and dept != ''">AND (xk_transfuse_apply.dept_id = #{dept})</if>
</select>
<select id="queryMaxTestDateInfo" resultType="com.czblood.bus.pojo.XkCheckBloodtype">
SELECT top 1 * FROM xk_check_bloodtype Where Beinhos_id = #{beinhos_id} Order By test_date Desc
</select>
</mapper>