diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java new file mode 100644 index 0000000..a2dd889 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java @@ -0,0 +1,331 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.utils.SystemConfig; +import com.lyms.platform.operate.web.request.BookbuildingQueryRequest; +import com.lyms.platform.operate.web.result.BasicConfigResult; +import com.lyms.platform.operate.web.result.BookbuildingRecordResult; +import com.lyms.platform.operate.web.result.PregnantInfoResult; +import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.query.BasicConfigQuery; +import com.lyms.platform.query.PatientsQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.lyms.platform.biz.service.YunBookbuildingService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.operate.web.request.YunBookbuildingAddRequest; +import com.lyms.platform.pojo.Patients; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * + */ +@Component +public class BookbuildingFacade { + + @Autowired + private YunBookbuildingService yunBookbuildingService; + + @Autowired + private BasicConfigService basicConfigService; + + + /** + * 添加孕妇建档 + * @param yunRequest + * @return + */ + public BaseObjectResponse addPregnantBookbuilding( + YunBookbuildingAddRequest yunRequest) { + Patients patient = getPatientsData(yunRequest); + + Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); + BaseObjectResponse br = new BaseObjectResponse(); + if (p == null || p.getId() == null) + { + br.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + br.setErrormsg("失败"); + + } + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(p.getId()); + return br; + + } + + /** + * 更新孕妇信息 + * @param id + * @param yunRequest + */ + public void updatePregnantById(String id, YunBookbuildingAddRequest yunRequest) { + + Patients patient = getPatientsData(yunRequest); + yunBookbuildingService.updatePregnant(patient, id); + } + + /** + * 查询孕妇建档记录 + * @param bookbuildingQueryRequest + * @return + */ + public BaseListResponse queryPregnantBuildRecord(BookbuildingQueryRequest bookbuildingQueryRequest) { + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(bookbuildingQueryRequest.getIdCard()); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setVcCardNo(bookbuildingQueryRequest.getVcCardNo()); + + List> list = new ArrayList<>(); + + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + + List results = new ArrayList<>(); + for(Patients pat : patients) + { + if (pat != null) + { + BookbuildingRecordResult result = new BookbuildingRecordResult(); + result.setBookbuildHospital(pat.getHospitalId()); + result.setBookbuildDate(DateUtil.getyyyy_MM_dd(pat.getBookbuildingDate())); + result.setId(pat.getId()); + results.add(result); + } + + } + + Map mapProvince = new HashMap<>(); +// //省 +// List provincesResults = getBaseicConfigByParentId(SystemConfig.CHINA_BASIC_ID); +// mapProvince.put("provinces",provincesResults); + + //证件类型 + List pcerteTypeResult = getBaseicConfigByParentId(SystemConfig.CERTE_TYPE_ID); + mapProvince.put("certeType",pcerteTypeResult); + + //国籍 + List countiryResults = getBaseicConfigByParentId(SystemConfig.COUNTRY_TYPE_ID); + mapProvince.put("country",countiryResults); + + // 民族 + List nationResults = getBaseicConfigByParentId(SystemConfig.NATION_TYPE_ID); + mapProvince.put("nation",nationResults); + + // 职业类别 + List professionTypeResults = getBaseicConfigByParentId(SystemConfig.PROFESSION_TYPE_ID); + mapProvince.put("professionType",professionTypeResults); + + list.add(mapProvince); + + + Map mapData = new HashMap<>(); + mapData.put("data",results); + list.add(mapData); + + BaseListResponse listResponse = new BaseListResponse(); + listResponse.setData(list); + listResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + listResponse.setErrormsg("成功"); + return listResponse; + } + + /** + * 查询基础数据通过parentId + * @param parentId + * @return + */ + private List getBaseicConfigByParentId(String parentId) + { + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setNeed("1"); + basicConfigQuery.setYn(YnEnums.YES.getId()); + basicConfigQuery.setParentId(parentId); + List datas = basicConfigService.queryBasicConfig(basicConfigQuery); + List provincesResults = new ArrayList<>(); + if (datas != null) + { + for(BasicConfig data : datas) + { + BasicConfigResult br = new BasicConfigResult(); + br.setId(data.getId()); + br.setCode(data.getCode()); + br.setEnable(data.getEnable()); + br.setName(data.getName()); + br.setParentId(data.getParentId()); + provincesResults.add(br); + } + + } + return provincesResults; + } + + + /** + * 准备修改和添加的孕妇建档数据 + * @param yunRequest + * @return + */ + private Patients getPatientsData(YunBookbuildingAddRequest yunRequest) + { + Patients patient = new Patients(); + patient.setUsername(yunRequest.getPregnantName()); + + patient.setPcerteTypeId(yunRequest.getPregnantCertificateTypeId()); + + patient.setCardNo(yunRequest.getPregnantCertificateNum()); + + patient.setPcountryId(yunRequest.getPregnantCountryId()); + patient.setPnationId(yunRequest.getPregnantNationId()); + patient.setBirth(DateUtil.parseYMD(yunRequest.getBirthday())); + + patient.setPcensusTypeId(yunRequest.getPregnantCensusTypeId()); + + patient.setPliveTypeId(yunRequest.getPregnantLiveTypeId()); + + patient.setPprofessionTypeId(yunRequest.getPregnantProfessionTypeId()); + + patient.setPhone(yunRequest.getPregnantPhone()); + + patient.setPworkUnit(yunRequest.getPregnantWorkUnit()); + + //孕妇户籍地址 + patient.setAddressRegister(yunRequest.getPregnantCensusAddr()); + patient.setProvinceRegisterId(yunRequest.getPregnantCensusProvinceId()); + patient.setCityRegisterId(yunRequest.getPregnantCensusCityId()); + patient.setAreaRegisterId(yunRequest.getPregnantCensusAreaId()); + patient.setStreetRegisterId(yunRequest.getPregnantCensusStreetId()); + + //孕妇居住地 + patient.setAddress(yunRequest.getPregnantLiveAddr()); + patient.setProvinceId(yunRequest.getPregnantLiveProvinceId()); + patient.setCityId(yunRequest.getPregnantLiveCityId()); + patient.setAreaId(yunRequest.getPregnantLiveAreaId()); + patient.setStreetId(yunRequest.getPregnantLiveStreetId()); + + //孕妇产后修养地 + patient.setAddressPostRest(yunRequest.getChildbirthAddr()); + patient.setProvincePostRestId(yunRequest.getChildbirthProvinceId()); + patient.setCityPostRestId(yunRequest.getChildbirthCityId()); + patient.setAreaPostRestId(yunRequest.getChildbirthAreaId()); + patient.setStreetPostRestId(yunRequest.getChildbirthStreetId()); + + //丈夫信息 + patient.setHusbandName(yunRequest.getHusbandName()); + patient.setHcertificateTypeId(yunRequest.getHusbandCertificateTypeId()); + patient.setHcertificateNum(yunRequest.getHusbandCertificateNum()); + patient.setHusbandPhone(yunRequest.getHusbandPhone()); + patient.setHcountryId(yunRequest.getHusbandCountryId()); + patient.setHnationId(yunRequest.getHusbandNationId()); + patient.setHprofessionTypeId(yunRequest.getHusbandProfessionTypeId()); + patient.setHworkUnit(yunRequest.getHusbandWorkUnit()); + patient.setHaddressRegister(yunRequest.getHusbandAddressRegister()); + patient.setHprovinceRegisterId(yunRequest.getHusbandProvinceRegisterId()); + patient.setHcityRegisterId(yunRequest.getHusbandCityRegisterId()); + patient.setHareaRegisterId(yunRequest.getHusbandAreaRegisterId()); + patient.setHstreetRegisterId(yunRequest.getHusbandStreetRegisterId()); + + patient.setLastMenses(DateUtil.parseYMD(yunRequest.getLastMenstrualPeriod())); + patient.setDueDate(DateUtil.parseYMD(yunRequest.getDueDate())); + patient.setFileCode(yunRequest.getFileCode()); + patient.setBookbuildingDoctor(yunRequest.getBookbuildingDoctor()); + patient.setBookbuildingDate(DateUtil.parseYMD(yunRequest.getBookbuildingDate())); + patient.setServiceType(yunRequest.getServiceType()); + patient.setVcCardNo(yunRequest.getVcCardNo()); + patient.setHospitalId(yunRequest.getHospitalId()); + patient.setYn(YnEnums.YES.getId()); + return patient; + } + + /** + * 查询孕妇建档详细 + * @param id + * @return + */ + public BaseObjectResponse queryPregnantBuildById(String id) { + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setId(id); + patientsQuery.setYn(YnEnums.YES.getId()); + PregnantInfoResult result = new PregnantInfoResult(); + List patients = yunBookbuildingService.queryPregnantWithQuery(patientsQuery); + if (patients != null && patients.size() > 0) + { + Patients p = patients.get(0); + result.setId(p.getId()); + /**********孕妇基本信息***************/ + result.setPregnantName(p.getUsername()); + result.setPregnantCertificateTypeId(p.getPcerteTypeId()); + result.setPregnantCertificateNum(p.getCardNo()); + result.setPregnantCountryId(p.getPcountryId()); + result.setPregnantNationId(p.getPnationId()); + result.setBirthday(DateUtil.getyyyy_MM_dd(p.getBirth())); + result.setPregnantCensusTypeId(p.getPcensusTypeId()); + result.setPregnantLiveTypeId(p.getPliveTypeId()); + result.setPregnantProfessionTypeId(p.getPprofessionTypeId()); + + /**********孕妇联系方式***************/ + result.setPregnantPhone(p.getPhone()); + result.setPregnantWorkUnit(p.getPworkUnit()); + + result.setPregnantCensusProvinceId(p.getProvinceRegisterId()); + result.setPregnantCensusCityId(p.getCityRegisterId()); + result.setPregnantCensusAreaId(p.getAreaRegisterId()); + result.setPregnantCensusStreetId(p.getStreetRegisterId()); + result.setPregnantCensusAddr(p.getAddressRegister()); + + result.setPregnantLiveProvinceId(p.getProvinceId()); + result.setPregnantLiveCityId(p.getCityId()); + result.setPregnantLiveAreaId(p.getAreaId()); + result.setPregnantLiveStreetId(p.getStreetId()); + result.setPregnantLiveAddr(p.getAddress()); + + + result.setChildbirthAddr(p.getAddressPostRest()); + result.setChildbirthProvinceId(p.getProvincePostRestId()); + result.setChildbirthCityId(p.getCityPostRestId()); + result.setChildbirthAreaId(p.getAreaPostRestId()); + result.setChildbirthStreetId(p.getStreetPostRestId()); + + /****************丈夫信息**************/ + result.setHusbandName(p.getHusbandName()); + result.setHusbandPhone(p.getHusbandPhone()); + + result.setHusbandCertificateTypeId(p.getHcertificateTypeId()); + result.setHusbandCertificateNum(p.getHcertificateNum()); + result.setHusbandCountryId(p.getHcountryId()); + result.setHusbandNationId(p.getHnationId()); + result.setHusbandProfessionTypeId(p.getHprofessionTypeId()); + result.setHusbandWorkUnit(p.getHworkUnit()); + + result.setHusbandAddressRegister(p.getHaddressRegister()); + result.setHusbandProvinceRegisterId(p.getHprovinceRegisterId()); + result.setHusbandCityRegisterId(p.getHcityRegisterId()); + result.setHusbandAreaRegisterId(p.getHareaRegisterId()); + result.setHusbandStreetRegisterId(p.getHstreetRegisterId()); + + //院内信息 + result.setLastMenstrualPeriod(DateUtil.getyyyy_MM_dd(p.getLastMenses())); + result.setDueDate(DateUtil.getyyyy_MM_dd(p.getDueDate())); + result.setFileCode(p.getFileCode()); + result.setVcCardNo(p.getVcCardNo()); + result.setBookbuildingDoctor(p.getBookbuildingDoctor()); + result.setBookbuildingDate(DateUtil.getyyyy_MM_dd(p.getBookbuildingDate())); + result.setServiceType(p.getServiceType()); + } + BaseObjectResponse objectResponse = new BaseObjectResponse(); + objectResponse.setData(result); + objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + objectResponse.setErrormsg("成功"); + return objectResponse; + } +} \ No newline at end of file