12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package thyyxxk.webserver.service.yibao;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import thyyxxk.webserver.config.exception.ExceptionEnum;
- import thyyxxk.webserver.constants.ResponceType;
- import thyyxxk.webserver.dao.his.yibao.YbVerifyDao;
- import thyyxxk.webserver.entity.ResultVo;
- import thyyxxk.webserver.entity.yibao.patient.Patient;
- import thyyxxk.webserver.entity.yibao.ybverify.CancelRegisterRequest;
- import thyyxxk.webserver.entity.yibao.ybverify.IdCardUpload;
- import thyyxxk.webserver.utils.FilterUtil;
- import thyyxxk.webserver.utils.ResultVoUtil;
- import thyyxxk.webserver.utils.TokenUtil;
- import java.util.List;
- import java.util.Map;
- import static thyyxxk.webserver.utils.YibaoHttpUtil.httpPost;
- /**
- * @author dj
- */
- @Slf4j
- @Service
- public class YbVerifyService {
- private final YbVerifyDao dao;
- public YbVerifyService(YbVerifyDao dao) {
- this.dao = dao;
- }
- public ResultVo<String> approveYbsf(Patient param) {
- log.info("医保身份审核通过 => 操作员:{},住院号:{},住院次数:{}", TokenUtil.getTokenUserId(),
- param.getInpatientNo(), param.getAdmissTimes());
- if (param.getResponceType().equals(ResponceType.NEW_RURAL_COOPERATIVE_MEDICAL_INSURANCE)) {
- ResultVo<Object> resultVo = httpPost("getFamilyMember", param, "04");
- if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
- Map<String, Object> obj = FilterUtil.cast(resultVo.getData());
- Map<String, String> members = FilterUtil.cast(obj.get("members"));
- if (members.get("name").trim().equals(param.getName().trim())) {
- String memberSysNo = members.get("memberNo");
- param.setXnhMembersysno(memberSysNo);
- dao.updateMemberSysNo(param.getInpatientNo(), memberSysNo);
- }
- resultVo = httpPost("register", param, "04");
- if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
- IdCardUpload info = dao.getSfzInfo(param.getInpatientNo(), param.getAdmissTimes());
- if (info == null || info.getFileSfz() == null) {
- resultVo = httpPost("uploadScanFile", param, "04");
- } else {
- resultVo = httpPost("uploadIdCard", param, "04");
- }
- log.info("上传证件到新农合结果:{}", resultVo);
- if (resultVo.getCode() == ExceptionEnum.SUCCESS.getCode()) {
- dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
- dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());
- return ResultVoUtil.success();
- } else {
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
- }
- } else {
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
- }
- } else {
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, resultVo.getMessage());
- }
- } else {
- dao.approveYbsf(param.getInpatientNo(), param.getAdmissTimes(), TokenUtil.getTokenUserId(), param.getYbRemark());
- dao.updateZyActpatient(param.getInpatientNo(), param.getAdmissTimes());
- return ResultVoUtil.success();
- }
- }
- public ResultVo<String> rejectYbsf(Patient param) {
- dao.rejectYbsf(param.getInpatientNo(), param.getAdmissTimes(), param.getYbRemark());
- return ResultVoUtil.success();
- }
- public ResultVo<List<CancelRegisterRequest>> getUnhandledRequests(Integer requestType) {
- return ResultVoUtil.success(dao.getUnhandledRequests(requestType));
- }
- public ResultVo<String> handleRequests(CancelRegisterRequest param) {
- String verifyName = dao.getVerifyName(param.getVerifyId());
- param.setVerifyName(verifyName);
- log.info("取消医保入院登记审核>>> {}", param);
- dao.handleRequests(param);
- return ResultVoUtil.success();
- }
- }
|