交叉配血功能,临床发血功能开发
This commit is contained in:
parent
dd0aaf74f1
commit
ebfc24a73c
39
.idea/misc.xml
generated
39
.idea/misc.xml
generated
@ -13,6 +13,45 @@
|
|||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="NullableNotNullManager">
|
||||||
|
<option name="myDefaultNullable" value="org.jetbrains.annotations.Nullable" />
|
||||||
|
<option name="myDefaultNotNull" value="org.jetbrains.annotations.NotNull" />
|
||||||
|
<option name="myOrdered" value="false" />
|
||||||
|
<option name="myNullables">
|
||||||
|
<value>
|
||||||
|
<list size="11">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.jspecify.annotations.Nullable" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
|
||||||
|
<item index="5" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
|
||||||
|
<item index="6" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
||||||
|
<item index="7" class="java.lang.String" itemvalue="jakarta.annotation.Nullable" />
|
||||||
|
<item index="8" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
||||||
|
<item index="9" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
||||||
|
<item index="10" class="java.lang.String" itemvalue="org.springframework.lang.Nullable" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
<option name="myNotNulls">
|
||||||
|
<value>
|
||||||
|
<list size="11">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.jspecify.annotations.NonNull" />
|
||||||
|
<item index="1" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
||||||
|
<item index="2" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
|
||||||
|
<item index="3" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
|
||||||
|
<item index="4" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
|
||||||
|
<item index="5" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
|
||||||
|
<item index="6" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
||||||
|
<item index="7" class="java.lang.String" itemvalue="jakarta.annotation.Nonnull" />
|
||||||
|
<item index="8" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
||||||
|
<item index="9" class="java.lang.String" itemvalue="lombok.NonNull" />
|
||||||
|
<item index="10" class="java.lang.String" itemvalue="org.springframework.lang.NonNull" />
|
||||||
|
</list>
|
||||||
|
</value>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@ -14,4 +14,5 @@ public class BloodSysLogConstants {
|
|||||||
public static final String LOG_TYPE_ACCEPT_SAMPLE_INFO = "标本接收";
|
public static final String LOG_TYPE_ACCEPT_SAMPLE_INFO = "标本接收";
|
||||||
public static final String LOG_TYPE_SEND_SAMPLE_INFO = "标本送检";
|
public static final String LOG_TYPE_SEND_SAMPLE_INFO = "标本送检";
|
||||||
public static final String LOG_TYPE_CHECK_BLOOD_TYPE = "血型复核";
|
public static final String LOG_TYPE_CHECK_BLOOD_TYPE = "血型复核";
|
||||||
|
public static final String LOG_TYPE_MATCH_BLOOD = "交叉配血";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
package com.czblood.bus.mapper;
|
package com.czblood.bus.mapper;
|
||||||
|
|
||||||
import com.czblood.bus.pojo.XkBloodInfo;
|
import com.czblood.bus.pojo.XkBloodInfo;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface XkBloodInfoMapper {
|
public interface XkBloodInfoMapper {
|
||||||
XkBloodInfo queryOne(String bloodNo,String productNo);
|
XkBloodInfo queryOne(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||||
List<XkBloodInfo> queryListByBloodNo(String bloodNo);
|
List<XkBloodInfo> queryListByBloodNo(String bloodNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
package com.czblood.bus.mapper;
|
package com.czblood.bus.mapper;
|
||||||
|
|
||||||
import com.czblood.bus.pojo.XkInstorageDetail;
|
import com.czblood.bus.pojo.XkInstorageDetail;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface XkInstorageDetailMapper {
|
public interface XkInstorageDetailMapper {
|
||||||
List<XkInstorageDetail> queryByBillNo(String bill_no);
|
List<XkInstorageDetail> queryByBillNo(String bill_no);
|
||||||
List<XkInstorageDetail> queryByBloodNo(String blood_no,String product_no);
|
List<XkInstorageDetail> queryByBloodNo(@Param("blood_no") String blood_no, @Param("product_no") String product_no);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.czblood.bus.mapper;
|
package com.czblood.bus.mapper;
|
||||||
|
|
||||||
import com.czblood.bus.pojo.XkMatchDetail;
|
import com.czblood.bus.pojo.XkMatchDetail;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -9,4 +10,5 @@ public interface XkMatchDetailMapper {
|
|||||||
List<XkMatchDetail> queryListByBillNo(String bill_no);
|
List<XkMatchDetail> queryListByBillNo(String bill_no);
|
||||||
void update(XkMatchDetail xkMatchDetail);
|
void update(XkMatchDetail xkMatchDetail);
|
||||||
void deleteByBillNo(String bill_no);
|
void deleteByBillNo(String bill_no);
|
||||||
|
List<XkMatchDetail> queryListByBloodNo(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
package com.czblood.bus.mapper;
|
||||||
|
|
||||||
|
import com.czblood.bus.pojo.XkOutDetail;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface XkOutDetailMapper {
|
||||||
|
List<XkOutDetail> queryListByBillNo(String billNo);
|
||||||
|
}
|
||||||
@ -49,7 +49,7 @@ public class XkBloodInfo {
|
|||||||
private String blood_bag_no;
|
private String blood_bag_no;
|
||||||
@ApiModelProperty("血袋生成批号")
|
@ApiModelProperty("血袋生成批号")
|
||||||
private String blood_bag_batch;
|
private String blood_bag_batch;
|
||||||
@ApiModelProperty("血液状态")
|
@ApiModelProperty("血液状态,1.在库,4.出库")
|
||||||
private String blood_status;
|
private String blood_status;
|
||||||
@ApiModelProperty("特殊处理")
|
@ApiModelProperty("特殊处理")
|
||||||
private String special_deal;
|
private String special_deal;
|
||||||
|
|||||||
@ -48,6 +48,8 @@ public class XkMatchDetail {
|
|||||||
@ApiModelProperty("延迟标志")
|
@ApiModelProperty("延迟标志")
|
||||||
private Integer delay_sign;
|
private Integer delay_sign;
|
||||||
private String product_no;
|
private String product_no;
|
||||||
|
@ApiModelProperty("血液存放位子")
|
||||||
private String position_blood;
|
private String position_blood;
|
||||||
|
@ApiModelProperty("标本存放位子")
|
||||||
private String position_barcode;
|
private String position_barcode;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,29 @@
|
|||||||
|
package com.czblood.bus.pojo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@ApiModel("血液出库明细表")
|
||||||
|
public class XkOutDetail {
|
||||||
|
private String bill_no;
|
||||||
|
private Integer sid;
|
||||||
|
private String blood_no;
|
||||||
|
private BigDecimal price;
|
||||||
|
private String special_deal;
|
||||||
|
private String have_reaction;
|
||||||
|
private String finish_sign;
|
||||||
|
private String accept_flag;
|
||||||
|
private String exp1;
|
||||||
|
private String exp2;
|
||||||
|
private String exp3;
|
||||||
|
private String remark;
|
||||||
|
private String accept_dept;
|
||||||
|
private String product_no;
|
||||||
|
}
|
||||||
@ -72,4 +72,7 @@
|
|||||||
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkMatchDetail">
|
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkMatchDetail">
|
||||||
select * from xk_match_detail where bill_no = #{bill_no}
|
select * from xk_match_detail where bill_no = #{bill_no}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryListByBloodNo" resultType="com.czblood.bus.pojo.XkMatchDetail">
|
||||||
|
select * from xk_match_detail where blood_no = #{bloodNo} and product_no = #{productNo}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?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.XkOutDetailMapper">
|
||||||
|
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkOutDetail">
|
||||||
|
select * from xk_out_detail where bill_no = #{billNo}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
package com.czblood.busBloodbank.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.czblood.busBloodbank.service.BloodOutService;
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
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;
|
||||||
|
|
||||||
|
@Api(tags = "血液出库")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/bus/bloodbank/bloodOut")
|
||||||
|
public class BloodOutController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BloodOutService bloodOutService;
|
||||||
|
|
||||||
|
@ApiOperation("查询发血数据")
|
||||||
|
@GetMapping("/queryOne")
|
||||||
|
public Result queryOne(String applyNo){
|
||||||
|
return bloodOutService.queryOne(applyNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,15 +1,17 @@
|
|||||||
package com.czblood.busBloodbank.controller;
|
package com.czblood.busBloodbank.controller;
|
||||||
|
|
||||||
|
import com.czblood.bus.constants.BloodSysLogConstants;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodListQueryVO;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
||||||
import com.czblood.busBloodbank.service.MatchBloodService;
|
import com.czblood.busBloodbank.service.MatchBloodService;
|
||||||
|
import com.czblood.common.annotation.Log;
|
||||||
import com.czblood.common.core.controller.BaseController;
|
import com.czblood.common.core.controller.BaseController;
|
||||||
import com.czblood.common.core.domain.Result;
|
import com.czblood.common.core.domain.Result;
|
||||||
|
import com.czblood.common.enums.BusinessType;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@ -47,24 +49,51 @@ public class MatchBloodController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("取消血液配血")
|
@ApiOperation("取消血液配血")
|
||||||
@PostMapping("/cancelBloodInfoMatch")
|
@GetMapping("/cancelBloodInfoMatch")
|
||||||
public Result cancelBloodInfoMatch(String bloodNo,String productNo){
|
public Result cancelBloodInfoMatch(String bloodNo,String productNo){
|
||||||
return matchBloodService.cancelBloodInfoMatch(bloodNo, productNo);
|
return matchBloodService.cancelBloodInfoMatch(bloodNo, productNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log(title = BloodSysLogConstants.LOG_TYPE_MATCH_BLOOD, businessType = BusinessType.INSERT)
|
||||||
@ApiOperation("保存数据")
|
@ApiOperation("保存数据")
|
||||||
@PostMapping("/saveData")
|
@PostMapping("/saveData")
|
||||||
public Result saveData(MatchBloodVO matchBloodVO){
|
public Result saveData(@RequestBody MatchBloodVO matchBloodVO){
|
||||||
matchBloodVO.setUserId(getUsername());
|
matchBloodVO.setUserId(getUsername());
|
||||||
return matchBloodService.saveData(matchBloodVO);
|
return matchBloodService.saveData(matchBloodVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log(title = BloodSysLogConstants.LOG_TYPE_MATCH_BLOOD, businessType = BusinessType.DELETE)
|
||||||
@ApiOperation("作废配血单")
|
@ApiOperation("作废配血单")
|
||||||
@GetMapping("/deleteBloodInfoMatch")
|
@GetMapping("/deleteBloodInfoMatch")
|
||||||
public Result deleteBloodInfoMatch(String billNo){
|
public Result deleteBloodInfoMatch(String billNo){
|
||||||
return matchBloodService.deleteBloodInfoMatch(billNo);
|
return matchBloodService.deleteBloodInfoMatch(billNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查询血液库存")
|
||||||
|
@GetMapping("/queryBloodStock")
|
||||||
|
public Result queryBloodStock(MatchBloodStockQueryVO matchBloodStockQueryVO){
|
||||||
|
return matchBloodService.queryBloodStock(matchBloodStockQueryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查询检验结果")
|
||||||
|
@GetMapping("/queryListResult")
|
||||||
|
public Result queryLisResult(String billNo){
|
||||||
|
return matchBloodService.queryLisResult(billNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("获取交叉配血列表")
|
||||||
|
@GetMapping("/queryMatchBloodList")
|
||||||
|
public Result queryMatchBloodList(MatchBloodListQueryVO matchBloodListQueryVO){
|
||||||
|
return matchBloodService.queryMatchBloodList(matchBloodListQueryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("校验该血液是否已经存在配血数据")
|
||||||
|
@GetMapping("/checkBloodMatched")
|
||||||
|
public Result checkBloodMatched(String bloodNo,String productNo,String billNo){
|
||||||
|
return matchBloodService.checkBloodMatched(bloodNo, productNo, billNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
package com.czblood.busBloodbank.mapper;
|
||||||
|
|
||||||
|
public interface BloodOutMapper {
|
||||||
|
int queryApplyBloodTypeCount(String billNo);
|
||||||
|
}
|
||||||
@ -1,5 +1,8 @@
|
|||||||
package com.czblood.busBloodbank.mapper;
|
package com.czblood.busBloodbank.mapper;
|
||||||
|
|
||||||
|
import com.czblood.bus.pojo.XkBloodInfo;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodListQueryVO;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -24,4 +27,8 @@ public interface MatchBloodMapper {
|
|||||||
String checkBloodNeedMatch(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
String checkBloodNeedMatch(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||||
int queryOutCountThree(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
int queryOutCountThree(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||||
String queryChargeMainBillNo(String billNo);
|
String queryChargeMainBillNo(String billNo);
|
||||||
|
List<Map<String,Object>> queryBloodStock(MatchBloodStockQueryVO matchBloodStockQueryVO);
|
||||||
|
List<Map<String,Object>> querySearchBloodLastMatchDate();
|
||||||
|
List<Map<String,Object>> queryMatchBloodList(MatchBloodListQueryVO matchBloodListQueryVO);
|
||||||
|
List<Map<String,Object>> queryBloodMatchOthers(@Param("billNo") String billNo, @Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
package com.czblood.busBloodbank.pojo.VO;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class MatchBloodListQueryVO {
|
||||||
|
private String billNo;
|
||||||
|
private String stime;
|
||||||
|
private String etime;
|
||||||
|
private String dept;
|
||||||
|
private String applyNo;
|
||||||
|
private String beinhos_id;
|
||||||
|
private String bloodNo;
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.czblood.busBloodbank.pojo.VO;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class MatchBloodStockQueryVO {
|
||||||
|
private String bloodNo;
|
||||||
|
private String affirmAbo;
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
package com.czblood.busBloodbank.service;
|
||||||
|
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
|
||||||
|
public interface BloodOutService {
|
||||||
|
Result queryOne(String applyNo);
|
||||||
|
}
|
||||||
@ -1,5 +1,7 @@
|
|||||||
package com.czblood.busBloodbank.service;
|
package com.czblood.busBloodbank.service;
|
||||||
|
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodListQueryVO;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
||||||
import com.czblood.common.core.domain.Result;
|
import com.czblood.common.core.domain.Result;
|
||||||
|
|
||||||
@ -10,4 +12,8 @@ public interface MatchBloodService {
|
|||||||
Result cancelBloodInfoMatch(String bloodNo, String productNo);
|
Result cancelBloodInfoMatch(String bloodNo, String productNo);
|
||||||
Result saveData(MatchBloodVO matchBloodVO);
|
Result saveData(MatchBloodVO matchBloodVO);
|
||||||
Result deleteBloodInfoMatch(String billNo);
|
Result deleteBloodInfoMatch(String billNo);
|
||||||
|
Result queryBloodStock(MatchBloodStockQueryVO matchBloodStockQueryVO);
|
||||||
|
Result queryLisResult(String billNo);
|
||||||
|
Result queryMatchBloodList(MatchBloodListQueryVO matchBloodListQueryVO);
|
||||||
|
Result checkBloodMatched(String bloodNo, String productNo, String billNo);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,110 @@
|
|||||||
|
package com.czblood.busBloodbank.service.impl;
|
||||||
|
|
||||||
|
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
|
||||||
|
import com.czblood.bus.pojo.XkTransfuseApply;
|
||||||
|
import com.czblood.busBloodbank.mapper.BloodOutMapper;
|
||||||
|
import com.czblood.busBloodbank.service.BloodOutService;
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class BloodOutServiceImpl implements BloodOutService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
BloodOutMapper bloodOutMapper;
|
||||||
|
@Resource
|
||||||
|
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryOne(String applyNo) {
|
||||||
|
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(applyNo);
|
||||||
|
if(xkTransfuseApply == null) return new Result("-1","该申请单不存在,请检查!");
|
||||||
|
String operationType = xkTransfuseApply.getOperation_type();
|
||||||
|
if(operationType.equals("Z")) return new Result("-1","该申请单为自体血申请单,无法在这操作!");
|
||||||
|
if(!operationType.equals("S")) return new Result("-1","该申请单为输血治疗申请单,无法在这操作!");
|
||||||
|
String billSort = xkTransfuseApply.getBill_sort();
|
||||||
|
String billStatus = xkTransfuseApply.getBill_stasus();
|
||||||
|
switch (billSort){
|
||||||
|
case "N":
|
||||||
|
return new Result("-1","该申请单尚未审核,不能进行发血!");
|
||||||
|
case "A":
|
||||||
|
if(billStatus.equals("B")) {
|
||||||
|
return new Result("-1","该申请单尚未复核血型,请先复核血型!");
|
||||||
|
}else if(billStatus.equals("N")){
|
||||||
|
return new Result("-1","该申请单未通过审核,不能进行发血操作!");
|
||||||
|
}else if(billStatus.equals("D")){
|
||||||
|
return new Result("-1","该申请单已经发血!");
|
||||||
|
}else if(billStatus.equals("Z")){
|
||||||
|
return new Result("-1","该申请单已经作废!");
|
||||||
|
}
|
||||||
|
return new Result("0","操作成功");
|
||||||
|
}
|
||||||
|
//返回数据 TODO
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Result checkBloodValid(XkTransfuseApply xkTransfuseApply){
|
||||||
|
String billSort = xkTransfuseApply.getBill_sort();
|
||||||
|
String billStatus = xkTransfuseApply.getBill_stasus();
|
||||||
|
String billNo = xkTransfuseApply.getBill_no();
|
||||||
|
switch (billSort){
|
||||||
|
case "N":
|
||||||
|
return new Result("-1","该申请单尚未审核,不能进行发血!");
|
||||||
|
case "A":
|
||||||
|
switch (billStatus){
|
||||||
|
case "B":
|
||||||
|
return new Result("-1","该申请单尚未复核血型,请先复核血型!");
|
||||||
|
case "N":
|
||||||
|
return new Result("-1","该申请单未通过审核,不能进行发血操作!");
|
||||||
|
case "D":
|
||||||
|
return new Result("-1","该申请单已经发血!");
|
||||||
|
case "Z":
|
||||||
|
return new Result("-1","该申请单已经作废!");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "C":
|
||||||
|
switch (billStatus){
|
||||||
|
case "Z":
|
||||||
|
return new Result("-1","该申请单已经作废!");
|
||||||
|
case "N":
|
||||||
|
return new Result("-1","该申请单未通过审核,不能进行发血操作!");
|
||||||
|
case "D":
|
||||||
|
return new Result("-1","该申请单已经发血!");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "B":
|
||||||
|
int i = bloodOutMapper.queryApplyBloodTypeCount(billNo);
|
||||||
|
if(i > 0) {
|
||||||
|
if(billStatus.equals("F") || billStatus.equals("SF") || billStatus.equals("B")){
|
||||||
|
return new Result("-1","该申请单有非红细胞类的血液尚未配血,不能发血!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch (billStatus){
|
||||||
|
case "F":
|
||||||
|
return new Result("-1","该申请单尚未配血,请先配血!");
|
||||||
|
case "N":
|
||||||
|
return new Result("-1","该申请单未通过审核,不能进行发血操作!");
|
||||||
|
case "SF":
|
||||||
|
return new Result("-1","该申请单尚未配血,请先配血!");
|
||||||
|
case "B":
|
||||||
|
return new Result("-1","该申请单尚未复核血型,请先复核血型!");
|
||||||
|
case "D":
|
||||||
|
//TODO 这里还有个函数没写
|
||||||
|
break;
|
||||||
|
case "Z":
|
||||||
|
return new Result("-1","该申请单已经作废!");
|
||||||
|
case "BD":
|
||||||
|
return new Result("-1","该申请单为补单,若要按正常流程,请先复核血型、配血后再发血,否则按紧急流程!");
|
||||||
|
case "W":
|
||||||
|
return new Result("-1","该申请单已经补录,若要追加发血,请先复核血型、配血后再发血!");
|
||||||
|
//TODO 这里还有个C,S状态没有写,要看下
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Result("0","操作成功");
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,9 +1,8 @@
|
|||||||
package com.czblood.busBloodbank.service.impl;
|
package com.czblood.busBloodbank.service.impl;
|
||||||
|
|
||||||
import com.czblood.bus.mapper.XkCheckBloodtypeMapper;
|
import cn.hutool.core.date.DateTime;
|
||||||
import com.czblood.bus.mapper.XkMatchMainMapper;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyBloodbreedMapper;
|
import com.czblood.bus.mapper.*;
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyMapper;
|
|
||||||
import com.czblood.bus.pojo.*;
|
import com.czblood.bus.pojo.*;
|
||||||
import com.czblood.bus.pojo.inter.CancelMatchBloodTypeRequest;
|
import com.czblood.bus.pojo.inter.CancelMatchBloodTypeRequest;
|
||||||
import com.czblood.bus.pojo.inter.MatchBloodTypeRequest;
|
import com.czblood.bus.pojo.inter.MatchBloodTypeRequest;
|
||||||
@ -11,6 +10,8 @@ import com.czblood.bus.utils.BloodBankUtil;
|
|||||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||||
import com.czblood.busBloodbank.mapper.MatchBloodMapper;
|
import com.czblood.busBloodbank.mapper.MatchBloodMapper;
|
||||||
import com.czblood.busBloodbank.pojo.DTO.MatchBloodDTO;
|
import com.czblood.busBloodbank.pojo.DTO.MatchBloodDTO;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodListQueryVO;
|
||||||
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
import com.czblood.busBloodbank.pojo.VO.MatchBloodVO;
|
||||||
import com.czblood.busBloodbank.service.MatchBloodService;
|
import com.czblood.busBloodbank.service.MatchBloodService;
|
||||||
import com.czblood.busBloodbank.utils.MatchBloodUtil;
|
import com.czblood.busBloodbank.utils.MatchBloodUtil;
|
||||||
@ -21,6 +22,7 @@ import javax.annotation.Resource;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class MatchBloodServiceImpl implements MatchBloodService {
|
public class MatchBloodServiceImpl implements MatchBloodService {
|
||||||
@ -39,6 +41,8 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
|||||||
XkCheckBloodtypeMapper xkCheckBloodtypeMapper;
|
XkCheckBloodtypeMapper xkCheckBloodtypeMapper;
|
||||||
@Resource
|
@Resource
|
||||||
XkMatchMainMapper xkMatchMainMapper;
|
XkMatchMainMapper xkMatchMainMapper;
|
||||||
|
@Resource
|
||||||
|
XkTransfuseApplyTestitemMapper xkTransfuseApplyTestitemMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result queryWaitInfo() {
|
public Result queryWaitInfo() {
|
||||||
@ -255,4 +259,55 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
|||||||
|
|
||||||
return new Result("0","作废成功!");
|
return new Result("0","作废成功!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryBloodStock(MatchBloodStockQueryVO matchBloodStockQueryVO) {
|
||||||
|
List<Map<String,Object>> xkBloodInfoList = matchBloodMapper.queryBloodStock(matchBloodStockQueryVO);
|
||||||
|
//配血超过多少天后,在交叉配血,库存浏览中用特殊颜色进行显示
|
||||||
|
String pxcgts = bloodBankUtil.getParameterValue("PXCGTS");
|
||||||
|
//标记交叉配血
|
||||||
|
List<Map<String,Object>> xkMatchDetailList = matchBloodMapper.querySearchBloodLastMatchDate();
|
||||||
|
for (Map<String, Object> stringObjectMap : xkMatchDetailList) {
|
||||||
|
String matchDate = BloodBankUtil.isBank(stringObjectMap.get("match_date"));
|
||||||
|
String bloodNo = BloodBankUtil.isBank(stringObjectMap.get("blood_no"));
|
||||||
|
String productNo = BloodBankUtil.isBank(stringObjectMap.get("product_no"));
|
||||||
|
DateTime matchDateDelay = DateUtil.offsetDay(DateUtil.parse(matchDate, "yyyy-MM-dd"), Integer.parseInt(pxcgts));
|
||||||
|
//match_delay 配血超过预定天数未出库
|
||||||
|
if(matchDateDelay.compareTo(bloodBankUtil.getCurrentTimeDate()) > 0){
|
||||||
|
xkBloodInfoList.stream().filter(mapParam ->
|
||||||
|
BloodBankUtil.isBank(mapParam.get("blood_no")).equals(bloodNo) && BloodBankUtil.isBank(mapParam.get("product_no")).equals(productNo))
|
||||||
|
.forEach(mapParam -> mapParam.put("match_delay","Y"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new Result("0","查询成功!",xkBloodInfoList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryLisResult(String billNo) {
|
||||||
|
List<XkTransfuseApplyTestitem> xkTransfuseApplyTestitemList = xkTransfuseApplyTestitemMapper.queryList(billNo);
|
||||||
|
return new Result("0","查询成功!",xkTransfuseApplyTestitemList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryMatchBloodList(MatchBloodListQueryVO matchBloodListQueryVO) {
|
||||||
|
List<Map<String, Object>> mapList = matchBloodMapper.queryMatchBloodList(matchBloodListQueryVO);
|
||||||
|
return new Result("0","查询成功!",mapList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result checkBloodMatched(String bloodNo, String productNo, String billNo) {
|
||||||
|
List<Map<String, Object>> mapList = matchBloodMapper.queryBloodMatchOthers(bloodNo, productNo, billNo);
|
||||||
|
if(!mapList.isEmpty()){
|
||||||
|
String msg = "检测到该血液存在以下配血记录:\r\n";
|
||||||
|
for (Map<String, Object> stringObjectMap : mapList) {
|
||||||
|
String temp = "科室:"+stringObjectMap.get("dept_id")+"患者姓名:"+stringObjectMap.get("patient_name")
|
||||||
|
+"申请单:"+stringObjectMap.get("apply_no")
|
||||||
|
+"配血日期:"+stringObjectMap.get("test_date");
|
||||||
|
msg += temp+"\n";
|
||||||
|
}
|
||||||
|
return new Result("2",msg);
|
||||||
|
}
|
||||||
|
return new Result("0","校验通过!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
package com.czblood.busBloodbank.utils;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class BloodOutUtil {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -46,11 +46,13 @@ public class MatchBloodUtil {
|
|||||||
validDate = DateUtil.offsetDay(bloodBankUtil.getCurrentTimeDate(),-Integer.parseInt(overstepDay));
|
validDate = DateUtil.offsetDay(bloodBankUtil.getCurrentTimeDate(),-Integer.parseInt(overstepDay));
|
||||||
}
|
}
|
||||||
Date maxPickDate = matchBloodMapper.querySampleMaxDate(applyNo);
|
Date maxPickDate = matchBloodMapper.querySampleMaxDate(applyNo);
|
||||||
if (validDate != null && validDate.compareTo(maxPickDate) > 0) {
|
if (validDate != null && maxPickDate != null) {
|
||||||
//当标本采集时间与发血时间的间隔大于“overstep_day”参数值时,执行本参数定义的操作。‘0’不操作、‘1’提醒、‘2’禁止发血
|
if(validDate.compareTo(maxPickDate) > 0){
|
||||||
String overstepOperate = bloodBankUtil.getParameterValue("overstep_operate");
|
//当标本采集时间与发血时间的间隔大于“overstep_day”参数值时,执行本参数定义的操作。‘0’不操作、‘1’提醒、‘2’禁止发血
|
||||||
if (overstepOperate.equals("1")) return new Result("1", "请注意,标本时间已经超过了设定的有效天数");
|
String overstepOperate = bloodBankUtil.getParameterValue("overstep_operate");
|
||||||
if (overstepOperate.equals("2")) return new Result("-1", "标本时间已经超过了设定的有效天数,不可以继续操作!");
|
if (overstepOperate.equals("1")) return new Result("1", "请注意,标本时间已经超过了设定的有效天数");
|
||||||
|
if (overstepOperate.equals("2")) return new Result("-1", "标本时间已经超过了设定的有效天数,不可以继续操作!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return new Result("0","校验通过!");
|
return new Result("0","校验通过!");
|
||||||
}
|
}
|
||||||
@ -92,10 +94,12 @@ public class MatchBloodUtil {
|
|||||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||||
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(bloodNo, productNo);
|
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(bloodNo, productNo);
|
||||||
if(xkInstorageDetailList.size() > 0){
|
if(xkInstorageDetailList.size() > 0){
|
||||||
String checkAbo = xkInstorageDetailList.get(0).getCheck_abo();
|
String checkAbo = BloodBankUtil.isBank(xkInstorageDetailList.get(0).getCheck_abo());
|
||||||
String checkRh = xkInstorageDetailList.get(0).getCheck_rh();
|
String checkRh = BloodBankUtil.isBank(xkInstorageDetailList.get(0).getCheck_rh());
|
||||||
if(!checkAbo.equals(xkBloodInfo.getBlood_type()) || !checkRh.equals(xkBloodInfo.getRh_blood_type())){
|
if(!checkAbo.equals("") && !checkRh.equals("")){
|
||||||
return new Result("-1","该血液流水号:"+bloodNo+"产品码:"+productNo+"的Abo型或Rh型与入库时的不一致!");
|
if(!checkAbo.equals(xkBloodInfo.getBlood_type()) || !checkRh.equals(xkBloodInfo.getRh_blood_type())){
|
||||||
|
return new Result("-1","该血液流水号:"+bloodNo+"产品码:"+productNo+"的Abo型或Rh型与入库时的不一致!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new Result("0","校验通过!");
|
return new Result("0","校验通过!");
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?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.BloodOutMapper">
|
||||||
|
<select id="queryApplyBloodTypeCount" resultType="java.lang.Integer">
|
||||||
|
SELECT COUNT(1) FROM xk_transfuse_apply_bloodbreed A JOIN xk_blood_breed B ON B.breed_code=A.blood_breed AND B.Is_match='N' WHERE A.bill_no=#{billNo} and b.blood_kind = '0002'
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@ -60,6 +60,7 @@
|
|||||||
xk_transfuse_apply.beinhos_id,
|
xk_transfuse_apply.beinhos_id,
|
||||||
xk_transfuse_apply.dept_id,
|
xk_transfuse_apply.dept_id,
|
||||||
xk_transfuse_apply.patient_bed,
|
xk_transfuse_apply.patient_bed,
|
||||||
|
xk_transfuse_apply.bill_stasus,
|
||||||
xk_transfuse_apply_bloodbreed.blood_breed,
|
xk_transfuse_apply_bloodbreed.blood_breed,
|
||||||
xk_transfuse_apply_bloodbreed.blood_num,
|
xk_transfuse_apply_bloodbreed.blood_num,
|
||||||
xk_transfuse_apply_bloodbreed.unit,
|
xk_transfuse_apply_bloodbreed.unit,
|
||||||
@ -110,7 +111,7 @@
|
|||||||
xk_backout_detail.product_no = #{productNo}
|
xk_backout_detail.product_no = #{productNo}
|
||||||
</select>
|
</select>
|
||||||
<select id="queryBloodOutHosCount" resultType="java.lang.Integer">
|
<select id="queryBloodOutHosCount" resultType="java.lang.Integer">
|
||||||
SELECT count(*) into :ll_count_bloodout_hos FROM xk_bloodout_hos_main,dbo.xk_bloodout_hos_detail
|
SELECT count(*) FROM xk_bloodout_hos_main,dbo.xk_bloodout_hos_detail
|
||||||
WHERE xk_bloodout_hos_main.Bill_No = xk_bloodout_hos_detail.Bill_No
|
WHERE xk_bloodout_hos_main.Bill_No = xk_bloodout_hos_detail.Bill_No
|
||||||
AND xk_bloodout_hos_main.Audit_Flag = 'Y'
|
AND xk_bloodout_hos_main.Audit_Flag = 'Y'
|
||||||
AND xk_bloodout_hos_detail.Blood_No = #{bloodNo}
|
AND xk_bloodout_hos_detail.Blood_No = #{bloodNo}
|
||||||
@ -161,4 +162,73 @@
|
|||||||
SELECT xk_charge_main.bill_no FROM xk_charge_main
|
SELECT xk_charge_main.bill_no FROM xk_charge_main
|
||||||
Where xk_charge_main.relative_billno = #{billNo} AND send_flag ='N'
|
Where xk_charge_main.relative_billno = #{billNo} AND send_flag ='N'
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryBloodStock" resultType="java.util.Map">
|
||||||
|
SELECT xk_blood_info.blood_no,
|
||||||
|
xk_blood_info.product_no,
|
||||||
|
xk_blood_info.blood_breed,
|
||||||
|
xk_blood_info.blood_type,
|
||||||
|
xk_blood_info.rh_blood_type,
|
||||||
|
xk_blood_info.capacity,
|
||||||
|
xk_blood_info.unit,
|
||||||
|
xk_blood_info.valid_date,
|
||||||
|
xk_blood_info.blood_status ,
|
||||||
|
xk_blood_info.auto_no,
|
||||||
|
case when xk_match_detail.match_date is null then 'N' else 'Y' end as matched,
|
||||||
|
space(4) as match_delay,
|
||||||
|
space(4) as choose
|
||||||
|
FROM xk_blood_info
|
||||||
|
left join xk_match_detail on (xk_blood_info.blood_no = xk_match_detail.blood_no and xk_match_detail.product_no = xk_blood_info.product_no)
|
||||||
|
WHERE ( xk_blood_info.blood_status = '1' ) AND
|
||||||
|
( xk_blood_info.blood_sort In ('C','W') OR ISNULL(xk_blood_info.blood_sort,'') = '')
|
||||||
|
<if test="bloodNo != null and bloodNo!= ''">AND xk_blood_info.blood_no = #{bloodNo}</if>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="querySearchBloodLastMatchDate" resultType="java.util.Map">
|
||||||
|
SELECT
|
||||||
|
xk_match_detail.blood_no,
|
||||||
|
xk_match_detail.product_no,
|
||||||
|
xk_match_detail.match_date,
|
||||||
|
xk_match_detail.delay_day
|
||||||
|
FROM xk_match_detail,
|
||||||
|
xk_match_main,
|
||||||
|
xk_blood_info
|
||||||
|
WHERE ( xk_match_detail.bill_no = xk_match_main.bill_no ) and
|
||||||
|
( xk_match_detail.blood_no = xk_blood_info.blood_no ) and
|
||||||
|
<![CDATA[ ( xk_match_main.bill_status <> 'ZF' ) AND ]]>
|
||||||
|
( xk_blood_info.blood_status = '1' )
|
||||||
|
ORDER BY xk_match_detail.match_date DESC
|
||||||
|
</select>
|
||||||
|
<select id="queryMatchBloodList" resultType="java.util.Map">
|
||||||
|
SELECT xk_match_main.bill_no,
|
||||||
|
xk_match_main.apply_no,
|
||||||
|
xk_check_bloodtype.affirm_abo,
|
||||||
|
xk_check_bloodtype.check_rh,
|
||||||
|
xk_match_main.test_date,
|
||||||
|
xk_match_main.patient_name,
|
||||||
|
xk_match_main.dept_id,
|
||||||
|
xk_match_main.bill_status
|
||||||
|
FROM xk_match_main,xk_check_bloodtype
|
||||||
|
WHERE (xk_match_main.test_date between #{stime} AND #{etime}) AND
|
||||||
|
<if test="billNo != null">(xk_match_main.bill_no = #{billNo}) AND</if>
|
||||||
|
( xk_match_main.apply_no NOT in(select xk_match_apply.apply_no from xk_match_apply) )AND
|
||||||
|
( xk_match_main.check_no = xk_check_bloodtype.bill_no) AND
|
||||||
|
<if test="applyNo != null">(xk_match_main.apply_no = #{applyNo}) and</if>
|
||||||
|
<if test="beinhos_id != null">(xk_match_main.beinhos_id like '%'+#{beinhos_id}+'%' ) and</if>
|
||||||
|
( xk_check_bloodtype.bill_sort = 'C' Or Isnull(xk_check_bloodtype.bill_sort,'') = '') AND
|
||||||
|
<if test="dept != null">(xk_match_main.dept_id = #{dept} Or xk_match_main.dept_id = #{dept} or isnull(xk_match_main.dept_id,'') = '')</if>
|
||||||
|
</select>
|
||||||
|
<select id="queryBloodMatchOthers" resultType="java.util.Map">
|
||||||
|
SELECT xk_match_main.patient_name,
|
||||||
|
xk_match_main.dept_id,
|
||||||
|
xk_match_main.apply_no,
|
||||||
|
xk_match_main.test_date
|
||||||
|
FROM xk_match_detail,
|
||||||
|
xk_match_main
|
||||||
|
WHERE ( xk_match_detail.bill_no = xk_match_main.bill_no ) and
|
||||||
|
<![CDATA[( ( xk_match_main.bill_status <> 'ZF' ) AND ]]>
|
||||||
|
<![CDATA[( xk_match_detail.bill_no <> #{billNo} ) AND ]]>
|
||||||
|
( xk_match_detail.blood_no = #{bloodNo} ) AND
|
||||||
|
( xk_match_detail.product_no = #{productNo} ))
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -356,6 +356,14 @@ if not exists(select 1 from dbo.xk_dmzd where wordbook_sign = 'BASE')
|
|||||||
('sampleStatus','4','已签收','Y'),
|
('sampleStatus','4','已签收','Y'),
|
||||||
('sampleStatus','5','复核血型','Y')
|
('sampleStatus','5','复核血型','Y')
|
||||||
|
|
||||||
|
insert into xk_dmzd(wordbook_sign,wordbook_code,wordbook_name,use_sign) values('BASE','zccc','交叉配血主侧','Y')
|
||||||
|
insert into xk_dmzd(wordbook_sign,wordbook_code,wordbook_name,use_sign) values
|
||||||
|
('zccc','N','不凝集,不溶血','Y'),
|
||||||
|
('zccc','Y','凝集','Y'),
|
||||||
|
('zccc','R','溶血','Y'),
|
||||||
|
('zccc','C','血液中心配血','Y'),
|
||||||
|
('zccc','W','未做','Y')
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_transfuse_apply_before' AND COLUMN_NAME = 'bill_status')
|
if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_transfuse_apply_before' AND COLUMN_NAME = 'bill_status')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user