输血申请单审核业务,取消审核修改
This commit is contained in:
parent
d94a86ed9b
commit
2213876352
@ -36,4 +36,13 @@ public class BloodInterfaceTypeConstants {
|
||||
* 取消申请单审核
|
||||
*/
|
||||
public static final String CANCEL_APPLY_CHECK = "CANCEL_APPLY_CHECK";
|
||||
/**
|
||||
* 作废申请单
|
||||
*/
|
||||
public static final String CANCEL_APPLY = "CANCEL_APPLY";
|
||||
|
||||
/**
|
||||
* 调用his电子病历接口
|
||||
*/
|
||||
public static final String INVOKE_HIS_EMR = "INVOKE_HIS_EMR";
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.czblood.bus.pojo.inter;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.czblood.bus.constants.BloodInterfaceTypeConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class CancelApplyRequest implements BloodInterfaceType {
|
||||
private final String method = BloodInterfaceTypeConstants.CANCEL_APPLY;
|
||||
private String billNo;
|
||||
|
||||
@Override
|
||||
public String serializationJson() {
|
||||
return JSONUtil.toJsonStr(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.czblood.bus.pojo.inter;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.czblood.bus.constants.BloodInterfaceTypeConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class InvokeHisEmrRequest implements BloodInterfaceType{
|
||||
private final String method = BloodInterfaceTypeConstants.INVOKE_HIS_EMR;
|
||||
private String beinhos_id;
|
||||
|
||||
@Override
|
||||
public String serializationJson() {
|
||||
return JSONUtil.toJsonStr(this);
|
||||
}
|
||||
}
|
||||
@ -5,10 +5,7 @@ import com.czblood.bus.constants.BloodSysLogConstants;
|
||||
import com.czblood.bus.mapper.XkXtwhIllDiagnoseMapper;
|
||||
import com.czblood.bus.pojo.xtwh.XkXtwhIllDiagnose;
|
||||
import com.czblood.busDoctor.pojo.DTO.TransfuseApplyDTO;
|
||||
import com.czblood.busDoctor.pojo.VO.ApplyCheckVO;
|
||||
import com.czblood.busDoctor.pojo.VO.CheckMedicVO;
|
||||
import com.czblood.busDoctor.pojo.VO.ExplainVO;
|
||||
import com.czblood.busDoctor.pojo.VO.TransfuseApplyVO;
|
||||
import com.czblood.busDoctor.pojo.VO.*;
|
||||
import com.czblood.busDoctor.service.TransfuseApplyService;
|
||||
import com.czblood.common.annotation.Log;
|
||||
import com.czblood.common.core.controller.BaseController;
|
||||
@ -21,7 +18,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -133,6 +129,7 @@ public class TransfuseApplyController extends BaseController {
|
||||
return transfuseApplyService.cancelApplyMedicCheck(checkMedicVO);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.UNCHECK)
|
||||
@ApiOperation("取消申请单审核")
|
||||
@GetMapping("/cancelApplyCheck")
|
||||
public Result cancelApplyCheck(String billNo){
|
||||
@ -140,5 +137,18 @@ public class TransfuseApplyController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.DELETE)
|
||||
@ApiOperation("作废申请单")
|
||||
@GetMapping("/cancelApply")
|
||||
public Result cancelApply(CancelApplyVO cancelApplyVO){
|
||||
return transfuseApplyService.cancelApply(cancelApplyVO);
|
||||
}
|
||||
|
||||
@ApiOperation("调用电子病历接口")
|
||||
@GetMapping("/invokeEMR")
|
||||
public Result invokeEMR(String beinhos_id){
|
||||
return transfuseApplyService.invokeEMR(beinhos_id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -10,10 +10,7 @@ import com.czblood.common.enums.BusinessType;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@ -36,7 +33,7 @@ public class TransfuseCheckExplainController extends BaseController {
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_TRANSFUSE_APPLY, businessType = BusinessType.CHECK)
|
||||
@ApiOperation("审核意见")
|
||||
@PostMapping("/checkExplain")
|
||||
public Result checkExplain(ExplainVO explainVO){
|
||||
public Result checkExplain(@RequestBody ExplainVO explainVO){
|
||||
explainVO.setUserId(getUsername());
|
||||
return transfuseCheckExplainService.checkExplain(explainVO);
|
||||
}
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busDoctor.pojo.VO;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class CancelApplyVO {
|
||||
private String billNo;
|
||||
@ApiModelProperty("作废原因")
|
||||
private String reason;
|
||||
}
|
||||
@ -2,10 +2,7 @@ package com.czblood.busDoctor.service;
|
||||
|
||||
import com.czblood.bus.pojo.XkTransfuseApply;
|
||||
import com.czblood.busDoctor.pojo.DTO.TransfuseApplyDTO;
|
||||
import com.czblood.busDoctor.pojo.VO.ApplyCheckVO;
|
||||
import com.czblood.busDoctor.pojo.VO.CheckMedicVO;
|
||||
import com.czblood.busDoctor.pojo.VO.ExplainVO;
|
||||
import com.czblood.busDoctor.pojo.VO.TransfuseApplyVO;
|
||||
import com.czblood.busDoctor.pojo.VO.*;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
|
||||
public interface TransfuseApplyService {
|
||||
@ -32,4 +29,8 @@ public interface TransfuseApplyService {
|
||||
Result cancelApplyMedicCheck(CheckMedicVO checkMedicVO);
|
||||
|
||||
Result cancelApplyCheck(String billNo);
|
||||
|
||||
Result cancelApply(CancelApplyVO cancelApplyVO);
|
||||
|
||||
Result invokeEMR(String beinhosId);
|
||||
}
|
||||
|
||||
@ -4,17 +4,16 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.czblood.bus.mapper.*;
|
||||
import com.czblood.bus.pojo.*;
|
||||
import com.czblood.bus.pojo.inter.CancelApplyCheckRequest;
|
||||
import com.czblood.bus.pojo.inter.CancelApplyRequest;
|
||||
import com.czblood.bus.pojo.inter.GetTestResultBloodTypeRequest;
|
||||
import com.czblood.bus.pojo.inter.InvokeHisEmrRequest;
|
||||
import com.czblood.bus.pojo.xtwh.XkDmzd;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||
import com.czblood.busDoctor.mapper.TransfuseApplyMapper;
|
||||
import com.czblood.busDoctor.pojo.DTO.TransfuseApplyDTO;
|
||||
import com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne;
|
||||
import com.czblood.busDoctor.pojo.VO.ApplyCheckVO;
|
||||
import com.czblood.busDoctor.pojo.VO.CheckMedicVO;
|
||||
import com.czblood.busDoctor.pojo.VO.ExplainVO;
|
||||
import com.czblood.busDoctor.pojo.VO.TransfuseApplyVO;
|
||||
import com.czblood.busDoctor.pojo.VO.*;
|
||||
import com.czblood.busDoctor.service.TransfuseApplyService;
|
||||
import com.czblood.busDoctor.utils.TransfuseApplyUtil;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
@ -390,13 +389,14 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
@Override
|
||||
public Result applyMedicCheck(CheckMedicVO checkMedicVO) {
|
||||
SysUser userInfo = bloodBankUtil.getUserInfo(checkMedicVO.getCheckMedic());
|
||||
String postName = userInfo.getPostname();
|
||||
String postName = BloodBankUtil.isBank(userInfo.getPostname());
|
||||
if(!postName.equals("003") && !postName.equals("004")) return new Result("-1","审核医生不是副主任医师或主任医师!");
|
||||
XkTransfuseApply xkTransfuseApply = new XkTransfuseApply();
|
||||
xkTransfuseApply.setSend_able("Y");
|
||||
xkTransfuseApply.setCheck_medic(checkMedicVO.getCheckMedic());
|
||||
xkTransfuseApply.setMedic_check_date(checkMedicVO.getCheckDate());
|
||||
xkTransfuseApply.setBill_no(checkMedicVO.getBillNo());
|
||||
xkTransfuseApply.setBill_stasus("E"); //上级医生审核状态
|
||||
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
||||
return new Result("0","审核通过!");
|
||||
}
|
||||
@ -428,7 +428,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
|
||||
}
|
||||
/**
|
||||
* 下面是输血科审核的逻辑
|
||||
* 下面是输血科审核的逻辑,为打开审核界面到审核界面open的逻辑
|
||||
*/
|
||||
//判断上级医生是否审核
|
||||
String checkMedic = xkTransfuseApply.getCheck_medic();
|
||||
@ -490,12 +490,12 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
threeDayBefore = DateUtil.offsetDay(xkCheckBloodtype.getTest_date(), 3);
|
||||
if(testDate != null) explainVO.setCheckDateText("血型复核时间:"+ DateUtil.format(testDate,"yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
if(explainVO.getNeedCheck().equals("A") || explainVO.getNeedCheck().equals("B")){
|
||||
if(explainVO.getBillSort().equals("A") || explainVO.getBillSort().equals("B")){
|
||||
needCheck = "Y"; //需要做血型复核
|
||||
}else{
|
||||
needCheck = "N"; //不需要做血型复核
|
||||
}
|
||||
if(explainVO.getNeedCheck().equals("B")){
|
||||
if(explainVO.getBillSort().equals("B")){
|
||||
if(xkCheckBloodtype == null){ //没有做过血型鉴定的,必须要做
|
||||
needCheck = "Y";
|
||||
}else if(DateUtil.compare(bloodBankUtil.getCurrentTimeDate(),threeDayBefore) > 0){ //之前做的血型鉴定的结果,超过了三天,也需要重新再做
|
||||
@ -547,6 +547,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
xkTransfuseApply.setCheck_medic("");
|
||||
xkTransfuseApply.setMedic_check_date(DateUtil.parse("1900-01-01 00:00:00","yyyy-MM-dd HH:mm:ss"));
|
||||
xkTransfuseApply.setBill_no(billNo);
|
||||
xkTransfuseApply.setBill_stasus("A"); //未审核
|
||||
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
||||
return new Result("0","取消上级医生审核成功!");
|
||||
}
|
||||
@ -576,7 +577,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
return new Result("-1","该申请单已经作废,不能取消审核!");
|
||||
|
||||
}
|
||||
if(billStasus.equals("B")) return new Result("-1","该申请单还未审核,不能取消审核!");
|
||||
if(!billStasus.equals("B") && !billStasus.equals("N")) return new Result("-1","该申请单还未审核,不能取消审核!");
|
||||
int i = transfuseApplyMapper.queryXkOutMainCount(billNo);
|
||||
if(i > 0) return new Result("-1","该申请单已经发血,不能取消审核!");
|
||||
//修改申请单主表数据
|
||||
@ -595,6 +596,55 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
||||
return new Result("0","取消审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 作废申请单
|
||||
* @param cancelApplyVO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result cancelApply(CancelApplyVO cancelApplyVO) {
|
||||
String billNo = cancelApplyVO.getBillNo();
|
||||
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(billNo);
|
||||
if(xkTransfuseApply == null) return new Result("-1","没有查到该申请单的信息!");
|
||||
String billStasus = xkTransfuseApply.getBill_stasus();
|
||||
String reason = BloodBankUtil.isBank(cancelApplyVO.getReason());
|
||||
switch (billStasus){
|
||||
case "B":
|
||||
return new Result("-1","该申请单输血科已经审核通过,不能作废!");
|
||||
case "C":
|
||||
return new Result("-1","该申请单已经配血,不能作废!");
|
||||
case "F":
|
||||
return new Result("-1","该申请单已经复核血型,不能作废!");
|
||||
case "D":
|
||||
return new Result("-1","该申请单已经发血,不能作废!");
|
||||
case "SF":
|
||||
return new Result("-1","该申请单已经发血且已追加复核血型,不能作废!");
|
||||
case "S":
|
||||
return new Result("-1","该申请单已经发血且已追加配血,不能作废!");
|
||||
case "Z":
|
||||
return new Result("-1","该申请单已经作废!");
|
||||
}
|
||||
XkTransfuseApply xkTransfuseApplyTemp = new XkTransfuseApply();
|
||||
xkTransfuseApplyTemp.setBill_stasus("Z");
|
||||
xkTransfuseApplyTemp.setExp1(reason);
|
||||
xkTransfuseApplyTemp.setBill_no(billNo);
|
||||
transfuseApplyUtil.saveCancelApply(xkTransfuseApplyTemp);
|
||||
|
||||
//调用外部接口
|
||||
CancelApplyRequest cancelApplyRequest = new CancelApplyRequest();
|
||||
cancelApplyRequest.setBillNo(billNo);
|
||||
BloodInterfaceUtil.invokeBloodInterface(cancelApplyRequest);
|
||||
|
||||
return new Result("0","作废申请单成功!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result invokeEMR(String beinhosId) {
|
||||
InvokeHisEmrRequest invokeHisEmrRequest = new InvokeHisEmrRequest();
|
||||
invokeHisEmrRequest.setBeinhos_id(beinhosId);
|
||||
return BloodInterfaceUtil.invokeBloodInterface(invokeHisEmrRequest);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 校验医生职称是否符合要求
|
||||
|
||||
@ -331,4 +331,11 @@ public class TransfuseApplyUtil {
|
||||
}
|
||||
return sort;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void saveCancelApply(XkTransfuseApply xkTransfuseApply){
|
||||
String billNo = xkTransfuseApply.getBill_no();
|
||||
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
||||
xkTransfuseApplyCausalisMapper.deleteByBillNo(billNo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -314,6 +314,7 @@ if not exists(select 1 from dbo.xk_dmzd where wordbook_sign = 'BASE')
|
||||
insert into xk_dmzd (wordbook_sign,wordbook_code,wordbook_name,use_sign) values('billApplyStatus','SF','已复核血型(追加)','Y')
|
||||
insert into xk_dmzd (wordbook_sign,wordbook_code,wordbook_name,use_sign) values('billApplyStatus','S','已追加配血','Y')
|
||||
insert into xk_dmzd (wordbook_sign,wordbook_code,wordbook_name,use_sign) values('billApplyStatus','N','审核未通过','Y')
|
||||
insert into xk_dmzd (wordbook_sign,wordbook_code,wordbook_name,use_sign) values('billApplyStatus','E','上级医生审核','Y')
|
||||
|
||||
|
||||
insert into xk_dmzd(wordbook_sign,wordbook_code,wordbook_name,use_sign) values('BASE','workgroup','工作组','Y')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user