package thyyxxk.webserver.scheduled; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import thyyxxk.webserver.dao.his.scheduled.JieShouFeiYongDao; import thyyxxk.webserver.entity.yibao.patient.Patient; import thyyxxk.webserver.service.PublicServer; import thyyxxk.webserver.service.yibao.PatientService; import java.util.List; /** *

* 描述: 费用接受重算 *

* * @author xc * @date 2021-12-21 16:37 */ @Slf4j @Component public class FeiYongJieShouChongSuan { private final JieShouFeiYongDao dao; private final PatientService patientService; private final PublicServer publicServer; @Value("${execute-scheduled}") private Boolean executeScheduled; public FeiYongJieShouChongSuan(JieShouFeiYongDao dao, PatientService patientService, PublicServer publicServer) { this.dao = dao; this.patientService = patientService; this.publicServer = publicServer; } @Scheduled(cron = "0 30 23 * * ?") public void jieShouFeiYong() { // 每天 23 点 执行 if (executeScheduled) { List xuYaoJieShouDeFeiYong = dao.xuYaoJieShouFeiYong(); for (Patient item : xuYaoJieShouDeFeiYong) { try { if (item.getLedgerSn() == null) { item.setLedgerSn(publicServer.getLedgerSn(item.getInpatientNo(), item.getAdmissTimes())); } patientService.receiveAndRecalculateCost(item); } catch (Exception e) { log.info("费用接受失败==>住院号:{},住院次数:{},账页号:{}", item.getInpatientNo(), item.getAdmissTimes(), item.getLedgerSn()); e.printStackTrace(); } } } } @Scheduled(cron = "59 59 23 * * ?") public void chongZhiYaoDanHao() { if (executeScheduled) { dao.chongZhiYaoDanHao(); } } }