血型复核功能开发
This commit is contained in:
parent
dce2bb18b1
commit
5b44e56256
@ -49,4 +49,8 @@ public class BloodInterfaceTypeConstants {
|
||||
* 血型复核
|
||||
*/
|
||||
public static final String CHECK_BLOOD_TYPE = "CHECK_BLOOD_TYPE";
|
||||
/**
|
||||
* 取消血型复核
|
||||
*/
|
||||
public static final String CANCEL_CHECK_BLOOD_TYPE = "CANCEL_CHECK_BLOOD_TYPE";
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
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 CancelCheckBloodTypeRequest implements BloodInterfaceType {
|
||||
|
||||
private final String method = BloodInterfaceTypeConstants.CANCEL_CHECK_BLOOD_TYPE;
|
||||
private String billNo;
|
||||
|
||||
@Override
|
||||
public String serializationJson() {
|
||||
return JSONUtil.toJsonStr(this);
|
||||
}
|
||||
}
|
||||
@ -1,18 +1,24 @@
|
||||
package com.czblood.busBloodbank.controller;
|
||||
|
||||
import com.czblood.bus.pojo.XkCheckBloodtype;
|
||||
import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO;
|
||||
import com.czblood.busBloodbank.service.CheckBloodTypeService;
|
||||
import com.czblood.common.core.controller.BaseController;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.core.page.TableDataInfo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Api(tags = "血型复核")
|
||||
@RestController
|
||||
@RequestMapping("/bus/bloodbank/checkBloodType")
|
||||
public class CheckBloodTypeController {
|
||||
public class CheckBloodTypeController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private CheckBloodTypeService checkBloodTypeService;
|
||||
@ -31,8 +37,8 @@ public class CheckBloodTypeController {
|
||||
|
||||
@ApiOperation("保存数据")
|
||||
@PostMapping("/saveData")
|
||||
public Result saveData(@RequestBody XkCheckBloodtype xkCheckBloodtype){
|
||||
return checkBloodTypeService.saveData(xkCheckBloodtype);
|
||||
public Result saveData(@RequestBody XkCheckBloodtypeVO xkCheckBloodtypeVO){
|
||||
return checkBloodTypeService.saveData(xkCheckBloodtypeVO);
|
||||
}
|
||||
|
||||
@ApiOperation("删除数据")
|
||||
@ -41,6 +47,14 @@ public class CheckBloodTypeController {
|
||||
return checkBloodTypeService.delCheckBloodTypeInfo(billNo);
|
||||
}
|
||||
|
||||
@ApiOperation("查询血型复核历史记录")
|
||||
@GetMapping("/queryHistoryInfo")
|
||||
public TableDataInfo queryHistoryInfo(HistoryQueryVO historyQueryVO){
|
||||
startPage();
|
||||
List<Map<String,Object>> mapList = checkBloodTypeService.queryHistoryInfo(historyQueryVO);
|
||||
return getDataTable(mapList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.czblood.busBloodbank.mapper;
|
||||
|
||||
import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -8,4 +10,5 @@ public interface CheckBloodTypeMapper {
|
||||
int checkMatchedBloodNotOut(String billNo);
|
||||
List<Map<String,Object>> queryOne(String billNo);
|
||||
int queryOutMainCount(String billNo);
|
||||
List<Map<String,Object>> queryHistoryInfo(HistoryQueryVO historyQueryVO);
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class HistoryQueryVO {
|
||||
private String beinhos_id;
|
||||
private String patient_name;
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
import com.czblood.bus.pojo.XkCheckBloodtype;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel("保存血型复核参数")
|
||||
public class XkCheckBloodtypeVO {
|
||||
@ApiModelProperty("血型复核数据")
|
||||
XkCheckBloodtype xkCheckBloodtype;
|
||||
@ApiModelProperty("血型复核结果是否和申请单信息一致,1一致,0不一致")
|
||||
private String flag;
|
||||
}
|
||||
@ -1,12 +1,19 @@
|
||||
package com.czblood.busBloodbank.service;
|
||||
|
||||
import com.czblood.bus.pojo.XkCheckBloodtype;
|
||||
import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.core.page.TableDataInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface CheckBloodTypeService {
|
||||
Result queryWaitInfo();
|
||||
Result queryOne(String billNo);
|
||||
Result saveData(XkCheckBloodtype xkCheckBloodtype);
|
||||
Result saveData(XkCheckBloodtypeVO xkCheckBloodtypeVO);
|
||||
|
||||
Result delCheckBloodTypeInfo(String billNo);
|
||||
|
||||
List<Map<String,Object>> queryHistoryInfo(HistoryQueryVO historyQueryVO);
|
||||
}
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
package com.czblood.busBloodbank.service.impl;
|
||||
|
||||
import com.czblood.bus.mapper.XkChargeMainMapper;
|
||||
import com.czblood.bus.mapper.XkCheckBloodtypeMapper;
|
||||
import com.czblood.bus.mapper.XkTransfuseApplyBloodbreedMapper;
|
||||
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
|
||||
import com.czblood.bus.mapper.*;
|
||||
import com.czblood.bus.pojo.*;
|
||||
import com.czblood.bus.pojo.inter.CancelCheckBloodTypeRequest;
|
||||
import com.czblood.bus.pojo.inter.CheckBloodTypeRequest;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||
import com.czblood.busBloodbank.mapper.CheckBloodTypeMapper;
|
||||
import com.czblood.busBloodbank.pojo.DTO.CheckBloodTypeDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO;
|
||||
import com.czblood.busBloodbank.service.CheckBloodTypeService;
|
||||
import com.czblood.busBloodbank.utils.CheckBloodTypeUtil;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.core.page.TableDataInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -37,7 +38,6 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
@Resource
|
||||
XkChargeMainMapper xkChargeMainMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public Result queryWaitInfo() {
|
||||
//只复核标本接收之后的申请单
|
||||
@ -61,11 +61,13 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
|
||||
/**
|
||||
* 保存数据
|
||||
* @param xkCheckBloodtype
|
||||
* @param xkCheckBloodtypeVO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Result saveData(XkCheckBloodtype xkCheckBloodtype) {
|
||||
public Result saveData(XkCheckBloodtypeVO xkCheckBloodtypeVO) {
|
||||
XkCheckBloodtype xkCheckBloodtype = xkCheckBloodtypeVO.getXkCheckBloodtype();
|
||||
String flag = xkCheckBloodtypeVO.getFlag();
|
||||
String applyNo = xkCheckBloodtype.getApply_no();
|
||||
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(applyNo);
|
||||
if(xkTransfuseApply == null) return new Result("-1","若不是紧急情况,请先选择输血申请单!");
|
||||
@ -92,13 +94,19 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
xkTransfuseApplyTemp.setNotify_sign("Y");
|
||||
|
||||
//当血型复核的结果和申请单之前的结果不一致的时候,需要更新申请单的血型,以及病人基本信息的血型
|
||||
xkTransfuseApplyTemp.setAbo_type(xkCheckBloodtype.getAffirm_abo());
|
||||
xkTransfuseApplyTemp.setRh_type(xkCheckBloodtype.getCheck_rh());
|
||||
XkPatientInfo xkPatientInfoTemp = null;
|
||||
if(flag.equals("0")){
|
||||
xkTransfuseApplyTemp.setAbo_type(xkCheckBloodtype.getAffirm_abo());
|
||||
xkTransfuseApplyTemp.setRh_type(xkCheckBloodtype.getCheck_rh());
|
||||
xkTransfuseApplyTemp.setBloodcheck_abnor("N");
|
||||
xkTransfuseApplyTemp.setAbnor_next("Y");
|
||||
|
||||
xkPatientInfoTemp = new XkPatientInfo();
|
||||
xkPatientInfoTemp.setAbo(xkCheckBloodtype.getAffirm_abo());
|
||||
xkPatientInfoTemp.setRh(xkCheckBloodtype.getCheck_rh());
|
||||
xkPatientInfoTemp.setBeinhos_id(xkCheckBloodtype.getBeinhos_id());
|
||||
}
|
||||
|
||||
XkPatientInfo xkPatientInfoTemp = new XkPatientInfo();
|
||||
xkPatientInfoTemp.setAbo(xkCheckBloodtype.getAffirm_abo());
|
||||
xkPatientInfoTemp.setRh(xkCheckBloodtype.getCheck_rh());
|
||||
xkPatientInfoTemp.setBeinhos_id(xkCheckBloodtype.getBeinhos_id());
|
||||
|
||||
checkBloodTypeUtil.saveData(xkCheckBloodtype,xkTransfuseApplyTemp,xkPatientInfoTemp);
|
||||
//调用外部接口
|
||||
@ -134,8 +142,16 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService {
|
||||
}
|
||||
checkBloodTypeUtil.deleteData(xkTransfuseApplyTemp,chargeBillNo,billNo);
|
||||
|
||||
//调用外部接口 TODO
|
||||
|
||||
//调用外部接口
|
||||
CancelCheckBloodTypeRequest cancelCheckBloodTypeRequest = new CancelCheckBloodTypeRequest();
|
||||
cancelCheckBloodTypeRequest.setBillNo(billNo);
|
||||
Result result = BloodInterfaceUtil.invokeBloodInterface(cancelCheckBloodTypeRequest);
|
||||
if(!result.getCode().equals("0")) return result;
|
||||
return new Result("0","删除成功!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String,Object>> queryHistoryInfo(HistoryQueryVO historyQueryVO) {
|
||||
return checkBloodTypeMapper.queryHistoryInfo(historyQueryVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,4 +65,12 @@
|
||||
<select id="queryOutMainCount" resultType="java.lang.Integer">
|
||||
Select count (*) From xk_out_main where check_no = #{billNo} and check_sign ='N';
|
||||
</select>
|
||||
<select id="queryHistoryInfo" resultType="java.util.Map">
|
||||
select * from xk_check_bloodtype
|
||||
<where>
|
||||
<if test="beinhos_id != null">and beinhos_id = #{beinhos_id}</if>
|
||||
<if test="patient_name != null">and patient_name like '%'+#{patient_name}+'%'</if>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user