临床退血打印
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_BACK = "BLOOD_OUT_BACK";
|
||||
}
|
||||
|
||||
@ -15,4 +15,5 @@ public class ReportParam {
|
||||
private String billNo;
|
||||
private String beinhosId;
|
||||
private String bloodSum;
|
||||
private String userName;
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
<if test="recycle_sign != null">recycle_sign = #{recycle_sign},</if>
|
||||
<if test="Remark != null">Remark = #{Remark},</if>
|
||||
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>
|
||||
|
||||
<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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
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);
|
||||
List<Map<String,Object>> queryList(BackinQueryVO backinQueryVO);
|
||||
Result queryInfo(String billNo);
|
||||
Result print(String billNo,String templateName,String userId);
|
||||
}
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package com.czblood.busBloodbank.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.czblood.bus.constants.BloodPrintTypeConstants;
|
||||
import com.czblood.bus.mapper.*;
|
||||
import com.czblood.bus.pojo.*;
|
||||
import com.czblood.bus.pojo.inter.BloodBackAuditRequest;
|
||||
import com.czblood.bus.pojo.xtwh.XkDmzd;
|
||||
import com.czblood.bus.utils.BloodBankUtil;
|
||||
import com.czblood.bus.utils.BloodInterfaceUtil;
|
||||
import com.czblood.bus.utils.ReportUtil;
|
||||
import com.czblood.busBloodbank.mapper.BackinMapper;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDTO;
|
||||
import com.czblood.busBloodbank.pojo.DTO.BackinDataDTO;
|
||||
@ -47,6 +49,10 @@ public class BackinServiceImpl implements BackinService {
|
||||
XkBloodInfoMapper xkBloodInfoMapper;
|
||||
@Resource
|
||||
XkOutDetailMapper xkOutDetailMapper;
|
||||
@Resource
|
||||
ReportUtil reportUtil;
|
||||
@Resource
|
||||
XkInstorageDetailMapper xkInstorageDetailMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@ -106,10 +112,16 @@ public class BackinServiceImpl implements BackinService {
|
||||
xkBackinMain.setBack_org(backinDataDTO.getUserId());
|
||||
xkBackinMain.setInput_date(bloodBankUtil.getCurrentTimeDate());
|
||||
xkBackinMain.setInput_person(backinDataDTO.getUserId());
|
||||
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;
|
||||
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);
|
||||
}
|
||||
xkBackinMain.setTotal_money(totalMoney); //总金额
|
||||
|
||||
xkChargeMainTemp = new XkChargeMain();
|
||||
xkChargeMainTemp.setBill_no(newChargeBillNo);
|
||||
@ -243,6 +255,16 @@ public class BackinServiceImpl implements BackinService {
|
||||
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)
|
||||
public void saveChargeData(XkBackinMain xkBackinMain,List<XkBackinDetail> xkBackinDetailList,XkChargeMain xkChargeMain,List<XkChargeDetail> xkChargeDetailList){
|
||||
xkBackinMainMapper.insert(xkBackinMain);
|
||||
|
||||
@ -204,7 +204,6 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
if(!result1.getCode().equals("0")) return result1;
|
||||
List<XkBloodInfo> xkBloodInfoList = new ArrayList<>();
|
||||
List<XkOutDetail> xkOutDetailList = xkOutDetailMapper.queryListByBillNo(billNo);
|
||||
XkBloodInfo xkBloodInfoTemp = null;
|
||||
for (XkOutDetail xkOutDetail : xkOutDetailList) {
|
||||
String bloodNo = xkOutDetail.getBlood_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_no(bloodNo);
|
||||
xkBloodInfoTemp.setProduct_no(productNo);
|
||||
@ -260,7 +259,7 @@ public class BloodOutServiceImpl implements BloodOutService {
|
||||
xkPatientInfoTemp.setTransfuse_history("Y");
|
||||
xkPatientInfoTemp.setBeinhos_id(beinhosId);
|
||||
|
||||
bloodOutUtil.auditBloodOutInfo(xkBloodInfoTemp,xkTransfuseApplyTemp,xkOutMainTemp,xkCheckBloodtypeTemp,xkPatientInfoTemp,xkMatchMainTemp);
|
||||
bloodOutUtil.auditBloodOutInfo(xkBloodInfoList,xkTransfuseApplyTemp,xkOutMainTemp,xkCheckBloodtypeTemp,xkPatientInfoTemp,xkMatchMainTemp);
|
||||
|
||||
//通知护士取血
|
||||
notifyBloodOut(billNo);
|
||||
|
||||
@ -64,7 +64,7 @@ public class BloodOutUtil {
|
||||
}
|
||||
|
||||
@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,
|
||||
XkPatientInfo xkPatientInfo,
|
||||
XkMatchMain xkMatchMain){
|
||||
@ -72,7 +72,10 @@ public class BloodOutUtil {
|
||||
xkTransfuseApplyMapper.update(xkTransfuseApply);
|
||||
if(xkCheckBloodtype != null) xkCheckBloodtypeMapper.update(xkCheckBloodtype);
|
||||
xkPatientInfoMapper.updateXkPatientInfo(xkPatientInfo);
|
||||
xkBloodInfoMapper.update(xkBloodInfo);
|
||||
for (XkBloodInfo xkBloodInfo : xkBloodInfoList) {
|
||||
xkBloodInfoMapper.update(xkBloodInfo);
|
||||
}
|
||||
|
||||
if(xkMatchMain != null) xkMatchMainMapper.update(xkMatchMain);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user