diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java index fd66eea..e384adc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java @@ -3,14 +3,12 @@ package com.lyms.platform.operate.web.facade; import com.lyms.platform.biz.service.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.RenShenJieJuEnums; -import com.lyms.platform.common.enums.RiskDefaultTypeEnum; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.BeanUtils; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.request.DischargeAbstractQueryRequest; import com.lyms.platform.operate.web.request.DischargeAbstractSaveRequest; import com.lyms.platform.operate.web.result.*; -import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.DischargeAbstractBabyModel; import com.lyms.platform.pojo.DischargeAbstractMotherModel; import com.lyms.platform.pojo.Patients; @@ -18,6 +16,7 @@ import com.lyms.platform.query.BabyModelQuery; import com.lyms.platform.query.DischargeAbstractBabyQuery; import com.lyms.platform.query.DischargeAbstractMotherQuery; import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; @@ -26,6 +25,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @auther HuJiaqi @@ -50,6 +50,9 @@ public class DischargeAbstractFacade { @Autowired private BabyService babyService; + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + public DischargeAbstractSaveResult save(DischargeAbstractSaveRequest dischargeAbstractSaveRequest) { DischargeAbstractSaveResult dischargeAbstractSaveResult = new DischargeAbstractSaveResult(); @@ -127,8 +130,27 @@ public class DischargeAbstractFacade { dischargeAbstractQueryResult.setUserName(patients.getUsername()); dischargeAbstractQueryResult.setAge(DateUtil.getAge(patients.getBirth(), new Date())); dischargeAbstractQueryResult.setFmDate(DateUtil.getyyyy_MM_dd(patients.getFmDate())); - List riskFactoryResultModelList = getRiskFactory(patients.getRiskFactorId()); - dischargeAbstractQueryResult.setRiskFactoryResultModelList(riskFactoryResultModelList); + + // 这里之所以转换时以为前端已经写好了,并且这个循环也不是很慢 + try { + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); + List riskFactoryResultModelList = new ArrayList<>(); + if (highScoreResult != null && CollectionUtils.isNotEmpty(highScoreResult.getHighRisk())) { + // 这个必然是这个泛型,否则直接抛出异常 + @SuppressWarnings("unchecked") + List> temp = highScoreResult.getHighRisk(); + for (Map map : temp) { + RiskFactoryResultModel riskFactoryResultModel = new RiskFactoryResultModel(); + riskFactoryResultModel.setName(map.get("name")); + riskFactoryResultModel.setColor(map.get("color")); + riskFactoryResultModelList.add(riskFactoryResultModel); + } + } + dischargeAbstractQueryResult.setRiskFactoryResultModelList(riskFactoryResultModelList); + } catch (Exception e) { + // 什么都不干 + } + dischargeAbstractQueryResult.setGestationalWeeks(PredictedStatisticsFacade.getGestationalWeeks(patients.getLastMenses(), patients.getType(), patients.getDueStatus())); dischargeAbstractQueryResult.setDueDate(new SimpleDateFormat("yyyy年MM月dd日").format(patients.getDueDate())); @@ -182,37 +204,4 @@ public class DischargeAbstractFacade { return dischargeAbstractQueryResult; } - private List getRiskFactory(List riskFactorIdList) { - - List riskFactoryResultModelList = new ArrayList<>(); - - if (riskFactorIdList != null && riskFactorIdList.size() > 0) { - for (String riskFactoryId : riskFactorIdList) { - RiskFactoryResultModel riskFactoryResultModel = new RiskFactoryResultModel(); - try { - BasicConfig basicConfig1 = basicConfigService.getOneBasicConfigById(riskFactoryId); - String name = basicConfig1.getName(); - boolean flag = true; - if (riskFactoryResultModelList.size() > 0) { - for (RiskFactoryResultModel factoryResultModel : riskFactoryResultModelList) { - if (factoryResultModel.getName().equals(name)) { - flag = false; - } - } - } - if (flag) { - riskFactoryResultModel.setName(name); - BasicConfig basicConfig2 = basicConfigService.getOneBasicConfigById(basicConfig1.getParentId()); - name = basicConfig2.getName(); - riskFactoryResultModel.setColor("risk_" + RiskDefaultTypeEnum.getColor(name)); - riskFactoryResultModelList.add(riskFactoryResultModel); - } - } catch (Exception e) { - // 什么都不干 - } - } - } - return riskFactoryResultModelList; - } - }