临床退血打印
This commit is contained in:
parent
7f96cb848b
commit
a0aca66d29
@ -28,4 +28,8 @@ public class BloodPrintTypeConstants {
|
|||||||
* 临床发血单
|
* 临床发血单
|
||||||
*/
|
*/
|
||||||
public static final String BLOOD_OUT = "BLOOD_OUT";
|
public static final String BLOOD_OUT = "BLOOD_OUT";
|
||||||
|
/**
|
||||||
|
* 临床退血单
|
||||||
|
*/
|
||||||
|
public static final String BLOOD_OUT_BACK = "BLOOD_OUT_BACK";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,4 +15,5 @@ public class ReportParam {
|
|||||||
private String billNo;
|
private String billNo;
|
||||||
private String beinhosId;
|
private String beinhosId;
|
||||||
private String bloodSum;
|
private String bloodSum;
|
||||||
|
private String userName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
<if test="recycle_sign != null">recycle_sign = #{recycle_sign},</if>
|
<if test="recycle_sign != null">recycle_sign = #{recycle_sign},</if>
|
||||||
<if test="Remark != null">Remark = #{Remark},</if>
|
<if test="Remark != null">Remark = #{Remark},</if>
|
||||||
hos_id = #{hos_id}
|
hos_id = #{hos_id}
|
||||||
where blood_no = #{blood_no} and product_no = #{blood_no}
|
where blood_no = #{blood_no} and product_no = #{product_no}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="queryOne" resultType="com.czblood.bus.pojo.XkBloodInfo">
|
<select id="queryOne" resultType="com.czblood.bus.pojo.XkBloodInfo">
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import com.czblood.common.core.page.TableDataInfo;
|
|||||||
import com.czblood.common.enums.BusinessType;
|
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 io.swagger.annotations.ApiParam;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -69,4 +70,12 @@ public class BackinController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("打印单据")
|
||||||
|
@GetMapping("/print")
|
||||||
|
public Result print(@ApiParam(value = "单据编号", required = true) String billNo, @ApiParam(value = "模板名称:BLOOD_OUT_BACK(退血单)", required = true) String templateName){
|
||||||
|
String userName = getLoginUser().getUser().getNickName();
|
||||||
|
return backinService.print(billNo,templateName,userName);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,4 +14,5 @@ public interface BackinService {
|
|||||||
Result deleteData(String billNo);
|
Result deleteData(String billNo);
|
||||||
List<Map<String,Object>> queryList(BackinQueryVO backinQueryVO);
|
List<Map<String,Object>> queryList(BackinQueryVO backinQueryVO);
|
||||||
Result queryInfo(String billNo);
|
Result queryInfo(String billNo);
|
||||||
|
Result print(String billNo,String templateName,String userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
package com.czblood.busBloodbank.service.impl;
|
package com.czblood.busBloodbank.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.czblood.bus.constants.BloodPrintTypeConstants;
|
||||||
import com.czblood.bus.mapper.*;
|
import com.czblood.bus.mapper.*;
|
||||||
import com.czblood.bus.pojo.*;
|
import com.czblood.bus.pojo.*;
|
||||||
import com.czblood.bus.pojo.inter.BloodBackAuditRequest;
|
import com.czblood.bus.pojo.inter.BloodBackAuditRequest;
|
||||||
import com.czblood.bus.pojo.xtwh.XkDmzd;
|
import com.czblood.bus.pojo.xtwh.XkDmzd;
|
||||||
import com.czblood.bus.utils.BloodBankUtil;
|
import com.czblood.bus.utils.BloodBankUtil;
|
||||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||||
|
import com.czblood.bus.utils.ReportUtil;
|
||||||
import com.czblood.busBloodbank.mapper.BackinMapper;
|
import com.czblood.busBloodbank.mapper.BackinMapper;
|
||||||
import com.czblood.busBloodbank.pojo.DTO.BackinDTO;
|
import com.czblood.busBloodbank.pojo.DTO.BackinDTO;
|
||||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||||
@ -47,6 +49,10 @@ public class BackinServiceImpl implements BackinService {
|
|||||||
XkBloodInfoMapper xkBloodInfoMapper;
|
XkBloodInfoMapper xkBloodInfoMapper;
|
||||||
@Resource
|
@Resource
|
||||||
XkOutDetailMapper xkOutDetailMapper;
|
XkOutDetailMapper xkOutDetailMapper;
|
||||||
|
@Resource
|
||||||
|
ReportUtil reportUtil;
|
||||||
|
@Resource
|
||||||
|
XkInstorageDetailMapper xkInstorageDetailMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -106,10 +112,16 @@ public class BackinServiceImpl implements BackinService {
|
|||||||
xkBackinMain.setBack_org(backinDataDTO.getUserId());
|
xkBackinMain.setBack_org(backinDataDTO.getUserId());
|
||||||
xkBackinMain.setInput_date(bloodBankUtil.getCurrentTimeDate());
|
xkBackinMain.setInput_date(bloodBankUtil.getCurrentTimeDate());
|
||||||
xkBackinMain.setInput_person(backinDataDTO.getUserId());
|
xkBackinMain.setInput_person(backinDataDTO.getUserId());
|
||||||
|
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||||
for (XkBackinDetail xkBackinDetail : xkBackinDetailList) {
|
for (XkBackinDetail xkBackinDetail : xkBackinDetailList) {
|
||||||
|
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());
|
||||||
|
}
|
||||||
xkBackinDetail.setBill_no(newBillNo);
|
xkBackinDetail.setBill_no(newBillNo);
|
||||||
}
|
}
|
||||||
|
xkBackinMain.setTotal_money(totalMoney); //总金额
|
||||||
|
|
||||||
xkChargeMainTemp = new XkChargeMain();
|
xkChargeMainTemp = new XkChargeMain();
|
||||||
xkChargeMainTemp.setBill_no(newChargeBillNo);
|
xkChargeMainTemp.setBill_no(newChargeBillNo);
|
||||||
@ -243,6 +255,16 @@ public class BackinServiceImpl implements BackinService {
|
|||||||
return new Result("0","查询成功!",backinDataDTO);
|
return new Result("0","查询成功!",backinDataDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result print(String billNo,String templateName,String userName) {
|
||||||
|
ReportParam reportParam = new ReportParam();
|
||||||
|
reportParam.setBillNo(billNo);
|
||||||
|
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","打印成功!");
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void saveChargeData(XkBackinMain xkBackinMain,List<XkBackinDetail> xkBackinDetailList,XkChargeMain xkChargeMain,List<XkChargeDetail> xkChargeDetailList){
|
public void saveChargeData(XkBackinMain xkBackinMain,List<XkBackinDetail> xkBackinDetailList,XkChargeMain xkChargeMain,List<XkChargeDetail> xkChargeDetailList){
|
||||||
xkBackinMainMapper.insert(xkBackinMain);
|
xkBackinMainMapper.insert(xkBackinMain);
|
||||||
|
|||||||
@ -204,7 +204,6 @@ public class BloodOutServiceImpl implements BloodOutService {
|
|||||||
if(!result1.getCode().equals("0")) return result1;
|
if(!result1.getCode().equals("0")) return result1;
|
||||||
List<XkBloodInfo> xkBloodInfoList = new ArrayList<>();
|
List<XkBloodInfo> xkBloodInfoList = new ArrayList<>();
|
||||||
List<XkOutDetail> xkOutDetailList = xkOutDetailMapper.queryListByBillNo(billNo);
|
List<XkOutDetail> xkOutDetailList = xkOutDetailMapper.queryListByBillNo(billNo);
|
||||||
XkBloodInfo xkBloodInfoTemp = null;
|
|
||||||
for (XkOutDetail xkOutDetail : xkOutDetailList) {
|
for (XkOutDetail xkOutDetail : xkOutDetailList) {
|
||||||
String bloodNo = xkOutDetail.getBlood_no();
|
String bloodNo = xkOutDetail.getBlood_no();
|
||||||
String productNo = xkOutDetail.getProduct_no();
|
String productNo = xkOutDetail.getProduct_no();
|
||||||
@ -218,7 +217,7 @@ public class BloodOutServiceImpl implements BloodOutService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//修改血液状态
|
//修改血液状态
|
||||||
xkBloodInfoTemp = new XkBloodInfo();
|
XkBloodInfo xkBloodInfoTemp = new XkBloodInfo();
|
||||||
xkBloodInfoTemp.setBlood_status("4");
|
xkBloodInfoTemp.setBlood_status("4");
|
||||||
xkBloodInfoTemp.setBlood_no(bloodNo);
|
xkBloodInfoTemp.setBlood_no(bloodNo);
|
||||||
xkBloodInfoTemp.setProduct_no(productNo);
|
xkBloodInfoTemp.setProduct_no(productNo);
|
||||||
@ -260,7 +259,7 @@ public class BloodOutServiceImpl implements BloodOutService {
|
|||||||
xkPatientInfoTemp.setTransfuse_history("Y");
|
xkPatientInfoTemp.setTransfuse_history("Y");
|
||||||
xkPatientInfoTemp.setBeinhos_id(beinhosId);
|
xkPatientInfoTemp.setBeinhos_id(beinhosId);
|
||||||
|
|
||||||
bloodOutUtil.auditBloodOutInfo(xkBloodInfoTemp,xkTransfuseApplyTemp,xkOutMainTemp,xkCheckBloodtypeTemp,xkPatientInfoTemp,xkMatchMainTemp);
|
bloodOutUtil.auditBloodOutInfo(xkBloodInfoList,xkTransfuseApplyTemp,xkOutMainTemp,xkCheckBloodtypeTemp,xkPatientInfoTemp,xkMatchMainTemp);
|
||||||
|
|
||||||
//通知护士取血
|
//通知护士取血
|
||||||
notifyBloodOut(billNo);
|
notifyBloodOut(billNo);
|
||||||
|
|||||||
@ -64,7 +64,7 @@ public class BloodOutUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void auditBloodOutInfo(XkBloodInfo xkBloodInfo,XkTransfuseApply xkTransfuseApply,XkOutMain xkOutMain,
|
public void auditBloodOutInfo(List<XkBloodInfo> xkBloodInfoList,XkTransfuseApply xkTransfuseApply,XkOutMain xkOutMain,
|
||||||
XkCheckBloodtype xkCheckBloodtype,
|
XkCheckBloodtype xkCheckBloodtype,
|
||||||
XkPatientInfo xkPatientInfo,
|
XkPatientInfo xkPatientInfo,
|
||||||
XkMatchMain xkMatchMain){
|
XkMatchMain xkMatchMain){
|
||||||
@ -72,7 +72,10 @@ public class BloodOutUtil {
|
|||||||
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
||||||
if(xkCheckBloodtype != null) xkCheckBloodtypeMapper.update(xkCheckBloodtype);
|
if(xkCheckBloodtype != null) xkCheckBloodtypeMapper.update(xkCheckBloodtype);
|
||||||
xkPatientInfoMapper.updateXkPatientInfo(xkPatientInfo);
|
xkPatientInfoMapper.updateXkPatientInfo(xkPatientInfo);
|
||||||
|
for (XkBloodInfo xkBloodInfo : xkBloodInfoList) {
|
||||||
xkBloodInfoMapper.update(xkBloodInfo);
|
xkBloodInfoMapper.update(xkBloodInfo);
|
||||||
|
}
|
||||||
|
|
||||||
if(xkMatchMain != null) xkMatchMainMapper.update(xkMatchMain);
|
if(xkMatchMain != null) xkMatchMainMapper.update(xkMatchMain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user