YbVerifyService.java 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package thyyxxk.webserver.service.yibao;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.springframework.stereotype.Service;
  4. import thyyxxk.webserver.config.exception.ExceptionEnum;
  5. import thyyxxk.webserver.constants.ResponceType;
  6. import thyyxxk.webserver.dao.his.yibao.YbVerifyDao;
  7. import thyyxxk.webserver.entity.ResultVo;
  8. import thyyxxk.webserver.entity.yibao.patient.Patient;
  9. import thyyxxk.webserver.entity.yibao.ybverify.CancelRegisterRequest;
  10. import thyyxxk.webserver.entity.yibao.ybverify.IdCardUpload;
  11. import thyyxxk.webserver.utils.FilterUtil;
  12. import thyyxxk.webserver.utils.ResultVoUtil;
  13. import thyyxxk.webserver.utils.TokenUtil;
  14. import java.util.List;
  15. import java.util.Map;
  16. import static thyyxxk.webserver.utils.YibaoHttpUtil.httpPost;
  17. /**
  18. * @author dj
  19. */
  20. @Slf4j
  21. @Service
  22. public class YbVerifyService {
  23. private final YbVerifyDao dao;
  24. public YbVerifyService(YbVerifyDao dao) {
  25. this.dao = dao;
  26. }
  27. public ResultVo<String> approveYbsf(Patient param) {
  28. log.info("医保身份审核通过 => 操作员:{},住院号:{},住院次数:{}", TokenUtil.getTokenUserId(),
  29. param.getInpatientNo(), param.getAdmissTimes());
  30. if (param.getResponceType().equals(ResponceType.NEW_RURAL_COOPERATIVE_MEDICAL_INSURANCE)) {
  31. ResultVo<Object> resultVo = httpPost("getFamilyMember", param, "04");
  32. if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
  33. Map<String, Object> obj = FilterUtil.cast(resultVo.getData());
  34. Map<String, String> members = FilterUtil.cast(obj.get("members"));
  35. if (members.get("name").trim().equals(param.getName().trim())) {
  36. String memberSysNo = members.get("memberNo");
  37. param.setXnhMembersysno(memberSysNo);
  38. dao.updateMemberSysNo(param.getInpatientNo(), memberSysNo);
  39. }
  40. resultVo = httpPost("register", param, "04");
  41. if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
  42. IdCardUpload info = dao.getSfzInfo(param.getInpatientNo(), param.getAdmissTimes());
  43. if (info == null || info.getFileSfz() == null) {
  44. resultVo = httpPost("uploadScanFile", param, "04");
  45. } else {
  46. resultVo = httpPost("uploadIdCard", param, "04");
  47. }
  48. log.info("上传证件到新农合结果:{}", resultVo);
  49. if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
  50. dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
  51. dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());
  52. return ResultVoUtil.success();
  53. } else {
  54. return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
  55. }
  56. } else {
  57. return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
  58. }
  59. } else {
  60. return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
  61. }
  62. } else {
  63. dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
  64. dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());
  65. return ResultVoUtil.success();
  66. }
  67. }
  68. public ResultVo<String> rejectYbsf(Patient param) {
  69. dao.rejectYbsf(param.getInpatientNo(), param.getAdmissTimes(), param.getYbRemark());
  70. return ResultVoUtil.success();
  71. }
  72. public ResultVo<List<CancelRegisterRequest>> getUnhandledRequests(Integer requestType) {
  73. return ResultVoUtil.success(dao.getUnhandledRequests(requestType));
  74. }
  75. public ResultVo<String> handleRequests(CancelRegisterRequest param) {
  76. String verifyName = dao.getVerifyName(param.getVerifyId());
  77. param.setVerifyName(verifyName);
  78. log.info("取消医保入院登记审核>>> {}", param);
  79. dao.handleRequests(param);
  80. return ResultVoUtil.success();
  81. }
  82. }