diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IEmergenceTreatmentDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IEmergenceTreatmentDao.java new file mode 100644 index 0000000..2ba7cee --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IEmergenceTreatmentDao.java @@ -0,0 +1,26 @@ +package com.lyms.platform.biz.dal; + + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.EmergenceTreatmentModel; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/13 0013. + */ +public interface IEmergenceTreatmentDao { + + public EmergenceTreatmentModel getEmergenceTreatmentModel(String id); + + public void addEmergenceTreatmentModel(EmergenceTreatmentModel emergenceTreatmentModel); + + public void updateEmergenceTreatmentModel(EmergenceTreatmentModel emergenceTreatmentModel,String id); + + public void deleteEmergenceTreatmentModel(String id); + + public List queryEmergenceTreatmentModel(MongoQuery query); + + public int queryEmergenceTreatmentModelCount(MongoQuery query); + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/EmergenceTreatmentDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/EmergenceTreatmentDaoImpl.java new file mode 100644 index 0000000..6fc85cc --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/EmergenceTreatmentDaoImpl.java @@ -0,0 +1,47 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.IEmergenceTreatmentDao; +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.EmergenceTreatmentModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * Created by Administrator on 2016/10/13 0013. + */ +@Repository("emergenceTreatmentDao") +public class EmergenceTreatmentDaoImpl extends BaseMongoDAOImpl implements IEmergenceTreatmentDao{ + @Override + public EmergenceTreatmentModel getEmergenceTreatmentModel(String id) { + return findById(id); + } + + @Override + public int queryEmergenceTreatmentModelCount(MongoQuery query) { + return (int)count(query.convertToMongoQuery()); + } + + @Override + public void addEmergenceTreatmentModel(EmergenceTreatmentModel obj) { + save(obj); + } + + @Override + public void updateEmergenceTreatmentModel(EmergenceTreatmentModel obj,String id) { + update(new MongoQuery(new MongoCondition("id",id, MongoOper.IS)).convertToMongoQuery(),obj); + } + + @Override + public void deleteEmergenceTreatmentModel(String id) { + delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery()); + } + + @Override + public List queryEmergenceTreatmentModel(MongoQuery query) { + return find(query.convertToMongoQuery()); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/EmergenceTreatmentService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/EmergenceTreatmentService.java new file mode 100644 index 0000000..171ac95 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/EmergenceTreatmentService.java @@ -0,0 +1,49 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.IEmergenceTreatmentDao; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.EmergenceTreatmentModel; +import com.lyms.platform.query.EmergenceTreatmentQuery; +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/13 0013. + */ +@Service +public class EmergenceTreatmentService { + + @Autowired + private IEmergenceTreatmentDao emergenceTreatmentDao; + + public EmergenceTreatmentModel getEmergenceTreatmentModel(String id){ + return emergenceTreatmentDao.getEmergenceTreatmentModel(id); + } + + public void addEmergenceTreatmentModel(EmergenceTreatmentModel obj){ + emergenceTreatmentDao.addEmergenceTreatmentModel(obj); + } + + public void updateEmergenceTreatmentModel(EmergenceTreatmentModel obj,String id){ + emergenceTreatmentDao.updateEmergenceTreatmentModel(obj,id); + } + + public void deleteEmergenceTreatmentModel(String id){ + emergenceTreatmentDao.deleteEmergenceTreatmentModel(id); + } + + public List queryEmergenceTreatmentModel(EmergenceTreatmentQuery query){ + MongoQuery mongoQuery = query.convertToQuery(); + if (StringUtils.isNotEmpty(query.getNeed())){ + query.mysqlBuild(emergenceTreatmentDao.queryEmergenceTreatmentModelCount(query.convertToQuery())); + mongoQuery.start(query.getOffset()).end(query.getLimit()); + } + return emergenceTreatmentDao.queryEmergenceTreatmentModel(mongoQuery.addOrder(Sort.Direction.DESC, "id")); + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/EmergenceTreatmentModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/EmergenceTreatmentModel.java new file mode 100644 index 0000000..b142022 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/EmergenceTreatmentModel.java @@ -0,0 +1,103 @@ +package com.lyms.platform.pojo; + +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/13 0013. + */ +@Document(collection = "lyms_emergence_treatment") +public class EmergenceTreatmentModel extends BaseModel{ + + private String id; + //处理内容 + private String content; + //患者危急信息ID + private String emergenceId; + //状态 + private Integer status; + //状态名称 + private String statusName; + //处理医生 + private String doctorName; + + private Integer yn; + private Date modified; + private Date created; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getEmergenceId() { + return emergenceId; + } + + public void setEmergenceId(String emergenceId) { + this.emergenceId = emergenceId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + + public String getDoctorName() { + return doctorName; + } + + public void setDoctorName(String doctorName) { + this.doctorName = doctorName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/EmergenceTreatmentQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/EmergenceTreatmentQuery.java new file mode 100644 index 0000000..4317116 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/EmergenceTreatmentQuery.java @@ -0,0 +1,139 @@ +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.lang.StringUtils; + +import java.util.Date; + +/** + * Created by Administrator on 2016/10/13 0013. + */ +public class EmergenceTreatmentQuery extends BaseQuery implements IConvertToNativeQuery { + + private String id; + //处理内容 + private String content; + //患者危急信息ID + private String emergenceId; + //状态 + private Integer status; + //状态名称 + private String statusName; + //处理医生 + private String doctorName; + + private Integer yn; + private Date modified; + private Date created; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getEmergenceId() { + return emergenceId; + } + + public void setEmergenceId(String emergenceId) { + this.emergenceId = emergenceId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + + public String getDoctorName() { + return doctorName; + } + + public void setDoctorName(String doctorName) { + this.doctorName = doctorName; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public Date getModified() { + return modified; + } + + public void setModified(Date modified) { + this.modified = modified; + } + + public Date getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = created; + } + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + if (StringUtils.isNotEmpty(id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (StringUtils.isNotEmpty(content)) { + condition = condition.and("content", content, MongoOper.IS); + } + if (StringUtils.isNotEmpty(emergenceId)) { + condition = condition.and("emergenceId", emergenceId, MongoOper.IS); + } + if (null != status) { + condition = condition.and("status", status, MongoOper.IS); + } + if (StringUtils.isNotEmpty(statusName)) { + condition = condition.and("statusName", statusName, MongoOper.IS); + } + if (StringUtils.isNotEmpty(doctorName)) { + condition = condition.and("doctorName", doctorName, MongoOper.IS); + } + if (null != yn) { + condition = condition.and("yn", yn, MongoOper.IS); + } + if (null != modified) { + condition = condition.and("modified", modified, MongoOper.IS); + } + if (null != created) { + condition = condition.and("created", created, MongoOper.IS); + } + + return condition.toMongoQuery(); + + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EmergenceController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EmergenceController.java new file mode 100644 index 0000000..273ed51 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EmergenceController.java @@ -0,0 +1,155 @@ +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.common.annotation.TokenRequired; +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.enums.YnEnums; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.common.utils.ResultUtils; +import com.lyms.platform.operate.web.request.EmergenceTreatmentRequest; +import com.lyms.platform.operate.web.utils.PatientRelateMemberUtil; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.EmergenceTreatmentModel; +import com.lyms.platform.pojo.LisCrisisItem; +import com.lyms.platform.query.EmergenceTreatmentQuery; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.util.*; + +/** + * + * 患者危急接口 + * + * Created by Administrator on 2016/10/13 0013. + */ +@Controller +public class EmergenceController extends BaseController{ + + @Autowired + private EmergenceTreatmentService emergenceTreatmentService; + @Autowired + private UsersService usersService; + @Autowired + private LisCrisisItemService lisCrisisItemService; + + + /** + * 危急处理 + * @param request + */ + @RequestMapping(value = "/emergenceTreatments", method = RequestMethod.POST) +// @TokenRequired + public void addDepartments(HttpServletRequest request, + @RequestParam("id") String emergenceId, + @RequestParam("content") String content, + @RequestParam("status") String status, + @RequestParam(value = "message", required = false) String message) { + Map map = new HashMap<>(); + //判断emergenceId是否存在 + LisCrisisItem crisisItem = new LisCrisisItem(); + crisisItem.setId(emergenceId); + + + //拿到登录用户的ID + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + Users users = usersService.getUsers(loginState.getId()); + if (users==null || users.getYn()==YnEnums.NO.getId()){ + map.put("errorcode",ErrorCodeConstants.PARAMETER_ERROR); + map.put("errormsg","用户不存在"); + return; + } + + // + EmergenceTreatmentModel model = new EmergenceTreatmentModel(); + model.setEmergenceId(emergenceId); + model.setYn(YnEnums.YES.getId()); + model.setCreated(new Date()); + model.setModified(new Date()); + + model.setDoctorName(users.getName()); + + //修改危急信息的状态和处理信息的状态 + + //当状态code和状态名称,危急信息的Messages不为null时,修改危急信息数据 + + + //找到患者,拿到她的手机号,发送短信 + + + //找到患者对应的用户,发送推送 + + } + + + /** + * + * 危急跟踪,获取危急意见 + * + */ + @RequestMapping(value = "/emergenceTreatments", method = RequestMethod.GET) +// @TokenRequired + public void getEmergenceTreatments(HttpServletResponse response, + @Valid EmergenceTreatmentRequest emergenceTreatmentRequest) { + +// EmergenceTreatmentModel model = new EmergenceTreatmentModel(); +// model.setYn(YnEnums.YES.getId()); +// model.setCreated(new Date()); +// model.setModified(new Date()); +// model.setEmergenceId("12345678"); +// model.setContent("快来检查"); +// model.setStatus(1); +// model.setStatusName("待处理"); +// model.setDoctorName("王医生"); +// emergenceTreatmentService.addEmergenceTreatmentModel(model); + + System.out.println("emergenceTreatmentService :" + emergenceTreatmentService); + + + String emergenceId = null; + + if (StringUtils.isNotEmpty(emergenceTreatmentRequest.getId())){ + //判断emergenceId是否存在 + emergenceId = emergenceTreatmentRequest.getId(); + } + + //查询满足条件的数据 + EmergenceTreatmentQuery query = new EmergenceTreatmentQuery(); + query.setEmergenceId(emergenceTreatmentRequest.getId()); + query.setPage(emergenceTreatmentRequest.getPage()); + query.setLimit(emergenceTreatmentRequest.getLimit()); + query.setYn(YnEnums.YES.getId()); + query.setNeed("y"); + + List list = new ArrayList<>(); + + List modelList = emergenceTreatmentService.queryEmergenceTreatmentModel(query); + if (CollectionUtils.isNotEmpty(modelList)){ + for (EmergenceTreatmentModel data : modelList){ + Map emergence = new HashMap<>(); + emergence.put("id", data.getId()); + emergence.put("content", data.getContent()); + emergence.put("status", data.getStatus()); + emergence.put("statusName", data.getStatusName()); + emergence.put("emergenceId", data.getEmergenceId()); + emergence.put("doctorName", data.getDoctorName()); + emergence.put("created", DateUtil.getSecond(data.getCreated())); + list.add(emergence); + } + } + ResultUtils.buildSuccessResultAndWrite(response, list); + } +} \ No newline at end of file