| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import java.lang.reflect.Field; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.*; |
| | | import com.smartor.service.IServiceExternalService; |
| | | import com.smartor.service.IServiceSubtaskRecordService; |
| | | import com.smartor.service.IServiceSubtaskService; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.security.auth.login.CredentialNotFoundException; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | @Autowired |
| | | private PatMedOperationMapper patMedOperationMapper; |
| | | @Autowired |
| | | private PatMedOperationItemMapper patMedOperationItemMapper; |
| | | @Autowired |
| | | private Icd10AssociationMapper icd10AssociationMapper; |
| | | |
| | | @Autowired |
| | | private IServiceSubtaskService iServiceSubtaskService; |
| | | |
| | | @Value("${defaultPwd}") |
| | | private String defaultPwd; |
| | | |
| | | public Boolean generalInterface(Map dataMap) { |
| | | Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou"); |
| | |
| | | ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true); |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setGuid(externalUserInfo.getZuZhiJGID()); |
| | | sysUser.setUserName(externalUserInfo.getYongHuID()); |
| | | sysUser.setUserName(externalUserInfo.getYongHuDLM()); |
| | | sysUser.setNickName(externalUserInfo.getYongHuXM()); |
| | | sysUser.setUserType(""); |
| | | sysUser.setDeptId(null); |
| | | sysUser.setTitle(null); |
| | | |
| | | BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); |
| | | sysUser.setPassword(passwordEncoder.encode(defaultPwd)); |
| | | |
| | | sysUser.setHisUserId(externalUserInfo.getYongHuID()); |
| | | sysUser.setPhonenumber(externalUserInfo.getLianXiDH()); |
| | | sysUser.setJobPhone(externalUserInfo.getGongZuoDH()); |
| | |
| | | |
| | | @Override |
| | | public Boolean addOperationInfo(Map dataMap) { |
| | | log.error("ServiceExternalServiceImpl---addOperationInfo的新增的值为:{}", dataMap); |
| | | |
| | | Map yeWuXX = (Map) dataMap.get("YeWuXX"); |
| | | Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); |
| | | ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); |
| | | |
| | | return null; |
| | | //手术信息新增 |
| | | Map<String, Object> ssxx = (Map<String, Object>) yeWuXX.get("ShouShuSQ"); |
| | | //手术更新 |
| | | Map<String, Object> ssgx = (Map<String, Object>) yeWuXX.get("ShouShuGX"); |
| | | //手术撤销 |
| | | Map<String, Object> sscx = (Map<String, Object>) yeWuXX.get("ShouShuCX"); |
| | | ExternalOperationInfo externalOperationInfo = null; |
| | | if (ObjectUtils.isNotEmpty(ssxx)) |
| | | externalOperationInfo = BeanUtil.mapToBean(ssxx, ExternalOperationInfo.class, true); |
| | | else if (ObjectUtils.isNotEmpty(ssgx)) |
| | | externalOperationInfo = BeanUtil.mapToBean(ssgx, ExternalOperationInfo.class, true); |
| | | else if (ObjectUtils.isNotEmpty(sscx)) |
| | | externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true); |
| | | PatMedOperation patMedOperation = new PatMedOperation(); |
| | | patMedOperation.setPatid(null); |
| | | patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID()); |
| | | patMedOperation.setPaname(externalInHospPatientInfo.getXingMing()); |
| | | // patMedOperation.setOpreqid(externalOperationInfo.getShenQingDID()); |
| | | patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID()); |
| | | //查询一下,该患者是否已经有这些数据 |
| | | List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation); |
| | | |
| | | patMedOperation.setOpsstatus(null); |
| | | patMedOperation.setOperationcode(externalOperationInfo.getShouShuLBDM()); |
| | | patMedOperation.setOperationname(externalOperationInfo.getShouShuLBMC()); |
| | | patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ()); |
| | | patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ()); |
| | | patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID()); |
| | | patMedOperation.setReqdocname(externalOperationInfo.getShenQingYSXM()); |
| | | patMedOperation.setReqdeptcode(externalOperationInfo.getShenQingKSID()); |
| | | patMedOperation.setReqdeptname(externalOperationInfo.getShenQingKSMC()); |
| | | patMedOperation.setReqloccode(externalOperationInfo.getShouShuKSID()); |
| | | patMedOperation.setReqlocname(externalOperationInfo.getShouShuKSMC()); |
| | | patMedOperation.setSurgeoncode(externalOperationInfo.getZhuDaoYSID()); |
| | | patMedOperation.setSurgeonname(externalOperationInfo.getSanZhuYSXM()); |
| | | patMedOperation.setFirasscode(externalOperationInfo.getYiZhuID()); |
| | | patMedOperation.setFirassname(externalOperationInfo.getYiZhuMC()); |
| | | patMedOperation.setSecasscode(externalOperationInfo.getErZhuYSID()); |
| | | patMedOperation.setSecassname(externalOperationInfo.getErZhuYSXM()); |
| | | patMedOperation.setThrasscode(externalOperationInfo.getSanZhuYSID()); |
| | | patMedOperation.setThrassname(externalOperationInfo.getSanZhuYSXM()); |
| | | patMedOperation.setCanceltime(null); |
| | | patMedOperation.setCancelreason(null); |
| | | patMedOperation.setCancelcode(null); |
| | | patMedOperation.setCancelname(null); |
| | | patMedOperation.setVisittype(null); |
| | | patMedOperation.setStatus(null); |
| | | patMedOperation.setSchemetime(null); |
| | | patMedOperation.setSchemestatus(null); |
| | | patMedOperation.setDelFlag("0"); |
| | | patMedOperation.setIsupload(null); |
| | | patMedOperation.setUploadTime(null); |
| | | patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); |
| | | patMedOperation.setInhospstate(null); |
| | | patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID()); |
| | | patMedOperation.setPatname(externalInHospPatientInfo.getXingMing()); |
| | | patMedOperation.setVisitid(null); |
| | | patMedOperation.setSerialnum(externalInHospPatientInfo.getZhuYuanHao()); |
| | | patMedOperation.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); |
| | | patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); |
| | | patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); |
| | | patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID()); |
| | | patMedOperation.setDeptcode(externalOperationInfo.getShouShuKSID()); |
| | | patMedOperation.setDeptname(externalOperationInfo.getShouShuKSMC()); |
| | | patMedOperation.setHospitaldistrictcode(null); |
| | | patMedOperation.setHospitaldistrictname(null); |
| | | patMedOperation.setRoomno(null); |
| | | patMedOperation.setBedNo(null); |
| | | patMedOperation.setDrcode(externalOperationInfo.getZhuDaoYSID()); |
| | | patMedOperation.setDrname(externalOperationInfo.getZhuDaoYSXM()); |
| | | patMedOperation.setNurseId(null); |
| | | patMedOperation.setNurseName(null); |
| | | if (CollectionUtils.isNotEmpty(patMedOperations)) { |
| | | Long id = patMedOperations.get(0).getId(); |
| | | patMedOperation.setId(id); |
| | | patMedOperationMapper.updatePatMedOperation(patMedOperation); |
| | | } else patMedOperationMapper.insertPatMedOperation(patMedOperation); |
| | | log.error("-----patMedOperation的主键id为:{}", patMedOperation.getId()); |
| | | |
| | | if (ObjectUtils.isNotEmpty(ssxx)) { |
| | | Map<String, Object> ShouShuMXList = (Map<String, Object>) ssxx.get("ShouShuMXList"); |
| | | List<ExternalOperationDetail> externalOperationDetails = BeanUtil.mapToBean(ShouShuMXList, List.class, true); |
| | | for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) { |
| | | PatMedOperationItem patMedOperationItem = new PatMedOperationItem(); |
| | | patMedOperationItem.setOpid(patMedOperation.getId()); |
| | | patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID()); |
| | | patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC()); |
| | | patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ()); |
| | | patMedOperationItem.setIncitypecode(externalOperationDetail.getQieKouLBDM()); |
| | | patMedOperationItem.setIncitypedesc(externalOperationDetail.getQieKouLBMC()); |
| | | patMedOperationItem.setOplevelcode(externalOperationDetail.getShouShuJBDM()); |
| | | patMedOperationItem.setOpleveldesc(externalOperationDetail.getShouShuJBMC()); |
| | | patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW()); |
| | | patMedOperationItem.setDelFlag("0"); |
| | | patMedOperationItem.setOrgid(patMedOperation.getOrgid()); |
| | | patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | //新增患者基本信息 |
| | |
| | | patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW()); |
| | | patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH()); |
| | | patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID()); |
| | | patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); |
| | | if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo)) |
| | | patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH()); |
| | | patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); |
| | |
| | | return true; |
| | | case "SM_SQ_ShenQing": |
| | | log.error("手术申请入参类型为:{}", type); |
| | | addOperationInfo(dataMap); |
| | | return true; |
| | | case "TJ_YW_BaoGaoXX": |
| | | log.error("体检报告入参类型为:{}", type); |