From 774a99120eaf9c7695597a1077e19a4cc3f6ad21 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Sun, 8 Dec 2024 13:05:11 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E5=A2=9E=E5=8A=A0=E5=A8=81=E5=8E=BFhis?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=99=E4=B8=80=E9=94=AE=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/dao/master/AppointmentMapper.java | 11 + .../permission/model/AppointmentQuery.java | 69 +++++++ .../permission/service/AppointmentService.java | 11 + .../service/impl/AppointmentServiceImpl.java | 30 +++ .../resources/mainOrm/master/AppointmentMapper.xml | 69 +++++++ .../com/lyms/platform/common/utils/ExcelUtil.java | 106 ++++++++++ .../com/lyms/platform/pojo/AppointmentData.java | 64 ++++++ .../com/lyms/platform/pojo/AppointmentModel.java | 222 +++++++++++++++++++++ .../com/lyms/platform/query/PatientsQuery.java | 16 +- .../operate/web/controller/PatientController.java | 36 +++- .../web/controller/PatientWxController.java | 87 ++++---- .../operate/web/facade/BookbuildingFacade.java | 11 +- .../operate/web/request/AppointmentExport.java | 43 ++++ 13 files changed, 726 insertions(+), 49 deletions(-) create mode 100644 platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java create mode 100644 platform-biz-service/src/main/java/com/lyms/platform/permission/model/AppointmentQuery.java create mode 100644 platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java create mode 100644 platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java create mode 100644 platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AppointmentExport.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java new file mode 100644 index 0000000..79403f8 --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/AppointmentMapper.java @@ -0,0 +1,11 @@ +package com.lyms.platform.permission.dao.master; + +import com.lyms.platform.permission.model.AppointmentQuery; +import com.lyms.platform.pojo.AppointmentModel; + +import java.util.List; + +public interface AppointmentMapper { + List queryAppointment(AppointmentQuery appointmentQuery); + int queryAppointmentCount(AppointmentQuery appointmentQuery); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/AppointmentQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/AppointmentQuery.java new file mode 100644 index 0000000..3d4a6fb --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/AppointmentQuery.java @@ -0,0 +1,69 @@ +package com.lyms.platform.permission.model; + +import com.lyms.platform.common.dao.BaseQuery; + +public class AppointmentQuery extends BaseQuery { + private String doctor; + private String startTime; + private String endTime; + private String name; + private String dept; + private String idCard; + private String deptName; + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDept() { + return dept; + } + + public void setDept(String dept) { + this.dept = dept; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java new file mode 100644 index 0000000..540efaf --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/AppointmentService.java @@ -0,0 +1,11 @@ +package com.lyms.platform.permission.service; + +import com.lyms.platform.permission.model.AppointmentQuery; +import com.lyms.platform.pojo.AppointmentModel; + +import java.util.List; + +public interface AppointmentService { + List queryAppointment(AppointmentQuery appointmentQuery); + int queryAppointmentCount(AppointmentQuery appointmentQuery); +} diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java new file mode 100644 index 0000000..54e9460 --- /dev/null +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/AppointmentServiceImpl.java @@ -0,0 +1,30 @@ +package com.lyms.platform.permission.service.impl; + +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.permission.dao.master.AppointmentMapper; +import com.lyms.platform.permission.model.AppointmentQuery; +import com.lyms.platform.permission.service.AppointmentService; +import com.lyms.platform.pojo.AppointmentModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("appointmentService") +public class AppointmentServiceImpl implements AppointmentService { + @Autowired + private AppointmentMapper appointmentMapper; + + @Override + public List queryAppointment(AppointmentQuery appointmentQuery) { + if (StringUtils.isNotEmpty(appointmentQuery.getNeed())){ + appointmentQuery.mysqlBuild( appointmentMapper.queryAppointmentCount(appointmentQuery)); + } + return appointmentMapper.queryAppointment(appointmentQuery); + } + + @Override + public int queryAppointmentCount(AppointmentQuery appointmentQuery) { + return appointmentMapper.queryAppointmentCount(appointmentQuery); + } +} diff --git a/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml b/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml new file mode 100644 index 0000000..9858ce8 --- /dev/null +++ b/platform-biz-service/src/main/resources/mainOrm/master/AppointmentMapper.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + limit #{offset, jdbcType=INTEGER} , #{limit, jdbcType=INTEGER} + + + + + + + diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java index f9f228a..c4310cb 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java @@ -1,6 +1,7 @@ package com.lyms.platform.common.utils; import java.io.*; +import java.math.BigDecimal; import java.util.*; @@ -13,6 +14,7 @@ import jxl.read.biff.BiffException; import jxl.write.*; import jxl.write.Number; import jxl.write.biff.RowsExceededException; +import org.apache.commons.collections.CollectionUtils; /** * Excel 工具类 @@ -162,6 +164,110 @@ public class ExcelUtil { return out; } + /** + * 合并单元格导出 + * @param out + * @param data + * @param columName + * @return + */ + public static OutputStream toExcelRegion(OutputStream out,Map> params ,Map>> data, Map columName) { + WritableWorkbook wwb; + try { + wwb = Workbook.createWorkbook(out); + // 创建一个新的工作表 + WritableSheet ws = wwb.createSheet("sheet", 0); // 创建一个工作表 + /** + * 设置单元格样式 + */ + WritableFont wf = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); + + WritableCellFormat wcf = new WritableCellFormat(wf); + ws.setRowView(0, 300); // 设置指定行高 + // 设置列宽 + Iterator ite = columName.keySet().iterator(); + int i = 0; + while (ite.hasNext()) { + ws.setColumnView(i, 15); + String keyName = ite.next(); + keyName = columName.get(keyName); + ws.addCell(new Label(i, 0, keyName, wcf)); + i++; + } + //int j = 1; + int s=0; + for (Map.Entry> entry:params.entrySet()) { + // 填充数据的内容 + Map map= entry.getValue(); + List> dataList= data.get(entry.getKey()); + /* if (j==1){ + ws.addCell(new Label(0, j, String.valueOf(map.get("dept")))); + ws.addCell(new Label(1, j, String.valueOf(map.get("appointmentSumNum")))); + ws.addCell(new Label(2, j, String.valueOf(map.get("buildSumNum")))); + ws.addCell(new Label(3, j, String.valueOf(map.get("newBuildSumNum")))); + ws.addCell(new Label(4, j, String.valueOf(map.get("unBuildSumNum")))); + }else {*/ + ////新建/(总-已建档+新建档) + ws.addCell(new Label(0, s+1, String.valueOf(map.get("dept")))); + ws.addCell(new Label(1, s+1, String.valueOf(map.get("appointmentSumNum")))); + ws.addCell(new Label(2, s+1, String.valueOf(map.get("buildSumNum")))); + ws.addCell(new Label(3, s+1, String.valueOf(map.get("newBuildSumNum")))); + ws.addCell(new Label(4, s+1, String.valueOf(map.get("unBuildSumNum")))); + if("0".equals(String.valueOf(map.get("appointmentSumNum")))){ + ws.addCell(new Label(5, s+1,"0.00%")); + }else { + ws.addCell(new Label(5, s+1, new BigDecimal(String.valueOf(map.get("buildSumNum"))).multiply(new BigDecimal("100")).divide(new BigDecimal(String.valueOf(map.get("appointmentSumNum"))),2,BigDecimal.ROUND_HALF_UP).toPlainString()+"%")); + + } + if ("0".equals(String.valueOf(map.get("buildSumNum")))){ + ws.addCell(new Label(6, s+1,"0.00%")); + }else { + ws.addCell(new Label(6, s+1,new BigDecimal(String.valueOf(map.get("newBuildSumNum"))).multiply(new BigDecimal("100")).divide((new BigDecimal(String.valueOf(map.get("buildSumNum")))),2,BigDecimal.ROUND_HALF_UP).toPlainString()+"%")); + } + + + if (CollectionUtils.isNotEmpty(dataList)){ + for (int t = 0, len = dataList.size(); t < len; t++){ + map=dataList.get(t); + ws.addCell(new Label(7, s+1+t, String.valueOf(map.get("doctor")))); + ws.addCell(new Label(8, s+1+t, String.valueOf(map.get("appointmentNum")!=null?map.get("appointmentNum"):0))); + ws.addCell(new Label(9, s+1+t, String.valueOf(map.get("buildNum")!=null?map.get("buildNum"):0))); + ws.addCell(new Label(10, s+1+t, String.valueOf(map.get("newBuildNum")!=null?map.get("newBuildNum"):0))); + ws.addCell(new Label(11, s+1+t, String.valueOf(map.get("unBuildNum")!=null?map.get("unBuildNum"):0))); + if (map.get("appointmentNum")==null){ + ws.addCell(new Label(12, s+1+t,"0.00%")); + }else { + ws.addCell(new Label(12, s+1+t, new BigDecimal(String.valueOf(map.get("buildNum")!=null?map.get("buildNum"):0)).multiply(new BigDecimal("100")).divide(new BigDecimal(String.valueOf(map.get("appointmentNum")!=null?map.get("appointmentNum"):0)),2,BigDecimal.ROUND_HALF_UP).toPlainString()+"%")); + } + if (map.get("buildNum")==null){ + ws.addCell(new Label(13, s+1+t,"0.00%")); + }else { + ws.addCell(new Label(13, s+1+t,new BigDecimal(String.valueOf(map.get("newBuildNum")!=null?map.get("newBuildNum"):0)).multiply(new BigDecimal("100")).divide((new BigDecimal(String.valueOf(map.get("buildNum")!=null?map.get("buildNum"):0))),2,BigDecimal.ROUND_HALF_UP).toPlainString()+"%")); + } + } + + ws.mergeCells(0, s+1, 0, s+dataList.size()); + ws.mergeCells(1, s+1, 1, s+dataList.size()); + ws.mergeCells(2, s+1, 2, s+dataList.size()); + ws.mergeCells(3, s+1, 3, s+dataList.size()); + ws.mergeCells(4, s+1, 4, s+dataList.size()); + ws.mergeCells(5, s+1, 5, s+dataList.size()); + ws.mergeCells(6, s+1, 6, s+dataList.size()); + s+=dataList.size(); + } + } + wwb.write(); + wwb.close(); + } catch (IOException e) { + e.printStackTrace(); + } catch (RowsExceededException e) { + e.printStackTrace(); + } catch (WriteException e) { + e.printStackTrace(); + } + return out; + } + //导出时隐藏列 public static OutputStream toExcelhideLie(OutputStream out, List> data, Map columName) { WritableWorkbook wwb; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java new file mode 100644 index 0000000..78a4cab --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentData.java @@ -0,0 +1,64 @@ +package com.lyms.platform.pojo; + +public class AppointmentData { + private static final long serialVersionUID = 1L; + private String doctor; + private String dept; + //预约人数 + private Integer appointmentNum; + //已经建立档案人数 + private Integer buildNum; + //未建档人数 + private Integer unBuildNum; + //新建档人数(当天建档人数) + private Integer newBuildNum; + + public String getDept() { + return dept; + } + + public void setDept(String dept) { + this.dept = dept; + } + + public Integer getUnBuildNum() { + return unBuildNum!=null?unBuildNum:0; + } + + public void setUnBuildNum(Integer unBuildNum) { + this.unBuildNum = unBuildNum; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public Integer getAppointmentNum() { + return appointmentNum!=null?appointmentNum:0; + } + + public void setAppointmentNum(Integer appointmentNum) { + this.appointmentNum = appointmentNum; + } + + public Integer getBuildNum() { + return buildNum!=null?buildNum:0; + } + + public void setBuildNum(Integer buildNum) { + this.buildNum = buildNum; + } + + public Integer getNewBuildNum() { + return newBuildNum!=null?newBuildNum:0; + } + + public void setNewBuildNum(Integer newBuildNum) { + this.newBuildNum = newBuildNum; + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java new file mode 100644 index 0000000..0045fe5 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AppointmentModel.java @@ -0,0 +1,222 @@ +package com.lyms.platform.pojo; + + + +import org.springframework.data.annotation.Transient; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +public class AppointmentModel { + private static final long serialVersionUID = 1L; + private Integer id; + private String bhNum; + private String vccardNo; + private String name; + private String phone; + private String age; + private String idCard; + private String sex; + private Date checkTime; + private String doctor; + private String dept; + //是否建档 1为是 0为否 + @Transient + private Integer isBuild; + @Transient + private Date serEndTime; + @Transient + private Date serStartTime; + //服务是否到期 1为是 0为否 + @Transient + private Integer expire; + @Transient + private Date bookbuildingDate;//建档时间 + private String pinyin; + private Date created; + @Transient + private List rlevel;//高危风险颜色 + @Transient + private Integer appointmentNum;//未建档用户就诊次数 + + public Date getSerStartTime() { + return serStartTime; + } + + public void setSerStartTime(Date serStartTime) { + this.serStartTime = serStartTime; + } + + public Date getBookbuildingDate() { + return bookbuildingDate; + } + + public void setBookbuildingDate(Date bookbuildingDate) { + this.bookbuildingDate = bookbuildingDate; + } + + public Integer getAppointmentNum() { + return appointmentNum; + } + + public void setAppointmentNum(Integer appointmentNum) { + this.appointmentNum = appointmentNum; + } + + public List getrlevel() { + return rlevel; + } + + public void setrlevel(List rlevel) { + this.rlevel = rlevel; + } + + public Integer getExpire() { + return expire; + } + + public void setExpire(Integer expire) { + this.expire = expire; + } + + public String getPinyin() { + return pinyin; + } + + public void setPinyin(String pinyin) { + this.pinyin = pinyin; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getBhNum() { + return bhNum; + } + + public void setBhNum(String bhNum) { + this.bhNum = bhNum; + } + + public String getVccardNo() { + return vccardNo; + } + + public void setVccardNo(String vccardNo) { + this.vccardNo = vccardNo; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getAge() { + return age; + } + + public void setAge(String age) { + this.age = age; + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public Date getCheckTime() { + return checkTime; + } + + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public String getDept() { + return dept; + } + + public void setDept(String dept) { + this.dept = dept; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Integer getIsBuild() { + return isBuild; + } + + public void setIsBuild(Integer isBuild) { + this.isBuild = isBuild; + } + + public Date getSerEndTime() { + return serEndTime; + } + + public void setSerEndTime(Date serEndTime) { + this.serEndTime = serEndTime; + } + + @Override + public String toString() { + return "AppointmentModel{" + + "id=" + id + + ", bhNum='" + bhNum + '\'' + + ", vccardNo='" + vccardNo + '\'' + + ", name='" + name + '\'' + + ", phone='" + phone + '\'' + + ", age='" + age + '\'' + + ", idCard='" + idCard + '\'' + + ", sex='" + sex + '\'' + + ", checkTime=" + checkTime + + ", doctor='" + doctor + '\'' + + ", dept='" + dept + '\'' + + ", isBuild=" + isBuild + + ", serEndTime=" + serEndTime + + ", created=" + created + + '}'; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index d7acb7c..84239f3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -424,6 +424,18 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String currentAreaId; private Integer isComplete; + /** + * his病例ID + */ + private String patientHId; + + public String getPatientHId() { + return patientHId; + } + + public void setPatientHId(String patientHId) { + this.patientHId = patientHId; + } public String getBooksuifangDoctor() { return booksuifangDoctor; @@ -694,7 +706,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (isHistory) { condition = condition.and("isHistory", false, MongoOper.EXISTS); } - + if (StringUtils.isNotEmpty(patientHId)) { + condition = condition.and("patientHId", patientHId, MongoOper.IS); + } if (null != isComplete) { condition = condition.and("isComplete", isComplete, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientController.java index 407a08a..38eb243 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientController.java @@ -1,18 +1,17 @@ package com.lyms.platform.operate.web.controller; +import com.google.common.base.Strings; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.vo.PatientsDTO; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.PatientsQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -21,6 +20,7 @@ public class PatientController { @Autowired private PatientsService patientsService; //http://112.112.112.183:8085/viewhip-etyy/view/commView/layout.jsp?patientId=病人ID + //http://172.26.1.190:9090/xtwx/updatePatientId?idCard=?id= 威县his服务 /** * 获取威县孕产妇数据 @@ -53,8 +53,12 @@ public class PatientController { if (CollectionUtils.isNotEmpty(patientsList)){ Patients patient= patientsList.get(0); patient.setPatientHId(patientsDTO.getPatientHId()); - patient.setVisitsNum(patientsDTO.getVisitsNum()); - patient.setWxStatus(patientsDTO.getWxStatus()); + if (StringUtils.isNotEmpty(patientsDTO.getVisitsNum())){ + patient.setVisitsNum(patientsDTO.getVisitsNum()); + } + if (StringUtils.isNotEmpty(patientsDTO.getWxStatus())){ + patient.setWxStatus(patientsDTO.getWxStatus()); + } patientsService.updatePatientOne(patient,patient.getId()); baseResponse.setErrormsg("成功"); } @@ -62,4 +66,24 @@ public class PatientController { } return baseResponse; } + @RequestMapping(method = RequestMethod.GET,value = "/xtwx/getWXPatient") + public BaseResponse getWxPatients(@RequestParam("patienId") String patienId){ + BaseResponse baseResponse=new BaseResponse(); + if (Strings.isNullOrEmpty(patienId)){ + baseResponse.setErrorcode(-1); + baseResponse.setErrormsg("参数异常"); + return baseResponse; + } + PatientsQuery patientsQuery =new PatientsQuery(); + patientsQuery.setYn(1); + patientsQuery.setPatientHId(patienId); + List patientsList=patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isEmpty(patientsList)){ + baseResponse.setErrorcode(10001); + baseResponse.setErrormsg("当前患者未建档"); + return baseResponse; + } + //antex/antexrecordlist 参考这个接口返回 + return baseResponse; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWxController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWxController.java index 93c8dcd..99681f8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWxController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientWxController.java @@ -9,15 +9,14 @@ import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.CommonResult; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.facade.*; -import com.lyms.platform.operate.web.request.AntExAddRequest; -import com.lyms.platform.operate.web.request.AntExQueryRequest; -import com.lyms.platform.operate.web.request.AntenatalExaminationQueryRequest; -import com.lyms.platform.operate.web.request.PatientQueryRequest; +import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.service.PatientWeightService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.FunvCommonUtil; +import com.lyms.platform.permission.model.AppointmentQuery; import com.lyms.platform.permission.model.PatientService; import com.lyms.platform.permission.model.PatientServiceQuery; +import com.lyms.platform.permission.service.AppointmentService; import com.lyms.platform.permission.service.CouponService; import com.lyms.platform.permission.service.PatientServiceService; import com.lyms.platform.pojo.*; @@ -65,14 +64,14 @@ public class PatientWxController extends BaseController { private PatientFacade patientFacade; @Autowired private CouponService couponService; - /* @Autowired - private AppointmentService appointmentService;*/ + @Autowired + private AppointmentService appointmentService; @Autowired private PatientServiceService patientServiceService; public static final String MEMBER_BABY_URL= PropertiesUtils.getPropertyValue("member_baby_url"); final static Integer userId=2100006857;//默认为客服ID - final static String hospitalId="2100002421";//大同医院ID + final static String hospitalId="2100002421";//威县ID final static String Authorization="1d$l*Y8lslp4dJLTsbm7LkM90"; @@ -302,7 +301,7 @@ public class PatientWxController extends BaseController { * @param phone */ - @RequestMapping(value = "/dt/lisCrisisItems", method = RequestMethod.GET) + /*@RequestMapping(value = "/wx/lisCrisisItems", method = RequestMethod.GET) public void getEmergenceTreatments(HttpServletResponse response, @RequestHeader("Authorization")String authorization, @RequestParam("page") int page, @@ -384,9 +383,9 @@ public class PatientWxController extends BaseController { result.setPageInfo(query.getPageInfo()); ResultUtils.buildSuccessResultAndWrite(response, result); - } + }*/ - @RequestMapping(value = "/dt/findp2", method = RequestMethod.GET) + @RequestMapping(value = "/wx/findp2", method = RequestMethod.GET) @ResponseBody public BaseResponse getPatent2(@Valid PatientQueryRequest request, @RequestHeader("Authorization")String authorization) { @@ -396,14 +395,14 @@ public class PatientWxController extends BaseController { return patientFacade.findPatient2(request, userId); } - @RequestMapping(method = RequestMethod.GET, value = "/dt/getGongGaoCurve") + /* @RequestMapping(method = RequestMethod.GET, value = "/wx/getGongGaoCurve") @ResponseBody public BaseResponse getGongGaoLine(@RequestParam(required = true) String patientId, @RequestHeader("Authorization")String authorization) { if (!authorization.contains(Authorization)){ return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); } return antenatalExaminationFacade.getGongGaoLine(patientId, userId); - } + }*/ @RequestMapping(method = RequestMethod.GET, value = "/wx/antex") @ResponseBody @@ -426,12 +425,12 @@ public class PatientWxController extends BaseController { return baseResponse; } - /** +/* *//** * 获取体重列表; * @param authorization * @param id * @return - */ + *//* @ResponseBody @RequestMapping(value = "/dt/patient/weight/info/{id}", method = RequestMethod.GET) public BaseResponse info(@RequestHeader("Authorization")String authorization, @PathVariable String id) { @@ -439,7 +438,7 @@ public class PatientWxController extends BaseController { return new BaseResponse().setErrorcode(-1).setErrormsg("权限异常"); } return patientWeightService1.info(id); - } + }*/ /** * 添加体重管理 @@ -614,7 +613,8 @@ public class PatientWxController extends BaseController { return antenatalExaminationFacade.addPatientNipt(patientNiptDTO,userId); }*/ //大同需要特殊处理的护士名称 - private static final String doctors="孙慧洁,曹琴,温燕芳,牛冬燕,王改然,杜文瑞,习亚美,卫娜,施春花,胡雪娇,田保来"; + + private static final String doctors="牛向静,梁永芹,尹慧东,刘亚静,吕淑华,张来花,王际普,王玉娥,赵辉,宋艳华,李广立,申立华,吴芳君,石良燕,李金辉,曹莺翠,郭俊彩,孙月荣,潘素芳,尼秋菊,石婧,邢芳,孙晓飞,刘学燕,付秋辉,高立焕,李薇,杨华丽,王海英,王印红,郭荣彩,田华,李丽娟,郭军格,穆立萌"; /** * 预约挂号列表查询 @@ -625,7 +625,7 @@ public class PatientWxController extends BaseController { * @param name * @return */ - /*@RequestMapping(method = RequestMethod.GET, value = "/dt/appointment") + @RequestMapping(method = RequestMethod.GET, value = "/wx/appointment") @ResponseBody public BaseResponse getAppointment(@RequestHeader("Authorization")String authorization, @RequestParam String doctor, @@ -784,15 +784,15 @@ public class PatientWxController extends BaseController { return baseResponse; } - *//** + /** * 预约统计管理科室统计列表 * @param authorization * @param doctor * @param startTime * @param endTime * @return - *//* - @RequestMapping(method = RequestMethod.GET, value = "/dt/appointment/dept/statistics") + */ + @RequestMapping(method = RequestMethod.GET, value = "/wx/appointment/dept/statistics") @ResponseBody public BaseResponse appointmentDeptStatistics(@RequestHeader("Authorization")String authorization, @RequestParam String doctor, @@ -805,12 +805,15 @@ public class PatientWxController extends BaseController { startTime=startTime+" 00:00:00"; endTime=endTime+" 23:59:59"; String dept=null; + if (doctors.contains(doctor)){ + dept="产科"; + } //只有护士长和主任可以看统计(目前) - if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ + /* if (doctor.equals("田保来")||doctor.equals("孙慧洁")){ dept="产科"; }else { return new BaseObjectResponse().setErrorcode(-1).setErrormsg("权限异常"); - } + }*/ AppointmentQuery appointmentQuery=new AppointmentQuery(); appointmentQuery.setStartTime(startTime); appointmentQuery.setEndTime(endTime); @@ -867,16 +870,17 @@ public class PatientWxController extends BaseController { params.put(depts,appointmentData); } } + baseResponse.setObject(params); // 使用TreeMap进行排序 - Map sortedMap = new TreeMap<>(new ChineseComparator()); + /* Map sortedMap = new TreeMap<>(new ChineseComparator()); sortedMap.putAll(params); - baseResponse.setObject(sortedMap); + baseResponse.setObject(sortedMap);*/ } baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); return baseResponse; } // 自定义Comparator,用于按照定义好的顺序排序 - static class ChineseComparator implements Comparator { + /* static class ChineseComparator implements Comparator { @Override public int compare(String s1, String s2) { try { @@ -887,8 +891,8 @@ public class PatientWxController extends BaseController { return 0; } - } - private static Integer getPinyin(String s) { + }*/ +/* private static Integer getPinyin(String s) { Map map = new HashMap<>(); map.put("产后康复门诊", 10); map.put("产科七病区", 7); @@ -898,17 +902,17 @@ public class PatientWxController extends BaseController { map.put("产科六病区", 6); map.put("产科门诊", 1); return map.get(s); - } + }*/ - *//** + /** * 预约统计管理列表 * @param authorization * @param doctor * @param startTime * @param endTime * @return - *//* - @RequestMapping(method = RequestMethod.GET, value = "/dt/appointment/statistics") + */ + @RequestMapping(method = RequestMethod.GET, value = "/wx/appointment/statistics") @ResponseBody public BaseResponse appointmentStatistics(@RequestHeader("Authorization")String authorization, @RequestParam String doctor, @@ -995,10 +999,10 @@ public class PatientWxController extends BaseController { return baseResponse; } - *//** + /** * 统计数据导出 - *//* - @RequestMapping(method = RequestMethod.POST, value = "/dt/appointment/statistics/export") + */ + @RequestMapping(method = RequestMethod.POST, value = "/wx/appointment/statistics/export") @ResponseBody public void statisticsExport(@RequestHeader("Authorization")String authorization, @RequestBody AppointmentExport appointmentExport, @@ -1112,14 +1116,14 @@ public class PatientWxController extends BaseController { } } - *//** + /** * 挂号信息同步 * @param authorization * @param doctor * @param date * @return - *//* - @RequestMapping(method = RequestMethod.GET, value = "/dt/sync/appointment") + */ + @RequestMapping(method = RequestMethod.GET, value = "/wx/sync/appointment") @ResponseBody public BaseResponse syncAppointmentList(@RequestHeader("Authorization")String authorization, @RequestParam(required = true) String doctor, @@ -1137,11 +1141,12 @@ public class PatientWxController extends BaseController { HttpClientUtil.doGet("http://192.168.5.23:9090/dtdyrm/getdtAppointment" ,params,"utf-8",null); return new BaseResponse(); } - @Autowired + /*@Autowired private IdtdyrmFmService idtdyrmFmService; + //导出 @ResponseBody - @RequestMapping(value = "/dt/appointment/export", method = RequestMethod.GET) + @RequestMapping(value = "/wx/appointment/export", method = RequestMethod.GET) public void reportFmRecord(@RequestHeader("Authorization")String authorization, @RequestParam String doctor, @RequestParam String startTime, @@ -1156,11 +1161,11 @@ public class PatientWxController extends BaseController { doctor="孙慧洁"; } idtdyrmFmService.reportAppointmentList(response,doctor,startTime,endTime,name,doctorName); - } + }*/ - @RequestMapping(method = RequestMethod.GET, value = "/pc/pregnancy") + /* @RequestMapping(method = RequestMethod.GET, value = "/pc/pregnancy") @ResponseBody public String getPregnancyList( String page, String limit, 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 b282d4c..413eeb5 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 @@ -390,6 +390,7 @@ public class BookbuildingFacade { } patient.setRiskLevelId(yunRequest.getLevel()); + //孕妇档案 Patients p = yunBookbuildingService.addPregnantBookbuilding(patient); @@ -399,7 +400,15 @@ public class BookbuildingFacade { return br; } - + //如果是威县建档需要同步hisID + if("2100002421".equals(patient.getHospitalId())){ + Map params=new HashMap<>(); + params.put("idCard",patient.getCardNo()); + params.put("id",patient.getId()); + //正式环境才走测试不管 + //String str= HttpClientUtil.doGet("http://172.26.1.190:9090/xtwx/updatePatientId" ,params,"utf-8",null); + // logger.info("威县his获取病人ID--->"+str); + } //添加追访信息 addTrackDownInfo(userId, p); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AppointmentExport.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AppointmentExport.java new file mode 100644 index 0000000..76eb6dc --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AppointmentExport.java @@ -0,0 +1,43 @@ +package com.lyms.platform.operate.web.request; + + +import java.util.Map; + +public class AppointmentExport { + private Map> params; + private String doctor; + private String startTime; + private String endTime; + + public Map> getParams() { + return params; + } + + public void setParams(Map> params) { + this.params = params; + } + + public String getDoctor() { + return doctor; + } + + public void setDoctor(String doctor) { + this.doctor = doctor; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } +} -- 1.8.3.1