From de78387346a3dd4cb895b7502bad5f813b020506 Mon Sep 17 00:00:00 2001 From: landong2015 Date: Mon, 5 Dec 2016 18:03:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=8F=B6=E9=85=B8=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lyms/platform/pojo/FolicAcid.java | 30 ++-- .../com/lyms/platform/query/FolicAcidQuery.java | 125 +++++++++++++-- .../web/controller/FolicAcidController.java | 61 +++++++ .../operate/web/facade/FolicAcidFacade.java | 175 +++++++++++++++++++++ .../operate/web/request/FolicAcidAddRequest.java | 102 ++++++++++++ .../operate/web/request/FolicAcidQueryRequest.java | 123 +++++++++++++++ 6 files changed, 584 insertions(+), 32 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidAddRequest.java create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidQueryRequest.java diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/FolicAcid.java b/platform-dal/src/main/java/com/lyms/platform/pojo/FolicAcid.java index 1180b24..29e73be 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/FolicAcid.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/FolicAcid.java @@ -16,8 +16,6 @@ public class FolicAcid { //妇女ID private String parentId; /* 领取信息 */ - //高危因素 - private String riskFactors; //领取数量 private String drawCount; //孕期类型 @@ -25,15 +23,16 @@ public class FolicAcid { //孕周 private String pregnancyWeeks; //高危因素 - private String hightRisk; + private String highRisk; - /* 院内信息 */ + /* 发放信息 */ //发放单位 private String hospitalId; //发放人 private String operator; //领取时间 - private String drawTime; + private Date drawTime; + //创建时间 private Date created; //修改时间 @@ -43,6 +42,15 @@ public class FolicAcid { //有效标识 private Integer yn; + + public String getHighRisk() { + return highRisk; + } + + public void setHighRisk(String highRisk) { + this.highRisk = highRisk; + } + public Date getCreated() { return created; } @@ -91,14 +99,6 @@ public class FolicAcid { this.parentId = parentId; } - public String getRiskFactors() { - return riskFactors; - } - - public void setRiskFactors(String riskFactors) { - this.riskFactors = riskFactors; - } - public String getDrawCount() { return drawCount; } @@ -139,11 +139,11 @@ public class FolicAcid { this.operator = operator; } - public String getDrawTime() { + public Date getDrawTime() { return drawTime; } - public void setDrawTime(String drawTime) { + public void setDrawTime(Date drawTime) { this.drawTime = drawTime; } } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java index f346e6d..16332e4 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java @@ -2,7 +2,13 @@ package com.lyms.platform.query; import com.lyms.platform.common.base.IConvertToNativeQuery; import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; +import org.apache.commons.lang.StringUtils; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; /** * Created by Administrator on 2016/12/1 0001. @@ -13,25 +19,72 @@ public class FolicAcidQuery extends BaseQuery implements IConvertToNativeQuery { //妇女ID private String parentId; /* 领取信息 */ - //领取次数 - private String drawNum; //领取数量 private String drawCount; //孕期类型 private Integer pregnancyType; //孕周 private String pregnancyWeeks; - /* 院内信息 */ + //高危因素 + private String highRisk; + + /* 发放信息 */ //发放单位 private String hospitalId; //发放人 private String operator; //领取时间 - private String drawTime; + private Date drawTimeStart; + private Date drawTimeEnd; + + //创建时间 + private Date created; + //修改时间 + private Date modified; + //创建人ID + private Integer publishId; + //有效标识 + private Integer yn; @Override public MongoQuery convertToQuery() { - return null; + MongoCondition condition = MongoCondition.newInstance(); + if (StringUtils.isNotBlank(id)) { + condition = condition.and("id", id, MongoOper.IS); + } + if (StringUtils.isNotBlank(parentId)) { + condition = condition.and("parentId", parentId, MongoOper.IS); + } + if (StringUtils.isNotBlank(hospitalId)) { + condition = condition.and("hospitalId", hospitalId, MongoOper.IS); + } + if (created!=null) { + condition = condition.and("created", created, MongoOper.IS); + } + if (modified!=null) { + condition = condition.and("modified", modified, MongoOper.IS); + } + if (yn!=null) { + condition = condition.and("yn", yn, MongoOper.IS); + } + if (highRisk!=null) { + condition = condition.and("highRisk", highRisk, MongoOper.IS); + } + Criteria c1 = null; + if(null!=drawTimeStart){ + c1 = Criteria.where("drawTime").gte(drawTimeStart); + } + if(null!=drawTimeEnd){ + if (null==c1) { + c1 = Criteria.where("drawTime").lte(drawTimeEnd); + } else { + c1 = c1.lte(drawTimeEnd); + } + } + if (c1!=null) { + condition = condition.andCondition(new MongoCondition(c1)); + } + return condition.toMongoQuery(); } public String getId() { @@ -50,14 +103,6 @@ public class FolicAcidQuery extends BaseQuery implements IConvertToNativeQuery { this.parentId = parentId; } - public String getDrawNum() { - return drawNum; - } - - public void setDrawNum(String drawNum) { - this.drawNum = drawNum; - } - public String getDrawCount() { return drawCount; } @@ -82,6 +127,14 @@ public class FolicAcidQuery extends BaseQuery implements IConvertToNativeQuery { this.pregnancyWeeks = pregnancyWeeks; } + public String getHighRisk() { + return highRisk; + } + + public void setHighRisk(String highRisk) { + this.highRisk = highRisk; + } + public String getHospitalId() { return hospitalId; } @@ -98,13 +151,51 @@ public class FolicAcidQuery extends BaseQuery implements IConvertToNativeQuery { this.operator = operator; } - public String getDrawTime() { - return drawTime; + public Date getDrawTimeStart() { + return drawTimeStart; + } + + public void setDrawTimeStart(Date drawTimeStart) { + this.drawTimeStart = drawTimeStart; + } + + public Date getDrawTimeEnd() { + return drawTimeEnd; } - public void setDrawTime(String drawTime) { - this.drawTime = drawTime; + public void setDrawTimeEnd(Date drawTimeEnd) { + this.drawTimeEnd = drawTimeEnd; } + 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 Integer getPublishId() { + return publishId; + } + + public void setPublishId(Integer publishId) { + this.publishId = publishId; + } + + public Integer getYn() { + return yn; + } + + public void setYn(Integer yn) { + this.yn = yn; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java new file mode 100644 index 0000000..527c45c --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java @@ -0,0 +1,61 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.annotation.TokenRequired; +import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.facade.FolicAcidFacade; +import com.lyms.platform.operate.web.request.FolicAcidAddRequest; +import com.lyms.platform.operate.web.request.FolicAcidQueryRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; + +/** + * 叶酸发放接口 + * + * Created by Administrator on 2016/12/1 0001. + */ +@Controller +public class FolicAcidController { + + @Autowired + private FolicAcidFacade folicAcidFacade; + + //发放 + @RequestMapping(value = "/addOrUpdateFolicAcid", method = RequestMethod.POST) + @ResponseBody +// @TokenRequired + public BaseResponse addOrUpdateFolicAcid(@RequestBody FolicAcidAddRequest folicAcidAddRequest, + HttpServletRequest request) { + //获取当前登录用户ID +// LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + + return folicAcidFacade.addOrUpdateFolicAcid(folicAcidAddRequest,1); + } + + //获取单个发放记录 + @RequestMapping(value = "/getFolicAcid", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseObjectResponse getFolicAcid(@Valid FolicAcidQueryRequest folicAcidQueryRequest, + HttpServletRequest request) { + + return folicAcidFacade.getFolicAcid(folicAcidQueryRequest); + } + + //叶酸发放管理 + @RequestMapping(value = "/queryFolicAcid", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public BaseListResponse queryFolicAcid(@Valid FolicAcidQueryRequest folicAcidQueryRequest, + HttpServletRequest request) { + + return folicAcidFacade.queryFolicAcid(folicAcidQueryRequest); + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java new file mode 100644 index 0000000..0eb9e72 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java @@ -0,0 +1,175 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.FolicAcidService; +import com.lyms.platform.biz.service.ResidentsArchiveService; +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.BaseObjectResponse; +import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.operate.web.request.FolicAcidAddRequest; +import com.lyms.platform.operate.web.request.FolicAcidQueryRequest; +import com.lyms.platform.permission.model.Organization; +import com.lyms.platform.permission.model.OrganizationQuery; +import com.lyms.platform.permission.service.OrganizationService; +import com.lyms.platform.pojo.FolicAcid; +import com.lyms.platform.pojo.ResidentsArchiveModel; +import com.lyms.platform.query.FolicAcidQuery; +import com.lyms.platform.query.ResidentsArchiveQuery; +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 java.util.*; + +/** + * Created by Administrator on 2016/12/5 0005. + */ +@Component +public class FolicAcidFacade { + + @Autowired + private ResidentsArchiveService residentsArchiveService; + @Autowired + private FolicAcidService folicAcidService; + @Autowired + private OrganizationService organizationService; + + public BaseResponse addOrUpdateFolicAcid(FolicAcidAddRequest addRequest,Integer userId){ + + String id = null; + if (StringUtils.isNotEmpty(addRequest.getParentId())){ + id = addOrUpdate(addRequest,userId,addRequest.getParentId()); + } + BaseObjectResponse br = new BaseObjectResponse(); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + br.setData(id); + return br; + } + + + private String addOrUpdate(FolicAcidAddRequest addRequest,Integer userId,String parentId){ + + String id = null; + + FolicAcid folicAcid = new FolicAcid(); + folicAcid.setHospitalId(addRequest.getHospitalId()); + folicAcid.setParentId(parentId); + folicAcid.setDrawCount(addRequest.getDrawCount()); + folicAcid.setPregnancyType(addRequest.getPregnancyType()); + folicAcid.setPregnancyWeeks(addRequest.getPregnancyWeeks()); + folicAcid.setHighRisk(addRequest.getHighRisk()); + folicAcid.setOperator(addRequest.getOperator()); + folicAcid.setDrawTime(addRequest.getDrawTime()); + folicAcid.setYn(YnEnums.YES.getId()); + folicAcid.setModified(new Date()); + if (StringUtils.isNotEmpty(addRequest.getId())){ + folicAcid.setId(addRequest.getId()); + folicAcidService.updateFolicAcid(folicAcid,addRequest.getId()); + id = addRequest.getId(); + }else { + folicAcid.setCreated(new Date()); + folicAcid.setPublishId(userId); + id = folicAcidService.addFolicAcid(folicAcid).getId(); + } + return id; + } + + public BaseObjectResponse getFolicAcid(FolicAcidQueryRequest queryRequest){ + Map archiveMap = null; + FolicAcid folicAcid = null; + ResidentsArchiveModel archiveModel = null; + Map resultMap = new HashMap<>(); + + //查询妇女信息 + if (StringUtils.isNotEmpty(queryRequest.getId())){ + folicAcid = folicAcidService.getFolicAcid(queryRequest.getId()); + if (folicAcid!=null && folicAcid.getYn()== YnEnums.YES.getId() && folicAcid.getParentId()!=null){ + archiveModel = residentsArchiveService.getResident(folicAcid.getId()); + } + }else { + ResidentsArchiveQuery archiveQuery = new ResidentsArchiveQuery(); + archiveQuery.setYn(1); + archiveQuery.setHospitalId(queryRequest.getHospitalId()); + if (StringUtils.isNotEmpty(queryRequest.getCardNo())){ + archiveQuery.setCertificateNum(queryRequest.getCardNo()); + List modelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(modelList)){ + archiveModel = modelList.get(0); + } + }else if (StringUtils.isNotEmpty(queryRequest.getVcCardNo())){ + archiveQuery.setVcCardNo(queryRequest.getVcCardNo()); + List modelList = residentsArchiveService.queryResident(archiveQuery); + if (CollectionUtils.isNotEmpty(modelList)){ + archiveModel = modelList.get(0); + } + } + } + + //妇女信息 + if (archiveModel!=null){ + archiveMap = new HashMap<>(); + archiveMap.put("certificateNum", archiveModel.getCertificateNum()); + archiveMap.put("certificateTypeId", archiveModel.getCertificateTypeId()); + archiveMap.put("username", archiveModel.getUsername()); + archiveMap.put("birthday",archiveModel.getBirthday()); + archiveMap.put("age", archiveModel.getAge()); + archiveMap.put("phone", archiveModel.getPhone()); + } + resultMap.put("folicAcidResult",folicAcid); + resultMap.put("archiveResult",archiveMap); + BaseObjectResponse response = new BaseObjectResponse(); + response.setData(resultMap); + response.setErrorcode(ErrorCodeConstants.SUCCESS); + response.setErrormsg("成功"); + return response; + } + + public BaseListResponse queryFolicAcid(FolicAcidQueryRequest queryRequest){ + + List list = new ArrayList<>(); + + List organizationList = new ArrayList<>(); + + FolicAcidQuery folicAcidQuery = new FolicAcidQuery(); + folicAcidQuery.setYn(YnEnums.YES.getId()); + folicAcidQuery.setPage(queryRequest.getPage()); + folicAcidQuery.setLimit(queryRequest.getLimit()); + folicAcidQuery.setNeed("y"); + + folicAcidQuery.setHospitalId(queryRequest.getHospitalId()); + folicAcidQuery.setDrawTimeStart(queryRequest.getDrawTimeStart()); + folicAcidQuery.setDrawTimeEnd(queryRequest.getDrawTimeEnd()); + folicAcidQuery.setHighRisk(queryRequest.getHighRisk()); + + //省市区筛选机构 + if (StringUtils.isNotEmpty(queryRequest.getProvinceId()) || StringUtils.isNotEmpty(queryRequest.getCityId()) || + StringUtils.isNotEmpty(queryRequest.getAreaId())){ + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setProvinceId(queryRequest.getProvinceId()); + organizationQuery.setCityId(queryRequest.getCityId()); + organizationQuery.setAreaId(queryRequest.getAreaId()); + organizationList = organizationService.queryHospitals(organizationQuery); + } + if (CollectionUtils.isNotEmpty(organizationList)){ + for (Organization hospital : organizationList){ + folicAcidQuery.setHospitalId(String.valueOf(hospital.getId())); + List folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery); + list.addAll(folicAcidList); + } + }else { + List folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery); + list.addAll(folicAcidList); + } + BaseListResponse baseListResponse = new BaseListResponse(); + baseListResponse.setErrormsg("成功"); + baseListResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseListResponse.setData(list); + baseListResponse.setPageInfo(folicAcidQuery.getPageInfo()); + return baseListResponse; + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidAddRequest.java new file mode 100644 index 0000000..75cd862 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidAddRequest.java @@ -0,0 +1,102 @@ +package com.lyms.platform.operate.web.request; + +import java.util.Date; + +/** + * Created by Administrator on 2016/12/5 0005. + */ +public class FolicAcidAddRequest { + + private String id; + + private String parentId; + /* 领取信息 */ + //领取数量 + private String drawCount; + //孕期类型 + private Integer pregnancyType; + //孕周 + private String pregnancyWeeks; + //高危因素 + private String highRisk; + + /* 发放信息 */ + //发放单位 + private String hospitalId; + //发放人 + private String operator; + //领取时间 + private Date drawTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getParentId() { + return parentId; + } + + public void setParentId(String parentId) { + this.parentId = parentId; + } + + public String getDrawCount() { + return drawCount; + } + + public void setDrawCount(String drawCount) { + this.drawCount = drawCount; + } + + public Integer getPregnancyType() { + return pregnancyType; + } + + public void setPregnancyType(Integer pregnancyType) { + this.pregnancyType = pregnancyType; + } + + public String getPregnancyWeeks() { + return pregnancyWeeks; + } + + public void setPregnancyWeeks(String pregnancyWeeks) { + this.pregnancyWeeks = pregnancyWeeks; + } + + public String getHighRisk() { + return highRisk; + } + + public void setHighRisk(String highRisk) { + this.highRisk = highRisk; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getOperator() { + return operator; + } + + public void setOperator(String operator) { + this.operator = operator; + } + + public Date getDrawTime() { + return drawTime; + } + + public void setDrawTime(Date drawTime) { + this.drawTime = drawTime; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidQueryRequest.java new file mode 100644 index 0000000..c7bdd1f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/FolicAcidQueryRequest.java @@ -0,0 +1,123 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.Form; + +import java.util.Date; + +/** + * Created by Administrator on 2016/12/5 0005. + */ +@Form +public class FolicAcidQueryRequest extends BasePageQueryRequest { + + private String id; + + //证件号 + private String cardNo; + //证件号类型 + private String certificateTypeId; + //就诊卡号 + private String vcCardNo; + //医院ID + private String hospitalId; + //省 + private String provinceId; + //市 + private String cityId; + //区县 + private String areaId; + //发放开始时间 + private Date drawTimeStart; + //结束时间 + private Date drawTimeEnd; + //高危因素 + private String highRisk; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCardNo() { + return cardNo; + } + + public void setCardNo(String cardNo) { + this.cardNo = cardNo; + } + + public String getCertificateTypeId() { + return certificateTypeId; + } + + public void setCertificateTypeId(String certificateTypeId) { + this.certificateTypeId = certificateTypeId; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getHospitalId() { + return hospitalId; + } + + public void setHospitalId(String hospitalId) { + this.hospitalId = hospitalId; + } + + public String getProvinceId() { + return provinceId; + } + + public void setProvinceId(String provinceId) { + this.provinceId = provinceId; + } + + public String getCityId() { + return cityId; + } + + public void setCityId(String cityId) { + this.cityId = cityId; + } + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public Date getDrawTimeStart() { + return drawTimeStart; + } + + public void setDrawTimeStart(Date drawTimeStart) { + this.drawTimeStart = drawTimeStart; + } + + public Date getDrawTimeEnd() { + return drawTimeEnd; + } + + public void setDrawTimeEnd(Date drawTimeEnd) { + this.drawTimeEnd = drawTimeEnd; + } + + public String getHighRisk() { + return highRisk; + } + + public void setHighRisk(String highRisk) { + this.highRisk = highRisk; + } +} -- 1.8.3.1