输血弹窗提示,大量用血申请模版
This commit is contained in:
parent
186b154275
commit
95d997467f
7
.idea/MarsCodeWorkspaceAppSettings.xml
generated
Normal file
7
.idea/MarsCodeWorkspaceAppSettings.xml
generated
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
|
||||||
|
<option name="chatAppRouterInfo" value="chat-session" />
|
||||||
|
<option name="progress" value="1.0" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@ -16,4 +16,8 @@ public class BloodPrintTypeConstants {
|
|||||||
* 知情同意书2
|
* 知情同意书2
|
||||||
*/
|
*/
|
||||||
public static final String INFORMED_CONSENT_2 = "INFORMED_CONSENT_2";
|
public static final String INFORMED_CONSENT_2 = "INFORMED_CONSENT_2";
|
||||||
|
/**
|
||||||
|
* 大量用血审批单
|
||||||
|
*/
|
||||||
|
public static final String LARGE_APPLY = "LARGE_APPLY";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,11 @@ package com.czblood.bus.mapper;
|
|||||||
|
|
||||||
import com.czblood.bus.pojo.XkTransfuseApplyApproval;
|
import com.czblood.bus.pojo.XkTransfuseApplyApproval;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface XkTransfuseApplyApprovalMapper {
|
public interface XkTransfuseApplyApprovalMapper {
|
||||||
XkTransfuseApplyApproval queryOneByBillNo(String billNo);
|
XkTransfuseApplyApproval queryOneByBillNo(String billNo);
|
||||||
|
List<XkTransfuseApplyApproval> queryList(XkTransfuseApplyApproval xkTransfuseApplyApproval);
|
||||||
void insert(XkTransfuseApplyApproval xkTransfuseApplyApproval);
|
void insert(XkTransfuseApplyApproval xkTransfuseApplyApproval);
|
||||||
void update(XkTransfuseApplyApproval xkTransfuseApplyApproval);
|
void update(XkTransfuseApplyApproval xkTransfuseApplyApproval);
|
||||||
void delete(String billNo);
|
void delete(String billNo);
|
||||||
|
|||||||
@ -14,4 +14,5 @@ import java.util.Date;
|
|||||||
public class ReportParam {
|
public class ReportParam {
|
||||||
private String billNo;
|
private String billNo;
|
||||||
private String beinhosId;
|
private String beinhosId;
|
||||||
|
private String bloodSum;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,6 +40,13 @@
|
|||||||
<select id="queryOneByBillNo" resultType="com.czblood.bus.pojo.XkTransfuseApplyApproval">
|
<select id="queryOneByBillNo" resultType="com.czblood.bus.pojo.XkTransfuseApplyApproval">
|
||||||
select * from xk_transfuse_apply_approval where bill_no = #{billNo}
|
select * from xk_transfuse_apply_approval where bill_no = #{billNo}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryList" resultType="com.czblood.bus.pojo.XkTransfuseApplyApproval">
|
||||||
|
select * from xk_transfuse_apply_approval
|
||||||
|
<where>
|
||||||
|
<if test="bill_no != null and bill_no != ''">and bill_no = #{bill_no}</if>
|
||||||
|
<if test="ApplyLevel != null and ApplyLevel != ''">and ApplyLevel = #{ApplyLevel}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package com.czblood.busBloodbank.controller;
|
||||||
|
|
||||||
|
import com.czblood.busBloodbank.service.BimStipsService;
|
||||||
|
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/stips")
|
||||||
|
public class BimStipsController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BimStipsService bimStipsService;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("查询列表数据,医生站,血型总量类型")
|
||||||
|
@GetMapping("/queryListByDoctor")
|
||||||
|
public Result queryListByDoctor(){
|
||||||
|
return bimStipsService.queryListByDoctor();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查询列表数据,输血科,血液品种总量类型")
|
||||||
|
@GetMapping("/queryListByBlood")
|
||||||
|
public Result queryListByBlood(){
|
||||||
|
return bimStipsService.queryListByBlood();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("查询过期血液")
|
||||||
|
@GetMapping("/queryExpiredBlood")
|
||||||
|
public Result queryExpiredBlood(){
|
||||||
|
return bimStipsService.queryExpiredBlood();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
package com.czblood.busBloodbank.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface BimStipsMapper {
|
||||||
|
List<Map<String,Object>> queryListByDoctor();
|
||||||
|
List<Map<String,Object>> queryListByBlood();
|
||||||
|
List<Map<String,Object>> queryExpiredBlood(Long day);
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.czblood.busBloodbank.service;
|
||||||
|
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
|
||||||
|
public interface BimStipsService {
|
||||||
|
Result queryListByDoctor();
|
||||||
|
|
||||||
|
Result queryListByBlood();
|
||||||
|
|
||||||
|
Result queryExpiredBlood();
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package com.czblood.busBloodbank.service.impl;
|
||||||
|
|
||||||
|
import com.czblood.bus.utils.BloodBankUtil;
|
||||||
|
import com.czblood.busBloodbank.mapper.BimStipsMapper;
|
||||||
|
import com.czblood.busBloodbank.service.BimStipsService;
|
||||||
|
import com.czblood.common.core.domain.Result;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class BimStipsServiceImpl implements BimStipsService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
BimStipsMapper bimStipsMapper;
|
||||||
|
@Resource
|
||||||
|
BloodBankUtil bloodBankUtil;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryListByDoctor() {
|
||||||
|
List<Map<String, Object>> mapList = bimStipsMapper.queryListByDoctor();
|
||||||
|
return new Result("0", "操作成功", mapList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryListByBlood() {
|
||||||
|
List<Map<String, Object>> mapList = bimStipsMapper.queryListByBlood();
|
||||||
|
return new Result("0", "操作成功", mapList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result queryExpiredBlood() {
|
||||||
|
String deadlinecheck = bloodBankUtil.getParameterValue("DEADLINECHECK");
|
||||||
|
List<Map<String, Object>> mapList = bimStipsMapper.queryExpiredBlood(Long.parseLong(deadlinecheck));
|
||||||
|
return new Result("0", "操作成功", mapList);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
<?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.BimStipsMapper">
|
||||||
|
|
||||||
|
<select id="queryListByDoctor" resultType="java.util.Map">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT a.blood_type AS BloodAbo ,
|
||||||
|
a.blood_type+'型' as BloodAboName ,
|
||||||
|
a.sl AS amount ,
|
||||||
|
1 AS ShowType ,
|
||||||
|
1 AS ShowMode ,
|
||||||
|
'' AS BackText ,
|
||||||
|
( CASE WHEN a.sl < b.Stock_Lower THEN '紧缺'
|
||||||
|
WHEN a.sl BETWEEN b.Stock_Lower AND b.Stock_Upper THEN '偏少'
|
||||||
|
WHEN a.sl > b.Stock_Upper THEN '充裕' end
|
||||||
|
) AS TipsText ,
|
||||||
|
( CASE WHEN a.sl < b.Stock_Lower THEN '926688'
|
||||||
|
WHEN a.sl BETWEEN b.Stock_Lower AND b.Stock_Upper THEN '6655839'
|
||||||
|
WHEN a.sl > b.Stock_Upper THEN '3794950' end
|
||||||
|
) AS TipsColor
|
||||||
|
FROM v_blood_bimsshowstock AS a
|
||||||
|
INNER JOIN (SELECT blood_type,SUM(Stock_Lower) AS Stock_Lower,SUM(Stock_Upper) AS Stock_Upper FROM dbo.xk_blood_lack GROUP BY blood_type
|
||||||
|
) b ON (b.blood_type = a.blood_type)
|
||||||
|
ORDER BY BloodAbo ,BloodAboName
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="queryListByBlood" resultType="java.util.Map">
|
||||||
|
<![CDATA[
|
||||||
|
select a.blood_kind AS ClassCode,a.wordbook_name AS ClassName,
|
||||||
|
a.AmountA AS AmountA,
|
||||||
|
(CASE WHEN a.AmountA < b.Stock_LowerA THEN '紧缺'
|
||||||
|
WHEN a.AmountA BETWEEN b.Stock_LowerA AND b.Stock_UpperA THEN '偏少'
|
||||||
|
WHEN a.AmountA > b.Stock_UpperA THEN '充裕' end ) as TipsAText,
|
||||||
|
(CASE WHEN a.AmountA < b.Stock_LowerA THEN '926688'
|
||||||
|
WHEN a.AmountA BETWEEN b.Stock_LowerA AND b.Stock_UpperA THEN '6655839'
|
||||||
|
WHEN a.AmountA > b.Stock_UpperA THEN '3794950' end ) as TipsAColor,
|
||||||
|
'' as BackAText,
|
||||||
|
a.AmountB AS AmountB,
|
||||||
|
(CASE WHEN a.AmountB < b.Stock_LowerB THEN '紧缺'
|
||||||
|
WHEN a.AmountB BETWEEN b.Stock_LowerB AND b.Stock_UpperB THEN '偏少'
|
||||||
|
WHEN a.AmountB > b.Stock_UpperB THEN '充裕' end) as TipsBText,
|
||||||
|
(CASE WHEN a.AmountB < b.Stock_LowerB THEN '926688'
|
||||||
|
WHEN a.AmountB BETWEEN b.Stock_LowerB AND b.Stock_UpperB THEN '6655839'
|
||||||
|
WHEN a.AmountB > b.Stock_UpperB THEN '3794950' end ) as TipsBColor,
|
||||||
|
'' as BackBText,
|
||||||
|
a.AmountAB AS AmountAB,
|
||||||
|
(CASE WHEN a.AmountAB < b.Stock_LowerAB THEN '紧缺'
|
||||||
|
WHEN a.AmountAB BETWEEN b.Stock_LowerAB AND b.Stock_UpperAB THEN '偏少'
|
||||||
|
WHEN a.AmountAB > b.Stock_UpperAB THEN '充裕' end) as TipsABText,
|
||||||
|
(CASE WHEN a.AmountAB < b.Stock_LowerAB THEN '926688'
|
||||||
|
WHEN a.AmountAB BETWEEN b.Stock_LowerAB AND b.Stock_UpperAB THEN '6655839'
|
||||||
|
WHEN a.AmountAB > b.Stock_UpperAB THEN '3794950' end) as TipsABColor,
|
||||||
|
'' as BackABText,
|
||||||
|
a.AmountO AS AmountO,
|
||||||
|
(CASE WHEN a.AmountO < b.Stock_LowerO THEN '紧缺'
|
||||||
|
WHEN a.AmountO BETWEEN b.Stock_LowerO AND b.Stock_UpperO THEN '偏少'
|
||||||
|
WHEN a.AmountO> b.Stock_UpperO THEN '充裕' end) as TipsOText,
|
||||||
|
(CASE WHEN a.AmountO < b.Stock_LowerO THEN '926688'
|
||||||
|
WHEN a.AmountO BETWEEN b.Stock_LowerO AND b.Stock_UpperO THEN '6655839'
|
||||||
|
WHEN a.AmountO > b.Stock_UpperO THEN '3794950' end) as TipsOColor,
|
||||||
|
'' as BackOText
|
||||||
|
FROM (SELECT d.blood_kind,d.wordbook_name,
|
||||||
|
sum((CASE WHEN d.blood_type = 'A' THEN d.sl ELSE 0 end)) AS AmountA,
|
||||||
|
sum((CASE WHEN d.blood_type = 'B' THEN d.sl ELSE 0 end)) AS AmountB,
|
||||||
|
sum((CASE WHEN d.blood_type = 'AB' THEN d.sl ELSE 0 end)) AS AmountAB,
|
||||||
|
sum((CASE WHEN d.blood_type = 'O' THEN d.sl ELSE 0 end)) AS AmountO
|
||||||
|
FROM v_blood_bimsshowstock_blood d
|
||||||
|
GROUP BY d.blood_kind,d.wordbook_name) a
|
||||||
|
INNER JOIN (SELECT f.blood_kind AS blood_kind,f.wordbook_name AS wordbook_name,
|
||||||
|
sum((CASE WHEN c.blood_type = 'A' THEN c.Stock_Lower ELSE 0 end)) AS Stock_LowerA,
|
||||||
|
sum((CASE WHEN c.blood_type = 'A' THEN c.Stock_Upper ELSE 0 end)) AS Stock_UpperA,
|
||||||
|
sum((CASE WHEN c.blood_type = 'B' THEN c.Stock_Lower ELSE 0 end)) AS Stock_LowerB,
|
||||||
|
sum((CASE WHEN c.blood_type = 'B' THEN c.Stock_Upper ELSE 0 end)) AS Stock_UpperB,
|
||||||
|
sum((CASE WHEN c.blood_type = 'O' THEN c.Stock_Lower ELSE 0 end)) AS Stock_LowerO,
|
||||||
|
sum((CASE WHEN c.blood_type = 'O' THEN c.Stock_Upper ELSE 0 end)) AS Stock_UpperO,
|
||||||
|
sum((CASE WHEN c.blood_type = 'AB' THEN c.Stock_Lower ELSE 0 end)) AS Stock_LowerAB,
|
||||||
|
sum((CASE WHEN c.blood_type = 'AB' THEN c.Stock_Upper ELSE 0 end)) AS Stock_UpperAB
|
||||||
|
FROM dbo.xk_blood_lack c,v_blood_breed f
|
||||||
|
WHERE c.blood_breed = f.breed_code GROUP BY f.wordbook_name,f.blood_kind) b ON (a.blood_kind = b.blood_kind )
|
||||||
|
order by a.blood_kind
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="queryExpiredBlood" resultType="java.util.Map">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT xk_blood_info.blood_no,xk_blood_info.product_no ,xk_blood_breed.breed_name,
|
||||||
|
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.pick_date,datediff(day,GETDATE(), xk_blood_info.valid_date) as cp_moreday
|
||||||
|
FROM xk_blood_info,xk_blood_breed WHERE xk_blood_breed.breed_code=xk_blood_info.blood_breed
|
||||||
|
AND blood_status='1' AND valid_date<GETDATE() + #{day}
|
||||||
|
]]>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
@ -1,10 +1,13 @@
|
|||||||
package com.czblood.busDoctor.mapper;
|
package com.czblood.busDoctor.mapper;
|
||||||
|
|
||||||
import com.czblood.busDoctor.pojo.VO.TransfuseApplyBeforeVO;
|
import com.czblood.busDoctor.pojo.VO.TransfuseApplyBeforeVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public interface TransfuseApplyBeforeMapper {
|
public interface TransfuseApplyBeforeMapper {
|
||||||
List<Map<String,Object>> queryList(TransfuseApplyBeforeVO transfuseApplyBeforeVO);
|
List<Map<String,Object>> queryList(TransfuseApplyBeforeVO transfuseApplyBeforeVO);
|
||||||
|
BigDecimal getBloodSum(@Param("beinhos_id") String beinhos_id,@Param("stime") String stime,@Param("etime") String etime,@Param("bloodKindList") List<String> bloodKindList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,17 @@
|
|||||||
package com.czblood.busDoctor.service.impl;
|
package com.czblood.busDoctor.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.codec.Base64;
|
import cn.hutool.core.codec.Base64;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.czblood.bus.constants.BloodPrintTypeConstants;
|
import com.czblood.bus.constants.BloodPrintTypeConstants;
|
||||||
import com.czblood.bus.mapper.XkPatientInfoMapper;
|
import com.czblood.bus.mapper.*;
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyBeforeMapper;
|
|
||||||
import com.czblood.bus.mapper.XkTransfuseApplyTestitemMapper;
|
|
||||||
import com.czblood.bus.pojo.*;
|
import com.czblood.bus.pojo.*;
|
||||||
import com.czblood.bus.pojo.inter.BeforeAssessRequest;
|
import com.czblood.bus.pojo.inter.BeforeAssessRequest;
|
||||||
import com.czblood.bus.pojo.inter.GetPatientInfoRequest;
|
import com.czblood.bus.pojo.inter.GetPatientInfoRequest;
|
||||||
import com.czblood.bus.pojo.inter.GetTestResultRequest;
|
import com.czblood.bus.pojo.inter.GetTestResultRequest;
|
||||||
|
import com.czblood.bus.pojo.xtwh.XkBloodBreed;
|
||||||
|
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.bus.utils.ReportUtil;
|
||||||
@ -19,6 +20,7 @@ import com.czblood.busDoctor.pojo.DTO.TransfuseApplyBeforeDTO;
|
|||||||
import com.czblood.busDoctor.pojo.VO.TransfuseApplyBeforeVO;
|
import com.czblood.busDoctor.pojo.VO.TransfuseApplyBeforeVO;
|
||||||
import com.czblood.busDoctor.service.TransfuseApplyBeforeService;
|
import com.czblood.busDoctor.service.TransfuseApplyBeforeService;
|
||||||
import com.czblood.busDoctor.utils.TransfuseApplyBeforeUtil;
|
import com.czblood.busDoctor.utils.TransfuseApplyBeforeUtil;
|
||||||
|
import com.czblood.busDoctor.utils.TransfuseApplyUtil;
|
||||||
import com.czblood.common.config.RuoYiConfig;
|
import com.czblood.common.config.RuoYiConfig;
|
||||||
import com.czblood.common.core.domain.Result;
|
import com.czblood.common.core.domain.Result;
|
||||||
import com.czblood.common.utils.file.FileUtils;
|
import com.czblood.common.utils.file.FileUtils;
|
||||||
@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -50,6 +53,14 @@ public class TransfuseApplyBeforeServiceImpl implements TransfuseApplyBeforeServ
|
|||||||
ReportUtil reportUtil;
|
ReportUtil reportUtil;
|
||||||
@Resource
|
@Resource
|
||||||
TransfuseApplyBeforeMapper transfuseApplyBeforeMapper;
|
TransfuseApplyBeforeMapper transfuseApplyBeforeMapper;
|
||||||
|
@Resource
|
||||||
|
XkTransfuseApplyApprovalMapper xkTransfuseApplyApprovalMapper;
|
||||||
|
@Resource
|
||||||
|
TransfuseApplyUtil transfuseApplyUtil;
|
||||||
|
@Resource
|
||||||
|
XkTransfuseApplyBloodbreedMapper xkTransfuseApplyBloodbreedMapper;
|
||||||
|
@Resource
|
||||||
|
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result queryList(TransfuseApplyBeforeVO xkTransfuseApplyBeforeVO) {
|
public Result queryList(TransfuseApplyBeforeVO xkTransfuseApplyBeforeVO) {
|
||||||
@ -184,6 +195,25 @@ public class TransfuseApplyBeforeServiceImpl implements TransfuseApplyBeforeServ
|
|||||||
log.error("合并pdf:{}报告失败:{}",mergeBgdhList,e);
|
log.error("合并pdf:{}报告失败:{}",mergeBgdhList,e);
|
||||||
return new Result("-1",e.getMessage());
|
return new Result("-1",e.getMessage());
|
||||||
}
|
}
|
||||||
|
case "LARGE_APPLY":
|
||||||
|
String dlyxspDyjb = bloodBankUtil.getParameterValue("DLYXSP_DYJB");
|
||||||
|
XkTransfuseApplyApproval xkTransfuseApplyApprovalTemp = new XkTransfuseApplyApproval();
|
||||||
|
xkTransfuseApplyApprovalTemp.setBill_no(billNo);
|
||||||
|
xkTransfuseApplyApprovalTemp.setApplyLevel(dlyxspDyjb);
|
||||||
|
List<XkTransfuseApplyApproval> xkTransfuseApplyApprovalList = xkTransfuseApplyApprovalMapper.queryList(xkTransfuseApplyApprovalTemp);
|
||||||
|
if(xkTransfuseApplyApprovalList.isEmpty()) return new Result("-1","没有大量用血审批记录,无需打印申请单!");
|
||||||
|
//24小时总血总量,包含了当前申请单的用血量
|
||||||
|
List<XkTransfuseApplyBloodbreed> xkTransfuseApplyBloodbreedList = xkTransfuseApplyBloodbreedMapper.queryOne(billNo);
|
||||||
|
List<String> largeKindStr = transfuseApplyUtil.getLargeKindStr(xkTransfuseApplyBloodbreedList);
|
||||||
|
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(billNo);
|
||||||
|
String beinhosId = xkTransfuseApply.getBeinhos_id();
|
||||||
|
String currentTimeDate = bloodBankUtil.getCurrentTime();
|
||||||
|
String stime = DateUtil.format(DateUtil.offsetDay(bloodBankUtil.getCurrentTimeDate(), -1),"yyyy-MM-dd HH:mm:ss");
|
||||||
|
BigDecimal bloodSum = transfuseApplyBeforeMapper.getBloodSum(beinhosId,stime,currentTimeDate,largeKindStr);
|
||||||
|
reportParam.setBloodSum(bloodSum.toString());
|
||||||
|
Result result2 = reportUtil.printToPdf(BloodPrintTypeConstants.LARGE_APPLY, reportParam, true);
|
||||||
|
if(!result2.getCode().equals("0")) return result2;
|
||||||
|
return new Result("0","打印成功!",BloodBankUtil.isBank(result2.getData()));
|
||||||
|
|
||||||
}
|
}
|
||||||
return new Result("-1","没有找到对应的打印模版!");
|
return new Result("-1","没有找到对应的打印模版!");
|
||||||
|
|||||||
@ -654,6 +654,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
|||||||
public Result bloodCloseLoop(String billNo) {
|
public Result bloodCloseLoop(String billNo) {
|
||||||
List<String> applyStatusList = BloodApplyStatusConstants.values();
|
List<String> applyStatusList = BloodApplyStatusConstants.values();
|
||||||
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(billNo);
|
XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(billNo);
|
||||||
|
if(xkTransfuseApply == null) return new Result("-1","没有查到该申请单的信息!");
|
||||||
List<ClosedLoopStatus> closedLoopStatusList = new ArrayList<>();
|
List<ClosedLoopStatus> closedLoopStatusList = new ArrayList<>();
|
||||||
XkTransfuseApplyApproval xkTransfuseApplyApproval = xkTransfuseApplyApprovalMapper.queryOneByBillNo(billNo);
|
XkTransfuseApplyApproval xkTransfuseApplyApproval = xkTransfuseApplyApprovalMapper.queryOneByBillNo(billNo);
|
||||||
for (String statusName : applyStatusList) {
|
for (String statusName : applyStatusList) {
|
||||||
@ -668,7 +669,7 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
|||||||
}
|
}
|
||||||
ClosedLoopStatus closedLoopStatus = new ClosedLoopStatus();
|
ClosedLoopStatus closedLoopStatus = new ClosedLoopStatus();
|
||||||
closedLoopStatus.setStatusName(statusName);
|
closedLoopStatus.setStatusName(statusName);
|
||||||
if(xkTransfuseApply == null) closedLoopStatus.setVisible("N");
|
closedLoopStatus.setVisible("N");
|
||||||
switch (statusName) {
|
switch (statusName) {
|
||||||
case BloodApplyStatusConstants.BILL_STATUS_OPEN:
|
case BloodApplyStatusConstants.BILL_STATUS_OPEN:
|
||||||
if(xkTransfuseApply.getApply_medic() != null && !xkTransfuseApply.getApply_medic().equals("")){
|
if(xkTransfuseApply.getApply_medic() != null && !xkTransfuseApply.getApply_medic().equals("")){
|
||||||
@ -684,6 +685,20 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService {
|
|||||||
closedLoopStatus.setVisible("Y");
|
closedLoopStatus.setVisible("Y");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case BloodApplyStatusConstants.BILL_STATUS_ARCHIATER_CHECK:
|
||||||
|
if(xkTransfuseApplyApproval.getArchiater() != null && !xkTransfuseApplyApproval.getArchiater().equals("")){
|
||||||
|
closedLoopStatus.setOccurName(xkTransfuseApplyApproval.getArchiater());
|
||||||
|
closedLoopStatus.setOccurDate(xkTransfuseApplyApproval.getArchiater_CheckTime());
|
||||||
|
closedLoopStatus.setVisible("Y");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case BloodApplyStatusConstants.BILL_STATUS_MEDICAL_CHECK:
|
||||||
|
if(xkTransfuseApplyApproval.getMedical_Dept() != null && !xkTransfuseApplyApproval.getMedical_Dept().equals("")){
|
||||||
|
closedLoopStatus.setOccurName(xkTransfuseApplyApproval.getMedical_Dept());
|
||||||
|
closedLoopStatus.setOccurDate(xkTransfuseApplyApproval.getMedical_CheckTime());
|
||||||
|
closedLoopStatus.setVisible("Y");
|
||||||
|
}
|
||||||
|
break;
|
||||||
case BloodApplyStatusConstants.BILL_STATUS_BLOOD_TYPE_CHECK:
|
case BloodApplyStatusConstants.BILL_STATUS_BLOOD_TYPE_CHECK:
|
||||||
break;
|
break;
|
||||||
case BloodApplyStatusConstants.BILL_STATUS_MATCH_CHECK:
|
case BloodApplyStatusConstants.BILL_STATUS_MATCH_CHECK:
|
||||||
|
|||||||
@ -48,6 +48,26 @@ public class TransfuseApplyUtil {
|
|||||||
@Resource
|
@Resource
|
||||||
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
XkTransfuseApplyMapper xkTransfuseApplyMapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 血液品种是否参与大量用血判断
|
||||||
|
* @param xkTransfuseApplyBloodbreedList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<String> getLargeKindStr(List<XkTransfuseApplyBloodbreed> xkTransfuseApplyBloodbreedList){
|
||||||
|
List<String> bloodKindList = new ArrayList<>();
|
||||||
|
for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) {
|
||||||
|
String bloodBreed = xkTransfuseApplyBloodbreed.getBlood_breed();
|
||||||
|
XkBloodBreed xkBloodBreed = xkBloodBreedMapper.queryOne(bloodBreed);
|
||||||
|
XkDmzd xylxDmzd = bloodBankUtil.getDictCacheOne("xylx", xkBloodBreed.getBlood_kind());
|
||||||
|
String exp1 = BloodBankUtil.isBank(xylxDmzd.getExp1()); //是否参与大量用血计算
|
||||||
|
if(!BloodBankUtil.isBank(exp1).equals("Y")) continue;
|
||||||
|
bloodKindList.add(xkBloodBreed.getBlood_kind());
|
||||||
|
}
|
||||||
|
return bloodKindList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算大量用血
|
* 计算大量用血
|
||||||
*/
|
*/
|
||||||
@ -66,18 +86,13 @@ public class TransfuseApplyUtil {
|
|||||||
if(BloodBankUtil.isBank(exp2).equals("Y")) return new Result("0","抢救用血不参与大量用血计算");
|
if(BloodBankUtil.isBank(exp2).equals("Y")) return new Result("0","抢救用血不参与大量用血计算");
|
||||||
//血液品种是否参与大量用血判断
|
//血液品种是否参与大量用血判断
|
||||||
BigDecimal totalApplyNum = BigDecimal.ZERO;
|
BigDecimal totalApplyNum = BigDecimal.ZERO;
|
||||||
List<String> bloodKindList = new ArrayList<>();
|
|
||||||
List<XkTransfuseApplyBloodbreed> xkTransfuseApplyBloodbreedList = transfuseApplyDTO.getXkTransfuseApplyBloodbreedList();
|
List<XkTransfuseApplyBloodbreed> xkTransfuseApplyBloodbreedList = transfuseApplyDTO.getXkTransfuseApplyBloodbreedList();
|
||||||
|
List<String> bloodKindList = getLargeKindStr(xkTransfuseApplyBloodbreedList);
|
||||||
for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) {
|
for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) {
|
||||||
String bloodBreed = xkTransfuseApplyBloodbreed.getBlood_breed();
|
String bloodBreed = xkTransfuseApplyBloodbreed.getBlood_breed();
|
||||||
BigDecimal bloodNum = xkTransfuseApplyBloodbreed.getBlood_num();
|
BigDecimal bloodNum = xkTransfuseApplyBloodbreed.getBlood_num();
|
||||||
XkBloodBreed xkBloodBreed = xkBloodBreedMapper.queryOne(bloodBreed);
|
|
||||||
XkDmzd xylxDmzd = bloodBankUtil.getDictCacheOne("xylx", xkBloodBreed.getBlood_kind());
|
|
||||||
String exp1 = BloodBankUtil.isBank(xylxDmzd.getExp1()); //是否参与大量用血计算
|
|
||||||
if(!BloodBankUtil.isBank(exp1).equals("Y")) continue;
|
|
||||||
BigDecimal applyTransNum = bloodBankUtil.getApplyTransNum(bloodBreed,bloodNum);
|
BigDecimal applyTransNum = bloodBankUtil.getApplyTransNum(bloodBreed,bloodNum);
|
||||||
totalApplyNum = totalApplyNum.add(applyTransNum);
|
totalApplyNum = totalApplyNum.add(applyTransNum);
|
||||||
bloodKindList.add(xkBloodBreed.getBlood_kind());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Date currentTimeDate = bloodBankUtil.getCurrentTimeDate();
|
Date currentTimeDate = bloodBankUtil.getCurrentTimeDate();
|
||||||
|
|||||||
@ -9,4 +9,20 @@
|
|||||||
<if test="beinhos_id != null and beinhos_id != ''">and a.beinhos_id = #{beinhos_id}</if>
|
<if test="beinhos_id != null and beinhos_id != ''">and a.beinhos_id = #{beinhos_id}</if>
|
||||||
<if test="patient_name != null and patient_name != ''">and b.patient_name like '%'+#{patient_name}+'%' </if>
|
<if test="patient_name != null and patient_name != ''">and b.patient_name like '%'+#{patient_name}+'%' </if>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getBloodSum" resultType="java.math.BigDecimal">
|
||||||
|
SELECT sum( CASE upper(t.unit) WHEN 'U' THEN t.blood_num*200 WHEN '治疗量' THEN t.blood_num*200 ELSE t.blood_num end ) rl_qc
|
||||||
|
FROM xk_transfuse_apply a , xk_transfuse_apply_bloodbreed t , xk_blood_breed k
|
||||||
|
WHERE a.beinhos_id = #{beinhos_id}
|
||||||
|
AND a.Bill_No =t.Bill_No
|
||||||
|
AND t.blood_breed =k.breed_code
|
||||||
|
<![CDATA[AND a.bill_stasus <> 'Z' ]]>
|
||||||
|
<if test="bloodKindList != null and bloodKindList.size() > 0">
|
||||||
|
and k.blood_kind in
|
||||||
|
<foreach collection="bloodKindList" item="item" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
and a.apply_date Between #{stime} AND #{etime};
|
||||||
|
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
x
Reference in New Issue
Block a user