|
@@ -15,11 +15,14 @@ import thyyxxk.webserver.dao.his.zygl.ZyActpatientDao;
|
|
|
import thyyxxk.webserver.dao.his.zygl.ZyDailySettlementDao;
|
|
|
import thyyxxk.webserver.entity.dictionary.ZdUnitCode;
|
|
|
import thyyxxk.webserver.entity.executeItem.NumberEnum;
|
|
|
+import thyyxxk.webserver.entity.executeItem.ZyLedgerFile;
|
|
|
import thyyxxk.webserver.entity.inpatient.ZyActpatient;
|
|
|
+import thyyxxk.webserver.entity.inpatient.charge.PatientParam;
|
|
|
import thyyxxk.webserver.entity.zygl.CodeNameEntity;
|
|
|
import thyyxxk.webserver.entity.zygl.ZyDailySettlementVo;
|
|
|
import thyyxxk.webserver.entity.zygl.ZyDayclosingRecord;
|
|
|
import thyyxxk.webserver.service.hutoolcache.UserCache;
|
|
|
+import thyyxxk.webserver.service.inpatient.charge.CashierProcessService;
|
|
|
import thyyxxk.webserver.utils.AssertUtil;
|
|
|
import thyyxxk.webserver.utils.TokenUtil;
|
|
|
|
|
@@ -45,6 +48,8 @@ public class ZyDailySettlementService {
|
|
|
private ZdUnitCodeDao zdUnitCodeDao;
|
|
|
@Resource
|
|
|
private DictDataDao dictDataDao;
|
|
|
+ @Resource
|
|
|
+ private CashierProcessService cashierProcessService;
|
|
|
/**
|
|
|
* @description: 住院日结操作
|
|
|
* @author: lihong
|
|
@@ -88,6 +93,7 @@ public class ZyDailySettlementService {
|
|
|
zyDailySettlementVo.setOpCodeRs(userCache.get(opId).getCodeRs());
|
|
|
zyDailySettlementVo.setLastDailyDate(DateUtil.format(lastDailyDate, "yyyy-MM-dd HH:mm:ss"));
|
|
|
zyDailySettlementVo.setCurrentDate(DateUtil.format(now, "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ dealDzfp(opId, lastDailyDate, now);
|
|
|
Map<String, Object> map = zyDailySettlementMapper.selectTotalChargeFromLegerFile(opId, lastDailyDate, now);
|
|
|
setAttribute(zyDailySettlementVo, map);
|
|
|
map = zyDailySettlementMapper.selectYjjFromDepositFile(opId, lastDailyDate, now);
|
|
@@ -108,6 +114,32 @@ public class ZyDailySettlementService {
|
|
|
return zyDailySettlementVo;
|
|
|
}
|
|
|
|
|
|
+ private void dealDzfp(String opId, Date lastDailyDate, Date now) {
|
|
|
+ List<ZyLedgerFile> zyLedgerFiles = zyDailySettlementMapper.selectCashPatientByOpId(opId, lastDailyDate, now);
|
|
|
+ for(ZyLedgerFile zyLedgerFile : zyLedgerFiles){
|
|
|
+ try {
|
|
|
+ PatientParam param = new PatientParam();
|
|
|
+ param.setInpatientNo(zyLedgerFile.getInpatientNo());
|
|
|
+ param.setAdmissTimes(zyLedgerFile.getAdmissTimes());
|
|
|
+ param.setLedgerSn(zyLedgerFile.getLedgerSn());
|
|
|
+ param.setReceiptSn(1);
|
|
|
+ param.setTypeFlag(3);
|
|
|
+ param.setType("0");
|
|
|
+ String dzfp = zyDailySettlementMapper.selectzyReceiptDzfp(zyLedgerFile);
|
|
|
+ if(StrUtil.isBlank(dzfp)){
|
|
|
+ cashierProcessService.downDzInvoice(param);
|
|
|
+ Integer babyCount = zyDailySettlementMapper.selectCountZyReceiptDzfpBaby(zyLedgerFile);
|
|
|
+ if(babyCount > 0){
|
|
|
+ param.setReceiptSn(4);
|
|
|
+ cashierProcessService.downDzInvoice(param);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("住院日结报表同步电子发票报错",e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 结算费用登记报表
|
|
|
*
|