|
@@ -16,24 +16,31 @@ import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.dictionary.PureCodeName;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.injury.AdmissRegistration;
|
|
|
import thyyxxk.webserver.entity.medicalinsurance.injury.InjurySiPatInfo;
|
|
|
+import thyyxxk.webserver.entity.yibao.dismiss.YbSettleFee;
|
|
|
import thyyxxk.webserver.entity.yibao.patient.Patient;
|
|
|
+import thyyxxk.webserver.service.yibao.DismissService;
|
|
|
import thyyxxk.webserver.utils.ResultVoUtil;
|
|
|
import thyyxxk.webserver.utils.TokenUtil;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
@RequestMapping("/siInjury")
|
|
|
public class SiInjuryController {
|
|
|
private final SiInjuryDao dao;
|
|
|
+ private final DismissService dismissService;
|
|
|
@Value("${si-gs-url}")
|
|
|
private String gsUrl;
|
|
|
+ @Value("${si-gsfee-url}")
|
|
|
+ private String gsUpldUrl;
|
|
|
|
|
|
@Autowired
|
|
|
- public SiInjuryController(SiInjuryDao dao) {
|
|
|
+ public SiInjuryController(SiInjuryDao dao, DismissService dismissService) {
|
|
|
this.dao = dao;
|
|
|
+ this.dismissService = dismissService;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -69,6 +76,7 @@ public class SiInjuryController {
|
|
|
|
|
|
@PostMapping("/admissRegistration")
|
|
|
public ResultVo<String> admissRegistration(@RequestBody AdmissRegistration admreg) {
|
|
|
+ admreg.getBaseinfo().setStaffId(TokenUtil.getTokenUserId());
|
|
|
admreg.getInjuryinfo().setPatNo(admreg.getBaseinfo().getInpatientNo());
|
|
|
admreg.getInjuryinfo().setTimes(admreg.getBaseinfo().getAdmissTimes());
|
|
|
admreg.getInjuryinfo().setLedgerSn(admreg.getBaseinfo().getLedgerSn());
|
|
@@ -82,8 +90,72 @@ public class SiInjuryController {
|
|
|
admreg.setInjuryinfo(dao.selectInjuryinfo(admreg.getBaseinfo().getInpatientNo(), admreg.getBaseinfo().getAdmissTimes(),
|
|
|
admreg.getBaseinfo().getLedgerSn()));
|
|
|
RestTemplate template = new RestTemplate();
|
|
|
- ResultVo resultVo = template.postForObject(gsUrl + "/admissRegistration", admreg, ResultVo.class);
|
|
|
- log.info("入院登记结果:{}", resultVo);
|
|
|
- return resultVo;
|
|
|
+ return template.postForObject(gsUrl + "/admissRegistration", admreg, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/uploadFees")
|
|
|
+ public ResultVo<String> uploadFees(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUpldUrl, p, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/cancelRegister")
|
|
|
+ public ResultVo<String> cancelInpatientRegister(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUrl + "/cancelRegister", p, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/getRegisterInfo")
|
|
|
+ public ResultVo<Map<String, String>> getRegisterInfo(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUrl + "/getRegisterInfo", p, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/cancelUploadFee")
|
|
|
+ public ResultVo<String> cancelUploadedFeeDetail(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUrl + "/cancelUploadFee", p, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/preCalculateCost")
|
|
|
+ public ResultVo<String> preCalculateCost(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUrl + "/preCalculateCost", p, ResultVo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/calculateCost")
|
|
|
+ public synchronized ResultVo<String> calculateCost(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ ResultVo<YbSettleFee> resultVo = template.postForObject(gsUrl + "/calculateCost", p, ResultVo.class);
|
|
|
+ if (null == resultVo) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "获取医保结算费用失败。");
|
|
|
+ }
|
|
|
+ YbSettleFee settleFee = resultVo.getData();
|
|
|
+
|
|
|
+ if (p.getDismissFlag() == 2) {
|
|
|
+ settleFee.setZjdzDatetime(p.getMidSetlDate());
|
|
|
+ }
|
|
|
+ settleFee.setResponceType("02");
|
|
|
+ settleFee.setFlag(p.getDismissFlag());
|
|
|
+ settleFee.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ settleFee.setInpatientNo(p.getInpatientNo());
|
|
|
+ settleFee.setAdmissTimes(p.getAdmissTimes());
|
|
|
+ settleFee.setBedNo(p.getBedNo());
|
|
|
+ settleFee.setWardCode(p.getAdmissWard());
|
|
|
+ settleFee.setDeptCode(p.getAdmissDept());
|
|
|
+ return dismissService.doDismiss(settleFee);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/cancelCalculate")
|
|
|
+ public ResultVo cancelCalculateCost(@RequestBody Patient p) {
|
|
|
+ p.setStaffId(TokenUtil.getTokenUserId());
|
|
|
+ RestTemplate template = new RestTemplate();
|
|
|
+ return template.postForObject(gsUrl + "/cancelCalculate", p, ResultVo.class);
|
|
|
}
|
|
|
}
|