Compare commits
6 Commits
5fb1e91dc8
...
f22d0b1382
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f22d0b1382 | ||
|
|
60e244bca9 | ||
|
|
216e6b0280 | ||
|
|
7a93c10ad0 | ||
|
|
a50c2a69f4 | ||
|
|
60f1dd1f1a |
@ -17,4 +17,5 @@ public class BloodSysLogConstants {
|
||||
public static final String LOG_TYPE_MATCH_BLOOD = "交叉配血";
|
||||
public static final String LOG_TYPE_BLOOD_OUT = "临床发血";
|
||||
public static final String LOG_TYPE_BLOOD_BACK = "临床发血退血";
|
||||
public static final String LOG_TYPE_DISCARD_MAIN = "血液报废";
|
||||
}
|
||||
|
||||
@ -148,6 +148,7 @@ public class BloodCommonController extends BaseController {
|
||||
@GetMapping("/queryBloodInfoByBloodNo")
|
||||
public Result queryBloodInfoByBloodNo(String bloodNo){
|
||||
List<XkBloodInfo> xkBloodInfoList = xkBloodInfoMapper.queryListByBloodNo(bloodNo);
|
||||
if(xkBloodInfoList.isEmpty()) return new Result("1","未查询到该血液信息!");
|
||||
return new Result("0","获取数据成功!",xkBloodInfoList);
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -10,4 +10,4 @@ public interface XkBackinDetailMapper {
|
||||
void insert(XkBackinDetail xkBackinDetail);
|
||||
void deleteByBillNo(String billNo);
|
||||
void deleteOne(@Param("billNo") String billNo,@Param("bloodNo") String bloodNo,@Param("productNo") String productNo);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,13 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface XkDiscardDetailMapper {
|
||||
XkDiscardDetail queryDiscardDetail(@Param("bloodNo") String bloodNo, @Param("productNo") String productNo);
|
||||
void insert(XkDiscardDetail xkDiscardDetail);
|
||||
void delete(String billNo);
|
||||
List<XkDiscardDetail> queryListByBillNo(String billNo);
|
||||
}
|
||||
|
||||
@ -1,4 +1,10 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
|
||||
public interface XkDiscardMainMapper {
|
||||
void insert(XkDiscardMain xkDiscardMain);
|
||||
XkDiscardMain queryOne(String billNo);
|
||||
void update(XkDiscardMain xkDiscardMain);
|
||||
void deleteByBillNo(String billNo);
|
||||
}
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkRecycleBagDetail;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface XkRecycleBagDetailMapper {
|
||||
List<XkRecycleBagDetail> queryList(String billNo);
|
||||
void insert(XkRecycleBagDetail xkRecycleBagDetail);
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.czblood.bus.mapper;
|
||||
|
||||
import com.czblood.bus.pojo.XkRecycleBagMain;
|
||||
|
||||
public interface XkRecycleBagMainMapper {
|
||||
XkRecycleBagMain queryOne(String billNo);
|
||||
void insert(XkRecycleBagMain xkRecycleBagMain);
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.bus.pojo.DTO;
|
||||
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.xtwh.XkBloodBreed;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BloodInfoDTO {
|
||||
private XkBloodInfo xkBloodInfo;
|
||||
private XkBloodBreed xkBloodBreed;
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -16,6 +17,7 @@ public class XkDiscardDetail {
|
||||
private Integer sid;
|
||||
private String blood_no;
|
||||
private BigDecimal price;
|
||||
@ApiModelProperty("报废原因")
|
||||
private String reason;
|
||||
private String product_no;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@ -14,16 +15,28 @@ import java.util.Date;
|
||||
@ApiModel("报废血液主表")
|
||||
public class XkDiscardMain {
|
||||
private String bill_no;
|
||||
@ApiModelProperty("经手人")
|
||||
private String handle_person;
|
||||
@ApiModelProperty("总金额")
|
||||
private BigDecimal total_money;
|
||||
@ApiModelProperty("报废日期")
|
||||
private Date discard_date;
|
||||
@ApiModelProperty("输入人")
|
||||
private String input_person;
|
||||
@ApiModelProperty("输入日期")
|
||||
private Date input_date;
|
||||
@ApiModelProperty("审核人")
|
||||
private String audit_person;
|
||||
@ApiModelProperty("审核日期")
|
||||
private Date audit_date;
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
@ApiModelProperty("批准人")
|
||||
private String ratify_person;
|
||||
@ApiModelProperty("批准人意见")
|
||||
private String ratify_attitude;
|
||||
@ApiModelProperty("报废途径")
|
||||
private String discard_approach;
|
||||
@ApiModelProperty("报废方法")
|
||||
private String discard_method;
|
||||
}
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel("血袋回收明细表")
|
||||
public class XkRecycleBagDetail {
|
||||
private String bill_no;
|
||||
private Integer sid;
|
||||
private String blood_no;
|
||||
@ApiModelProperty("接收人")
|
||||
private String receive_person;
|
||||
@ApiModelProperty("接收日期")
|
||||
private Date receive_date;
|
||||
private String Exp1;
|
||||
private String Exp2;
|
||||
private String product_no;
|
||||
@ApiModelProperty("销毁人")
|
||||
private String destroy_person;
|
||||
@ApiModelProperty("销毁时间")
|
||||
private Date destroy_time;
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.czblood.bus.pojo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@ApiModel("回收血液主表")
|
||||
public class XkRecycleBagMain {
|
||||
private String bill_no;
|
||||
@ApiModelProperty("送返人")
|
||||
private String send_person;
|
||||
@ApiModelProperty("送返日期")
|
||||
private Date send_date;
|
||||
@ApiModelProperty("接收人")
|
||||
private String receive_person;
|
||||
@ApiModelProperty("接收日期")
|
||||
private Date receive_date;
|
||||
@ApiModelProperty("接收数量,总数")
|
||||
private Integer sum;
|
||||
private String Exp1;
|
||||
private String Exp2;
|
||||
private String bz1;
|
||||
}
|
||||
@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import com.czblood.bus.cache.DmzdCache;
|
||||
import com.czblood.bus.cache.OptionCache;
|
||||
import com.czblood.bus.mapper.*;
|
||||
import com.czblood.bus.pojo.DTO.BloodInfoDTO;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.XkCheckBloodtype;
|
||||
import com.czblood.bus.pojo.XkMatchDetail;
|
||||
@ -240,4 +241,12 @@ public class BloodBankUtil {
|
||||
return new Result("0","校验通过");
|
||||
}
|
||||
|
||||
public BloodInfoDTO queryBloodInfoDTO(String bloodNo,String productNo){
|
||||
XkBloodInfo xkBloodInfo = xkBloodInfoMapper.queryOne(bloodNo, productNo);
|
||||
XkBloodBreed xkBloodBreed = xkBloodBreedMapper.queryOne(xkBloodInfo.getBlood_breed());
|
||||
BloodInfoDTO bloodInfoDTO = new BloodInfoDTO();
|
||||
bloodInfoDTO.setXkBloodInfo(xkBloodInfo);
|
||||
bloodInfoDTO.setXkBloodBreed(xkBloodBreed);
|
||||
return bloodInfoDTO;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,5 +2,21 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkDiscardDetailMapper">
|
||||
<insert id="insert">
|
||||
insert into xk_discard_detail (
|
||||
bill_no,sid,blood_no,product_no,price,reason
|
||||
)values(
|
||||
#{bill_no},#{sid},#{blood_no},#{product_no},#{price},#{reason}
|
||||
)
|
||||
</insert>
|
||||
<delete id="delete">
|
||||
delete from xk_discard_detail where bill_no = #{billNo}
|
||||
</delete>
|
||||
|
||||
<select id="queryDiscardDetail" resultType="com.czblood.bus.pojo.XkDiscardDetail">
|
||||
select * from xk_discard_detail where blood_no = #{bloodNo} and product_no = #{productNo}
|
||||
</select>
|
||||
<select id="queryListByBillNo" resultType="com.czblood.bus.pojo.XkDiscardDetail">
|
||||
select * from xk_discard_detail where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -3,4 +3,44 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.czblood.bus.mapper.XkDiscardMainMapper">
|
||||
|
||||
<insert id="insert">
|
||||
insert into xk_discard_main (
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="ratify_person != null">ratify_person,</if>
|
||||
<if test="ratify_attitude != null">ratify_attitude,</if>
|
||||
<if test="discard_approach != null">discard_approach,</if>
|
||||
<if test="discard_method != null">discard_method,</if>
|
||||
bill_no,handle_person,total_money,input_person,input_date,discard_date
|
||||
)values(
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="ratify_person != null">#{ratify_person},</if>
|
||||
<if test="ratify_attitude != null">#{ratify_attitude},</if>
|
||||
<if test="discard_approach != null">#{discard_approach},</if>
|
||||
<if test="discard_method != null">#{discard_method},</if>
|
||||
#{bill_no},#{handle_person},#{total_money},#{input_person},#{input_date},#{discard_date}
|
||||
)
|
||||
</insert>
|
||||
<update id="update">
|
||||
update xk_discard_main set
|
||||
<if test="handle_person != null">handle_person = #{handle_person},</if>
|
||||
<if test="total_money != null">total_money = #{total_money},</if>
|
||||
<if test="discard_date != null">discard_date = #{discard_date},</if>
|
||||
<if test="input_person != null">input_person = #{input_person},</if>
|
||||
<if test="input_date != null">input_date = #{input_date},</if>
|
||||
<if test="audit_person != null">audit_person = #{audit_person},</if>
|
||||
<if test="audit_date != null">audit_date = #{audit_date},</if>
|
||||
<if test="remark != null">remark = #{remark},</if>
|
||||
<if test="ratify_person != null">ratify_person = #{ratify_person},</if>
|
||||
<if test="ratify_attitude != null">ratify_attitude = #{ratify_attitude},</if>
|
||||
<if test="discard_approach != null">discard_approach = #{discard_approach},</if>
|
||||
<if test="discard_method != null">discard_method = #{discard_method},</if>
|
||||
bill_no = #{bill_no}
|
||||
where bill_no = #{bill_no}
|
||||
</update>
|
||||
<delete id="deleteByBillNo">
|
||||
delete from xk_discard_main where bill_no = #{billNo}
|
||||
</delete>
|
||||
<select id="queryOne" resultType="com.czblood.bus.pojo.XkDiscardMain">
|
||||
select * from xk_discard_main where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,15 @@
|
||||
<?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.XkRecycleBagDetailMapper">
|
||||
<insert id="insert">
|
||||
insert into xk_recycle_bag_detail (bill_no, SID, blood_no, receive_person, receive_date,product_no,destroy_person,destroy_time
|
||||
)values(
|
||||
#{bill_no},#{sid},#{blood_no},#{receive_person},#{receive_date},#{product_no},#{destroy_person},#{destroy_time}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="queryList" resultType="com.czblood.bus.pojo.XkRecycleBagDetail">
|
||||
select * from xk_recycle_bag_detail where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,20 @@
|
||||
<?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.XkRecycleBagMainMapper">
|
||||
<insert id="insert">
|
||||
insert into xk_recycle_bag_main (
|
||||
<if test="Exp1 != null">Exp1,</if>
|
||||
<if test="Exp2 != null">Exp2,</if>
|
||||
bill_no, send_person, send_date,receive_person,receive_date,sum
|
||||
)values(
|
||||
<if test="Exp1 != null">#{Exp1},</if>
|
||||
<if test="Exp2 != null">#{Exp2},</if>
|
||||
#{bill_no},#{send_person},#{send_date},#{receive_person},#{receive_date},#{sum}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="queryOne" resultType="com.czblood.bus.pojo.XkRecycleBagMain">
|
||||
select * from xk_recycle_bag_main where bill_no = #{billNo}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.busBloodbank.controller;
|
||||
|
||||
import com.czblood.bus.constants.BloodSysLogConstants;
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.busBloodbank.service.BackinService;
|
||||
@ -55,6 +56,13 @@ public class BackinController extends BaseController {
|
||||
return backinService.deleteData(billNo);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_BLOOD_BACK, businessType = BusinessType.DELETE_DETAIL)
|
||||
@ApiOperation("删除血液信息")
|
||||
@PostMapping("/deleteBloodInfo")
|
||||
public Result deleteBloodInfo(@RequestBody XkBackinDetail xkBackinDetail){
|
||||
return backinService.deleteBloodInfo(xkBackinDetail);
|
||||
}
|
||||
|
||||
@ApiOperation("查询列表")
|
||||
@GetMapping("/queryList")
|
||||
public TableDataInfo queryList(BackinQueryVO backinQueryVO){
|
||||
|
||||
@ -1,19 +1,23 @@
|
||||
package com.czblood.busBloodbank.controller;
|
||||
|
||||
import com.czblood.bus.constants.BloodSysLogConstants;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.busBloodbank.service.DiscardMainService;
|
||||
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 org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "血液报废")
|
||||
@RestController
|
||||
@RequestMapping("/bus/bloodbank/discardMain")
|
||||
public class DiscardMainController {
|
||||
public class DiscardMainController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private DiscardMainService discardMainService;
|
||||
@ -24,4 +28,39 @@ public class DiscardMainController {
|
||||
return discardMainService.queryBloodInfo(bloodNo,productNo);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.INSERT)
|
||||
@ApiOperation("保存报废信息")
|
||||
@PostMapping("/saveData")
|
||||
public Result saveData(@RequestBody DiscardVO discardVO){
|
||||
discardVO.setUserId(getUsername());
|
||||
return discardMainService.saveData(discardVO);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.CHECK)
|
||||
@ApiOperation("审核单据")
|
||||
@GetMapping("/auditData")
|
||||
public Result auditData(String billNo){
|
||||
String userId = getUsername();
|
||||
return discardMainService.auditData(billNo,userId);
|
||||
}
|
||||
|
||||
@Log(title = BloodSysLogConstants.LOG_TYPE_DISCARD_MAIN, businessType = BusinessType.DELETE)
|
||||
@ApiOperation("删除报废单")
|
||||
@GetMapping("/deleteData")
|
||||
public Result deleteData(String billNo){
|
||||
return discardMainService.deleteData(billNo);
|
||||
}
|
||||
|
||||
@ApiOperation("查询报废单列表")
|
||||
@PostMapping("/queryList")
|
||||
public Result queryList(@RequestBody DiscardQueryVO discardQueryVO){
|
||||
return discardMainService.queryList(discardQueryVO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询报废单详情")
|
||||
@GetMapping("/queryInfoOne")
|
||||
public Result queryInfoOne(String billNo){
|
||||
return discardMainService.queryInfoOne(billNo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.czblood.busBloodbank.mapper;
|
||||
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DiscardMapper {
|
||||
List<Map<String,Object>> queryList(DiscardQueryVO discardQueryVO);
|
||||
List<Map<String,Object>> queryDetailList(String billNo);
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.czblood.busBloodbank.pojo.DTO;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -14,6 +15,7 @@ import java.util.Map;
|
||||
public class BackinBloodDTO {
|
||||
private XkBackinDetail xkBackinDetail;
|
||||
private Map<String,Object> patientInfo;
|
||||
private XkBloodInfo xkBloodInfo;
|
||||
@ApiModelProperty("标志位,1:新增,2:删除")
|
||||
private String flag;
|
||||
}
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busBloodbank.pojo.DTO;
|
||||
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.xtwh.XkBloodBreed;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BloodMatchDTO {
|
||||
private XkBloodInfo xkBloodInfo;
|
||||
private XkBloodBreed xkBloodBreed;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DiscardQueryVO {
|
||||
private String stime;
|
||||
private String etime;
|
||||
private String billNo;
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.czblood.busBloodbank.pojo.VO;
|
||||
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DiscardVO {
|
||||
private XkDiscardMain xkDiscardMain;
|
||||
private List<XkDiscardDetail> xkDiscardDetailList;
|
||||
private String userId;
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package com.czblood.busBloodbank.service;
|
||||
|
||||
import com.czblood.bus.pojo.XkBackinDetail;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
@ -15,4 +16,5 @@ public interface BackinService {
|
||||
List<Map<String,Object>> queryList(BackinQueryVO backinQueryVO);
|
||||
Result queryInfo(String billNo);
|
||||
Result print(String billNo,String templateName,String userId);
|
||||
Result deleteBloodInfo(XkBackinDetail xkBackinDetail);
|
||||
}
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
package com.czblood.busBloodbank.service;
|
||||
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
|
||||
public interface DiscardMainService {
|
||||
Result queryBloodInfo(String bloodNo, String productNo);
|
||||
Result saveData(DiscardVO discardVO);
|
||||
Result auditData(String billNo,String userId);
|
||||
Result deleteData(String billNo);
|
||||
Result queryList(DiscardQueryVO discardQueryVO);
|
||||
Result queryInfoOne(String billNo);
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ import com.czblood.busBloodbank.pojo.VO.BackinQueryVO;
|
||||
import com.czblood.busBloodbank.service.BackinService;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.utils.spring.SpringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -25,6 +26,7 @@ import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class BackinServiceImpl implements BackinService {
|
||||
|
||||
@Resource
|
||||
@ -136,6 +138,17 @@ public class BackinServiceImpl implements BackinService {
|
||||
|
||||
}else{
|
||||
//修改
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
newBillNo = xkBackinMain.getBill_no();
|
||||
for (BackinBloodDTO backinBloodDTO : xkBackinDetailList) {
|
||||
XkBackinDetail xkBackinDetail = backinBloodDTO.getXkBackinDetail();
|
||||
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(xkBackinDetail.getBlood_no(), xkBackinDetail.getProduct_no());
|
||||
if (!xkInstorageDetailList.isEmpty()) {
|
||||
totalMoney = totalMoney.add(xkInstorageDetailList.get(0).getPrice());
|
||||
xkBackinDetail.setPrice(xkInstorageDetailList.get(0).getPrice());
|
||||
}
|
||||
}
|
||||
xkBackinMain.setTotal_money(totalMoney); //总金额
|
||||
Result result = SpringUtils.getBean(BackinServiceImpl.class).updateChargeData(xkBackinMain, xkBackinDetailList, backinDataDTO);
|
||||
if(!result.getCode().equals("0")) return result;
|
||||
}
|
||||
@ -230,6 +243,7 @@ public class BackinServiceImpl implements BackinService {
|
||||
BackinBloodDTO backinBloodDTO = new BackinBloodDTO();
|
||||
backinBloodDTO.setPatientInfo(patientInfoList.get(0));
|
||||
backinBloodDTO.setXkBackinDetail(xkBackinDetail);
|
||||
backinBloodDTO.setXkBloodInfo(bloodBankUtil.queryBloodInfoOne(bloodNo, productNo));
|
||||
backinBloodDTOList.add(backinBloodDTO);
|
||||
}
|
||||
backinDataDTO.setXkBackinDetailList(backinBloodDTOList);
|
||||
@ -243,7 +257,20 @@ public class BackinServiceImpl implements BackinService {
|
||||
reportParam.setUserName(userName);
|
||||
Result result2 = reportUtil.printToPdf(BloodPrintTypeConstants.BLOOD_OUT_BACK, reportParam, true);
|
||||
if(!result2.getCode().equals("0")) return new Result("-1",result2.getMsg());
|
||||
return new Result("0","打印成功!");
|
||||
return new Result("0","打印成功!",result2.getData());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result deleteBloodInfo(XkBackinDetail xkBackinDetail) {
|
||||
String billNo = BloodBankUtil.isBank(xkBackinDetail.getBill_no());
|
||||
if(billNo.equals("")) return new Result("0","删除成功!"); //新增的数据就做数据库处理了
|
||||
String bloodNo = xkBackinDetail.getBlood_no();
|
||||
String productNo = xkBackinDetail.getProduct_no();
|
||||
String chargeBillNo = xkBackinDetail.getCharge_billno();
|
||||
xkBackinDetailMapper.deleteOne(billNo,bloodNo,productNo);
|
||||
xkChargeMainMapper.deleteByBillNo(chargeBillNo);
|
||||
xkChargeDetailMapper.deleteByBillNo(chargeBillNo);
|
||||
return new Result("0","删除成功!");
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -279,7 +306,7 @@ public class BackinServiceImpl implements BackinService {
|
||||
xkBackinMainMapper.update(xkBackinMain);
|
||||
for (BackinBloodDTO backinBloodDTO : xkBackinDetailList) {
|
||||
XkBackinDetail xkBackinDetail = backinBloodDTO.getXkBackinDetail();
|
||||
String flag = backinBloodDTO.getFlag();
|
||||
String flag = BloodBankUtil.isBank(backinBloodDTO.getFlag());
|
||||
if(flag.equals("1")){
|
||||
//新增
|
||||
Result result = insertChargeInfo(backinBloodDTO,backinDataDTO.getUserId());
|
||||
@ -294,19 +321,26 @@ public class BackinServiceImpl implements BackinService {
|
||||
if(xkChargeMain != null) xkChargeMainMapper.insert(xkChargeMain);
|
||||
if(xkChargeDetail != null) xkChargeDetailMapper.insert(xkChargeDetail);
|
||||
//回写单号
|
||||
xkBackinDetail.setCharge_billno(xkChargeMain.getBill_no());
|
||||
if(xkChargeMain != null) xkBackinDetail.setCharge_billno(xkChargeMain.getBill_no());
|
||||
xkBackinDetailMapper.insert(xkBackinDetail);
|
||||
|
||||
}else if(flag.equals("2")){
|
||||
//删除
|
||||
xkBackinDetailMapper.deleteOne(xkBackinDetail.getBill_no(),xkBackinDetail.getBlood_no(),xkBackinDetail.getProduct_no());
|
||||
xkChargeMainMapper.deleteByBillNo(xkBackinDetail.getCharge_billno());
|
||||
xkChargeDetailMapper.deleteByBillNo(xkBackinDetail.getCharge_billno());
|
||||
}
|
||||
}
|
||||
return new Result("0","更新成功!");
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
// public void deleteBloodInfo(XkBackinDetail xkBackinDetail){
|
||||
// String billNo = BloodBankUtil.isBank(xkBackinDetail.getBill_no());
|
||||
// if(billNo.equals("")) return; //新增的数据就做数据库处理了
|
||||
// String bloodNo = xkBackinDetail.getBlood_no();
|
||||
// String productNo = xkBackinDetail.getProduct_no();
|
||||
// String chargeBillNo = xkBackinDetail.getCharge_billno();
|
||||
// xkBackinDetailMapper.deleteOne(billNo,bloodNo,productNo);
|
||||
// xkChargeMainMapper.deleteByBillNo(chargeBillNo);
|
||||
// xkChargeDetailMapper.deleteByBillNo(chargeBillNo);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 组装退费信息数据
|
||||
* @param backinBloodDTO
|
||||
|
||||
@ -1,13 +1,194 @@
|
||||
package com.czblood.busBloodbank.service.impl;
|
||||
|
||||
import com.czblood.bus.mapper.XkBloodInfoMapper;
|
||||
import com.czblood.bus.mapper.XkDiscardDetailMapper;
|
||||
import com.czblood.bus.mapper.XkDiscardMainMapper;
|
||||
import com.czblood.bus.mapper.XkInstorageDetailMapper;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.XkDiscardDetail;
|
||||
import com.czblood.bus.pojo.XkDiscardMain;
|
||||
import com.czblood.bus.pojo.XkInstorageDetail;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.busBloodbank.mapper.DiscardMapper;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.DiscardVO;
|
||||
import com.czblood.busBloodbank.service.DiscardMainService;
|
||||
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 javax.swing.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class DiscardMainServiceImpl implements DiscardMainService {
|
||||
|
||||
@Resource
|
||||
BloodBankUtil bloodBankUtil;
|
||||
@Resource
|
||||
XkDiscardDetailMapper xkDiscardDetailMapper;
|
||||
@Resource
|
||||
XkInstorageDetailMapper xkInstorageDetailMapper;
|
||||
@Resource
|
||||
XkDiscardMainMapper xkDiscardMainMapper;
|
||||
@Resource
|
||||
XkBloodInfoMapper xkBloodInfoMapper;
|
||||
@Resource
|
||||
DiscardMapper discardMapper;
|
||||
|
||||
@Override
|
||||
public Result queryBloodInfo(String bloodNo, String productNo) {
|
||||
return null;
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!!!");
|
||||
XkDiscardDetail xkDiscardDetail = xkDiscardDetailMapper.queryDiscardDetail(bloodNo, productNo);
|
||||
if(xkDiscardDetail != null) return new Result("-1","血液流水号:"+bloodNo+",产品号:"+productNo+"的报废信息已经存在!!!");
|
||||
String bloodStatus = xkBloodInfo.getBlood_status();
|
||||
switch (bloodStatus){
|
||||
case "2":
|
||||
return new Result("-1","该血液已经报废!!!");
|
||||
case "4":
|
||||
return new Result("-1","该血液已经出库!!!");
|
||||
}
|
||||
return new Result("0","查询成功",xkBloodInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result saveData(DiscardVO discardVO) {
|
||||
XkDiscardMain xkDiscardMain = discardVO.getXkDiscardMain();
|
||||
List<XkDiscardDetail> xkDiscardDetailList = discardVO.getXkDiscardDetailList();
|
||||
String billNo = BloodBankUtil.isBank(xkDiscardMain.getBill_no());
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许修改!!");
|
||||
String newBillNo = "";
|
||||
BigDecimal price = BigDecimal.ZERO;
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
List<XkInstorageDetail> xkInstorageDetailList = xkInstorageDetailMapper.queryByBloodNo(xkDiscardDetail.getBlood_no(), xkDiscardDetail.getProduct_no());
|
||||
if(!xkInstorageDetailList.isEmpty()){
|
||||
BigDecimal price1 = xkInstorageDetailList.get(0).getPrice();
|
||||
if(price1 == null) price1 = BigDecimal.ZERO;
|
||||
xkDiscardDetail.setPrice(price1);
|
||||
totalMoney = totalMoney.add(price1);
|
||||
}else{
|
||||
xkDiscardDetail.setPrice(price);
|
||||
}
|
||||
}
|
||||
xkDiscardMain.setTotal_money(totalMoney);
|
||||
if(billNo.equals("")){
|
||||
newBillNo = bloodBankUtil.produceBillNo("BFD");
|
||||
//新增
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
xkDiscardDetail.setBill_no(newBillNo);
|
||||
}
|
||||
|
||||
xkDiscardMain.setBill_no(newBillNo);
|
||||
xkDiscardMain.setInput_person(discardVO.getUserId());
|
||||
xkDiscardMain.setInput_date(bloodBankUtil.getCurrentTimeDate());
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).insertData(xkDiscardMain,xkDiscardDetailList);
|
||||
}else{
|
||||
//更新
|
||||
newBillNo = xkDiscardMain.getBill_no();
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).updateData(xkDiscardMain,xkDiscardDetailList);
|
||||
}
|
||||
return new Result("0","保存成功",newBillNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result auditData(String billNo,String userId) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
if(xkDiscardMain == null) return new Result("-1","单据不存在!!!");
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许重复审核!!");
|
||||
List<XkDiscardDetail> xkDiscardDetailList = xkDiscardDetailMapper.queryListByBillNo(billNo);
|
||||
List<XkBloodInfo> xkBloodInfoList = new ArrayList<>();
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
String bloodNo = xkDiscardDetail.getBlood_no();
|
||||
String productNo = xkDiscardDetail.getProduct_no();
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息不存在!!!");
|
||||
String bloodStatus = xkBloodInfo.getBlood_status();
|
||||
switch (bloodStatus){
|
||||
case "2":
|
||||
return new Result("-1","该血液"+bloodNo+",产品号:"+productNo+"已经报废!!!");
|
||||
case "4":
|
||||
return new Result("-1","该血液"+bloodNo+",产品号:"+productNo+"已经出库!!!");
|
||||
}
|
||||
XkBloodInfo xkBloodInfoTemp = new XkBloodInfo();
|
||||
xkBloodInfoTemp.setBlood_status("2");
|
||||
xkBloodInfoTemp.setBlood_no(bloodNo);
|
||||
xkBloodInfoTemp.setProduct_no(productNo);
|
||||
xkBloodInfoList.add(xkBloodInfoTemp);
|
||||
}
|
||||
|
||||
XkDiscardMain xkDiscardMainTemp = new XkDiscardMain();
|
||||
xkDiscardMainTemp.setAudit_person(userId);
|
||||
xkDiscardMainTemp.setAudit_date(bloodBankUtil.getCurrentTimeDate());
|
||||
xkDiscardMainTemp.setBill_no(billNo);
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).updateAuditData(xkBloodInfoList,xkDiscardMainTemp);
|
||||
return new Result("0","审核成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result deleteData(String billNo) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
if(xkDiscardMain == null) return new Result("-1","单据不存在!!!");
|
||||
String auditPerson = BloodBankUtil.isBank(xkDiscardMain.getAudit_person());
|
||||
if(!auditPerson.equals("")) return new Result("-1","单据已经审核,不允许删除!!");
|
||||
SpringUtils.getBean(DiscardMainServiceImpl.class).deleteDataTrans(billNo);
|
||||
return new Result("0","删除成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result queryList(DiscardQueryVO discardQueryVO) {
|
||||
List<Map<String,Object>> list = discardMapper.queryList(discardQueryVO);
|
||||
return new Result("0","查询成功",list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result queryInfoOne(String billNo) {
|
||||
XkDiscardMain xkDiscardMain = xkDiscardMainMapper.queryOne(billNo);
|
||||
List<Map<String, Object>> xkDiscardDetailList = discardMapper.queryDetailList(billNo);
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("xkDiscardMain",xkDiscardMain);
|
||||
map.put("xkDiscardDetailList",xkDiscardDetailList);
|
||||
return new Result("0","查询成功",map);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void insertData(XkDiscardMain xkDiscardMain,List<XkDiscardDetail> xkDiscardDetailList){
|
||||
xkDiscardMainMapper.insert(xkDiscardMain);
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
xkDiscardDetailMapper.insert(xkDiscardDetail);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateData(XkDiscardMain xkDiscardMain,List<XkDiscardDetail> xkDiscardDetailList){
|
||||
xkDiscardMainMapper.update(xkDiscardMain);
|
||||
xkDiscardDetailMapper.delete(xkDiscardMain.getBill_no());
|
||||
for (XkDiscardDetail xkDiscardDetail : xkDiscardDetailList) {
|
||||
xkDiscardDetailMapper.insert(xkDiscardDetail);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateAuditData(List<XkBloodInfo> xkBloodInfoList,XkDiscardMain xkDiscardMain){
|
||||
for (XkBloodInfo xkBloodInfo : xkBloodInfoList) {
|
||||
xkBloodInfoMapper.update(xkBloodInfo);
|
||||
}
|
||||
xkDiscardMainMapper.update(xkDiscardMain);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteDataTrans(String billNo){
|
||||
xkDiscardMainMapper.deleteByBillNo(billNo);
|
||||
xkDiscardDetailMapper.delete(billNo);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import com.czblood.bus.pojo.inter.MatchBloodTypeRequest;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||
import com.czblood.busBloodbank.mapper.MatchBloodMapper;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BloodMatchDTO;
|
||||
import com.czblood.busBloodbank.pojo.DTO.MatchBloodDTO;
|
||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodListQueryVO;
|
||||
import com.czblood.busBloodbank.pojo.VO.MatchBloodStockQueryVO;
|
||||
@ -43,6 +44,8 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
XkMatchMainMapper xkMatchMainMapper;
|
||||
@Resource
|
||||
XkTransfuseApplyTestitemMapper xkTransfuseApplyTestitemMapper;
|
||||
@Resource
|
||||
XkBloodBreedMapper xkBloodBreedMapper;
|
||||
|
||||
@Override
|
||||
public Result queryWaitInfo() {
|
||||
@ -115,8 +118,10 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
return new Result("-1","该血液已经出库!");
|
||||
}
|
||||
|
||||
|
||||
return new Result("0","获取数据成功!",xkBloodInfo);
|
||||
BloodMatchDTO bloodMatchDTO = new BloodMatchDTO();
|
||||
bloodMatchDTO.setXkBloodInfo(xkBloodInfo);
|
||||
bloodMatchDTO.setXkBloodBreed(xkBloodBreedMapper.queryOne(xkBloodInfo.getBlood_breed()));
|
||||
return new Result("0","获取数据成功!",bloodMatchDTO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -217,6 +222,7 @@ public class MatchBloodServiceImpl implements MatchBloodService {
|
||||
if(xkMatchMain == null) return new Result("-1","该配血单不存在!");
|
||||
String billStatus = BloodBankUtil.isBank(xkMatchMain.getBill_status());
|
||||
if(billStatus.equals("B")) return new Result("-1","该配血单已发血,不可作废!");
|
||||
if(billStatus.equals("ZF")) return new Result("-1","该配血单已作废,不可作废!");
|
||||
String chargeMainBillNo = BloodBankUtil.isBank(matchBloodMapper.queryChargeMainBillNo(billNo));
|
||||
String checkNo = BloodBankUtil.isBank(xkMatchMain.getCheck_no());
|
||||
XkCheckBloodtype xkCheckBloodtypeTemp = null;
|
||||
|
||||
@ -106,7 +106,7 @@ public class MatchBloodUtil {
|
||||
}
|
||||
|
||||
public Result checkBloodNeedMatch(String bloodNo,String productNo){
|
||||
String isMatch = matchBloodMapper.checkBloodNeedMatch(bloodNo, productNo);
|
||||
String isMatch = BloodBankUtil.isBank(matchBloodMapper.checkBloodNeedMatch(bloodNo, productNo));
|
||||
if(isMatch.equals("Y")) return new Result("0","校验通过!");
|
||||
return new Result("-1","该血液流水号:"+bloodNo+"产品码:"+productNo+"该血液流水号对应的血液不需要进行配血操作!");
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
Where xk_out_main.bill_no =xk_out_detail.bill_no and
|
||||
xk_out_detail.blood_no = #{bloodNo} and
|
||||
<![CDATA[xk_out_main.check_sign <> 'ZF' and]]>
|
||||
xk_out_detail.product_no = #{productNo}
|
||||
xk_out_detail.product_no = #{productNo} and isnull(xk_out_main.check_sign,'') = 'Y'
|
||||
|
||||
</select>
|
||||
<select id="queryPatientInfo" resultType="java.util.Map">
|
||||
@ -38,13 +38,15 @@
|
||||
xk_backin_main.handle_person,
|
||||
xk_backin_main.total_money,
|
||||
xk_backin_main.back_date ,
|
||||
xk_backin_main.audit_person,
|
||||
xk_backin_main.audit_date,
|
||||
xk_out_main.beinhos_id,
|
||||
xk_out_main.patient_name
|
||||
FROM xk_backin_main ,xk_backin_detail ,xk_out_detail,xk_out_main
|
||||
WHERE (xk_backin_main.back_date between #{stime} AND #{etime})
|
||||
and (xk_backin_main.org_type = 'A') and xk_backin_main.bill_no = xk_backin_detail.bill_no
|
||||
and xk_out_detail.blood_no = xk_backin_detail.blood_no and xk_out_detail.product_no = xk_backin_detail.product_no
|
||||
and xk_out_main.bill_no = xk_out_detail.bill_no and xk_out_detail.exp1='Y'
|
||||
and xk_out_main.bill_no = xk_out_detail.bill_no
|
||||
<if test="billNo != null">AND (xk_backin_main.bill_no = #{billNo})</if>
|
||||
<if test="dept != null">and xk_backin_main.dept_id = #{dept}</if>
|
||||
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
<?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.DiscardMapper">
|
||||
<select id="queryList" resultType="java.util.Map">
|
||||
SELECT xk_discard_main.bill_no,
|
||||
xk_discard_main.handle_person,
|
||||
xk_discard_main.total_money,
|
||||
xk_discard_main.discard_date
|
||||
FROM xk_discard_main
|
||||
WHERE (xk_discard_main.discard_date between #{stime} and #{etime})
|
||||
<if test="billNo != null and billNo != ''"> AND (xk_discard_main.bill_no = #{billNo})</if>
|
||||
|
||||
</select>
|
||||
<select id="queryDetailList" resultType="java.util.Map">
|
||||
select a.*,b.blood_breed,b.capacity,b.unit,b.blood_type,b.rh_blood_type,b.valid_date from xk_discard_detail a,xk_blood_info b
|
||||
where a.bill_no = #{billNo} and a.blood_no = b.blood_no and a.product_no = b.product_no
|
||||
</select>
|
||||
</mapper>
|
||||
@ -171,9 +171,10 @@
|
||||
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)
|
||||
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),xk_match_main
|
||||
WHERE ( xk_blood_info.blood_status = '1' ) AND
|
||||
( xk_blood_info.blood_sort In ('C','W') OR ISNULL(xk_blood_info.blood_sort,'') = '')
|
||||
<![CDATA[and xk_match_main.bill_no = xk_match_detail.bill_no and isnull(xk_match_main.bill_status,'') <> 'ZF']]>
|
||||
<if test="bloodNo != null and bloodNo!= ''">AND xk_blood_info.blood_no = #{bloodNo}</if>
|
||||
|
||||
</select>
|
||||
|
||||
@ -117,7 +117,7 @@ public class TransfuseCheckExplainServiceImpl implements TransfuseCheckExplainSe
|
||||
xkTransfuseApplyTemp.setCheck_date(bloodBankUtil.getCurrentTimeDate());
|
||||
transfuseCheckExplainUtil.updateApplyStatus(xkTransfuseApplyTemp,xkCheckBloodtype);
|
||||
//保存条码数据
|
||||
Result result = transfuseCheckExplainUtil.createSampleData(applyNo);
|
||||
Result result = transfuseCheckExplainUtil.createSampleData(applyNo,explainVO.getUserId());
|
||||
if(!result.getCode().equals("0")) return result;
|
||||
|
||||
//调用外部接口
|
||||
|
||||
@ -86,7 +86,7 @@ public class TransfuseCheckExplainUtil {
|
||||
* @param billNo
|
||||
* @return
|
||||
*/
|
||||
public Result createSampleData(String billNo){
|
||||
public Result createSampleData(String billNo,String userId){
|
||||
String tmsfzsxshsc = bloodBankUtil.getParameterValue("TMSFZSXSHSC");
|
||||
if(!tmsfzsxshsc.equals("Y")) return new Result("0","未开启条码在审核的时候生成的参数!");
|
||||
Date currentTimeDate = bloodBankUtil.getCurrentTimeDate();
|
||||
@ -113,6 +113,8 @@ public class TransfuseCheckExplainUtil {
|
||||
xkSampleInfo.setExp1("Y");
|
||||
xkSampleInfo.setSample_status("1");
|
||||
xkSampleInfo.setCreatetime(currentTimeDate);
|
||||
xkSampleInfo.setPick_Date(currentTimeDate);
|
||||
xkSampleInfo.setPick_Nurse(userId);
|
||||
|
||||
//修改申请单数据
|
||||
XkTransfuseApply xkTransfuseApply = new XkTransfuseApply();
|
||||
|
||||
@ -0,0 +1,54 @@
|
||||
package com.czblood.busNurse.controller;
|
||||
|
||||
import com.czblood.busNurse.pojo.DTO.RecycleBagDTO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagSearchVO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagVO;
|
||||
import com.czblood.busNurse.service.RecycleBagService;
|
||||
import com.czblood.common.core.controller.BaseController;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "血袋回收")
|
||||
@RestController
|
||||
@RequestMapping("/bus/nurse/recycleBag")
|
||||
@Slf4j
|
||||
public class RecycleBagController extends BaseController {
|
||||
|
||||
|
||||
@Resource
|
||||
private RecycleBagService recycleBagService;
|
||||
|
||||
|
||||
@ApiOperation("获取回收血液信息")
|
||||
@GetMapping("/getBloodInfo")
|
||||
public Result getBloodInfo(String bloodNo,String productNo) {
|
||||
return recycleBagService.getBloodInfo(bloodNo,productNo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("批量查询血液回收单据信息")
|
||||
@PostMapping("/batchSearch")
|
||||
public Result batchSearch(@RequestBody RecycleBagSearchVO recycleBagSearchVO){
|
||||
return recycleBagService.batchSearch(recycleBagSearchVO);
|
||||
}
|
||||
|
||||
@ApiOperation("批量查询血液回收信息列表")
|
||||
@PostMapping("/queryBatchBloodInfo")
|
||||
public Result queryBatchBloodInfoList(@RequestBody List<RecycleBagDTO> recycleBagDTOList){
|
||||
return recycleBagService.queryBatchBloodInfoList(recycleBagDTOList);
|
||||
}
|
||||
|
||||
@ApiOperation("保存血液回收单据信息")
|
||||
@PostMapping("/saveData")
|
||||
public Result saveData(@RequestBody RecycleBagVO recycleBagVO){
|
||||
recycleBagVO.setUserId(getUsername());
|
||||
return recycleBagService.saveData(recycleBagVO);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busNurse.mapper;
|
||||
|
||||
import com.czblood.busNurse.pojo.DTO.RecycleBagDTO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagSearchVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface RecycleBagMapper {
|
||||
List<Map<String,Object>> getBloodInfo(@Param("bloodNo") String bloodNo,@Param("productNo") String productNo);
|
||||
List<RecycleBagDTO> queryBatchData(RecycleBagSearchVO recycleBagSearchVO);
|
||||
List<Map<String,Object>> queryBillNoBloodInfo(String billNo);
|
||||
int queryRecycleBagCount(String billNo);
|
||||
}
|
||||
@ -10,4 +10,5 @@ public interface SampleInfoMapper {
|
||||
List<Map<String,Object>> queryList(SampleInfoVO sampleInfoVO);
|
||||
List<Map<String,Object>> querySampleInfoData(String dept);
|
||||
XkCheckBloodtype queryMaxTestDateInfo(String beinhos_id);
|
||||
List<Map<String,Object>> queryListCheck(SampleInfoVO sampleInfoVO);
|
||||
}
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
package com.czblood.busNurse.pojo.DTO;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RecycleBagDTO {
|
||||
private String bill_no;
|
||||
private Date occur_date;
|
||||
private String patient_name;
|
||||
private String beinhos_id;
|
||||
private String dept_id;
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.czblood.busNurse.pojo.VO;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RecycleBagSearchVO {
|
||||
private String stime;
|
||||
private String etime;
|
||||
private String dept;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.czblood.busNurse.pojo.VO;
|
||||
|
||||
import com.czblood.bus.pojo.XkRecycleBagDetail;
|
||||
import com.czblood.bus.pojo.XkRecycleBagMain;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RecycleBagVO {
|
||||
@ApiModelProperty("血袋回收主表")
|
||||
private XkRecycleBagMain xkRecycleBagMain;
|
||||
@ApiModelProperty("血袋回收明细表")
|
||||
private List<XkRecycleBagDetail> xkRecycleBagDetailList;
|
||||
private String userId;
|
||||
@ApiModelProperty("选中的发血单号列表")
|
||||
private List<String> billNoList;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.czblood.busNurse.service;
|
||||
|
||||
import com.czblood.busNurse.pojo.DTO.RecycleBagDTO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagSearchVO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagVO;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface RecycleBagService {
|
||||
Result getBloodInfo(String bloodNo, String productNo);
|
||||
Result batchSearch(RecycleBagSearchVO recycleBagSearchVO);
|
||||
Result queryBatchBloodInfoList(List<RecycleBagDTO> recycleBagDTOList);
|
||||
Result saveData(RecycleBagVO recycleBagVO);
|
||||
}
|
||||
@ -0,0 +1,146 @@
|
||||
package com.czblood.busNurse.service.impl;
|
||||
|
||||
import com.czblood.bus.mapper.XkBloodInfoMapper;
|
||||
import com.czblood.bus.mapper.XkOutMainMapper;
|
||||
import com.czblood.bus.mapper.XkRecycleBagDetailMapper;
|
||||
import com.czblood.bus.mapper.XkRecycleBagMainMapper;
|
||||
import com.czblood.bus.pojo.XkBloodInfo;
|
||||
import com.czblood.bus.pojo.XkOutMain;
|
||||
import com.czblood.bus.pojo.XkRecycleBagDetail;
|
||||
import com.czblood.bus.pojo.XkRecycleBagMain;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.busNurse.mapper.RecycleBagMapper;
|
||||
import com.czblood.busNurse.pojo.DTO.RecycleBagDTO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagSearchVO;
|
||||
import com.czblood.busNurse.pojo.VO.RecycleBagVO;
|
||||
import com.czblood.busNurse.service.RecycleBagService;
|
||||
import com.czblood.common.core.domain.Result;
|
||||
import com.czblood.common.utils.spring.SpringUtils;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
public class RecycleBagServiceImpl implements RecycleBagService {
|
||||
|
||||
@Resource
|
||||
BloodBankUtil bloodBankUtil;
|
||||
@Resource
|
||||
RecycleBagMapper recycleBagMapper;
|
||||
@Resource
|
||||
XkBloodInfoMapper xkBloodInfoMapper;
|
||||
@Resource
|
||||
XkRecycleBagMainMapper xkRecycleBagMainMapper;
|
||||
@Resource
|
||||
XkRecycleBagDetailMapper xkRecycleBagDetailMapper;
|
||||
@Resource
|
||||
XkOutMainMapper xkOutMainMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public Result getBloodInfo(String bloodNo, String productNo) {
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息不存在");
|
||||
String bloodStatus = BloodBankUtil.isBank(xkBloodInfo.getBlood_status());
|
||||
if(!bloodStatus.equals("4")) return new Result("-1","该血液尚未出库!");
|
||||
String recycleSign = BloodBankUtil.isBank(xkBloodInfo.getRecycle_sign());
|
||||
if(recycleSign.equals("Y")) return new Result("-1","该血袋已经登记回收信息!");
|
||||
List<Map<String, Object>> bloodInfoList = recycleBagMapper.getBloodInfo(bloodNo, productNo);
|
||||
if(bloodInfoList.isEmpty()) return new Result("-1","未查询到该血液信息!");
|
||||
return new Result("0","操作成功",bloodInfoList.get(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result batchSearch(RecycleBagSearchVO recycleBagSearchVO) {
|
||||
List<RecycleBagDTO> recycleBagDTOList = recycleBagMapper.queryBatchData(recycleBagSearchVO);
|
||||
return new Result("0","操作成功",recycleBagDTOList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result queryBatchBloodInfoList(List<RecycleBagDTO> recycleBagDTOList) {
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
Set<String> existKeySet = new HashSet<>();
|
||||
for (RecycleBagDTO recycleBagDTO : recycleBagDTOList) {
|
||||
List<Map<String, Object>> bloodInfoList = recycleBagMapper.queryBillNoBloodInfo(recycleBagDTO.getBill_no());
|
||||
if (bloodInfoList == null || bloodInfoList.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
for (Map<String, Object> info : bloodInfoList) {
|
||||
Object bloodNo = info.get("blood_no");
|
||||
Object productNo = info.get("product_no");
|
||||
String key = bloodNo + "_" + productNo;
|
||||
if (existKeySet.add(key)) {
|
||||
resultList.add(info);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Result("0", "操作成功", resultList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result saveData(RecycleBagVO recycleBagVO) {
|
||||
XkRecycleBagMain xkRecycleBagMain = recycleBagVO.getXkRecycleBagMain();
|
||||
List<XkRecycleBagDetail> xkRecycleBagDetailList = recycleBagVO.getXkRecycleBagDetailList();
|
||||
List<String> billNoList = recycleBagVO.getBillNoList();
|
||||
for (XkRecycleBagDetail xkRecycleBagDetail : xkRecycleBagDetailList) {
|
||||
String bloodNo = xkRecycleBagDetail.getBlood_no();
|
||||
String productNo = xkRecycleBagDetail.getProduct_no();
|
||||
XkBloodInfo xkBloodInfo = bloodBankUtil.queryBloodInfoOne(bloodNo, productNo);
|
||||
if(xkBloodInfo == null) return new Result("-1","血液信息"+bloodNo+"_"+productNo+"不存在");
|
||||
String bloodStatus = xkBloodInfo.getBlood_status();
|
||||
if(!bloodStatus.equals("4")) return new Result("-1","该血液"+bloodNo+"_"+productNo+"尚未出库!");
|
||||
String recycleSign = BloodBankUtil.isBank(xkBloodInfo.getRecycle_sign());
|
||||
if(recycleSign.equals("Y")) return new Result("-1","该血袋"+bloodNo+"_"+productNo+"已经回收,请重新检索数据!");
|
||||
}
|
||||
|
||||
Date currentTimeDate = bloodBankUtil.getCurrentTimeDate();
|
||||
String newBillNo = bloodBankUtil.produceBillNo("XDHS");
|
||||
xkRecycleBagMain.setBill_no(newBillNo);
|
||||
xkRecycleBagMain.setReceive_person(recycleBagVO.getUserId());
|
||||
xkRecycleBagMain.setReceive_date(currentTimeDate);
|
||||
xkRecycleBagMain.setSend_date(currentTimeDate);
|
||||
String sendPerson = xkRecycleBagMain.getSend_person();
|
||||
List<XkBloodInfo> xkBloodInfoList = new ArrayList<>();
|
||||
if(sendPerson == null || sendPerson.equals("")){
|
||||
xkRecycleBagMain.setSend_person(recycleBagVO.getUserId());
|
||||
}
|
||||
for (XkRecycleBagDetail xkRecycleBagDetail : xkRecycleBagDetailList) {
|
||||
String bloodNo = xkRecycleBagDetail.getBlood_no();
|
||||
String productNo = xkRecycleBagDetail.getProduct_no();
|
||||
xkRecycleBagDetail.setBill_no(newBillNo);
|
||||
XkBloodInfo xkBloodInfoTemp = new XkBloodInfo();
|
||||
xkBloodInfoTemp.setRecycle_sign("Y");
|
||||
xkBloodInfoTemp.setBlood_no(bloodNo);
|
||||
xkBloodInfoTemp.setProduct_no(productNo);
|
||||
xkBloodInfoList.add(xkBloodInfoTemp);
|
||||
}
|
||||
SpringUtils.getBean(RecycleBagServiceImpl.class).saveBatchData(xkBloodInfoList,xkRecycleBagMain,xkRecycleBagDetailList);
|
||||
|
||||
//判断出库表里面的血液是否都已经回收,如果都回收了 ,就把出库单主表都回收的标志打上
|
||||
for (String billOutNo : billNoList) {
|
||||
int recycleBagCount = recycleBagMapper.queryRecycleBagCount(billOutNo);
|
||||
if(recycleBagCount == 0){
|
||||
XkOutMain xkOutMainTemp = new XkOutMain();
|
||||
xkOutMainTemp.setBill_no(billOutNo);
|
||||
xkOutMainTemp.setAll_recycle_sign("Y");
|
||||
xkOutMainMapper.update(xkOutMainTemp);
|
||||
}
|
||||
}
|
||||
|
||||
return new Result("0","保存成功",newBillNo);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveBatchData(List<XkBloodInfo> xkBloodInfoList,XkRecycleBagMain xkRecycleBagMain,List<XkRecycleBagDetail> xkRecycleBagDetailList) {
|
||||
for (XkBloodInfo xkBloodInfo : xkBloodInfoList) {
|
||||
xkBloodInfoMapper.update(xkBloodInfo);
|
||||
}
|
||||
xkRecycleBagMainMapper.insert(xkRecycleBagMain);
|
||||
for (XkRecycleBagDetail xkRecycleBagDetail : xkRecycleBagDetailList) {
|
||||
xkRecycleBagDetailMapper.insert(xkRecycleBagDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -45,7 +45,14 @@ public class SampleInfoServiceImpl implements SampleInfoService {
|
||||
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);
|
||||
String tmsfzsxshsc = bloodBankUtil.getParameterValue("TMSFZSXSHSC");
|
||||
List<Map<String, Object>> mapList = null;
|
||||
if(tmsfzsxshsc.equals("Y")){
|
||||
mapList = sampleInfoMapper.queryListCheck(sampleInfoVO);
|
||||
}else{
|
||||
mapList = sampleInfoMapper.queryList(sampleInfoVO);
|
||||
}
|
||||
|
||||
if(!msg.equals("")){
|
||||
return new Result("1", msg, mapList);
|
||||
}else{
|
||||
@ -133,6 +140,7 @@ public class SampleInfoServiceImpl implements SampleInfoService {
|
||||
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");
|
||||
xkSampleInfo.setCreatetime(currentTimeDate);
|
||||
|
||||
xkTransfuseApply = new XkTransfuseApply();
|
||||
xkTransfuseApply.setBill_no(BloodBankUtil.isBank(stringObjectMap.get("bill_no")));
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
<?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.busNurse.mapper.RecycleBagMapper">
|
||||
<select id="getBloodInfo" resultType="java.util.Map">
|
||||
Select xk_out_main.patient_name , xk_out_main.dept_id , xk_blood_info.blood_breed , xk_blood_info.blood_type ,
|
||||
xk_blood_info.capacity , xk_blood_info.unit , xk_out_main.bill_no,xk_out_main.beinhos_id,xk_patient_info.patient_sex
|
||||
From xk_out_main left join xk_patient_info on (xk_out_main.beinhos_id = xk_patient_info.beinhos_id), xk_out_detail , xk_blood_info
|
||||
Where ( xk_out_main.bill_no =xk_out_detail.bill_no ) and
|
||||
( xk_out_detail.blood_no =xk_blood_info.blood_no ) and
|
||||
( xk_blood_info.blood_no = #{bloodNo} ) AND (xk_blood_info.product_no = #{productNo})
|
||||
</select>
|
||||
<select id="queryBatchData" resultType="com.czblood.busNurse.pojo.DTO.RecycleBagDTO">
|
||||
SELECT xk_out_main.bill_no, xk_out_main.occur_date, xk_out_main.patient_name, xk_out_main.beinhos_id, xk_out_main.dept_id
|
||||
FROM xk_out_main WHERE ( isnull(all_recycle_sign,'N') = 'N' )
|
||||
and ( xk_out_main.occur_date between #{stime} and #{etime} )
|
||||
and isnull(xk_out_main.check_sign,'N') = 'Y'
|
||||
<if test="dept != null and dept != ''">and xk_out_main.dept_id = #{dept}</if>
|
||||
</select>
|
||||
<select id="queryBillNoBloodInfo" resultType="java.util.Map">
|
||||
SELECT xk_blood_info.blood_no,
|
||||
xk_blood_info.blood_breed,
|
||||
xk_blood_info.blood_type,
|
||||
xk_blood_info.capacity,
|
||||
xk_blood_info.unit,
|
||||
xk_blood_info.product_no,
|
||||
xk_out_main.patient_name,
|
||||
xk_out_main.dept_id,
|
||||
xk_out_main.bill_no
|
||||
FROM xk_blood_info,
|
||||
xk_out_detail,
|
||||
xk_out_main
|
||||
WHERE ( xk_blood_info.blood_no = xk_out_detail.blood_no ) and
|
||||
( xk_blood_info.product_no = xk_out_detail.product_no ) and
|
||||
( xk_out_detail.bill_no = xk_out_main.bill_no ) and
|
||||
( ( xk_out_main.bill_no = #{billNo} ) )
|
||||
and isnull(xk_blood_info.recycle_sign,'N') = 'N'
|
||||
|
||||
</select>
|
||||
<select id="queryRecycleBagCount" resultType="java.lang.Integer">
|
||||
SELECT Count ( *)
|
||||
FROM xk_out_main , xk_out_detail , xk_blood_info
|
||||
WHERE ( xk_out_main.bill_no =xk_out_detail.bill_no ) AND
|
||||
( xk_out_detail.blood_no =xk_blood_info.blood_no ) AND
|
||||
( xk_out_detail.product_no =xk_blood_info.product_no ) AND
|
||||
( isnull ( xk_blood_info.recycle_sign , 'N' ) ='N' ) AND
|
||||
( xk_out_main.bill_no = #{billNo} )
|
||||
</select>
|
||||
</mapper>
|
||||
@ -101,4 +101,38 @@
|
||||
<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>
|
||||
<select id="queryListCheck" resultType="java.util.Map">
|
||||
SELECT xk_sample_info.Sample_No,
|
||||
xk_sample_info.Purpose,
|
||||
xk_sample_info.Dept,
|
||||
xk_sample_info.Relate_ApplyNo,
|
||||
xk_sample_info.Blood_Type,
|
||||
xk_sample_info.Rh_Blood_Type,
|
||||
xk_sample_info.Sample_Name,
|
||||
xk_sample_info.Sex,
|
||||
xk_sample_info.Age,
|
||||
xk_sample_info.Birthday,
|
||||
xk_sample_info.Pick_Nurse,
|
||||
xk_sample_info.Pick_Date,
|
||||
xk_sample_info.Send_Nurse,
|
||||
xk_sample_info.Send_Date,
|
||||
xk_sample_info.TakeOver_Man,
|
||||
xk_sample_info.TakeOver_Date,
|
||||
xk_sample_info.Discard_Person,
|
||||
xk_sample_info.Discard_Date,
|
||||
xk_sample_info.Discard_Reason,
|
||||
xk_sample_info.Exp2,
|
||||
xk_sample_info.Overdue_Flag ,
|
||||
xk_sample_info.sendperson,
|
||||
xk_sample_info.sample_status,
|
||||
xk_transfuse_apply_bloodbreed.blood_breed,
|
||||
(select is_match from xk_blood_breed where xk_blood_breed.breed_code = xk_transfuse_apply_bloodbreed.blood_breed ) as is_match
|
||||
FROM xk_sample_info
|
||||
LEFT JOIN xk_transfuse_apply ON (xk_sample_info.Relate_ApplyNo = xk_transfuse_apply.bill_no)
|
||||
LEFT JOIN xk_transfuse_apply_bloodbreed ON (xk_transfuse_apply_bloodbreed.bill_no = xk_transfuse_apply.bill_no)
|
||||
where (xk_sample_info.createtime Between #{stime} AND #{etime})
|
||||
<if test="dept != null">AND (xk_sample_info.dept = #{dept})</if>
|
||||
<if test="sample_no != null">and (xk_sample_info.Sample_No = #{sample_no})</if>
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
@ -214,3 +214,17 @@ update xk_charge_item set module_type = '002' where module_code = '0203'
|
||||
update xk_charge_item set module_type = '004' where module_code = '0204'
|
||||
update xk_charge_item set module_type = '003' where module_code = '0501'
|
||||
update xk_charge_item set module_type = '006' where module_code = '0302'
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_recycle_bag_main' AND type = 'PK' )
|
||||
BEGIN
|
||||
ALTER TABLE xk_recycle_bag_main ADD CONSTRAINT PK_xk_recycle_bag_main PRIMARY KEY CLUSTERED (bill_no);
|
||||
END
|
||||
GO
|
||||
|
||||
ALTER TABLE xk_recycle_bag_detail ALTER COLUMN product_no VARCHAR(18) NOT NULL;
|
||||
go
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_recycle_bag_detail' AND type = 'PK' )
|
||||
BEGIN
|
||||
ALTER TABLE xk_recycle_bag_detail ADD CONSTRAINT PK_xk_recycle_bag_detail PRIMARY KEY CLUSTERED (bill_no,blood_no,product_no);
|
||||
END
|
||||
GO
|
||||
Loading…
x
Reference in New Issue
Block a user