输血申请单保存业务,审核业务,查询业务

This commit is contained in:
jiangs 2026-07-08 17:27:22 +08:00
parent 4f00d8fa84
commit 49cd553f51
8 changed files with 57 additions and 24 deletions

View File

@ -132,6 +132,13 @@ public class BloodCommonController extends BaseController {
return getDataTable(sysUserList); return getDataTable(sysUserList);
} }
@ApiOperation("获取员工的部门类型")
@GetMapping("/getDeptType")
public String getDeptType(String userId){
SysUser userInfo = bloodBankUtil.getUserInfo(userId);
return BloodBankUtil.isBank(userInfo.getDept().getDeptType());
}
// @ApiOperation("测试接口") // @ApiOperation("测试接口")
// @GetMapping("/test01") // @GetMapping("/test01")
// public Result test01(String billNo){ // public Result test01(String billNo){

View File

@ -76,7 +76,7 @@
<if test="operation_level != null">operation_level,</if> <if test="operation_level != null">operation_level,</if>
<if test="card_no != null">card_no,</if> <if test="card_no != null">card_no,</if>
bill_no, beinhos_id, assess_bill_no, hos_id bill_no, beinhos_id, hos_id
)values ( )values (
<if test="beinhos_number != null">#{beinhos_number},</if> <if test="beinhos_number != null">#{beinhos_number},</if>
<if test="zone_id != null">#{zone_id},</if> <if test="zone_id != null">#{zone_id},</if>
@ -150,7 +150,7 @@
<if test="operation_level != null">#{operation_level},</if> <if test="operation_level != null">#{operation_level},</if>
<if test="card_no != null">#{card_no},</if> <if test="card_no != null">#{card_no},</if>
#{bill_no}, #{beinhos_id}, #{assess_bill_no}, #{hos_id}) #{bill_no}, #{beinhos_id}, #{hos_id})
</insert> </insert>
<update id="update"> <update id="update">
update xk_transfuse_apply update xk_transfuse_apply

View File

@ -105,7 +105,7 @@ public class TransfuseApplyController extends BaseController {
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.CHECK_MEDIC) @Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.CHECK_MEDIC)
@ApiOperation("上级医生审核") @ApiOperation("上级医生审核")
@PostMapping("/applyMedicCheck") @PostMapping("/applyMedicCheck")
public Result applyMedicCheck(CheckMedicVO checkMedicVO){ public Result applyMedicCheck(@RequestBody CheckMedicVO checkMedicVO){
return transfuseApplyService.applyMedicCheck(checkMedicVO); return transfuseApplyService.applyMedicCheck(checkMedicVO);
} }
@ -118,10 +118,10 @@ public class TransfuseApplyController extends BaseController {
return getDataTable(xkXtwhIllDiagnoseList); return getDataTable(xkXtwhIllDiagnoseList);
} }
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.CHECK)
@ApiOperation("申请单审核前校验") @ApiOperation("申请单审核前校验")
@PostMapping("/applyCheck") @PostMapping("/applyCheck")
public Result applyPreCheck(ApplyCheckVO applyCheckVO){ public Result applyPreCheck(@RequestBody ApplyCheckVO applyCheckVO){
applyCheckVO.setUserId(getUsername()); applyCheckVO.setUserId(getUsername());
return transfuseApplyService.applyPreCheck(applyCheckVO); return transfuseApplyService.applyPreCheck(applyCheckVO);
} }
@ -129,9 +129,16 @@ public class TransfuseApplyController extends BaseController {
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.UNCHECK_MEDIC) @Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.UNCHECK_MEDIC)
@ApiOperation("取消上级医生审核") @ApiOperation("取消上级医生审核")
@PostMapping("/cancelApplyMedicCheck") @PostMapping("/cancelApplyMedicCheck")
public Result cancelApplyMedicCheck(CheckMedicVO checkMedicVO){ public Result cancelApplyMedicCheck(@RequestBody CheckMedicVO checkMedicVO){
return transfuseApplyService.cancelApplyMedicCheck(checkMedicVO); return transfuseApplyService.cancelApplyMedicCheck(checkMedicVO);
} }
@ApiOperation("取消申请单审核")
@PostMapping("/cancelApplyCheck")
public Result cancelApplyCheck(){
return null;
}
} }

View File

