|
@@ -14,7 +14,7 @@ import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.datamodify.FeiYongLeiXin;
|
|
|
import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
|
|
|
import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
|
|
|
-import thyyxxk.webserver.entity.yibao.WeiGuiFeiYongFenXi;
|
|
|
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
|
|
|
import thyyxxk.webserver.service.PublicServer;
|
|
|
import thyyxxk.webserver.utils.*;
|
|
|
|
|
@@ -539,7 +539,6 @@ public class XiangMuLuRuService {
|
|
|
String.format("匹配成功共:{%d}条,匹配成功:{%s}条", getYiZhuFeiYongFuShu.size(), piPei.size()));
|
|
|
}
|
|
|
publicServer.genXingYuanLiuShuiBiaoZhi(inpatientNo, admissTimes, ledgerSn);
|
|
|
-
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, String.format("该患者有【%d】条,未能匹配 |д・)っ", getYiZhuFeiYongFuShu.size()));
|
|
|
}
|
|
|
|
|
@@ -602,39 +601,36 @@ public class XiangMuLuRuService {
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public ResultVo<WeiGuiFeiYongFenXi> weiGuiFeiYongFenXi(String inpatientNo, Integer admissTimes, String execUnit) {
|
|
|
+ public ResultVo<ZyActpatient> weiGuiFeiYongFenXi(String inpatientNo, String execUnit) {
|
|
|
+ ZyActpatient patient = publicServer.huoQuHuanZheXinXi(inpatientNo);
|
|
|
inpatientNo = publicServer.getInpatientNo(inpatientNo);
|
|
|
int infantFlag = publicServer.getInfantFlag(inpatientNo);
|
|
|
- Integer ledger = publicServer.getLedgerSn(inpatientNo, admissTimes);
|
|
|
-
|
|
|
- log.info("查询违规费用 =>>住院号{}次数{}执行科室{}", inpatientNo, admissTimes, execUnit);
|
|
|
-
|
|
|
+ Integer ledger = publicServer.getLedgerSn(inpatientNo, patient.getAdmissTimes());
|
|
|
List<String> keShi = publicServer.huoQuBingFangDeKeShi(execUnit);
|
|
|
-
|
|
|
- publicServer.genXingYuanLiuShuiBiaoZhi(inpatientNo, admissTimes, ledger);
|
|
|
-
|
|
|
- WeiGuiFeiYongFenXi weiGuiFeiYongFenXi = new WeiGuiFeiYongFenXi();
|
|
|
- weiGuiFeiYongFenXi.setWeiPiPei(new ArrayList<>());
|
|
|
- weiGuiFeiYongFenXi.setWeiXieDaiYuanLiuShui(new ArrayList<>());
|
|
|
-
|
|
|
+ publicServer.genXingYuanLiuShuiBiaoZhi(inpatientNo, patient.getAdmissTimes(), ledger);
|
|
|
// 药品 分大包装和小包装 可能大包装 匹配了 小包装没有 匹配 所以这里编码同步 一下
|
|
|
- List<Integer> yaoPingBianMaTongBu = dao.weiGuiYaoPinInt(inpatientNo, admissTimes, ledger, infantFlag);
|
|
|
- if (BigUtils.bigDaYu(dao.zhenFuXingDiFeiYong(inpatientNo, admissTimes, ledger), 0)) {
|
|
|
- dao.chongXingZhengFuXiangDi(inpatientNo, admissTimes, ledger);
|
|
|
+ List<Integer> yaoPingBianMaTongBu = dao.weiGuiYaoPinInt(inpatientNo, patient.getAdmissTimes(), ledger, infantFlag);
|
|
|
+ if (BigUtils.bigDaYu(dao.zhenFuXingDiFeiYong(inpatientNo, patient.getAdmissTimes(), ledger), 0)) {
|
|
|
+ dao.chongXingZhengFuXiangDi(inpatientNo, patient.getAdmissTimes(), ledger);
|
|
|
}
|
|
|
// 这里退药 医嘱 有可能会没有携带 执行科室
|
|
|
- List<ZyDetailCharge> huoQuYaoPingZhongKeShiWeiKongDe = dao.huoQuYaoPingZhongKeShiWeiKongDe(inpatientNo, admissTimes, ledger);
|
|
|
+ List<ZyDetailCharge> huoQuYaoPingZhongKeShiWeiKongDe = dao.huoQuYaoPingZhongKeShiWeiKongDe(inpatientNo, patient.getAdmissTimes(), ledger);
|
|
|
if (!huoQuYaoPingZhongKeShiWeiKongDe.isEmpty()) {
|
|
|
- dao.yiZhuTuiFeiGenXingZhiXingKeShi(inpatientNo, admissTimes, ledger, huoQuYaoPingZhongKeShiWeiKongDe);
|
|
|
+ dao.yiZhuTuiFeiGenXingZhiXingKeShi(inpatientNo, patient.getAdmissTimes(), ledger, huoQuYaoPingZhongKeShiWeiKongDe);
|
|
|
}
|
|
|
if (yaoPingBianMaTongBu.size() > 0) {
|
|
|
dao.genXinYaoPingPiPeiXinXi(yaoPingBianMaTongBu);
|
|
|
}
|
|
|
- weiGuiFeiYongFenXi.getWeiPiPei().addAll(dao.weiGuiYaoPin(inpatientNo, admissTimes, ledger, infantFlag));
|
|
|
- weiGuiFeiYongFenXi.getWeiPiPei().addAll(dao.weiGuiXiangMu(inpatientNo, admissTimes, ledger, infantFlag));
|
|
|
- weiGuiFeiYongFenXi.getWeiXieDaiYuanLiuShui().addAll(dao.weiXieDaiYuanLiuShuiXiangMu(inpatientNo, admissTimes, ledger, infantFlag, keShi));
|
|
|
- weiGuiFeiYongFenXi.getWeiXieDaiYuanLiuShui().addAll(dao.weiXieDaiYuanLiuShuiYaoPing(inpatientNo, admissTimes, ledger, infantFlag, keShi));
|
|
|
- return ResultVoUtil.success(weiGuiFeiYongFenXi);
|
|
|
+
|
|
|
+ patient.setWeiPiPei(new ArrayList<>());
|
|
|
+ patient.setWeiXieDaiYuanLiuShui(new ArrayList<>());
|
|
|
+
|
|
|
+ patient.getWeiPiPei().addAll(dao.weiGuiYaoPin(inpatientNo, patient.getAdmissTimes(), ledger, infantFlag));
|
|
|
+ patient.getWeiPiPei().addAll(dao.weiGuiXiangMu(inpatientNo, patient.getAdmissTimes(), ledger, infantFlag));
|
|
|
+ patient.getWeiXieDaiYuanLiuShui().addAll(dao.weiXieDaiYuanLiuShuiXiangMu(inpatientNo, patient.getAdmissTimes(), ledger, infantFlag, keShi));
|
|
|
+ patient.getWeiXieDaiYuanLiuShui().addAll(dao.weiXieDaiYuanLiuShuiYaoPing(inpatientNo, patient.getAdmissTimes(), ledger, infantFlag, keShi));
|
|
|
+ log.info("查询违规费用 =>>住院号{}次数{}执行科室{}", inpatientNo, patient.getAdmissTimes(), JSON.toJSONString(keShi));
|
|
|
+ return ResultVoUtil.success(patient);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -666,12 +662,12 @@ public class XiangMuLuRuService {
|
|
|
List<Integer> yongHuJueSe = dao.huoQuJueSe(TokenUtil.getTokenUserId());
|
|
|
List<String> zhiXinKeShi = dao.chaXunZhiZXinKeShi(zyDetailCharge.getDeptCode());
|
|
|
for (ZyDetailCharge detailCharge : shuJuXinXi) {
|
|
|
+ zyDetailCharge.setYaoPing(false);
|
|
|
ResultVo<String> LOGICAL_ERROR = getStringResultVo(yongHuJueSe, zhiXinKeShi, zyDetailCharge, detailCharge);
|
|
|
if (LOGICAL_ERROR != null) return LOGICAL_ERROR;
|
|
|
if (detailCharge.getOriDetailSn() != null || detailCharge.getTransFlagYb().equals("2")) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为:{%d},已被退费请重新选择。", detailCharge.getDetailSn()));
|
|
|
}
|
|
|
- zyDetailCharge.setYaoPing(false);
|
|
|
chargeFeeSum = chargeFeeSum.add(detailCharge.getChargeFee());
|
|
|
chargeAmountSum = chargeAmountSum.add(detailCharge.getChargeAmount());
|
|
|
}
|