diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITempDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITempDao.java new file mode 100644 index 0000000..b3aca15 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ITempDao.java @@ -0,0 +1,30 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.TempModel; + +import java.util.List; + +/** + * 体温类相关dal实现 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 15:41 + * @since BME V100R001C40B104 + */ +public interface ITempDao { + + TempModel addOneTemp(TempModel target); + + List findByCondion(MongoQuery mongoQuery); + + void updateFirst(TempModel temp, String id); + + int queryTempModelCount(MongoQuery query); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TempDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TempDaoImpl.java new file mode 100644 index 0000000..64681ec --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/TempDaoImpl.java @@ -0,0 +1,55 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.ITempDao; +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.common.pojo.SyncDataModel; +import com.lyms.platform.pojo.TempModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +/** + * 体温操作类 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 16:19 + * @since BME V100R001C40B104 + */ +@Repository("tempDao") +public class TempDaoImpl extends BaseMongoDAOImpl implements ITempDao { + + //日志调测器 + private static final Logger logger = LoggerFactory.getLogger(TempDaoImpl.class); + + @Override + public TempModel addOneTemp(TempModel target) { + return save(target); + } + + @Override + public List findByCondion(MongoQuery mongoQuery) { + return find(mongoQuery.convertToMongoQuery()); + } + + @Override + public void updateFirst(TempModel temp, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), temp); + } + + @Override + public int queryTempModelCount(MongoQuery query) { + return (int) count(query.convertToMongoQuery()); + } +} \ No newline at end of file diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TempService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TempService.java new file mode 100644 index 0000000..6eb1fd4 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/TempService.java @@ -0,0 +1,61 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.ITempDao; +import com.lyms.platform.biz.dal.impl.TempDaoImpl; +import com.lyms.platform.common.dao.operator.MongoQuery; +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.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + + +/** + * 体温服务类 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 16:42 + * @since BME V100R001C40B104 + */ +@Service +public class TempService { + + //日志调测器 + private static final Logger logger = LoggerFactory.getLogger(TempService.class); + + @Autowired + private ITempDao tempDao; + + public TempModel addOneTemp(TempModel target) { + target.setCreated(new Date()); + target.setModified(new Date()); + return tempDao.addOneTemp(target); + } + + public List queryTemp(TempQuery tempQuery) { + MongoQuery mongoQuery = tempQuery.convertToQuery(); + if (StringUtils.isNotEmpty(tempQuery.getNeed())) { + tempQuery.mysqlBuild(tempDao.queryTempModelCount(mongoQuery)); + mongoQuery.start(tempQuery.getOffset()).end(tempQuery.getLimit()); + } + return tempDao.findByCondion(mongoQuery); + } + + public void update(TempModel temp,String id){ + temp.setModified(new Date()); + tempDao.updateFirst(temp,id); + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TempModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TempModel.java new file mode 100644 index 0000000..a889b99 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TempModel.java @@ -0,0 +1,136 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.mongodb.core.index.Indexed; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + + +/** + * 体温model + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 15:42 + * @since BME V100R001C40B104 + */ +@Document(collection="lyms_temp") +public class TempModel extends BaseModel { + + private String id; + + private String hId; + @Indexed + private String parentId; + @Indexed + private String pid; + + //操作人 + private String operator; + + /** + * 是否有效 + */ + private Integer yn; + + //创建时间 + private Date created; + //修改时间 + private Date modified; + //体温值 + private LinkedHashMap tempList; + + @Indexed + private String createdTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String gethId() { + return hId; + } + + public void sethId(String hId) { + this.hId = hId; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + 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; + } + + public LinkedHashMap getTempList() { + return tempList; + } + + public void setTempList(LinkedHashMap tempList) { + this.tempList = tempList; + } + + public String getCreatedTime() { + return createdTime; + } + + public void setCreatedTime(String createdTime) { + this.createdTime = createdTime; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/TempQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/TempQuery.java new file mode 100644 index 0000000..cb9ddde --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/TempQuery.java @@ -0,0 +1,105 @@ +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.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + + +/** + * 体温查询类 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 16:10 + * @since BME V100R001C40B104 + */ +public class TempQuery extends BaseQuery implements IConvertToNativeQuery { + + private String created; + private String parentId; + + //医院id + private List hospitalList; + + private List pIds; + + + /** + * 是否有效 + */ + private Integer yn = -1; + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } + + public String getCreated() { + return created; + } + + public void setCreated(String created) { + this.created = created; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + @Override + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + + if (null != created) { + condition = condition.and("createdTime", created, MongoOper.IS); + } + if (-1 != yn) { + condition = condition.and("yn", yn, MongoOper.IS); + } + if(null!=parentId){ + condition= condition.and("parentId",parentId, MongoOper.IS); + } + if(CollectionUtils.isNotEmpty(hospitalList)){ + condition = condition.and("hId", hospitalList, MongoOper.IN); + } + if (null != pIds) { + condition = condition.and("pid", pIds, MongoOper.IN); + } + return condition.toMongoQuery(); + } + + public List getHospitalList() { + return hospitalList; + } + + public void setHospitalList(List hospitalList) { + this.hospitalList = hospitalList; + } + + public List getpIds() { + return pIds; + } + + public void setpIds(List pIds) { + this.pIds = pIds; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TempController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TempController.java new file mode 100644 index 0000000..bc4bd34 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TempController.java @@ -0,0 +1,77 @@ +package com.lyms.platform.operate.web.controller; + +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.base.LoginContext; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.TempFacade; +import com.lyms.platform.operate.web.request.TempAddRequest; +import com.lyms.platform.operate.web.request.TempQueryRequest; +import org.apache.commons.lang.StringUtils; +import org.hibernate.validator.constraints.NotEmpty; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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 org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + + +/** + * 体温相关的接口 + *

+ * 详细描述 + *

+ * 示例代码 + *

+ * 
+ * + * @author JIAZHI.JIANG + * @version BME V100R001 2017-11-28 15:04 + * @since BME V100R001C40B104 + */ +@Controller +@RequestMapping("/temp") +public class TempController extends BaseController { + + //日志调测器 + private static final Logger logger = LoggerFactory.getLogger(TempController.class); + + + @Autowired + private TempFacade tempFacade; + + + /** + * 增加一条体温记录 + * + * @return + */ + @TokenRequired + @RequestMapping(value = "/add",method = RequestMethod.POST) + @ResponseBody + public BaseResponse addOnceTemp(@Valid TempAddRequest tempRequest,HttpServletRequest request) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return tempFacade.addOrUpdateOneTemp(tempRequest,loginState.getId()); + } + + /** + * 体温管理列表 + * + * @param queryRequest + * @return + */ + @TokenRequired + @RequestMapping(value = "/list",method = RequestMethod.GET) + @ResponseBody + public BaseResponse findTempDataList(@Valid TempQueryRequest queryRequest,HttpServletRequest request){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return tempFacade.findTempDataList(queryRequest,loginState.getId()); + } +} \ No newline at end of file