@ -21,4 +21,12 @@ public class TransfuseApplyVO {
private String bill_no; private String bill_no;
@ApiModelProperty("操作用户") @ApiModelProperty("操作用户")
private String user_id; private String user_id;
@ApiModelProperty("查询的病人ID")
private String beinhos_id;
@ApiModelProperty("病人姓名")
private String patient_name;
@ApiModelProperty("查询的申请开始时间")
private String stime;
@ApiModelProperty("查询的申请结束时间")
private String etime;
} }

View File

@ -124,6 +124,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
//xkTransfuseApply.setDept_Type(""); //这个前端传吧,而且是必填的 //xkTransfuseApply.setDept_Type(""); //这个前端传吧,而且是必填的
xkTransfuseApply.setValid_Flag("Y"); //默认是合理的 xkTransfuseApply.setValid_Flag("Y"); //默认是合理的
xkTransfuseApply.setNotice_yn("N"); xkTransfuseApply.setNotice_yn("N");
xkTransfuseApply.setBill_sort("N");
xkTransfuseApply.setAssess_bill_no(xkTransfuseApplyBefore.getBill_no()); //输血评估单号 xkTransfuseApply.setAssess_bill_no(xkTransfuseApplyBefore.getBill_no()); //输血评估单号
xkPatientInfoSet.setPatient_name(xkPatientInfo.getPatient_name()); xkPatientInfoSet.setPatient_name(xkPatientInfo.getPatient_name());
xkPatientInfoSet.setPatient_sex(xkPatientInfo.getPatient_sex()); xkPatientInfoSet.setPatient_sex(xkPatientInfo.getPatient_sex());
@ -293,7 +294,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
* 暂时就以大量用血审批表来做判断吧,有大量用血的审批,标志为Y,否则为N * 暂时就以大量用血审批表来做判断吧,有大量用血的审批,标志为Y,否则为N
* String spyxlParam = bloodBankUtil.getParameterValue("spyxl"); * String spyxlParam = bloodBankUtil.getParameterValue("spyxl");
*/ */
if(code.equals("0")){ if(!code.equals("0")){
xkTransfuseApply.setIs_large_use("Y"); xkTransfuseApply.setIs_large_use("Y");
}else{ }else{
xkTransfuseApply.setIs_large_use("N"); xkTransfuseApply.setIs_large_use("N");
@ -418,16 +419,16 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
return new Result("-1","该单据已发血,不允许重复审核!"); return new Result("-1","该单据已发血,不允许重复审核!");
} }
SysUser userInfo = bloodBankUtil.getUserInfo(userId); // SysUser userInfo = bloodBankUtil.getUserInfo(userId);
String deptType = userInfo.getDept().getDeptType(); // String deptType = userInfo.getDept().getDeptType();
if(deptType.equals("001")){ // if(deptType.equals("001")){
//临床科室,代表上级医生审核 // //临床科室,代表上级医生审核
CheckMedicVO checkMedicVO = new CheckMedicVO(); // CheckMedicVO checkMedicVO = new CheckMedicVO();
checkMedicVO.setBillNo(billNo); // checkMedicVO.setBillNo(billNo);
checkMedicVO.setCheckMedic(applyCheckVO.getCheckMedic()); // checkMedicVO.setCheckMedic(applyCheckVO.getCheckMedic());
checkMedicVO.setCheckDate(applyCheckVO.getCheckDate()); // checkMedicVO.setCheckDate(applyCheckVO.getCheckDate());
return applyMedicCheck(checkMedicVO); // return applyMedicCheck(checkMedicVO);
} // }
/** /**
* 下面是输血科审核的逻辑 * 下面是输血科审核的逻辑
*/ */

View File

