|
@@ -2,6 +2,7 @@ package thyyxxk.webserver.service.yibao;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -16,8 +17,10 @@ import thyyxxk.webserver.dao.his.yibao.XiangMuLuRuDao;
|
|
|
import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
|
|
|
import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
|
|
|
+import thyyxxk.webserver.entity.medicalinsurance.inpatient.ZyPatientInfo;
|
|
|
import thyyxxk.webserver.entity.yibao.ZyActpatient;
|
|
|
import thyyxxk.webserver.service.PublicServer;
|
|
|
+import thyyxxk.webserver.service.medicalinsurance.SiZyService;
|
|
|
import thyyxxk.webserver.utils.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -41,11 +44,13 @@ import java.util.stream.Collectors;
|
|
|
public class XiangMuLuRuService {
|
|
|
private final XiangMuLuRuDao dao;
|
|
|
private final PublicServer publicServer;
|
|
|
+ private final SiZyService siZyService;
|
|
|
|
|
|
@Autowired
|
|
|
- public XiangMuLuRuService(XiangMuLuRuDao dao, PublicServer publicServer) {
|
|
|
+ public XiangMuLuRuService(XiangMuLuRuDao dao, PublicServer publicServer, SiZyService siZyService) {
|
|
|
this.dao = dao;
|
|
|
this.publicServer = publicServer;
|
|
|
+ this.siZyService = siZyService;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -56,11 +61,11 @@ public class XiangMuLuRuService {
|
|
|
* @return 返回患者费用
|
|
|
*/
|
|
|
public ResultVo<Page<ZyDetailCharge>> getHuanZheFeiYong(ZyDetailCharge param) {
|
|
|
+ log.info("医嘱号:{}", param.getActOrderNo());
|
|
|
if (StringUtil.isBlank(param.getInpatientNo()) || param.getAdmissTimes() == null) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "住院号或住院次数为空 <br/>๑乛◡乛๑");
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_HTML_ERROR, "住院号或住院次数为空 <br/>๑乛◡乛๑");
|
|
|
}
|
|
|
Integer ledgerSn = publicServer.getLedgerSn(param.getInpatientNo(), param.getAdmissTimes());
|
|
|
- log.info("查询患者费用==》住院号{},住院次数:{},项目名称:{},费用类型:{},科室:{},当前页:{},页大小:{},退费:{},总数:{},账页号:{}", param.getInpatientNo(), param.getAdmissTimes(), param.getChargeCode(), param.getOrderNo(), param.getDept(), param.getCurrentPage(), param.getPageSize(), param.getTuiFeiFlag(), param.getTotal(), ledgerSn);
|
|
|
int infantFlag = 0;
|
|
|
// 如果是婴儿的话那么就需要截取 字符串了 在通过婴儿标识来判断
|
|
|
if (param.getInpatientNo().contains("$")) {
|
|
@@ -74,14 +79,14 @@ public class XiangMuLuRuService {
|
|
|
|
|
|
if (param.getFeiYongLeiXingCode() == 0) {
|
|
|
if (param.getTotal() == 0) {
|
|
|
- page.setTotal(dao.huanZheFeiYongToatal(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getDept(), param.getTuiFeiFlag()));
|
|
|
+ page.setTotal(dao.huanZheFeiYongToatal(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getActOrderNo(), param.getDept(), param.getTuiFeiFlag()));
|
|
|
}
|
|
|
- page.setRecords(dao.huanZheXiangMuFeiYong(param.getCurrentPage(), param.getPageSize(), param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getDept(), param.getRiQiPaiXu(), param.getTuiFeiFlag()));
|
|
|
+ page.setRecords(dao.huanZheXiangMuFeiYong(param.getCurrentPage(), param.getPageSize(), param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getActOrderNo(), param.getDept(), param.getRiQiPaiXu(), param.getTuiFeiFlag()));
|
|
|
} else {
|
|
|
if (param.getTotal() == 0) {
|
|
|
- page.setTotal(dao.huanZheYaoPinFeiYongTotal(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getDept(), param.getTuiFeiFlag()));
|
|
|
+ page.setTotal(dao.huanZheYaoPinFeiYongTotal(param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getActOrderNo(), param.getDept(), param.getTuiFeiFlag()));
|
|
|
}
|
|
|
- page.setRecords(dao.huanZheYaoPinFeiYong(param.getCurrentPage(), param.getPageSize(), param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getDept(), param.getRiQiPaiXu(), param.getTuiFeiFlag()));
|
|
|
+ page.setRecords(dao.huanZheYaoPinFeiYong(param.getCurrentPage(), param.getPageSize(), param.getInpatientNo(), param.getAdmissTimes(), ledgerSn, param.getChargeCode(), infantFlag, param.getStartTime(), param.getEndTime(), param.getOrderNo(), param.getActOrderNo(), param.getDept(), param.getRiQiPaiXu(), param.getTuiFeiFlag()));
|
|
|
}
|
|
|
if (ListUtil.isBlank(page.getRecords())) {
|
|
|
return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有查询到符合费用。");
|
|
@@ -746,5 +751,24 @@ public class XiangMuLuRuService {
|
|
|
}
|
|
|
ExcelUtil.exportExcel(response, title, content);
|
|
|
}
|
|
|
+
|
|
|
+ public ResultVo<String> xiuGaiZiFeiBiaoZhi(ZyDetailCharge param) throws Exception {
|
|
|
+ log.info("pa:{}",JSON.toJSONString(param));
|
|
|
+ QueryWrapper<?> qw = new QueryWrapper<>();
|
|
|
+ qw.eq("inpatient_no", param.getInpatientNo());
|
|
|
+ qw.eq("admiss_times", param.getAdmissTimes());
|
|
|
+ qw.eq("ledger_sn", param.getLedgerSn());
|
|
|
+ List<Integer> detailList = new ArrayList<>();
|
|
|
+ for (ZyDetailCharge item : param.getList()) {
|
|
|
+ detailList.add(item.getDetailSn());
|
|
|
+ }
|
|
|
+ qw.in("detail_sn", detailList);
|
|
|
+ // 把费用标志改成 0
|
|
|
+ dao.xiuGaiZiFeiZhiYiBaoBiaoZhi(qw);
|
|
|
+ ZyPatientInfo p = EntityCopy.Copy(param, ZyPatientInfo.class);
|
|
|
+ p.setDetailSns(detailList);
|
|
|
+ siZyService.revokeUploadFees(p);
|
|
|
+ return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION);
|
|
|
+ }
|
|
|
}
|
|
|
|