From e0fec1549e5b5feb47867555c974af2ef3dae5e8 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Sat, 23 Apr 2016 17:22:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 18 +- .../com/lyms/platform/biz/dal/IPatientDao.java | 27 +++ .../lyms/platform/biz/dal/impl/PatientDaoImpl.java | 57 ++++++ .../lyms/platform/biz/service/PatientsService.java | 63 +++++++ .../common/core/resolve/MessageResolver.java | 4 + .../main/java/com/lyms/platform/pojo/Patients.java | 86 ++++++++- .../com/lyms/platform/query/BabyModelQuery.java | 3 +- .../com/lyms/platform/query/PatientsQuery.java | 197 +++++++++++++++++++++ .../web/controller/PuerperaManageController.java | 11 +- .../operate/web/controller/VisitController.java | 12 +- .../operate/web/facade/BabyManagerFacade.java | 42 ++++- .../platform/operate/web/facade/PatientFacade.java | 112 ++++++++++++ .../operate/web/facade/PuerperaManagerFacade.java | 2 + .../platform/operate/web/facade/VisitFacade.java | 50 +++--- .../web/request/PuerperaManagerUpdateRequest.java | 13 ++ .../operate/web/request/VisitAddRequest.java | 90 ++++++++-- .../operate/web/result/BabyVisitResult.java | 8 + .../operate/web/result/PuerperaResult.java | 14 ++ .../platform/operate/web/result/VisitResult.java | 13 ++ 19 files changed, 761 insertions(+), 61 deletions(-) create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java create mode 100644 platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java create mode 100644 platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.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 701f369..00706a6 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 @@ -21,7 +21,7 @@ public class BasicConfigServiceTest { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext_biz_patient1.xml"); PuerperaService basicConfigService = (PuerperaService) applicationContext.getBean(PuerperaService.class); - PuerperaModel obj = new PuerperaModel(); + /* PuerperaModel obj = new PuerperaModel(); obj.setAddress("成都市高新区天府2街"); obj.setAge(111); obj.setDueDate(new Date()); @@ -30,7 +30,7 @@ public class BasicConfigServiceTest { obj.setPhone("13996289315"); obj.setYn(1); obj.setCardNo("50022319951267164465"); -// basicConfigService.addPuerpera(obj); + basicConfigService.addPuerpera(obj); PuerperaModel obj1 = new PuerperaModel(); obj1.setAddress("成都市高新区天府4街"); @@ -42,15 +42,16 @@ public class BasicConfigServiceTest { obj1.setYn(1); obj1.setCommunityId("dqweqwdadadaddad"); obj1.setCardNo("50022319951267164466"); -// basicConfigService.addPuerpera(obj1); + 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)); +// puerperaQuery.setKeyword("小王"); +// puerperaQuery.setDueDateStart(sdf.parse("2016-1-12")); +// puerperaQuery.setDueDateEnd(sdf.parse("2016-3-16")); + puerperaQuery.setId("5719caf624fd57791341b7cb"); + 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); } @@ -69,7 +70,8 @@ public class BasicConfigServiceTest { for (PuerperaModel users2 : users) { System.out.println(users2.toString()); }*/ - addDataPermission(applicationContext); +// addDataPermission(applicationContext); + addVisit(applicationContext); } public static void addDataPermission(ApplicationContext applicationContext){ diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java new file mode 100644 index 0000000..f60b5e9 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPatientDao.java @@ -0,0 +1,27 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.common.dao.operator.Page; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PuerperaModel; + +import java.util.List; + +/** + * Created by Administrator on 2016/4/22 0022. + */ +public interface IPatientDao { + public Patients addPatient(Patients obj); + + public void updatePatient(Patients obj, String id); + + public void deletePatient(String id); + + public Patients getPatient(String id); + + public int queryPatientCount(MongoQuery query); + + public List queryPatient(MongoQuery query); + + public Page findPage(MongoQuery query); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java new file mode 100644 index 0000000..6a584cb --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java @@ -0,0 +1,57 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.IPatientDao; +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.Patients; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * + * 患者模型 + * + * + * Created by Administrator on 2016/4/22 0022. + */ +@Repository("patientDaoImpl") +public class PatientDaoImpl extends BaseMongoDAOImpl implements IPatientDao { + @Override + public Patients addPatient(Patients obj) { + return save(obj); + } + + @Override + public void updatePatient(Patients obj, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), obj); + } + + @Override + public void deletePatient(String id) { + delete(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery()); + } + + @Override + public Patients getPatient(String id) { + return findById(id); + } + + @Override + public int queryPatientCount(MongoQuery query) { + return (int) count(query.convertToMongoQuery()); + } + + @Override + public List queryPatient(MongoQuery query) { + return find(query.convertToMongoQuery()); + } + + @Override + public Page findPage(MongoQuery query) { + return findPage(query.convertToMongoQuery()); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java new file mode 100644 index 0000000..c8d5378 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -0,0 +1,63 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.IPatientDao; +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.Patients; +import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.PuerperaModelQuery; +import org.apache.commons.collections.CollectionUtils; +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/4/22 0022. + */ +@Service +public class PatientsService { + + @Autowired + private IPatientDao iPatientDao; + + public Patients addPatient(Patients obj) { + return iPatientDao.addPatient(obj); + } + + public void updatePatient(Patients obj) { + iPatientDao.updatePatient(obj, obj.getId()); + } + + public List queryPatient(PatientsQuery patientsQuery) { + MongoQuery query = patientsQuery.convertToQuery(); + if (StringUtils.isNotEmpty(patientsQuery.getNeed())) { + patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(patientsQuery.convertToQuery())); + query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit()); + } + + return iPatientDao.queryPatient(query.addOrder(Sort.Direction.ASC, "id")); + } + + /** + * 根据身份证号码查询某一个患者 + * + * @return + */ + public Patients findOnePatientByCardNo(PatientsQuery puerperaQuery) { + List result = iPatientDao.queryPatient(puerperaQuery.convertToQuery()); + if(CollectionUtils.isEmpty(result)){ + return result.get(0); + } + return null; + } + + public Patients findOnePatientById(String id) { + return iPatientDao.getPatient(id); + } +} \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/core/resolve/MessageResolver.java b/platform-common/src/main/java/com/lyms/platform/common/core/resolve/MessageResolver.java index 9288664..817e46d 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/core/resolve/MessageResolver.java +++ b/platform-common/src/main/java/com/lyms/platform/common/core/resolve/MessageResolver.java @@ -2,6 +2,7 @@ package com.lyms.platform.common.core.resolve; import java.util.Properties; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.InitializingBean; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.support.EncodedResource; @@ -34,6 +35,9 @@ public class MessageResolver implements InitializingBean { } public String getErrorMessage(String key) { + if(StringUtils.isEmpty(messageMapHolder.getProperty(key))){ + return key; + } return messageMapHolder.getProperty(key); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index e3dd126..53c795e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -2,9 +2,45 @@ package com.lyms.platform.pojo; import java.util.Date; +import com.lyms.platform.common.result.BaseModel; import com.lyms.platform.common.utils.DateUtil; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + + +@Document(collection="lyms_patient") +public class Patients extends BaseModel { + + + /** + * 身份证号码 + */ + @Field("cardno") + private String cardNo; + /** + * 助产机构 + */ + @Field("deliverorg") + private String deliverOrg; + /** + * 分娩方式 + */ + @Field("duetype") + private String dueType; + + /** + * 地址 + */ + private String address; + /** + * 社区id + */ + private String communityId; + /** + * 是否访视 + */ + private int isVisit; -public class Patients { private String id; private String username; @@ -226,4 +262,52 @@ public class Patients { public void setCreated(Date created) { this.created = created; } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + 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; + } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index f2ca0bf..f60ef18 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -2,6 +2,7 @@ package com.lyms.platform.query; import java.util.Date; +import org.bson.types.ObjectId; import org.springframework.data.mongodb.core.query.Criteria; import com.lyms.platform.common.base.IConvertToNativeQuery; @@ -124,7 +125,7 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("visitstatus", visitstatus, MongoOper.IS); } if (null != id) { - condition = condition.and("id", id, MongoOper.IS); + condition = condition.and("id", new ObjectId(id), MongoOper.IS); } if(-1!=yn){ condition = condition.and("yn", yn, MongoOper.IS); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java new file mode 100644 index 0000000..6f31f45 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -0,0 +1,197 @@ +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.bson.types.ObjectId; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; + +/** + * + * 产妇模型定义 + * + * @author Administrator + * + */ +public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery{ + + private String id; + + /** + * 关键字 + */ + 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 String cardNo; + + + /** + * 是否有效 + */ + private int yn; + + + public String getCardNo() { + return cardNo; + } + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + 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("username", 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!=id){ + condition= condition.and("id", new ObjectId(id), MongoOper.IS); + } + if(null!=cardNo){ + condition=condition.and("cardno", cardNo, 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(); + }*/ + boolean isAddStart = Boolean.FALSE; + Criteria c = null; + if (null != dueDateStart) { + c = Criteria.where("dueDate").gte(dueDateStart); + isAddStart = Boolean.TRUE; + } + + if (null != dueDateEnd) { + if (isAddStart) { + c=c.lte(dueDateEnd); + } else { + c = Criteria.where("dueDate").lte(dueDateEnd); + } + isAddStart = Boolean.TRUE; + } + if (isAddStart) { + return new MongoCondition(c.andOperator(condition.getCriteria())).toMongoQuery(); + } + + return condition.toMongoQuery(); + } + public String getId() { + return id; + } + public void setId(String id) { + this.id = id; + } + + +} \ No newline at end of file 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 index b3b8007..3ead254 100644 --- 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 @@ -2,6 +2,7 @@ package com.lyms.platform.operate.web.controller; import javax.validation.Valid; +import com.lyms.platform.operate.web.facade.PatientFacade; import com.lyms.platform.operate.web.request.PuerperaMatcherCommunityRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -26,6 +27,8 @@ public class PuerperaManageController extends RestController{ @Autowired private PuerperaManagerFacade puerperaManagerFacade; + @Autowired + private PatientFacade patientFacade; /** * 产妇管理查询接口 @@ -36,9 +39,9 @@ public class PuerperaManageController extends RestController{ @RequestMapping(value = "/puerperamanage", method = RequestMethod.GET) @ResponseBody public BaseListResponse queryPuerperaList(@Valid PuerperaManagerQueryRequest managerRequest) { - return puerperaManagerFacade.findPuerperaList(managerRequest); + return patientFacade.findPatientList(managerRequest); } - + /** * * 产妇管理删除接口 @@ -51,7 +54,7 @@ public class PuerperaManageController extends RestController{ @ResponseBody public BaseResponse deleteOnePuerperaById(@RequestParam("id") String id) { //软删除数据 - return puerperaManagerFacade.deleteOnePuerperaById(id, Boolean.TRUE); + return patientFacade.deleteOnePuerperaById(id, Boolean.TRUE); } /** @@ -65,7 +68,7 @@ public class PuerperaManageController extends RestController{ @ResponseBody @RequestMapping(value = "/matchpuerpera", method = RequestMethod.POST) public BaseResponse matchCommunity(@Valid PuerperaMatcherCommunityRequest puerperaMatcherCommunityRequest){ - return puerperaManagerFacade.matchCommunity(puerperaMatcherCommunityRequest); + return patientFacade.matchCommunity(puerperaMatcherCommunityRequest); } /** * 产妇管理修改 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VisitController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VisitController.java index e09445c..01e3c56 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VisitController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/VisitController.java @@ -4,11 +4,9 @@ import javax.validation.Valid; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; 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.ResponseBody; +import org.springframework.web.bind.annotation.*; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.result.BaseObjectResponse; @@ -58,8 +56,8 @@ public class VisitController extends RestController { * @return 返回结果 */ @ResponseBody - @RequestMapping(value = "/visitpuerpera", method = RequestMethod.POST) - public BaseResponse addOneVisit(@Valid + @RequestMapping(value = "/visitpuerpera", method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE,consumes =MediaType.APPLICATION_JSON_VALUE ) + public BaseResponse addOneVisit(@Valid @RequestBody VisitAddRequest visitAddRequest) { return visitFacade.addOneVisit(visitAddRequest); } @@ -72,7 +70,7 @@ public class VisitController extends RestController { * @return 返回结果 */ @ResponseBody - @RequestMapping(value = "/visitbaby", method = RequestMethod.POST) + @RequestMapping(value = "/visitbaby", method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE,consumes =MediaType.APPLICATION_JSON_VALUE ) public BaseResponse addOneBabyVisit(@Valid BabyVisitAddRequest babyVisitAddRequest) { return visitFacade.addOrUpdateBabyAndVisit(babyVisitAddRequest); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java index 8ce538c..78a7cc9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyManagerFacade.java @@ -4,6 +4,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +31,8 @@ public class BabyManagerFacade { @Autowired private PuerperaService puerperaService; + @Autowired + private PatientsService patientsService; @Autowired private BabyService babyService; @@ -52,11 +57,23 @@ public class BabyManagerFacade { if (StringUtils.isNotEmpty(babyManagerRequest.getKeyword())) { PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); puerperaQuery.setKeyword(babyManagerRequest.getKeyword()); + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setKeyword(babyManagerRequest.getKeyword()); // 符合关键字的产妇列表 - List puerList = puerperaService.queryPuerpera(puerperaQuery); - +// List puerList = puerperaService.queryPuerpera(puerperaQuery); + List puerList = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isNotEmpty(puerList)) { - for (PuerperaModel model : puerList) { + /* for (PuerperaModel model : puerList) { + babyQuery.setParentId(model.getId()); + List babies = babyService.queryBabyWithQuery(babyQuery); + if (CollectionUtils.isNotEmpty(babies)) { + for (BabyModel baby : babies) { + data.add(buildResult(baby, model)); + } + } + }*/ + + for(Patients model : puerList) { babyQuery.setParentId(model.getId()); List babies = babyService.queryBabyWithQuery(babyQuery); if (CollectionUtils.isNotEmpty(babies)) { @@ -71,7 +88,7 @@ public class BabyManagerFacade { List babies = babyService.queryBabyWithQuery(babyQuery); if (CollectionUtils.isNotEmpty(babies)) { for (BabyModel baby : babies) { - data.add(buildResult(baby, puerperaService.findOnePuerperaById(baby.getParentId()))); + data.add(buildResult(baby,/* puerperaService.findOnePuerperaById(baby.getParentId())*/patientsService.findOnePatientById(baby.getParentId()))); } } } @@ -122,4 +139,21 @@ public class BabyManagerFacade { babyResult.setCommunity(StringUtils.isEmpty(puerModel.getCommunityId()) ? "" : puerModel.getCommunityId()); return babyResult; } + public BabyResult buildResult(BabyModel baby, Patients puerModel) { + BabyResult babyResult = new BabyResult(); + + // 填充小孩信息 + babyResult.convertToResult(baby); + babyResult.setMotherName(puerModel.getUsername()); + babyResult.setMotherPhone(puerModel.getPhone()); + // HashMap map = (HashMap)JsonUtil.str2Obj(puerModel.getAddress(), HashMap.class); + // 需要将数据库中的json结构地址解析出来 + HashMap map = new HashMap<>(); + map.put("address", "测试地址"); + babyResult.setAddress(map.get("address").toString()); + babyResult.setParentId(puerModel.getId()); + // TODO 需要根据产妇模型上的社区id获取社区信息 + babyResult.setCommunity(StringUtils.isEmpty(puerModel.getCommunityId()) ? "" : puerModel.getCommunityId()); + return babyResult; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java new file mode 100644 index 0000000..9dec6b3 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -0,0 +1,112 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.PatientsService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.Assert; +import com.lyms.platform.operate.web.request.PuerperaManagerQueryRequest; +import com.lyms.platform.operate.web.request.PuerperaManagerUpdateRequest; +import com.lyms.platform.operate.web.request.PuerperaMatcherCommunityRequest; +import com.lyms.platform.operate.web.result.PuerperaResult; +import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PuerperaModel; +import com.lyms.platform.query.PatientsQuery; +import com.lyms.platform.query.PuerperaModelQuery; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Administrator on 2016/4/22 0022. + */ +@Component +public class PatientFacade { + + @Autowired + private PatientsService patientsService; + + + /** + * 修改产妇的社区 + * + * @param puerperaMatcherCommunityRequest 修改产妇社区 + * + * @return + */ + public BaseResponse matchCommunity(PuerperaMatcherCommunityRequest puerperaMatcherCommunityRequest){ + Patients puerperaModel = patientsService.findOnePatientById(puerperaMatcherCommunityRequest.getParentId()); + Assert.notNull(puerperaModel, "产妇信息不存在"); + puerperaModel.setCommunityId(puerperaMatcherCommunityRequest.getCommunityId()); + patientsService.updatePatient(puerperaModel); + //TODO 产妇分配了社区,需要给对应的社区提示消息 + return new BaseResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS); + } + + /** + * 修改产妇信息 + * + * @param managerUpdateRequest + * 产妇信息修改请求 + * @return + */ + public BaseResponse updateOnePuerperaData(PuerperaManagerUpdateRequest managerUpdateRequest) { + + patientsService.updatePatient(managerUpdateRequest.convertToDataModel1()); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } + + /** + * 获取符合条件的产妇数据 + * + * @param managerRequest + * @return + */ + public BaseListResponse findPatientList(PuerperaManagerQueryRequest managerRequest) { + PatientsQuery puerperaQuery = new PatientsQuery(); + 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()); + puerperaQuery.setYn(YnEnums.YES.getId()); + // 调用service查询 + + List puerperaList = patientsService.queryPatient(puerperaQuery); + List data = new ArrayList(); + if (CollectionUtils.isNotEmpty(puerperaList)) { + + for (Patients model : puerperaList) { + PuerperaResult result = new PuerperaResult(); + data.add(result.convertToResult(model)); + } + } + + return new BaseListResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(data); + } + + /** + * 删除一条产妇数据 + * + * @param id + * 产妇id + * @param softDel + * 是否是软删除 true/false + * @return 处理结果 + */ + public BaseResponse deleteOnePuerperaById(String id, boolean softDel) { + if (softDel) { + Patients obj = new Patients(); + obj.setId(id); + obj.setYn(YnEnums.NO.getId()); + patientsService.updatePatient(obj); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PuerperaManagerFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PuerperaManagerFacade.java index 09de380..d6c8401 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PuerperaManagerFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PuerperaManagerFacade.java @@ -1,5 +1,6 @@ package com.lyms.platform.operate.web.facade; +import com.lyms.platform.biz.service.PatientsService; import com.lyms.platform.biz.service.PuerperaService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; @@ -30,6 +31,7 @@ public class PuerperaManagerFacade { @Autowired private PuerperaService puerperaService; + /** * 修改产妇的社区 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java index e4e1f83..16b59de 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java @@ -3,15 +3,14 @@ package com.lyms.platform.operate.web.facade; import java.util.ArrayList; import java.util.List; +import com.lyms.platform.biz.service.*; +import com.lyms.platform.pojo.*; +import com.lyms.platform.query.PatientsQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import com.lyms.platform.biz.service.BabyService; -import com.lyms.platform.biz.service.BabyVisitService; -import com.lyms.platform.biz.service.PuerperaService; -import com.lyms.platform.biz.service.VisitService; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; @@ -23,10 +22,6 @@ import com.lyms.platform.operate.web.result.BabyVisitResult; import com.lyms.platform.operate.web.result.BabyVisitResult.BabyVisit; import com.lyms.platform.operate.web.result.SimpleVisit; import com.lyms.platform.operate.web.result.VisitResult; -import com.lyms.platform.pojo.BabyModel; -import com.lyms.platform.pojo.BabyVisitModel; -import com.lyms.platform.pojo.PuerperaModel; -import com.lyms.platform.pojo.VisitModel; import com.lyms.platform.query.BabyModelQuery; import com.lyms.platform.query.PuerperaModelQuery; import com.lyms.platform.query.VisitQuery; @@ -50,6 +45,8 @@ public class VisitFacade { @Autowired private BabyService babyService; + @Autowired + private PatientsService patientsService; /** * 根据产妇id获取产妇的访视信息 @@ -58,7 +55,7 @@ public class VisitFacade { * @return */ public BaseObjectResponse findOneById(String id) { - return doBiz(puerperaService.findOnePuerperaById(id)); + return doBiz(patientsService.findOnePatientById(id)); } /** @@ -69,7 +66,7 @@ public class VisitFacade { * @return */ public BaseObjectResponse findOneByCardNo(String cardNo) { - PuerperaModel puerperaModel= findOnePuerperaByCardNo(cardNo); + Patients puerperaModel= findOnePuerperaByCardNo(cardNo); if (null == puerperaModel) { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.DEPT_NOT_EXISTS).setErrormsg("产妇信息不存在"); } @@ -82,10 +79,10 @@ public class VisitFacade { * @param puerperaModel * @return */ - private BaseObjectResponse doBiz(PuerperaModel puerperaModel) { + private BaseObjectResponse doBiz(Patients puerperaModel) { VisitResult data = new VisitResult(); if (null != puerperaModel) { - data.convertToResult(puerperaModel); + data.convertToResult1(puerperaModel); VisitQuery visitQuery = new VisitQuery(); visitQuery.setParentId(puerperaModel.getId()); List visits = visitService.queryVisit(visitQuery); @@ -109,12 +106,12 @@ public class VisitFacade { * 身份证号码 * @return 产妇信息 */ - private PuerperaModel findOnePuerperaByCardNo(String cardNo) { - PuerperaModelQuery query = new PuerperaModelQuery(); + private Patients findOnePuerperaByCardNo(String cardNo) { + PatientsQuery query = new PatientsQuery(); query.setCardNo(cardNo); query.setYn(YnEnums.YES.getId()); // 根据身份证号找到产妇信息 - return puerperaService.findOnePuerperaByCardNo(query); + return patientsService.findOnePatientByCardNo(query); } /** @@ -128,25 +125,30 @@ public class VisitFacade { // 获取患者id String parentId = visitRequest.getParentId(); if (StringUtils.isNotEmpty(parentId)) { - PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); + /* PuerperaModelQuery puerperaQuery = new PuerperaModelQuery(); puerperaQuery.setId(parentId); - PuerperaModel model; - List puerList = puerperaService.queryPuerpera(puerperaQuery); + PuerperaModel model;*/ + Patients model; + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setId(parentId); + List puerList = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isNotEmpty(puerList)) { model = puerList.get(0); SimpleVisitPuerpera destModel = visitRequest.getPuerpera(); SimpleVisitPuerpera srcModel = visitRequest.new SimpleVisitPuerpera(model); // 和数据库里面的对象比较如果不等就表示有修改需存入到数据库中 if (!destModel.equals(srcModel)) { - puerperaService.updatePuerpera(visitRequest.getPuerpera().build()); + patientsService.updatePatient(visitRequest.getPatients()/*.build()*/); } } else { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("产妇信息不存在"); } } else { // 表示是新的产妇直接新增 - parentId = puerperaService.addPuerpera(visitRequest.getPuerpera().build()).getId(); +// parentId = puerperaService.addPuerpera(visitRequest.getPuerpera().build()).getId(); + parentId =patientsService.addPatient(visitRequest.getPatients()).getId(); } + // 如果为空表示新增 if (StringUtils.isEmpty(visitRequest.getRequestVisit().getId())) { if (StringUtils.isNotEmpty(parentId)) { @@ -191,14 +193,14 @@ public class VisitFacade { */ public BaseObjectResponse findBabyVisitByMotherCardNo(String cardNo) { // 根据身份证号获取到产妇信息 - PuerperaModel puerperaModel = findOnePuerperaByCardNo(cardNo); + Patients puerperaModel = findOnePuerperaByCardNo(cardNo); if (null == puerperaModel) { return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.DEPT_NOT_EXISTS).setErrormsg("产妇信息不存在"); } return findBabyVisit(puerperaModel); } - private BaseObjectResponse findBabyVisit(PuerperaModel puerperaModel) { + private BaseObjectResponse findBabyVisit(Patients puerperaModel) { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setParentId(puerperaModel.getId()); babyQuery.setYn(YnEnums.YES.getId()); @@ -220,7 +222,7 @@ public class VisitFacade { // TODO 需要转换成具体的result对象 // 设置产妇的信息 - babyVisitResult.convertToResult(puerperaModel); + babyVisitResult.convertToResult1(puerperaModel); babyVisitResult.setData(data); return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(babyVisitResult); } @@ -236,7 +238,7 @@ public class VisitFacade { if (null == babyModel) { return new BaseObjectResponse().setErrormsg("找不到相关的新生儿数据"); } - PuerperaModel model = puerperaService.findOnePuerperaById(babyModel.getParentId()); + Patients model = patientsService.findOnePatientById(babyModel.getParentId()); return findBabyVisit(model); } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerUpdateRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerUpdateRequest.java index a18c6d6..131f81c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerUpdateRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PuerperaManagerUpdateRequest.java @@ -6,6 +6,7 @@ import com.lyms.platform.common.base.IBasicRequestConvert; import com.lyms.platform.common.core.annotation.form.FormParam; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; +import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.PuerperaModel; import com.lyms.platform.pojo.VisitModel; @@ -373,6 +374,18 @@ public class PuerperaManagerUpdateRequest implements IBasicRequestConvert