From 29fd112202eec52c6f31daa09db976a59a29c4d9 Mon Sep 17 00:00:00 2001 From: landong2015 Date: Wed, 11 Jan 2017 10:07:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9F=A5=E7=9C=8B=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/MatDeliverController.java | 8 + .../web/controller/PregnantBuildController.java | 14 + .../operate/web/facade/BookbuildingFacade.java | 76 ++++ .../operate/web/facade/MatDeliverFacade.java | 460 +++++++++++++++++---- 4 files changed, 477 insertions(+), 81 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java index 4b6154d..3a6cad5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatDeliverController.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.ExcelUtil; @@ -327,4 +328,11 @@ public class MatDeliverController extends BaseController{ } } + @RequestMapping(value = "/findMatDeliverData", method = RequestMethod.GET) + @ResponseBody +// @TokenRequired + public BaseObjectResponse findMatDeliverData(@RequestParam("id")String id){ + return matDeliverFacade.findMatDeliverData(id); + } + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java index 4464df1..b452231 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PregnantBuildController.java @@ -487,4 +487,18 @@ public class PregnantBuildController extends BaseController{ doctorNo); } + /** + * 查看孕妇建档信息 + * @param id 孕妇ID + * @return + */ + @RequestMapping(value = "/findPatientData", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseObjectResponse findPatientData(@RequestParam("id")String id){ + return bookbuildingFacade.findPatientData(id); + } + + + } \ No newline at end of file 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 index 85d1ab7..26df24d 100644 --- 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 @@ -12,8 +12,10 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; +import com.lyms.platform.operate.web.utils.CommonsHelper; import com.lyms.platform.operate.web.utils.JdbcUtil; import com.lyms.platform.operate.web.utils.MessageCenterService; import com.lyms.platform.permission.model.Organization; @@ -24,6 +26,7 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -1459,4 +1462,77 @@ public class BookbuildingFacade { } return ""; } + + public BaseObjectResponse findPatientData(String id){ + + BaseObjectResponse br = new BaseObjectResponse(); + if (org.apache.commons.lang.StringUtils.isEmpty(id)){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("id为空"); + return br; + } + + Patients data = patientsService.findOnePatientById(id); + if (data==null || data.getYn()==YnEnums.NO.getId()){ + br.setErrorcode(ErrorCodeConstants.NO_DATA); + br.setErrormsg("没有查询到数据"); + return br; + } + + Map map = new HashMap<>(); + map.put("id",data.getId()); + /* 孕妇基础数据 */ + map.put("username",data.getUsername()); + map.put("pcerteType",getBasicConfig(data.getPcerteTypeId())); + map.put("cardNo",data.getCardNo()); + map.put("pcountry",getBasicConfig(data.getPcountryId())); + map.put("pnation",getBasicConfig(data.getPnationId())); + map.put("birth",DateUtil.getyyyy_MM_dd(data.getBirth())); + map.put("age",DateUtil.getAge(data.getBirth())); + map.put("pcensusType",getBasicConfig(data.getPcensusTypeId())); + map.put("pliveType",getBasicConfig(data.getPliveTypeId())); + map.put("pprofessionType",getBasicConfig(data.getPprofessionTypeId())); + map.put("plevelType",getBasicConfig(data.getPlevelTypeId())); + //TODO 家庭人均收入 + + /* 孕妇联系方式 */ + map.put("residence", CommonsHelper.getResidence(data.getProvinceId(),data.getCityId(), + data.getAreaId(),data.getStreetId(),data.getAddress(),basicConfigService)); + map.put("register",CommonsHelper.getResidence(data.getProvinceRegisterId(), data.getCityRegisterId(), + data.getAreaRegisterId(), data.getStreetRegisterId(), data.getAddressRegister(), basicConfigService)); + map.put("postRest",CommonsHelper.getResidence(data.getProvinceId(), data.getCityId(), + data.getAreaId(), data.getStreetId(), data.getAddress(), basicConfigService)); + + /* 丈夫信息 */ + map.put("husbandName",data.getHusbandName()); + map.put("hcertificateType",getBasicConfig(data.getHcertificateTypeId())); + map.put("hcertificateNum",data.getHcertificateNum()); + map.put("hcountry",getBasicConfig(data.getHcountryId())); + map.put("hnation",getBasicConfig(data.getHnationId())); + map.put("husbandPhone",data.getHusbandPhone()); + map.put("hprofessionType",getBasicConfig(data.getHprofessionTypeId())); + map.put("hworkUnit",data.getHworkUnit()); + map.put("hregister",CommonsHelper.getResidence(data.getHprovinceRegisterId(), data.getHcityRegisterId(), + data.getHareaRegisterId(), data.getHstreetRegisterId(), data.getHaddressRegister(), + basicConfigService)); + + /* 院内信息 */ + map.put("lastMenses",DateUtil.getyyyy_MM_dd(data.getLastMenses())); + //TODO 纠正末次月经 + map.put("dueDate",DateUtil.getyyyy_MM_dd(data.getDueDate())); + map.put("vcCardNo",data.getVcCardNo()); + //TODO 条码 + //TODO 档案编号 + map.put("mremark",data.getMremark()); + //TODO 服务类型 + map.put("serviceStatus",ServiceStatusEnums.getNameById(data.getServiceStatus())); + + br.setData(map); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + } + + + } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index caebf76..17d56e7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -12,6 +12,8 @@ import com.lyms.platform.operate.web.request.MatDeliverQueryRequest; import com.lyms.platform.operate.web.request.NewBabyManagerRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.CommonsHelper; +import com.lyms.platform.operate.web.utils.FunvCommonUtil; +import com.lyms.platform.operate.web.utils.ResolveUtils; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import com.lyms.platform.permission.model.Users; @@ -33,15 +35,13 @@ import java.util.*; /** * 分娩记录信息 - *

