diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/LisCrisisNotifyDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/LisCrisisNotifyDao.java new file mode 100644 index 0000000..7ade0cd --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/LisCrisisNotifyDao.java @@ -0,0 +1,24 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.LisCrisisNotify; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/19 0019. + */ +public interface LisCrisisNotifyDao { + + public LisCrisisNotify addLisCrisisNotify(LisCrisisNotify obj); + + public LisCrisisNotify getLisCrisisNotify(String id); + + public int queryLisCrisisNotifyCount(MongoQuery query); + + public List queryLisCrisisNotify(MongoQuery query); + + public void updateLisCrisisNotify(LisCrisisNotify obj, String id); + public void updateMultiLisCrisisNotify(LisCrisisNotify obj, MongoQuery query); + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/LisCrisisNotifyDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/LisCrisisNotifyDaoImpl.java new file mode 100644 index 0000000..90aa130 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/LisCrisisNotifyDaoImpl.java @@ -0,0 +1,48 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.LisCrisisNotifyDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.LisCrisisNotify; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/19 0019. + */ +@Repository("lisCrisisNotifyDao") +public class LisCrisisNotifyDaoImpl extends BaseMongoDAOImpl implements LisCrisisNotifyDao { + + @Override + public LisCrisisNotify addLisCrisisNotify(LisCrisisNotify obj) { + return save(obj); + } + + @Override + public LisCrisisNotify getLisCrisisNotify(String id) { + return findById(id); + } + + @Override + public int queryLisCrisisNotifyCount(MongoQuery query) { + return (int) count(query.convertToMongoQuery()); + } + + @Override + public List queryLisCrisisNotify(MongoQuery query) { + return find(query.convertToMongoQuery()); + } + + @Override + public void updateLisCrisisNotify(LisCrisisNotify obj, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + + @Override + public void updateMultiLisCrisisNotify(LisCrisisNotify obj, MongoQuery query) { + updateMulti(query.convertToMongoQuery(), obj); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisNotifyService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisNotifyService.java new file mode 100644 index 0000000..eb5d68e --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/LisCrisisNotifyService.java @@ -0,0 +1,54 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.LisCrisisNotifyDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.LisCrisisNotify; +import com.lyms.platform.query.LisCrisisNotifyQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/19 0019. + */ +@Service("lisCrisisNotifyService") +public class LisCrisisNotifyService { + + @Autowired + private LisCrisisNotifyDao lisCrisisNotifyDao; + + public LisCrisisNotify addLisCrisisNotify(LisCrisisNotify obj) { + return lisCrisisNotifyDao.addLisCrisisNotify(obj); + } + + public LisCrisisNotify getLisCrisisNotify(String id) { + return lisCrisisNotifyDao.getLisCrisisNotify(id); + } + + public List query(LisCrisisNotifyQuery query) { + MongoQuery mongoQuery = query.convertToQuery(); + if (StringUtils.isNotEmpty(query.getNeed())) { + query.mysqlBuild(lisCrisisNotifyDao.queryLisCrisisNotifyCount(mongoQuery)); + mongoQuery.start(query.getOffset()).end(query.getLimit()); + } + return lisCrisisNotifyDao.queryLisCrisisNotify(mongoQuery.addOrder(Sort.Direction.DESC, "created")); + } + + public Integer queryCount(LisCrisisNotifyQuery query) { + MongoQuery mongoQuery = query.convertToQuery(); + return lisCrisisNotifyDao.queryLisCrisisNotifyCount(mongoQuery); + } + + public void updateLisCrisisNotify(LisCrisisNotify obj, String id) { + lisCrisisNotifyDao.updateLisCrisisNotify(obj, id); + } + + public void updateMultiLisCrisisNotify(LisCrisisNotify obj, LisCrisisNotifyQuery query) + { + lisCrisisNotifyDao.updateMultiLisCrisisNotify(obj,query.convertToQuery()); + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java index 0d528f7..f8c4adb 100644 --- a/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java +++ b/platform-dal/src/main/java/com/lyms/platform/beans/SerialIdEnum.java @@ -29,6 +29,7 @@ public enum SerialIdEnum { HighRiskSmsModel("HighRiskSmsModel", 97531000210L), HwModel("HwModel", 97531000220L), LisCrisisItem("LisCrisisItem", 97531000230L), + LisCrisisNotify("LisCrisisNotify", 97231000230L), LisReport("LisReport", 97531000240L), MaternalDeliverModel("MaternalDeliverModel", 97531000250L), Patients("Patients", 97531000260L), diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisItem.java b/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisItem.java index 30b128f..f4317bc 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisItem.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisItem.java @@ -43,6 +43,16 @@ public class LisCrisisItem extends BaseModel { private Integer week; private String pid; private String patientId; + //同步状态 0未同步 1同步 + private Integer syncStatus; + + public Integer getSyncStatus() { + return syncStatus; + } + + public void setSyncStatus(Integer syncStatus) { + this.syncStatus = syncStatus; + } public String getPatientId() { return patientId; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisNotify.java b/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisNotify.java new file mode 100644 index 0000000..355380f --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/LisCrisisNotify.java @@ -0,0 +1,113 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.beans.SerialIdEnum; +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * 危急通知记录 + * Created by Administrator on 2016/10/19 0019. + */ +@Document(collection = "lyms_lis_crisis_notify") +public class LisCrisisNotify extends BaseModel { + + private static final long serialVersionUID = SerialIdEnum.LisCrisisItem.getCid(); + + private String id; + + //医院id + private String hospitalId; + + //孕妇id + private String patientId; + + private String pid; + + //医生id + private String doctorId; + + //是否查看状态 0未查看 1查看 + private Integer status; + + //创建时间 + private Date created; + + //修改时间 + private Date modified; + + private Integer yn; + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getPatientId() { + return patientId; + } + + public void setPatientId(String patientId) { + this.patientId = patientId; + } + + public String getDoctorId() { + return doctorId; + } + + public void setDoctorId(String doctorId) { + this.doctorId = doctorId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisItemQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisItemQuery.java index 5a45eda..f7762a9 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisItemQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisItemQuery.java @@ -39,6 +39,16 @@ public class LisCrisisItemQuery extends BaseQuery implements IConvertToNativeQue private Integer age; //患者ID private List parentIds; + //同步状态 0未同步 1同步 + private Integer syncStatus; + + public Integer getSyncStatus() { + return syncStatus; + } + + public void setSyncStatus(Integer syncStatus) { + this.syncStatus = syncStatus; + } //大于修改时间 private Date gteModified; @@ -259,6 +269,9 @@ public class LisCrisisItemQuery extends BaseQuery implements IConvertToNativeQue if(null!=status){ condition=condition.and("status",status,MongoOper.IS); } + if(null!=syncStatus){ + condition=condition.and("syncStatus",syncStatus,MongoOper.IS); + } if(StringUtils.isNotBlank(patientName)){ condition=condition.and("patientName",patientName,MongoOper.IS); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisNotifyQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisNotifyQuery.java new file mode 100644 index 0000000..e285be9 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/LisCrisisNotifyQuery.java @@ -0,0 +1,118 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/19 0019. + */ +public class LisCrisisNotifyQuery extends BaseQuery implements IConvertToNativeQuery { + + private String id; + + //医院id + private String hospitalId; + + //孕妇id + private String patientId; + + private String pid; + + //医生id + private String doctorId; + + private Integer yn; + + //是否查看状态 0未查看 1查看 + private Integer status; + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getPatientId() { + return patientId; + } + + public void setPatientId(String patientId) { + this.patientId = patientId; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getDoctorId() { + return doctorId; + } + + public void setDoctorId(String doctorId) { + this.doctorId = doctorId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if (StringUtils.isNotBlank(id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (StringUtils.isNotBlank(hospitalId)) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + + if (StringUtils.isNotBlank(doctorId)) { + condition = condition.and("doctorId", doctorId, MongoOper.IS); + } + + if (StringUtils.isNotBlank(patientId)) { + condition = condition.and("patientId", patientId, MongoOper.IS); + } + + if(null!=status){ + condition=condition.and("status", status, MongoOper.IS); + } + + return condition.toMongoQuery(); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java index e78407a..a26c408 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyHisService.java @@ -12,6 +12,7 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.operate.web.facade.AntenatalExaminationFacade; import com.lyms.platform.permission.model.LisReportItemModel; import com.lyms.platform.permission.model.LisReportModel; import com.lyms.platform.pojo.*; @@ -53,12 +54,18 @@ public class QhdfyHisService { private LisCrisisItemService lisCrisisItemService; @Autowired + private LisCrisisNotifyService lisCrisisNotifyService; + + @Autowired private ReferConfigService referConfigService; + @Autowired + private AntenatalExaminationFacade antenatalExaminationFacade; + public void syncLisReportTimer() { Date date = new Date(); - queryLisReport(new Date(date.getTime()-1000*60*60)); + queryLisReport(new Date(date.getTime() - 1000 * 60 * 60)); } public void syncLisReportTask(final String dateStr) { @@ -75,8 +82,8 @@ public class QhdfyHisService { public List queryLisReport(Date startDate) { System.out.print("begin queryLisReport"+ DateUtil.getyyyy_MM_dd_hms(new Date())); - //TODO Integer hospitalId = 216; + List result = new ArrayList<>(); if (null != startDate) { Connection conn = ConnTools.makeLisConnection(); @@ -97,11 +104,15 @@ public class QhdfyHisService { buildType.add(2); buildType.add(3); patientsQuery.setBuildTypeList(buildType); + + String startDateStr=DateUtil.getyyyy_MM_dd_hms(startDate); String sql = "select top 100000 shenqinghao as hospitalId,bingrenid as patientFid,zhuyuanhao as patientHid,kahao as vcCardNo,phone,huanzhexingming as name,xingbie as sex,nianling as age,shenqingkeshidaima as deptCode,shenqingkeshimingcheng as deptName,shenqingyishengdaima as applyDoctorCode,shenqingyishengmingcheng as applyDoctorName,jianchayishengdaima as checkDoctorCode,jianchayishengxingming as checkDoctorName,baogaofabushijian as publishTime from valllist_ex_en where baogaofabushijian > CONVERT(DATETIME,'"+startDateStr+"', 20) and phone is not null and phone !='' and shenqinghao is not null order by shenqinghao desc"; String subSql = "select top 1000 sheqingdanhao as id,xiangmudaima as code,xiangmumingcheng as name,xiangmujieguo as result,zifujieguo as charResult,shuzijieguo as numberResult,gaodibiaozhi as flag,cankaozhi as ref,danwei as unit,jieguoleixing as result from valresult_ex_en where sheqingdanhao='"; List list = queryRunner.query(conn, sql, new BeanListHandler(LisReport.class)); System.out.println("危急值====> " + list.size()); + + if (list.size() > 0) { MongoCondition mongoCondition = MongoCondition.newInstance("hospitalId", ""+hospitalId, MongoOper.IS); List assayConfigList = assayConfigDao.query(mongoCondition.toMongoQuery()); @@ -123,9 +134,29 @@ public class QhdfyHisService { patientsQuery.setNeed("y"); List patientsList = patientsService.queryPatient(patientsQuery); Patients patients = patientsList.get(0); - if(null==patients.getLastMenses()){ + if(null == patients.getLastMenses()){ continue; } + + Set sets = antenatalExaminationFacade.getCrisisUnionDoc(patients); + + if (CollectionUtils.isNotEmpty(sets)) + { + LisCrisisNotify notify = new LisCrisisNotify(); + notify.setHospitalId(patients.getHospitalId()); + notify.setPatientId(patients.getId()); + notify.setStatus(0); + notify.setYn(1); + notify.setModified(new Date()); + notify.setCreated(new Date()); + for (String doctorId : sets) + { + notify.setDoctorId(doctorId); + + lisCrisisNotifyService.addLisCrisisNotify(notify); + } + } + LisCrisisItem crisisItem = new LisCrisisItem(); crisisItem.setPid(patients.getPid()); crisisItem.setPatientId(patients.getId()); @@ -143,6 +174,7 @@ public class QhdfyHisService { crisisItem.setHospitalId(hospitalId + ""); crisisItem.setStatus(1); crisisItem.setStatusName("待处理"); + crisisItem.setSyncStatus(0); List itemList = queryRunner.query(conn, subSql+report.getHospitalId()+"'", new BeanListHandler(LisReportItem.class)); System.out.println("itemList ====> "+itemList.size() ); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisCrisisItemController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisCrisisItemController.java index e632042..8d6b0a4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisCrisisItemController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/LisCrisisItemController.java @@ -1,26 +1,28 @@ package com.lyms.platform.operate.web.controller; -import com.lyms.platform.biz.service.EmergenceTreatmentService; import com.lyms.platform.biz.service.LisCrisisItemService; +import com.lyms.platform.biz.service.LisCrisisNotifyService; import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.CommonResult; import com.lyms.platform.common.utils.*; import com.lyms.platform.pojo.LisCrisisItem; +import com.lyms.platform.pojo.LisCrisisNotify; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.LisCrisisItemQuery; +import com.lyms.platform.query.LisCrisisNotifyQuery; import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.text.MessageFormat; import java.util.*; /** @@ -35,14 +37,148 @@ public class LisCrisisItemController extends BaseController { private LisCrisisItemService lisCrisisItemService; @Autowired - private EmergenceTreatmentService emergenceTreatmentService; + private LisCrisisNotifyService lisCrisisNotifyService; + @Autowired private PatientsService patientsService; + /** + * 更新通知状态为已经查看 + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/updateLisCrisisNotifyStatus") + @ResponseBody + @TokenRequired + public BaseResponse updateLisCrisisNotifyStatus( + HttpServletRequest request) { + + Integer userId = getUserId(request); + LisCrisisNotifyQuery query = new LisCrisisNotifyQuery(); + query.setYn(1); + query.setDoctorId(String.valueOf(userId)); + + LisCrisisNotify notify = new LisCrisisNotify(); + notify.setStatus(1); + lisCrisisNotifyService.updateMultiLisCrisisNotify(notify,query); + + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + } + + + /** + * 获取当前医生危急条数 + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/getLisCrisisNotifyCount") + @ResponseBody + @TokenRequired + public BaseResponse getSyncLisCrisis(HttpServletRequest request) { + + Integer userId = getUserId(request); + LisCrisisNotifyQuery query = new LisCrisisNotifyQuery(); + query.setYn(1); + query.setStatus(0); + query.setDoctorId(String.valueOf(userId)); + + int count = lisCrisisNotifyService.queryCount(query); + if (count < 1) + { + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有待处理危急信息"); + } + String content = "紧急通知:您有"+count+"条危急信息等待处理"; + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setData(content); + } + + + /** + * 同步危急数据 + * @param token + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/syncLisCrisisData") + @ResponseBody + public List getSyncLisCrisis(@RequestHeader("Authorization") String token, + @RequestParam("page") Integer page, + @RequestParam("limit") Integer limit) { + + if (!"3d19960bf3e81e7d816c4f26051c49ba".equals(token)) + { + ExceptionUtils.catchException("The request token is " + token); + return new ArrayList<>(); + } + LisCrisisItemQuery query = new LisCrisisItemQuery(); + query.setSyncStatus(0); //同步状态 0未同步 1同步 + query.setNeed("true"); + query.setLimit(limit); + query.setPage(page); + List lisCrisisItemList = lisCrisisItemService.query(query); + + return lisCrisisItemList; + } + + + /** + * 更新危急同步状态 + * @param ids + * @param token + * @return + */ + @RequestMapping(method = RequestMethod.GET, value = "/updateLisCrisisSyncStatus") + @ResponseBody + public BaseResponse getSyncLisCrisis(@RequestParam("ids") String ids, + @RequestHeader("Authorization") String token) { + + if (!"3d19960bf3e81e7d816c4f26051c49ba".equals(token)) + { + ExceptionUtils.catchException("The request token is " + token); + return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("token错误"); + } + try { + String[] arrs = ids.split(","); + if (arrs != null && arrs.length > 0) + { + for (int i = 0 ; i < arrs.length ; i++) + { + LisCrisisItem item = new LisCrisisItem(); + item.setSyncStatus(1); + lisCrisisItemService.updateLisCrisisItem(item,arrs[i]); + } + + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + } + catch (Exception e) + { + ExceptionUtils.catchException(e,"update crisis error."); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + } + } + + + /** + * 危急列表 + * @param response + * @param request + * @param page + * @param limit + * @param queryNo + * @param id + * @param cardNo + * @param phone + * @param age + * @param startWeek + * @param endWeek + * @param name + * @param status + * @param refer + * @param doctor + */ @RequestMapping(value = "/lisCrisisItems", method = RequestMethod.GET) @TokenRequired public void getEmergenceTreatments(HttpServletResponse response, + HttpServletRequest request, @RequestParam("page") int page, @RequestParam("limit") int limit, @RequestParam(value = "queryNo", required = false) String queryNo, @@ -55,8 +191,8 @@ public class LisCrisisItemController extends BaseController { @RequestParam(value = "name", required = false) String name, @RequestParam(value = "status", required = false) Integer status, @RequestParam(value = "refer", required = false) String refer, - @RequestParam(value = "doctor", required = false) String doctor - ) { + @RequestParam(value = "doctor", required = false) String doctor) + { PatientsQuery patientsQuery = new PatientsQuery(); List patientses = null; @@ -89,7 +225,6 @@ public class LisCrisisItemController extends BaseController { } List lisCrisisItemList = lisCrisisItemService.query(query); - List list = new ArrayList<>(); if (CollectionUtils.isNotEmpty(lisCrisisItemList)) { @@ -135,9 +270,29 @@ public class LisCrisisItemController extends BaseController { CommonResult result = new CommonResult(); result.setList(list); result.setPageInfo(query.getPageInfo()); + + updateLisCrisisNotifyStatus(getUserId(request)); + ResultUtils.buildSuccessResultAndWrite(response, result); } + + /** + * 更新通知状态为已经查看 + * @param userId + */ + private void updateLisCrisisNotifyStatus(Integer userId) + { + LisCrisisNotifyQuery query = new LisCrisisNotifyQuery(); + query.setYn(1); + query.setDoctorId(String.valueOf(userId)); + + LisCrisisNotify notify = new LisCrisisNotify(); + notify.setStatus(1); + lisCrisisNotifyService.updateMultiLisCrisisNotify(notify,query); + } + + /** * 获取该医院的危机数据 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 4cc7b57..e4918d1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -2344,7 +2344,7 @@ public class AntenatalExaminationFacade { if(CollectionUtils.isNotEmpty(list)){ status= list.get(0).getStatus(); } - m.put("status",status); + m.put("status", status); if(CollectionUtils.isNotEmpty(examinationModelList)){ for(AntenatalExaminationModel model:examinationModelList){ String zybd=model.getZyqbd(); @@ -2455,4 +2455,52 @@ public class AntenatalExaminationFacade { } return data; } + + + /** + * 获取孕妇危急关联的医生 + * @param patients + * @return + */ + public Set getCrisisUnionDoc(Patients patients) + { + Set doctors = new HashSet<>(); + if (patients == null) + { + return doctors; + } + AntExChuQuery antExChuQuery =new AntExChuQuery(); + antExChuQuery.setHospitalId(patients.getHospitalId()); + antExChuQuery.setParentId(patients.getId()); + antExChuQuery.setYn(YnEnums.YES.getId()); + List chuModelList = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(chuModelList)) + { + for (AntExChuModel chu : chuModelList) + { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(chu.getProdDoctor())) + { + doctors.add(chu.getProdDoctor()); + } + + } + + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setHospitalId(patients.getHospitalId()); + antExQuery.setParentId(patients.getId()); + antExQuery.setYn(YnEnums.YES.getId()); + List examinationModelList = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + if (CollectionUtils.isNotEmpty(examinationModelList)) + { + for (AntenatalExaminationModel examinationModel : examinationModelList) + { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(examinationModel.getCheckDoctor())) + { + doctors.add(examinationModel.getCheckDoctor()); + } + } + } + } + return doctors; + } } \ No newline at end of file