From 188c19ca3add58a7fc68a938c0e37bd9f1fbb594 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Fri, 18 Mar 2016 13:10:14 +0800 Subject: [PATCH] c --- .../lyms/platform/biz/BasicConfigServiceTest.java | 75 ++++- .../platform/biz/CustomMappingMongoConverter.java | 23 ++ .../com/lyms/platform/biz/dal/IPuerperaDao.java | 24 ++ .../platform/biz/dal/impl/PuerperaDaoImpl.java | 53 ++++ .../lyms/platform/biz/service/PuerperaService.java | 49 ++++ .../src/main/resources/spring/spring-mongodb1.xml | 21 +- .../common/base/IConvertToNaviteQuery.java | 19 ++ .../common/dao/operator/MongoCondition.java | 321 +++++++++++---------- .../com/lyms/platform/common/enums/YnEnums.java | 32 ++ .../platform/common/result/BaseListResponse.java | 12 +- .../lyms/platform/common/result/BaseResponse.java | 6 +- .../java/com/lyms/platform/pojo/BasicConfig.java | 2 +- .../com/lyms/platform/pojo/CommunityModel.java | 55 ++++ .../java/com/lyms/platform/pojo/PuerperaModel.java | 148 ++++++++++ .../com/lyms/platform/query/BasicConfigQuery.java | 3 +- .../lyms/platform/query/CommunityModelQuery.java | 55 ++++ .../lyms/platform/query/PuerperaModelQuery.java | 152 ++++++++++ .../web/controller/BasicConfigController.java | 23 +- .../web/controller/CommunityController.java | 11 + .../web/controller/PuerperaManageController.java | 78 +++++ .../operate/web/request/BasicConfigRequest.java | 17 +- .../web/request/PuerperaManagerRequest.java | 119 ++++++++ 22 files changed, 1104 insertions(+), 194 deletions(-) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/CustomMappingMongoConverter.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPuerperaDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PuerperaDaoImpl.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PuerperaService.java create mode 100644 platform-common/src/main/java/com/lyms/platform/common/base/IConvertToNaviteQuery.java create mode 100644 platform-common/src/main/java/com/lyms/platform/common/enums/YnEnums.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/CommunityModel.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/pojo/PuerperaModel.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/CommunityModelQuery.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/PuerperaModelQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerRequest.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index e23f69c..2991e54 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -1,27 +1,74 @@ package com.lyms.platform.biz; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.PuerperaService; import com.lyms.platform.pojo.BasicConfig; - - - +import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.query.PuerperaModelQuery; +import com.mongodb.util.JSON; public class BasicConfigServiceTest { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); - BasicConfigService basicConfigService = (BasicConfigService) applicationContext.getBean("basicConfigService"); - System.out.println(basicConfigService.queryParentConfig()); - - for(int i = 6;i<7;i++){ - BasicConfig obj = new BasicConfig(); - obj.setCode("xc123456"+i); - obj.setName("哮喘123456"+i); - obj.setYn(1); - obj.setParentId("56ea134c24fdaafbabbb0025"); - basicConfigService.addBasicConfig(obj); + PuerperaService basicConfigService = (PuerperaService) applicationContext.getBean(PuerperaService.class); + PuerperaModel obj = new PuerperaModel(); + obj.setAddress("成都市高新区天府2街"); + obj.setAge(111); + obj.setDueDate(new Date()); + obj.setIsVisit(1); + obj.setName("小王2"); + obj.setPhone("13996289315"); + obj.setYn(1); + // basicConfigService.addPuerpera(obj); + + PuerperaModel obj1 = new PuerperaModel(); + obj1.setAddress("成都市高新区天府4街"); + obj1.setAge(11); + obj1.setDueDate(sdf.parse("2016-1-12")); + obj1.setIsVisit(0); + obj1.setName("小王3"); + obj1.setPhone("15197164164"); + obj1.setYn(1); + obj1.setCommunityId("dqweqwdadadaddad"); + basicConfigService.addPuerpera(obj1); + + PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); + + ; + puerperaQuery.setKeyword("小王"); + puerperaQuery.setDueDateStart(sdf.parse("2016-1-12")); + puerperaQuery.setDueDateEnd(sdf.parse("2016-3-16")); + System.out.println(basicConfigService.queryPuerpera(puerperaQuery)); + /* + * for(int i = 6;i<7;i++){ BasicConfig obj = new BasicConfig(); obj.setCode("xc123456"+i); obj.setName("哮喘123456"+i); obj.setYn(1); + * obj.setParentId("56ea134c24fdaafbabbb0025"); basicConfigService.addBasicConfig(obj); } + */ + /* + * BasicConfig obj = new BasicConfig(); obj.setCode("111"); obj.setId("111"); + */ + /* + * System.out.println(JSON.parse("{\"名称\":111}")); MongoTemplate mongoTemplate =applicationContext.getBean(MongoTemplate.class); // + * mongoTemplate.save(JSON.parse("{\"名称\":111}"),"aa"); System.out.println(mongoTemplate.find(null, Map.class)); + */ + System.out.println("----------------------------------------------------"); + Criteria cri = Criteria.where("dueDate").gte(sdf.parse("2016-1-12")).lte(sdf.parse("2016-3-16")); + Query query = new Query(cri); + List users = applicationContext.getBean(MongoTemplate.class).find(query, PuerperaModel.class); + for (PuerperaModel users2 : users) { + System.out.println(users2.toString()); } } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/CustomMappingMongoConverter.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/CustomMappingMongoConverter.java new file mode 100644 index 0000000..6179283 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/CustomMappingMongoConverter.java @@ -0,0 +1,23 @@ +package com.lyms.platform.biz; + +import org.springframework.data.mapping.context.MappingContext; +import org.springframework.data.mongodb.core.convert.DbRefResolver; +import org.springframework.data.mongodb.core.convert.MappingMongoConverter; +import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity; +import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty; + +import com.mongodb.DBObject; + +public class CustomMappingMongoConverter extends MappingMongoConverter{ + + public CustomMappingMongoConverter(DbRefResolver dbRefResolver, + MappingContext, MongoPersistentProperty> mappingContext) { + super(dbRefResolver, mappingContext); + } + + + @Override + public void write(Object obj, DBObject dbo) { + super.write(obj, dbo); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPuerperaDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPuerperaDao.java new file mode 100644 index 0000000..e8c0212 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPuerperaDao.java @@ -0,0 +1,24 @@ +package com.lyms.platform.biz.dal; + +import java.util.List; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.dao.operator.Page; +import com.lyms.platform.pojo.PuerperaModel; + +public interface IPuerperaDao { + + public PuerperaModel addPuerpera(PuerperaModel obj); + + public void updatePuerpera(PuerperaModel obj, String id); + + public void deletePuerpera(String id); + + public PuerperaModel getPuerpera(String id); + + public int queryPuerperaCount(MongoQuery query); + + public List queryPuerpera(MongoQuery query); + + public Page findPage(MongoQuery query); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PuerperaDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PuerperaDaoImpl.java new file mode 100644 index 0000000..f30abe8 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PuerperaDaoImpl.java @@ -0,0 +1,53 @@ +package com.lyms.platform.biz.dal.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import com.lyms.platform.biz.dal.IPuerperaDao; +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.dao.operator.Page; +import com.lyms.platform.pojo.PuerperaModel; + +@Repository("puerperaDao") +public class PuerperaDaoImpl extends BaseMongoDAOImpl implements IPuerperaDao { + + @Override + public PuerperaModel addPuerpera(PuerperaModel obj) { + return save(obj); + } + + @Override + public void updatePuerpera(PuerperaModel obj, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + + @Override + public void deletePuerpera(String id) { + delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery()); + } + + @Override + public PuerperaModel getPuerpera(String id) { + return findById(id); + } + + @Override + public int queryPuerperaCount(MongoQuery query) { + return (int) count(query.convertToMongoQuery()); + } + + + @Override + public Page findPage(MongoQuery query) { + return findPage(query.convertToMongoQuery()); + } + + @Override + public List queryPuerpera(MongoQuery query) { + return find(query.convertToMongoQuery()); + } +} \ No newline at end of file diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PuerperaService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PuerperaService.java new file mode 100644 index 0000000..2774439 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PuerperaService.java @@ -0,0 +1,49 @@ +package com.lyms.platform.biz.service; + +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort.Direction; +import org.springframework.stereotype.Service; + +import com.lyms.platform.biz.dal.IPuerperaDao; +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.dao.operator.Page; +import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.query.PuerperaModelQuery; + + +@Service +public class PuerperaService { + @Autowired + private IPuerperaDao iPuerperaDao; + public void addPuerpera(PuerperaModel obj) { + iPuerperaDao.addPuerpera(obj); + } + + public void updatePuerpera(PuerperaModel obj) { + iPuerperaDao.updatePuerpera(obj, obj.getId()); + } + + public List queryPuerpera(PuerperaModelQuery puerperaQuery) { + MongoQuery query = puerperaQuery.convertToQuery(); + if (StringUtils.isNotEmpty(puerperaQuery.getNeed())) { + puerperaQuery.mysqlBuild(iPuerperaDao.queryPuerperaCount(puerperaQuery.convertToQuery())); + query.start(puerperaQuery.getOffset()).end(puerperaQuery.getLimit()); + } + + return iPuerperaDao.queryPuerpera(query.addOrder(Direction.ASC, "id")); + } + + + public List queryByParentId(String parentId) { + return iPuerperaDao.queryPuerpera(MongoCondition.newInstance("parentId", parentId, MongoOper.IS).toMongoQuery()); + } + + public Page queryGuidesAndPage(int start, int end) { + return iPuerperaDao.findPage(MongoCondition.newInstance().toMongoQuery().start(start).end(end).addOrder(Direction.ASC, "id")); + } +} diff --git a/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml b/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml index 12d900e..cb0f632 100644 --- a/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml +++ b/platform-biz-patient-service/src/main/resources/spring/spring-mongodb1.xml @@ -8,8 +8,27 @@ - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/base/IConvertToNaviteQuery.java b/platform-common/src/main/java/com/lyms/platform/common/base/IConvertToNaviteQuery.java new file mode 100644 index 0000000..3540273 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/base/IConvertToNaviteQuery.java @@ -0,0 +1,19 @@ +package com.lyms.platform.common.base; + +import com.lyms.platform.common.dao.operator.MongoQuery; + +/** + * + * 转换成可执行的查询对象 + * + * @author Administrator + * + */ +public interface IConvertToNaviteQuery { + + /** + * + * @return + */ + MongoQuery convertToQuery(); +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java index 9bbea4b..87ba088 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java +++ b/platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java @@ -3,168 +3,183 @@ package com.lyms.platform.common.dao.operator; import org.springframework.data.mongodb.core.query.Criteria; /** - * 封装mongo 条件属性的操作 - * - * 对于模糊查询的时候 obj为一个正则表达式 如: - * - * + * 封装mongo 条件属性的操作 对于模糊查询的时候 obj为一个正则表达式 如: * *
  • 1.MongoCondition.newInstance("name", "^小七测试",MongoOper.LIKE) '^小七测试' 查询名字为小七测试开头
  • *
  • 2.MongoCondition.newInstance("name", "小七测试$",MongoOper.LIKE) '小七测试$' 查询名字为小七测试结尾
  • *
    *
    * - * - * * @link MongoOper - * * @author Administrator - * */ public class MongoCondition { - private Criteria criteria; - - public Criteria getCriteria() { - return criteria; - } - - public static MongoCondition newInstance() { - return new MongoCondition(); - } - - /** - * - * 创建一个实例 - * - * @param key - * 字段名 - * @param obj - * 值 - * @param oper - * 查询运算符 - * @return - */ - public static MongoCondition newInstance(String key, Object obj, - MongoOper oper) { - return new MongoCondition(key, obj, oper); - } - - public MongoCondition(String key, Object obj, MongoOper oper) { - super(); - if (null == criteria) { - criteria = Criteria.where(key); - } - set(oper, obj, criteria); - } - - public MongoCondition() { - criteria = new Criteria(); - } - - /** - * and 条件查询 - * - * @param key - * 数据库中的字段名 - * @param obj - * 值 - * @param oper - * 运算符 @link MongoOper - * @return - */ - public MongoCondition and(String key, Object obj, MongoOper oper) { - if(criteria ==null){ - criteria = Criteria.where(key); - set(oper, obj, criteria); - }else{ - Criteria criteria1 = criteria.and(key); - set(oper, obj, criteria1); - criteria = criteria1; - } - - return this; - } - - /** - * 2个查询条件的交集 - * - * @param con - * @return - */ - public MongoCondition andCondition(MongoCondition con) { - Criteria localCriteria = con.criteria; - criteria = criteria.andOperator(localCriteria); - return this; - } - - /** - * 2个查询条件的并集 - * - * @param con - * @return - */ - public MongoCondition orCondition(MongoCondition con) { - if(null==criteria){ - criteria= con.criteria; - }else{ - criteria = criteria.orOperator(con.criteria); - } - return this; - } - - public MongoCondition orCondition(MongoCondition... con){ - /* public Criteria orOperator(Criteria... criteria) { - BasicDBList bsonList = createCriteriaList(criteria); - return registerCriteriaChainElement(new Criteria("$or").is(bsonList)); - }*/ - Criteria[] list=new Criteria[con.length]; - int index= 0; - for(MongoCondition c:con){ - list[index++]=c.criteria; - } - if(null==criteria){ - criteria=list[0]; - if(con.length>1){ - Criteria[] dest = new Criteria[con.length-1]; - System.arraycopy(list, 1, dest, 0, dest.length); - criteria.orOperator(dest); - } - }else{ - criteria.orOperator(list); - } - return this; - } - - /** - * 如果是模糊匹配,obj则为需要匹配的正则表达式 - * - * @param oper - * @param obj - * @param criteria - */ - private void set(MongoOper oper, Object obj, Criteria criteria) { - if (MongoOper.GT == oper) { - criteria.gt(obj); - } else if (MongoOper.GTE == oper) { - criteria.gte(obj); - } else if (MongoOper.IS == oper) { - criteria.is(obj); - } else if (MongoOper.LIKE == oper) { - criteria.regex(String.valueOf(obj), "m"); - } else if (MongoOper.LT == oper) { - criteria.lt(obj); - } else if (MongoOper.NE == oper) { - criteria.ne(obj); - } - } - - /** - * 把当前条件转成查询对象 - * - * @return - */ - public MongoQuery toMongoQuery() { - return new MongoQuery(this); - } + private Criteria criteria; + + public Criteria getCriteria() { + return criteria; + } + + public static MongoCondition newInstance() { + return new MongoCondition(); + } + + /** + * 创建一个实例 + * + * @param key + * 字段名 + * @param obj + * 值 + * @param oper + * 查询运算符 + * @return + */ + public static MongoCondition newInstance(String key, Object obj, MongoOper oper) { + return new MongoCondition(key, obj, oper); + } + + public MongoCondition(String key, Object obj, MongoOper oper) { + super(); + if (null == criteria) { + criteria = Criteria.where(key); + } + set(oper, obj, criteria); + } + + public MongoCondition() { + criteria = new Criteria(); + } + public MongoCondition(Criteria c) { + criteria = c; + } + + /** + * and 条件查询 + * + * @param key + * 数据库中的字段名 + * @param obj + * 值 + * @param oper + * 运算符 @link MongoOper + * @return + */ + public MongoCondition and(String key, Object obj, MongoOper oper) { + if (criteria == null) { + criteria = Criteria.where(key); + set(oper, obj, criteria); + } else { + Criteria criteria1 = criteria.and(key); + set(oper, obj, criteria1); + criteria = criteria1; + } + + return this; + } + + /** + * Query query = new Query(Criteria.where("b").elemMatch( Criteria.where("startDate").gte(date) .and("endDate").lte(date) ); + * + * @param c + * @return + */ + @SuppressWarnings("static-access") + public MongoCondition elemMatch(String field,MongoCondition c) { + criteria.where(field).elemMatch(c.criteria); + return this; + } + + /** + * Query query = new Query(Criteria.where("b").elemMatch( Criteria.where("startDate").gte(date) .and("endDate").lte(date) ); + * + * @param c + * @return + */ + public MongoCondition elemMatch(MongoCondition c) { + criteria.elemMatch(c.criteria); + return this; + } + /** + * 2个查询条件的交集 + * + * @param con + * @return + */ + public MongoCondition andCondition(MongoCondition con) { + Criteria localCriteria = con.criteria; + criteria = criteria.andOperator(localCriteria); + return this; + } + + /** + * 2个查询条件的并集 + * + * @param con + * @return + */ + public MongoCondition orCondition(MongoCondition con) { + if (null == criteria) { + criteria = con.criteria; + } else { + criteria = criteria.orOperator(con.criteria); + } + return this; + } + + public MongoCondition orCondition(MongoCondition... con) { + /* + * public Criteria orOperator(Criteria... criteria) { BasicDBList bsonList = createCriteriaList(criteria); return + * registerCriteriaChainElement(new Criteria("$or").is(bsonList)); } + */ + Criteria[] list = new Criteria[con.length]; + int index = 0; + for (MongoCondition c : con) { + list[index++] = c.criteria; + } + if (null == criteria) { + criteria = list[0]; + if (con.length > 1) { + Criteria[] dest = new Criteria[con.length - 1]; + System.arraycopy(list, 1, dest, 0, dest.length); + criteria.orOperator(dest); + } + } else { + criteria.orOperator(list); + } + return this; + } + + /** + * 如果是模糊匹配,obj则为需要匹配的正则表达式 + * + * @param oper + * @param obj + * @param criteria + */ + private void set(MongoOper oper, Object obj, Criteria criteria) { + if (MongoOper.GT == oper) { + criteria.gt(obj); + } else if (MongoOper.GTE == oper) { + criteria.gte(obj); + } else if (MongoOper.IS == oper) { + criteria.is(obj); + } else if (MongoOper.LIKE == oper) { + criteria.regex(String.valueOf(obj), "m"); + } else if (MongoOper.LT == oper) { + criteria.lt(obj); + } else if (MongoOper.NE == oper) { + criteria.ne(obj); + } + } + + /** + * 把当前条件转成查询对象 + * + * @return + */ + public MongoQuery toMongoQuery() { + return new MongoQuery(this); + } } \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/YnEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/YnEnums.java new file mode 100644 index 0000000..226477f --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/YnEnums.java @@ -0,0 +1,32 @@ +package com.lyms.platform.common.enums; + +public enum YnEnums { + + YES(1, "有效"), NO(0, "无效"); + + private YnEnums(int id, String title) { + this.id = id; + this.title = title; + } + + private int id; + + private String title; + + public YnEnums getEnum(int id) { + for (YnEnums yn : values()) { + if (yn.getId() == id) { + return yn; + } + } + return null; + } + + public int getId() { + return id; + } + + public String getTitle() { + return title; + } +} \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java b/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java index 0970973..4874374 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java +++ b/platform-common/src/main/java/com/lyms/platform/common/result/BaseListResponse.java @@ -15,7 +15,17 @@ public class BaseListResponse extends BaseResponse { return data; } - public void setData(List data) { + public BaseListResponse setData(List data) { this.data = data; + return this; + } + + public BaseListResponse setErrorcode(int errorcode) { + super.setErrorcode(errorcode); + return this; + } + public BaseListResponse setErrormsg(String errormsg) { + super.setErrormsg(errormsg); + return this; } } \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java b/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java index 8fbb0a0..6bad1f2 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java +++ b/platform-common/src/main/java/com/lyms/platform/common/result/BaseResponse.java @@ -31,15 +31,17 @@ public class BaseResponse extends BaseModel { return errormsg; } - public void setErrormsg(String errormsg) { + public BaseResponse setErrormsg(String errormsg) { this.errormsg = errormsg; + return this; } public int getErrorcode() { return errorcode; } - public void setErrorcode(int errorcode) { + public BaseResponse setErrorcode(int errorcode) { this.errorcode = errorcode; + return this; } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java index abbe519..6c6e4b5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java @@ -5,7 +5,7 @@ import org.springframework.data.mongodb.core.mapping.Document; import com.lyms.platform.common.result.BaseModel; -@Document +@Document(collection="lyms_basicconfig") public class BasicConfig extends BaseModel { /** diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/CommunityModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/CommunityModel.java new file mode 100644 index 0000000..137ff91 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/CommunityModel.java @@ -0,0 +1,55 @@ +package com.lyms.platform.pojo; + +import org.springframework.data.mongodb.core.mapping.Document; + +import com.lyms.platform.common.result.BaseModel; + +/** + * 社区模型 + * + * @author Administrator + */ +@Document(collection="lyms_community") +public class CommunityModel extends BaseModel { + + /** + * + */ + private static final long serialVersionUID = 1L; + + private String id; + + /** + * 社区名称 + */ + private String communityName; + + /** + * 社区所属地域 + */ + private String areaId; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCommunityName() { + return communityName; + } + + public void setCommunityName(String communityName) { + this.communityName = communityName; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PuerperaModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PuerperaModel.java new file mode 100644 index 0000000..c35b959 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PuerperaModel.java @@ -0,0 +1,148 @@ +package com.lyms.platform.pojo; + +import java.util.Date; + +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +import com.lyms.platform.common.result.BaseModel; + +/** + * + * 产妇模型定义 + * + * @author Administrator + * + */ +@Document(collection="lyms_puerpera") +public class PuerperaModel extends BaseModel { + + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * 身份证号码 + */ + @Field("cardno") + private String cardNo; + /** + * 助产机构 + */ + @Field("deliverorg") + private String deliverOrg; + /** + * 分娩方式 + */ + @Field("duetype") + private String dueType; + + private String id; + + /** + * 产妇名称 + */ + private String name; + /** + * 产妇年龄 + */ + private int age; + /** + * 产妇手机号 + */ + private String phone; + /** + * 产妇分娩日期 + */ + private Date dueDate; + /** + * 地址 + */ + private String address; + /** + * 社区id + */ + private String communityId; + /** + * 是否访视 + */ + private int isVisit; + /** + * 是否有效 + */ + private int yn; + + public String getCardNo() { + return cardNo; + } + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + public String getDeliverOrg() { + return deliverOrg; + } + public void setDeliverOrg(String deliverOrg) { + this.deliverOrg = deliverOrg; + } + public String getDueType() { + return dueType; + } + public void setDueType(String dueType) { + this.dueType = dueType; + } + public int getIsVisit() { + return isVisit; + } + public void setIsVisit(int isVisit) { + this.isVisit = isVisit; + } + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + public int getYn() { + return yn; + } + public void setYn(int yn) { + this.yn = yn; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public int getAge() { + return age; + } + public void setAge(int age) { + this.age = age; + } + public String getPhone() { + return phone; + } + public void setPhone(String phone) { + this.phone = phone; + } + public Date getDueDate() { + return dueDate; + } + public void setDueDate(Date dueDate) { + this.dueDate = dueDate; + } + public String getAddress() { + return address; + } + public void setAddress(String address) { + this.address = address; + } + public String getCommunityId() { + return communityId; + } + public void setCommunityId(String communityId) { + this.communityId = communityId; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java index e118639..f28a4a5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java @@ -1,11 +1,12 @@ package com.lyms.platform.query; +import com.lyms.platform.common.base.IConvertToNaviteQuery; 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; -public class BasicConfigQuery extends BaseQuery { +public class BasicConfigQuery extends BaseQuery implements IConvertToNaviteQuery { private String id; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/CommunityModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/CommunityModelQuery.java new file mode 100644 index 0000000..b95e088 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/CommunityModelQuery.java @@ -0,0 +1,55 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNaviteQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoQuery; + +/** + * 社区模型 + * + * @author Administrator + */ +public class CommunityModelQuery extends BaseQuery implements IConvertToNaviteQuery{ + + + private String id; + + /** + * 社区名称 + */ + private String communityName; + + /** + * 社区所属地域 + */ + private String areaId; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCommunityName() { + return communityName; + } + + public void setCommunityName(String communityName) { + this.communityName = communityName; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + @Override + public MongoQuery convertToQuery() { + return null; + } +} \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PuerperaModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PuerperaModelQuery.java new file mode 100644 index 0000000..ef945f2 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/PuerperaModelQuery.java @@ -0,0 +1,152 @@ +package com.lyms.platform.query; + +import java.util.Date; + +import org.springframework.data.mongodb.core.query.Criteria; + +import com.lyms.platform.common.base.IConvertToNaviteQuery; +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; + +/** + * + * 产妇模型定义 + * + * @author Administrator + * + */ +public class PuerperaModelQuery extends BaseQuery implements IConvertToNaviteQuery{ + + /** + * 关键字 + */ + private String keyword; + + /** + * 产妇名称 + */ + private String name; + /** + * 产妇年龄 + */ + private int age; + /** + * 访视状态 + */ + private int visitstatus=-1; + /** + * 产妇手机号 + */ + private String phone; + /** + * 产妇分娩日期 + */ + private Date dueDateStart; + + private Date dueDateEnd; + + /** + * 地址 + */ + private String address; + /** + * 社区id + */ + private String communityId; + + /** + * 是否有效 + */ + private int yn; + + + public int getVisitstatus() { + return visitstatus; + } + public void setVisitstatus(int visitstatus) { + this.visitstatus = visitstatus; + } + public String getKeyword() { + return keyword; + } + public void setKeyword(String keyword) { + this.keyword = keyword; + } + public Date getDueDateStart() { + return dueDateStart; + } + public void setDueDateStart(Date dueDateStart) { + this.dueDateStart = dueDateStart; + } + public Date getDueDateEnd() { + return dueDateEnd; + } + public void setDueDateEnd(Date dueDateEnd) { + this.dueDateEnd = dueDateEnd; + } + + + + public int getYn() { + return yn; + } + public void setYn(int yn) { + this.yn = yn; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public int getAge() { + return age; + } + public void setAge(int age) { + this.age = age; + } + public String getPhone() { + return phone; + } + public void setPhone(String phone) { + this.phone = phone; + } + + public String getAddress() { + return address; + } + public void setAddress(String address) { + this.address = address; + } + public String getCommunityId() { + return communityId; + } + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + public MongoQuery convertToQuery() { + MongoCondition condition = MongoCondition.newInstance(); + if(null!=keyword){ + MongoCondition con1= MongoCondition.newInstance("phone", keyword, MongoOper.LIKE); + MongoCondition con = MongoCondition.newInstance("name", keyword, MongoOper.LIKE); + condition = condition.orCondition(new MongoCondition[]{con1,con}); + } + if(visitstatus!=-1){ + condition= condition.and("visitstatus", visitstatus, MongoOper.IS); + } + if(null!=communityId){ + condition= condition.and("communityId", communityId, MongoOper.IS); + } + + if(null!=dueDateStart){ +// condition= condition.elemMatch("dueDate",MongoCondition.newInstance("$lte", dueDateStart, MongoOper.IS).and("$gte", dueDateEnd, MongoOper.IS)); +// condition=condition.and("dueDate", dueDateStart, MongoOper.GTE).and("dueDate", dueDateEnd, MongoOper.LTE); + Criteria c = Criteria.where("dueDate").gte(dueDateStart).lte(dueDateEnd).andOperator(condition.getCriteria()); + return new MongoCondition(c).toMongoQuery(); + } + + return condition.toMongoQuery(); + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java index c742102..644990e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java @@ -45,11 +45,8 @@ public class BasicConfigController { basicConfigQuery.setLimit(limit); basicConfigQuery.setKeyword(keywords); List data = basicConfigService.queryBasicConfig(basicConfigQuery); - BaseListResponse baseListResponse = new BaseListResponse(); - baseListResponse.setData(data); - baseListResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseListResponse.setErrormsg("成功"); - return baseListResponse; + + return new BaseListResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @RequestMapping(method = RequestMethod.PUT, value = "/basicConfig/{id}") @@ -63,10 +60,7 @@ public class BasicConfigController { obj.setName(title); obj.setCode(code); basicConfigService.updateBasicConfig(obj); - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseResponse.setErrormsg("成功"); - return baseResponse; + return new BaseResponse("成功",ErrorCodeConstants.SUCCESS); } @RequestMapping(method = RequestMethod.DELETE, value = "/basicConfig/{id}") @@ -78,10 +72,7 @@ public class BasicConfigController { obj.setYn(0); basicConfigService.updateBasicConfig(obj); - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseResponse.setErrormsg("成功"); - return baseResponse; + return new BaseResponse("成功",ErrorCodeConstants.SUCCESS); } @RequestMapping(method = RequestMethod.GET, value = "/basicConfigTree") @@ -105,10 +96,6 @@ public class BasicConfigController { for (BasicConfigRequest ba : listReq) { basicConfigService.addBasicConfig(ba.convertToBasicConfig()); } - - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseResponse.setErrormsg("成功"); - return baseResponse; + return new BaseResponse("成功",ErrorCodeConstants.SUCCESS); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityController.java new file mode 100644 index 0000000..db25737 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CommunityController.java @@ -0,0 +1,11 @@ +package com.lyms.platform.operate.web.controller; + +/** + * 社区相关接口 + * + * @author Administrator + * + */ +public class CommunityController { + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java new file mode 100644 index 0000000..dc84f0a --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java @@ -0,0 +1,78 @@ +package com.lyms.platform.operate.web.controller; + +import java.util.List; + +import javax.validation.Valid; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PathVariable; +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 com.lyms.platform.biz.service.PuerperaService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.PuerperaManagerRequest; +import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.query.PuerperaModelQuery; + +/** + * 产妇管理接口 + * + * @author Administrator + */ +@Controller +public class PuerperaManageController { + + @Autowired + private PuerperaService puerperaService; + + /** + * 产妇管理查询接口 + * + * @param managerRequest + * @return + */ + @RequestMapping(value = "/puerperamanage", method = RequestMethod.GET) + @ResponseBody + public BaseListResponse queryPuerperaManage(@Valid + PuerperaManagerRequest managerRequest) { + + PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); + puerperaQuery.setLimit(managerRequest.getLimit()); + puerperaQuery.setPage(managerRequest.getPage()); + puerperaQuery.setDueDateEnd(managerRequest.getDueDateEnd()); + puerperaQuery.setDueDateStart(managerRequest.getDueDateStart()); + puerperaQuery.setKeyword(managerRequest.getKeyword()); + puerperaQuery.setCommunityId(managerRequest.getCommunityId()); + puerperaQuery.setVisitstatus(managerRequest.getVisitstatus()); + + // 调用service查询 + + List data = puerperaService.queryPuerpera(puerperaQuery); + + return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(data); + } + + @RequestMapping(value = "/puerperamanage", method = RequestMethod.DELETE) + @ResponseBody + public BaseResponse deletePuerperaManager(@RequestParam("id") + String id) { + PuerperaModel obj = new PuerperaModel(); + obj.setId(id); + obj.setYn(0); + puerperaService.updatePuerpera(obj); + return new BaseResponse("成功", 0); + } + + @RequestMapping(value = "/puerperamanage/{id}", method = RequestMethod.PUT) + @ResponseBody + public BaseResponse updatePuerperaManager(@PathVariable("id") + String id) { + return new BaseResponse("成功", 0); + } +} \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java index 33a9864..4d6e8a2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BasicConfigRequest.java @@ -10,29 +10,40 @@ import com.lyms.platform.pojo.BasicConfig; public class BasicConfigRequest { @FormParam private String parentId; - @NotEmpty(message="名称不能为空") + + @NotEmpty(message = "名称不能为空") + @FormParam private String name; - @NotEmpty(message="简码不能为空") + + @NotEmpty(message = "简码不能为空") + @FormParam private String code; + public String getParentId() { return parentId; } + public void setParentId(String parentId) { this.parentId = parentId; } + public String getName() { return name; } + public void setName(String name) { this.name = name; } + public String getCode() { return code; } + public void setCode(String code) { this.code = code; } - public BasicConfig convertToBasicConfig(){ + + public BasicConfig convertToBasicConfig() { BasicConfig basicConfig = new BasicConfig(); basicConfig.setCode(code); basicConfig.setName(name); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerRequest.java new file mode 100644 index 0000000..ae98bae --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerRequest.java @@ -0,0 +1,119 @@ +package com.lyms.platform.operate.web.request; + +import java.util.Date; + +import com.lyms.platform.common.core.annotation.form.Form; +import com.lyms.platform.common.core.annotation.form.FormParam; +import com.lyms.platform.common.result.BaseModel; + +/** + * 产妇管理请求 + * + * @author Administrator + */ +@Form +public class PuerperaManagerRequest extends BaseModel { + + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * 关键字查询 + */ + @FormParam + private String keyword; + + /** + * 社区名称 + */ + @FormParam + private String communityId; + + /** + * 访视状态 + */ + @FormParam + private int visitstatus = -1; + + /** + * 分娩日期开始 + */ + @FormParam + private Date dueDateStart; + + /** + * 分娩日期结束 + */ + @FormParam + private Date dueDateEnd; + + /** + * 页数 + */ + @FormParam + private int page; + + /** + * 行数 + */ + @FormParam + private int limit; + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getKeyword() { + return keyword; + } + + public void setKeyword(String keyword) { + this.keyword = keyword; + } + + public int getVisitstatus() { + return visitstatus; + } + + public void setVisitstatus(int visitstatus) { + this.visitstatus = visitstatus; + } + + public Date getDueDateStart() { + return dueDateStart; + } + + public void setDueDateStart(long dueDateStart) { + this.dueDateStart = new Date(dueDateStart * 1000); + } + + public Date getDueDateEnd() { + return dueDateEnd; + } + + public void setDueDateEnd(long dueDateEnd) { + this.dueDateEnd = new Date(dueDateEnd * 1000); + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } +} -- 1.8.3.1