@ -279,9 +279,6 @@ public class TransfuseApplyUtil {
}else{ }else{
//保存申请单信息表 //保存申请单信息表
xkTransfuseApplyMapper.insert(xkTransfuseApply); xkTransfuseApplyMapper.insert(xkTransfuseApply);
for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) {
xkTransfuseApplyBloodbreedMapper.insert(xkTransfuseApplyBloodbreed);
}
//保存申请单品种表 //保存申请单品种表
for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) { for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) {
xkTransfuseApplyBloodbreedMapper.insert(xkTransfuseApplyBloodbreed); xkTransfuseApplyBloodbreedMapper.insert(xkTransfuseApplyBloodbreed);
@ -289,7 +286,7 @@ public class TransfuseApplyUtil {
} }
//保存输血指征表 //保存输血指征表
if(xkTransfuseApplyCausalisList.size() > 0){ if(xkTransfuseApplyCausalisList != null && !xkTransfuseApplyCausalisList.isEmpty()){
xkTransfuseApplyCausalisMapper.deleteByBillNo(xkTransfuseApplyCausalisList.get(0).getBill_No()); xkTransfuseApplyCausalisMapper.deleteByBillNo(xkTransfuseApplyCausalisList.get(0).getBill_No());
for (XkTransfuseApplyCausalis xkTransfuseApplyCausalis : xkTransfuseApplyCausalisList) { for (XkTransfuseApplyCausalis xkTransfuseApplyCausalis : xkTransfuseApplyCausalisList) {
xkTransfuseApplyCausalisMapper.insert(xkTransfuseApplyCausalis); xkTransfuseApplyCausalisMapper.insert(xkTransfuseApplyCausalis);
@ -303,8 +300,11 @@ public class TransfuseApplyUtil {
} }
//大量用血申请单表 //大量用血申请单表
xkTransfuseApplyApprovalMapper.delete(xkTransfuseApplyApproval.getBill_No()); if(xkTransfuseApplyApproval != null){
xkTransfuseApplyApprovalMapper.insert(xkTransfuseApplyApproval); xkTransfuseApplyApprovalMapper.delete(xkTransfuseApplyApproval.getBill_No());
xkTransfuseApplyApprovalMapper.insert(xkTransfuseApplyApproval);
}
} }

View File

@ -19,9 +19,13 @@
WHERE ( xk_transfuse_apply.operation_type = 'C' OR ISNULL(xk_transfuse_apply.operation_type,'') = '') WHERE ( xk_transfuse_apply.operation_type = 'C' OR ISNULL(xk_transfuse_apply.operation_type,'') = '')
and xk_transfuse_apply.apply_date > getdate() - #{day} and xk_transfuse_apply.hos_id = #{hos_id} and xk_transfuse_apply.apply_date > getdate() - #{day} and xk_transfuse_apply.hos_id = #{hos_id}
<if test="bill_status != null and bill_status != ''">and xk_transfuse_apply.bill_stasus = #{bill_status}</if> <if test="bill_status != null and bill_status != ''">and xk_transfuse_apply.bill_stasus = #{bill_status}</if>
<if test="dept_code != null and dept_code != ''">and xk_transfuse_apply.dept_id = #{dept_code}</if> <if test="bill_no != null and bill_no != ''">and xk_transfuse_apply.bill_no = #{bill_no}</if>
<if test="dept_code != null and dept_code != ''">and (xk_transfuse_apply.dept_id = #{dept_code} or xk_transfuse_apply.input_dept = #{dept_code})</if> <if test="dept_code != null and dept_code != ''">and (xk_transfuse_apply.dept_id = #{dept_code} or xk_transfuse_apply.input_dept = #{dept_code})</if>
<if test="doctor_code != null and doctor_code != ''">and xk_transfuse_apply.apply_medic = #{doctor_code}</if> <if test="doctor_code != null and doctor_code != ''">and xk_transfuse_apply.apply_medic = #{doctor_code}</if>
<if test="beinhos_id != null and beinhos_id != ''">and xk_transfuse_apply.beinhos_id = #{beinhos_id}</if>
<if test="patient_name != null and patient_name != ''">and xk_patient_info.patient_name like '%'+#{patient_name}+'%'</if>
<if test="stime != null"><![CDATA[and xk_transfuse_apply.apply_date >= #{stime}]]></if>
<if test="etime != null"><![CDATA[and xk_transfuse_apply.apply_date <= #{etime}]]></if>
</select> </select>
<select id="queryApplyOne" resultType="com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne"> <select id="queryApplyOne" resultType="com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne">
SELECT top 1 xk_patient_info.hos_id, SELECT top 1 xk_patient_info.hos_id,

View File

@ -494,3 +494,9 @@ if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'sys_
alter table sys_dept add dept_type varchar(10) alter table sys_dept add dept_type varchar(10)
end end
go go
IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_transfuse_apply_bloodbreed' AND type = 'PK' )
BEGIN
ALTER TABLE xk_transfuse_apply_bloodbreed ADD CONSTRAINT PK_xk_transfuse_apply_bloodbreed PRIMARY KEY CLUSTERED (bill_no,blood_breed);
END
GO