+ *

* Created by Administrator on 2016/6/17 0017. */ @Component public class MatDeliverFacade { private Logger logger = LoggerFactory.getLogger(MatDeliverFacade.class); - @Autowired - private PatientCheckTicketService patientCheckTicketService; @Autowired private MatDeliverService matDeliverService; @@ -136,7 +136,7 @@ public class MatDeliverFacade { //表示区域的 if (StringUtils.isNotEmpty(organizationGroupsFacade.findByCurrentUserId(hospitalId))) { - String parentId = antenatalExaminationFacade.handHideBuild(deliverAddRequest.getPid(), deliverAddRequest.getParentId(), userId, -1); + String parentId =antenatalExaminationFacade.handHideBuild(deliverAddRequest.getPid(), deliverAddRequest.getParentId(), userId,-1); if (StringUtils.isEmpty(parentId)) { logger.warn("get handHideBuild parentId is null."); } @@ -196,11 +196,7 @@ public class MatDeliverFacade { patientsLocal.setIsAutoFm(YnEnums.NO.getId()); patientsLocal.setType(3); patientsLocal.setFmHospital(deliverAddRequest.getFmHospital()); - //自动分娩的时候修改buildtype为0 http://jira.healthbaby.com.cn/browse/WEB-808 - if (null != patients1.getBuildType() && patients1.getBuildType() == 2) { - patientsLocal.setBuildType(0); - } - patientsLocal.setFmType(MapUtils.isNotEmpty(deliverAddRequest.getDeliveryMode()) ? null : deliverAddRequest.getDeliveryMode().toString()); + patientsLocal.setFmType(MapUtils.isNotEmpty(deliverAddRequest.getDeliveryMode())?null:deliverAddRequest.getDeliveryMode().toString()); try { patientsLocal.setFmAge(DateUtil.getAge(patients1.getBirth(), fmDate)); } catch (Exception e) { @@ -258,10 +254,6 @@ public class MatDeliverFacade { maternalDeliverModel.setYn(YnEnums.YES.getId()); matDeliverService.addMatDeliver(maternalDeliverModel); - - - //作废产检劵 - patientCheckTicketService.cancelCheckTicket(hospitalId, deliverAddRequest.getParentId()); //修改 } else if (StringUtils.isNotEmpty(deliverAddRequest.getId()) && StringUtils.isNotEmpty(deliverAddRequest.getParentId())) { @@ -315,33 +307,28 @@ public class MatDeliverFacade { if (CollectionUtils.isNotEmpty(list)) { for (MatDeliverAddRequest.Baby baby : list) { MaternalDeliverModel.Baby babyModel = baby.convertToDataModel(); - - //表示修改了新生儿 - if(com.lyms.platform.common.utils.StringUtils.isNotEmpty(babyModel.getId())){ - //判断妊娠结局是活产才添加数据 - BabyModel babyModel1 = new BabyModel(); - BabyModelQuery query = new BabyModelQuery(); - query.setParentId(deliverAddRequest.getParentId()); - query.setId(babyModel.getId()); - - if ((RenShenJieJuEnums.O.getId() + "").equals(baby.getPregnancyOut())) { - babyModel1.setYn(YnEnums.YES.getId()); - } else { - babyModel1.setYn(YnEnums.NO.getId()); - } - babyModel1.setBirth(DateUtil.parseYMD(baby.getDueTime())); - babyModel1.setSex(Integer.valueOf(baby.getBabyGender())); - Map map = deliverAddRequest.getDeliveryMode(); - String fmfs = null; - if (!map.isEmpty()) { - fmfs = map.get("fmfs").toString(); - } - babyModel1.setDueType(fmfs); - babyModel1.setBabyHeight(baby.getBabyHeight()); - babyModel1.setBabyWeight(baby.getBabyWeight()); - babyService.findAndModify(query.convertToQuery(), babyModel1); - babyList.add(babyModel); + //判断妊娠结局是活产才添加数据 + BabyModel babyModel1=new BabyModel(); + MatDeliverQuery query=new MatDeliverQuery(); + query.setId(deliverAddRequest.getId()); + babyModel1.setParentId(deliverAddRequest.getParentId()); + if ((RenShenJieJuEnums.O.getId() + "").equals(baby.getPregnancyOut())) { + babyModel1.setYn(YnEnums.YES.getId()); + }else{ + babyModel1.setYn(YnEnums.NO.getId()); + } + babyModel1.setBirth(DateUtil.parseYMD(baby.getDueTime())); + babyModel1.setSex(Integer.valueOf(baby.getBabyGender())); + Map map = deliverAddRequest.getDeliveryMode(); + String fmfs = null; + if (!map.isEmpty()) { + fmfs = map.get("fmfs").toString(); } + babyModel1.setDueType(fmfs); + babyModel1.setBabyHeight(baby.getBabyHeight()); + babyModel1.setBabyWeight(baby.getBabyWeight()); + babyService.findAndModify(query.convertToQuery(), babyModel1); + babyList.add(babyModel); } maternalDeliverModel.setBaby(babyList); } @@ -359,13 +346,9 @@ public class MatDeliverFacade { patients1.setFmDate(fmDate); // HuJiaqi添加开始,这里冗余了分娩分娩医院,分娩年龄,分娩孕周,分娩方式,并将状态更改为产妇 patients1.setType(3); - //自动分娩的时候修改buildtype为0 http://jira.healthbaby.com.cn/browse/WEB-808 - if (null != patients.getBuildType() && patients.getBuildType() == 2) { - patients1.setBuildType(0); - } patients1.setIsAutoFm(YnEnums.NO.getId()); patients1.setFmHospital(deliverAddRequest.getFmHospital()); - patients1.setFmType(MapUtils.isNotEmpty(deliverAddRequest.getDeliveryMode()) ? null : deliverAddRequest.getDeliveryMode().toString()); + patients1.setFmType(MapUtils.isNotEmpty(deliverAddRequest.getDeliveryMode())?null:deliverAddRequest.getDeliveryMode().toString()); try { patients1.setFmAge(DateUtil.getAge(patients1.getBirth(), fmDate)); } catch (Exception e) { @@ -410,10 +393,6 @@ public class MatDeliverFacade { if (fmDate.getTime() >= DateUtil.addDay(patients.getLastMenses(), 168).getTime()) { patients.setFmDate(fmDate); patients.setType(3); - //自动分娩的时候修改buildtype为0 http://jira.healthbaby.com.cn/browse/WEB-808 - if (null != patients.getBuildType() && patients.getBuildType() == 2) { - patients.setBuildType(0); - } patientsService.updatePatient(patients); } } @@ -597,7 +576,7 @@ public class MatDeliverFacade { */ public BaseResponse queryMatDeliver(MatDeliverQueryRequest deliverQueryRequest, Integer userId) { - String hospital = autoMatchFacade.getHospitalId(userId); + String hospital=autoMatchFacade.getHospitalId(userId); //获取 /* Patients patients = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, hospital, -1); if (null == patients) { @@ -606,34 +585,28 @@ public class MatDeliverFacade { Organization og = organizationService.getOrganization(Integer.valueOf(hospital)); //区域模式 - boolean isEnable = og.getbStatus() == 1; + boolean isEnable=og.getbStatus()==1; //外院的孕妇 - Patients patients1 = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, null, 1, false, null, true); + Patients patients1 = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, null, 1, false, null,true); //外院的产妇 // Patients patients2 = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, null, 3); //http://jira.healthbaby.com.cn/browse/WEB-204 修改bug //本院的孕妇 - Patients patients = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, organizationGroupsFacade.findGroupHospital(userId, false), 1, false, null, isEnable); + Patients patients = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, organizationGroupsFacade.findGroupHospital(userId,false), 1, false, null,isEnable); //本院产妇 - Patients patients3 = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, organizationGroupsFacade.findGroupHospital(userId, false), 3, false, null, isEnable); + Patients patients3 = antenatalExaminationFacade.findOnePatient(deliverQueryRequest.getCardNo(), deliverQueryRequest.getVcCardNo(), null, organizationGroupsFacade.findGroupHospital(userId,false), 3, false, null,isEnable); PersonModelQuery personModelQuery = new PersonModelQuery(); String pid = ""; - Integer buildType = null; if (null != patients1) { pid = patients1.getPid(); - buildType = patients1.getBuildType(); } else if (null != patients) { pid = patients.getPid(); - buildType = patients.getBuildType(); } else if (null != patients3) { pid = patients3.getPid(); - buildType = patients3.getBuildType(); } - //http://jira.healthbaby.com.cn/browse/WEB-795 - if (StringUtils.isNotEmpty(pid) && null != buildType && - buildType != 2) { + if (StringUtils.isNotEmpty(pid)) { personModelQuery.setId(pid); List personModels = personService.queryPersons(personModelQuery); if (CollectionUtils.isNotEmpty(personModels)) { @@ -1148,7 +1121,7 @@ public class MatDeliverFacade { // 居住类型 if (childbirthManagerRequest.getInitQuery().contains("pliveTypeId")) { try { - if (StringUtils.isNotEmpty(patients.getPliveTypeId())) { + if(StringUtils.isNotEmpty(patients.getPliveTypeId())) { childbirthManagerQueryModel.setPliveTypeId(basicConfigService.getOneBasicConfigById(patients.getPliveTypeId()).getName()); } } catch (Exception e) { @@ -1159,7 +1132,7 @@ public class MatDeliverFacade { // 户口类型 if (childbirthManagerRequest.getInitQuery().contains("pcensusTypeId")) { try { - if (StringUtils.isNotEmpty(patients.getPcensusTypeId())) { + if(StringUtils.isNotEmpty(patients.getPcensusTypeId())) { childbirthManagerQueryModel.setPcensusTypeId(basicConfigService.getOneBasicConfigById(patients.getPcensusTypeId()).getName()); } } catch (Exception e) { @@ -1173,15 +1146,10 @@ public class MatDeliverFacade { BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setYn(YnEnums.YES.getId()); babyModelQuery.setParentId(patients.getId()); + babyModelQuery.setPregnancyOut(RenShenJieJuEnums.O.getId()); List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); if (CollectionUtils.isNotEmpty(babyModelList)) { - int i = 0; - for (BabyModel babyModel : babyModelList) { - if (RenShenJieJuEnums.O.getId().equals(babyModel.getPregnancyOut())) { - i++; - } - } - childbirthManagerQueryModel.setLivingNumber(i); + childbirthManagerQueryModel.setLivingNumber(babyModelList.size()); } else { if (childbirthManagerQueryModel.getTireNumber() == null) { childbirthManagerQueryModel.setLivingNumber(null); @@ -1279,10 +1247,6 @@ public class MatDeliverFacade { childbirthManagerQueryModel.setLoseBloodCause(""); } } - // 1/2/24小时失血量 - childbirthManagerQueryModel.setOhloseBloodL(maternalDeliverModel.getsHloseBloodL()); - childbirthManagerQueryModel.setThloseBloodL(maternalDeliverModel.gettHloseBloodL()); - childbirthManagerQueryModel.setRhloseBloodL(maternalDeliverModel.getrHloseBloodL()); // 查询分娩方式 childbirthManagerQueryModel.setMaternalDeliverId(maternalDeliverModel.getId()); @@ -1382,19 +1346,19 @@ public class MatDeliverFacade { Map prodprocessOne = prodprocessMap.get("one"); if (MapUtils.isNotEmpty(prodprocessOne)) { childbirthManagerQueryModel.setProdprocessOne(prodprocessOne.get("h") + "时," + prodprocessOne.get("m") + "分"); - } else { + }else{ childbirthManagerQueryModel.setProdprocessOne(""); } Map prodprocessTwo = prodprocessMap.get("two"); if (MapUtils.isNotEmpty(prodprocessTwo)) { childbirthManagerQueryModel.setProdprocessTwo(prodprocessTwo.get("h") + "时," + prodprocessTwo.get("m") + "分"); - } else { + }else{ childbirthManagerQueryModel.setProdprocessTwo(""); } Map prodprocessThree = prodprocessMap.get("three"); if (MapUtils.isNotEmpty(prodprocessThree)) { childbirthManagerQueryModel.setProdprocessThree(prodprocessThree.get("h") + "时," + prodprocessThree.get("m") + "分"); - } else { + }else{ childbirthManagerQueryModel.setProdprocessThree(""); } } @@ -1402,8 +1366,8 @@ public class MatDeliverFacade { // 总产程 Map totalprocessMap = JsonUtil.getMap(maternalDeliverModel.getTotalprocess()); if (MapUtils.isNotEmpty(totalprocessMap)) { - childbirthManagerQueryModel.setTotalprocess(totalprocessMap.get("h") + "时," + totalprocessMap.get("m") + "分"); - } else { + childbirthManagerQueryModel.setTotalprocess(totalprocessMap.get("h") + "时" + totalprocessMap.get("m") + "分"); + }else{ childbirthManagerQueryModel.setTotalprocess(""); } @@ -1511,7 +1475,6 @@ public class MatDeliverFacade { } babyModelQuery.setHospitalId(autoMatchFacade.getHospitalId(newBabyManagerRequest.getOperatorId())); babyModelQuery.setBuildType(2); - babyModelQuery.setOrder("birth"); List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); if (CollectionUtils.isEmpty(babyModelList)) { newBabyManagerResult.setPageInfo(babyModelQuery.getPageInfo()); @@ -1528,8 +1491,8 @@ public class MatDeliverFacade { matDeliverQuery.setParentIdList(parentIdList); List maternalDeliverModelList = matDeliverService.query(matDeliverQuery); List newBabyManagerQueryModelList = new ArrayList<>(); - for (BabyModel babyModel : babyModelList) { - for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { + for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { + for (BabyModel babyModel : babyModelList) { if (maternalDeliverModel.getParentId().equals(babyModel.getParentId())) { NewBabyManagerQueryModel newBabyManagerQueryModel = new NewBabyManagerQueryModel(); BeanUtils.copy(babyModel, newBabyManagerQueryModel); @@ -1577,4 +1540,339 @@ public class MatDeliverFacade { newBabyManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); return newBabyManagerResult; } + + public BaseObjectResponse findMatDeliverData(String id){ + + BaseObjectResponse br = new BaseObjectResponse(); + + if (org.apache.commons.lang.StringUtils.isEmpty(id)){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("id为空"); + return br; + } + + MaternalDeliverModel data = matDeliverService.getOneMatDeliver(id); + if (data==null || data.getYn()==YnEnums.NO.getId()){ + br.setErrorcode(ErrorCodeConstants.NO_DATA); + br.setErrormsg("没有查询到数据"); + return br; + } + + /* 基本信息 */ + if (StringUtils.isEmpty(data.getParentId())){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("数据异常"); + return br; + } + + Patients patients = patientsService.findOnePatientById(data.getParentId()); + + if (patients==null){ + br.setErrorcode(ErrorCodeConstants.PARAMETER_ERROR); + br.setErrormsg("数据异常"); + return br; + } + + Map map= new HashMap<>(); + map.put("id",data.getId()); + map.put("username",patients.getUsername()); + map.put("birth",DateUtil.getyyyy_MM_dd(patients.getBirth())); + map.put("age",DateUtil.getAge(patients.getBirth())); + map.put("phone",patients.getPhone()); + map.put("fmWeek",patients.getFmWeek()); + map.put("dueDate",DateUtil.getyyyy_MM_dd(patients.getDueDate())); + map.put("mremark",patients.getMremark()); + map.put("oRiskFactor",patients.getoRiskFactor()); + map.put("riskLevel", FunvCommonUtil.getBaseicConfigByid(patients.getRiskLevelId(),basicConfigService)); + map.put("riskScore",patients.getRiskScore()); + + map.put("deliveryDate", data.getDueDate()); + map.put("dueWeek", data.getDueWeek()); + + String fmHospital = ""; + + if (StringUtils.isNotEmpty(data.getFmHospital())){ + Organization organization = organizationService.getOrganization(Integer.parseInt(data.getFmHospital())); + if (organization!=null && organization.getYn()==YnEnums.YES.getId()){ + fmHospital = organization.getName(); + } + } + + map.put("fmHospital", fmHospital); + + String deliverDoctor = ""; + + if (StringUtils.isNotEmpty(data.getDeliverDoctor())){ + Users users = usersService.getUsers(Integer.parseInt(data.getDeliverDoctor())); + if (users!=null && users.getYn()==YnEnums.YES.getId()){ + deliverDoctor = users.getName(); + } + } + + map.put("deliverDoctor", deliverDoctor); + + /* 分娩信息 */ + String tireNumber = ""; + if (data.getTireNumber()!=null){ + + } + map.put("tireNumber", tireNumber);//胎数 + map.put("placenta", data.getPlacenta());//胎盘 + + List> placetaList = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(data.getPlacentas())){ + @SuppressWarnings("unchecked") + List placentas = data.getPlacentas(); + if (CollectionUtils.isNotEmpty(placentas)){ + for (Object obj : placentas) { + + String fetalPosition = ""; + String fetalPresentation = ""; + String heartRate = ""; + + if ("com.lyms.platform.operate.web.request.MatDeliverAddRequest$Placenta".equals(obj.getClass().getName())) { + //转换类型 + MatDeliverAddRequest.Placenta placenta = (MatDeliverAddRequest.Placenta) obj; + if (placenta!=null){ + //胎方位 + if (StringUtils.isNotEmpty(placenta.getFetalPosition())){ + for (FetalPositionEnums fetalPositionEnums : FetalPositionEnums.values()) { + if (fetalPositionEnums.getId().equals(placenta.getFetalPosition())) { + fetalPosition += fetalPositionEnums.getName(); + break; + } + } + } + //胎先露 + fetalPresentation += placenta.getFetalPresentation() == null ? "" : placenta.getFetalPresentation(); + //胎心率 + heartRate += placenta.getHeartRate() == null ? "" : placenta.getHeartRate().toString(); + } + } + + if ("java.util.LinkedHashMap".equals(obj.getClass().getName())) { + Map placenta = JsonUtil.getMap(obj.toString()); + if (MapUtils.isNotEmpty(placenta)) { + if (placenta.get("fetalPosition")!=null){ + for (FetalPositionEnums fetalPositionEnums : FetalPositionEnums.values()) { + if (fetalPositionEnums.getId().equals(placenta.get("fetalPosition"))) { + fetalPosition += fetalPositionEnums.getName(); + break; + } + } + } + heartRate += placenta.get("heartRate") == null ? "" : placenta.get("heartRate"); + fetalPresentation += placenta.get("fetalPresentation") == null ? "" : placenta.get("fetalPresentation"); + } + } + Map placetaMap = new HashMap<>(); + placetaMap.put("fetalPosition",fetalPosition); + placetaMap.put("fetalPresentation",fetalPresentation); + placetaMap.put("heartRate",heartRate); + placetaList.add(placetaMap); + } + } + } + + map.put("placentaData", placetaList);//胎盘信息 + + String deliveryMode = ""; + if (StringUtils.isNotEmpty(data.getDeliveryMode())){ + + StringBuilder sb = new StringBuilder(); + + Map m = JsonUtil.str2Obj(data.getDeliveryMode(),Map.class); + String fmfs = null; + if (m!=null){ + Object b = m.get("fmfs"); + if (b!=null){ + fmfs = b.toString(); + if (fmfs!=null){ + if (fmfs.equals("1")){ + String fmName = FmTypeEnums.getFmNameById(fmfs); + sb.append(fmName).append(","); + String scfs = m.get("scfs").toString(); + sb.append(FmTypeEnums.getFmScNameById(scfs)); + deliveryMode = sb.toString(); + }else if (fmfs.equals("2")){ + String fmName = FmTypeEnums.getFmNameById(fmfs); + deliveryMode = fmName; + } + } + } + } + } + map.put("deliveryMode", deliveryMode);//分娩方式 + map.put("operationCause", data.getOperationCause()==null ? "--":data.getOperationCause()); + + findProcess(data.getProdprocess(), map);//1,2,3产程 + findTotalProcess(data.getTotalprocess(),map);//总产程 + + map.put("perinealCondition", data.getPerinealCondition()); + + //TODO 撕裂等级 + + map.put("needleNum", data.getNeedleNum()); + + /* 产后生理 */ + map.put("maternalInfo", data.getMaternalInfo()); + map.put("deathCause", data.getDeathCause()==null ? "--" : data.getDeathCause()); + // 产后血压 收缩压,舒张压 + String ssy = ""; + String szy = ""; + Map chBpMap = JsonUtil.getMap(data.getChBp()); + if (MapUtils.isNotEmpty(chBpMap)) { + ssy = chBpMap.get("ssy"); + szy = chBpMap.get("szy"); + } + map.put("ssy", ssy); + map.put("szy", szy); + // 产后2小时血压 收缩压,舒张压 + String ssy2h = ""; + String szy2h = ""; + Map ch2BpMap = JsonUtil.getMap(data.getCh2Bp()); + if (MapUtils.isNotEmpty(ch2BpMap)) { + ssy2h = ch2BpMap.get("ssy"); + szy2h = ch2BpMap.get("szy"); + } + map.put("ssy2h", ssy2h); + map.put("szy2h", szy2h); + + map.put("breath", data.getBreath()); + map.put("pulse", data.getPulse()); + + map.put("oHloseBloodL", data.getoHloseBloodL()); + map.put("tHloseBloodL", data.gettHloseBloodL()); + map.put("rHloseBloodL", data.getrHloseBloodL()); + map.put("sHloseBloodL", data.getsHloseBloodL()); + map.put("loseBloodCause", data.getLoseBloodCause()); + //产科并发症(需要解析) + map.put("ocs", ResolveUtils.replace(JsonUtil.str2Obj(data.getOcs(),Map.class))); + + /* 胎盘及新生儿信息 */ + + //胎盘信息 + List> ExtPlacentaList = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(data.getExtPlacentas())){ + for (MaternalDeliverModel.ExtPlacenta temp : data.getExtPlacentas()){ + Map extMap = new HashMap<>(); + extMap.put("tpmcType", TaiShuEnums.getTpNameById(temp.getTpmcType())); + //TODO 娩出方式??? + String tpSize = ""; + tpSize += temp.getTpSize().get("c") + "*" + temp.getTpSize().get("k") + "*" + temp.getTpSize().get("g") + "cm"; + extMap.put("tpSize",tpSize); + extMap.put("tpWeight",temp.getTpWeight()); + extMap.put("umbilicalCordLength",temp.getUmbilicalCordLength()); + + String umbilicalCordEx = ""; + String umbilicalCordExType = ""; + + if (StringUtils.isNotEmpty(temp.getUmbilicalCordEx())){ + if (temp.getUmbilicalCordEx().equals("no")){ + umbilicalCordEx = "无"; + }else if (temp.getUmbilicalCordEx().equals("yes")){ + umbilicalCordEx = "有"; + if (StringUtils.isNotEmpty(temp.getUmbilicalCordExType())){ + for (QiDaiEnums qiDaiEnums : QiDaiEnums.values()){ + if (qiDaiEnums.getId().equals(temp.getUmbilicalCordExType())){ + umbilicalCordExType = qiDaiEnums.getName(); + } + } + } + } + } + extMap.put("umbilicalCordEx",umbilicalCordEx); + extMap.put("umbilicalCordExType",umbilicalCordExType); + + ExtPlacentaList.add(extMap); + } + } + map.put("ExtPlacentaList", ExtPlacentaList); + + //新生儿信息 + + List> babyList = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(data.getBaby())){ + for (MaternalDeliverModel.Baby temp : data.getBaby()){ + Map babyMap = new HashMap<>(); + babyMap.put("dueTime",temp.getDueTime()); + babyMap.put("pregnancyOut",temp.getPregnancyOut()); + babyMap.put("deformity",temp.getDeformity()==null ? "" : temp.getDeformity() == 1 ? "是" : "否"); + babyMap.put("babyGender",temp.getBabyGender() == null ? "" : SexEnum.getTextById( + Integer.parseInt(temp.getBabyGender()))); + babyMap.put("babyWeight",temp.getBabyWeight()); + babyMap.put("babyHeight",temp.getBabyHeight()); + babyMap.put("babyHealthy",temp.getBabyHealthy()); + String apgarScorePf1 = ""; + String apgarScorePf5 = ""; + String apgarScorePf10 = ""; + Map m = JsonUtil.getMap(temp.getApgarScore()); + if (MapUtils.isNotEmpty(map)) { + apgarScorePf1 += map.get("pf1") == null ? "" : map.get("pf1") + "*"; + apgarScorePf5 += map.get("pf5") == null ? "" : map.get("pf5") + "*"; + apgarScorePf10 += map.get("pf10") == null ? "" : map.get("pf10"); + } + babyMap.put("apgarScore",apgarScorePf1 + apgarScorePf5 + apgarScorePf10); + babyMap.put("asphyxiaM",temp.getAsphyxiaM()); + babyMap.put("contactStartM",temp.getContactStartM()); + babyMap.put("contactM",temp.getContactM()); + babyMap.put("earlySuck",temp.getEarlySuck() == null ? "" : "yes".equals(temp.getEarlySuck()) ? "是" : "否"); + + babyList.add(babyMap); + } + } + + map.put("babyList", babyList); + + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(map); + return br; + } + + //总产程 + public static Map findTotalProcess(String totalProcess,Map map){ + + String p = ""; + + Map totalprocessMap = JsonUtil.getMap(totalProcess); + if (MapUtils.isNotEmpty(totalprocessMap)) { + p = totalprocessMap.get("h") + "时," + totalprocessMap.get("m") + "分"; + } + map.put("totalProcess",p); + return map; + + } + + //解析1,2,3产程 + public static Map findProcess(String process,Map map){ +// process = "{\"one\":{\"h\":4,\"m\":20},\"two\":{\"m\":53},\"three\":{\"m\":7}}"; + String one = ""; + String two = ""; + String three = ""; + Map> prodprocessMap = JsonUtil.getDoubleMap(process); + if (MapUtils.isNotEmpty(prodprocessMap)) { + Map prodprocessOne = prodprocessMap.get("one"); + if (MapUtils.isNotEmpty(prodprocessOne)) { + one = prodprocessOne.get("h") + "时" + prodprocessOne.get("m") + "分"; + } + Map prodprocessTwo = prodprocessMap.get("two"); + if (MapUtils.isNotEmpty(prodprocessTwo)) { + two = prodprocessOne.get("h") + "时" + prodprocessTwo.get("m") + "分"; + } + Map prodprocessThree = prodprocessMap.get("three"); + if (MapUtils.isNotEmpty(prodprocessThree)) { + three = prodprocessOne.get("h") + "时" + prodprocessThree.get("m") + "分"; + } + } + map.put("one",one); + map.put("two",two); + map.put("three",three); + return map; + } + + } \ No newline at end of file -- 1.8.3.1