血袋回收功能
This commit is contained in:
parent
a50c2a69f4
commit
7a93c10ad0
@ -6,4 +6,5 @@ import java.util.List;
|
||||
|
||||
public interface XkRecycleBagDetailMapper {
|
||||
List<XkRecycleBagDetail> queryList(String billNo);
|
||||
void insert(XkRecycleBagDetail xkRecycleBagDetail);
|
||||
}
|
||||
|
||||
@ -4,4 +4,5 @@ import com.czblood.bus.pojo.XkRecycleBagMain;
|
||||
|
||||
public interface XkRecycleBagMainMapper {
|
||||
XkRecycleBagMain queryOne(String billNo);
|
||||
void insert(XkRecycleBagMain xkRecycleBagMain);
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ public class XkRecycleBagMain {
|
||||
private String receive_person;
|
||||
@ApiModelProperty("接收日期")
|
||||
private Date receive_date;
|
||||
@ApiModelProperty("接收数量")
|
||||
@ApiModelProperty("接收数量,总数")
|
||||
private Integer sum;
|
||||
private String Exp1;
|
||||
private String Exp2;
|
||||
|
||||
@ -2,6 +2,12 @@
|
||||
<!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}
|
||||
|
||||
@ -2,6 +2,16 @@
|
||||
<!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 (bill_no, send_person, send_date,receive_person,receive_date,sum,
|
||||
<if test="Exp1 != null">Exp1,</if>
|
||||
<if test="Exp2 != null">Exp2,</if>
|
||||
)values(
|
||||
#{bill_no},#{send_person},#{send_date},#{receive_person},#{receive_date},#{sum},
|
||||
<if test="Exp1 != null">#{Exp1},</if>
|
||||
<if test="Exp2 != null">#{Exp2},</if>
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="queryOne" resultType="com.czblood.bus.pojo.XkRecycleBagMain">
|
||||
select * from xk_recycle_bag_main where bill_no = #{billNo}
|
||||
|
||||
@ -2,13 +2,14 @@ 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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
@ -17,7 +18,7 @@ import java.util.List;
|
||||
@RestController
|
||||
@RequestMapping("/bus/nurse/recycleBag")
|
||||
@Slf4j
|
||||
public class RecycleBagController {
|
||||
public class RecycleBagController extends BaseController {
|
||||
|
||||
|
||||
@Resource
|
||||
@ -25,22 +26,29 @@ public class RecycleBagController {
|
||||
|
||||
|
||||
@ApiOperation("获取回收血液信息")
|
||||
@RequestMapping("/getBloodInfo")
|
||||
@GetMapping("/getBloodInfo")
|
||||
public Result getBloodInfo(String bloodNo,String productNo) {
|
||||
return recycleBagService.getBloodInfo(bloodNo,productNo);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("批量查询血液回收单据信息")
|
||||
@RequestMapping("/batchSearch")
|
||||
public Result batchSearch(RecycleBagSearchVO recycleBagSearchVO){
|
||||
@PostMapping("/batchSearch")
|
||||
public Result batchSearch(@RequestBody RecycleBagSearchVO recycleBagSearchVO){
|
||||
return recycleBagService.batchSearch(recycleBagSearchVO);
|
||||
}
|
||||
|
||||
@ApiOperation("批量查询血液回收信息列表")
|
||||
@RequestMapping("/queryBatchBloodInfo")
|
||||
public Result queryBatchBloodInfoList(List<RecycleBagDTO> recycleBagDTOList){
|
||||
@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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,4 +10,5 @@ public interface RecycleBagMapper {
|
||||
List<Map<String,Object>> getBloodInfo(String bloodNo, String productNo);
|
||||
List<RecycleBagDTO> queryBatchData(RecycleBagSearchVO recycleBagSearchVO);
|
||||
List<Map<String,Object>> queryBillNoBloodInfo(String billNo);
|
||||
int queryRecycleBagCount(String billNo);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -2,6 +2,7 @@ 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;
|
||||
@ -9,6 +10,6 @@ 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);
|
||||
}
|
||||
|
||||
@ -1,13 +1,24 @@
|
||||
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.*;
|
||||
@ -19,6 +30,14 @@ public class RecycleBagServiceImpl implements RecycleBagService {
|
||||
BloodBankUtil bloodBankUtil;
|
||||
@Resource
|
||||
RecycleBagMapper recycleBagMapper;
|
||||
@Resource
|
||||
XkBloodInfoMapper xkBloodInfoMapper;
|
||||
@Resource
|
||||
XkRecycleBagMainMapper xkRecycleBagMainMapper;
|
||||
@Resource
|
||||
XkRecycleBagDetailMapper xkRecycleBagDetailMapper;
|
||||
@Resource
|
||||
XkOutMainMapper xkOutMainMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@ -59,4 +78,66 @@ public class RecycleBagServiceImpl implements RecycleBagService {
|
||||
}
|
||||
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+"尚未出库!");
|
||||
}
|
||||
|
||||
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,4 +45,13 @@
|
||||
and isnull(xk_blood_info.recycle_sign,'') = 'Y'
|
||||
|
||||
</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>
|
||||
Loading…
x
Reference in New Issue
Block a user