标本录入界面,申请单扫描登记
This commit is contained in:
parent
360a1076d8
commit
2a37a35f52
@ -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 = "申请单扫描登记";
|
||||
}
|
||||
|
||||
@ -7,4 +7,5 @@ import java.util.List;
|
||||
public interface XkCheckBloodtypeMapper {
|
||||
List<XkCheckBloodtype> queryList(XkCheckBloodtype xkCheckBloodtype);
|
||||
void insert(XkCheckBloodtype xkCheckBloodtype);
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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>
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -20,4 +20,5 @@ public class SampleInfoVO {
|
||||
private String patname;
|
||||
private String reqid;
|
||||
private String reqzt;
|
||||
private String userId;
|
||||
}
|
||||
|
||||
@ -5,4 +5,6 @@ import com.czblood.common.core.domain.Result;
|
||||
|
||||
public interface SampleInfoService {
|
||||
Result queryList(SampleInfoVO sampleInfoVO);
|
||||
|
||||
Result printBarCode(String sampleNo);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
Loading…
x
Reference in New Issue
Block a user