From d2c7da3b0c6bec87be2c20cb5e00c16bba7e46b5 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 30 Nov 2017 17:29:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=AD=95=E5=A6=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=A2=9E=E5=8A=A0=E6=8C=89=E7=85=A7=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/TempFacade.java | 160 +++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java new file mode 100644 index 0000000..034edcc --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TempFacade.java @@ -0,0 +1,160 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.biz.service.TempService; +import com.lyms.platform.common.base.ContextHolder; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.Assert; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.operate.web.request.TempAddRequest; +import com.lyms.platform.operate.web.request.TempQueryRequest; +import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.TempModel; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.TempQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.math.NumberUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; + + +/** + * 体温门面操作类 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 15:36 + * @since BME V100R001C40B104 + */ +@Component +public class TempFacade { + + //日志调测器 + private static final Logger logger = LoggerFactory.getLogger(TempFacade.class); + + @Autowired + private TempService tempService; + @Autowired + private AutoMatchFacade autoMatchFacade; + @Autowired + private PatientsService patientsService; + @Autowired + private MongoUtil mongoUtil; + + public BaseResponse addOrUpdateOneTemp(TempAddRequest addRequest,Integer userId) { + Assert.notNull(addRequest, "请求为空."); + String hospital =autoMatchFacade.getHospitalId(userId); + String parentId=mongoUtil.doHidePatient(addRequest.getParentId(), hospital); + addRequest.setParentId(parentId); + TempQuery tempQuery = new TempQuery(); + tempQuery.setYn(YnEnums.YES.getId()); + tempQuery.setParentId(addRequest.getParentId()); + + ArrayList list = new ArrayList(); + list.add(hospital); + tempQuery.setHospitalList(list); + TempModel tempModel = addRequest.convertToDataModel(); + + tempModel.setOperator(userId+""); + tempModel.sethId(hospital); + + List temp = tempService.queryTemp(tempQuery); + if (CollectionUtils.isNotEmpty(temp)) { + LinkedHashMap data =temp.get(0).getTempList(); + if(null==data){ + data =new LinkedHashMap(); + } + data.put(DateUtil.getYyyyMmDd(new Date()),Double.valueOf(addRequest.getTemp())); + temp.get(0).setTempList(data); + tempService.update(temp.get(0), temp.get(0).getId()); + } else { + LinkedHashMap data =new LinkedHashMap<>(); + data.put(DateUtil.getYyyyMmDd(new Date()),Double.valueOf(addRequest.getTemp())); + tempModel.setTempList(data); + tempService.addOneTemp(tempModel); + } + return new BaseResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); + } + + public BaseResponse findTempDataList(TempQueryRequest queryRequest,Integer userId) { + + String hospital = autoMatchFacade.getHospitalId(userId); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(queryRequest.getCardNo()); + patientsQuery.setVcCardNo(queryRequest.getVcCardNo()); + patientsQuery.setHospitalId(hospital); + patientsQuery.setLastMensesStart(queryRequest.capEnd()); + patientsQuery.setLastMensesEnd(queryRequest.capStart()); + + Date currentDate = DateUtil.formatDate(new Date()); + if (null != queryRequest.getStartAge()) { + Date date = DateUtil.addYear(currentDate, -queryRequest.getStartAge()); + patientsQuery.setBirthEnd(date); + } + if (null != queryRequest.getEndAge()) { + Date date = DateUtil.addYear(currentDate, -queryRequest.getEndAge()); + date = DateUtil.addYear(date, -1); + + patientsQuery.setBirthStart(DateUtil.addDay(date, 1)); + } + + List patientses = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isEmpty(patientses)) { + return new BaseListResponse().setData(new ArrayList()).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + List pids= new ArrayList<>(); + for(Patients patients:patientses){ + if(StringUtils.isNotEmpty(patients.getPid())){ + pids.add(patients.getPid()); + } + } + + TempQuery tempQuery = new TempQuery(); + tempQuery.setYn(YnEnums.YES.getId()); + tempQuery.setpIds(pids); + tempQuery.setPage(queryRequest.getPage()); + tempQuery.setLimit(queryRequest.getLimit()); + tempQuery.setNeed("1"); + + ArrayList list = new ArrayList(); + list.add(hospital); + tempQuery.setHospitalList(list); + + List temp = tempService.queryTemp(tempQuery); + List dataList =new ArrayList(); + if(CollectionUtils.isNotEmpty(temp)){ + for(TempModel tmp:temp){ + if(StringUtils.isNotEmpty(tmp.getParentId())){ + Patients patients =patientsService.findOnePatientById(tmp.getParentId()); + if(patients != null) { + Map data = new LinkedHashMap<>(); + data.put("id", tmp.getId()); + data.put("username", patients.getUsername()); + data.put("age", DateUtil.getAge(patients.getBirth())); + data.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); + data.put("temp", tmp.getTempList()); + data.put("patientId", patients.getId()); + data.put("vcCardNo", patients.getVcCardNo()); + data.put("cardNo", patients.getCardNo()); + dataList.add(data); + } + } + } + } + return new BaseListResponse().setData(dataList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } +} \ No newline at end of file -- 1.8.3.1