Commit 323193bb0ab51f42e838680534a000e0ee34a696

Authored by dongqin
1 parent 9aa404f65b

孕前优生模块

Showing 4 changed files with 339 additions and 13 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java View file @ 323193b
... ... @@ -104,9 +104,14 @@
104 104 private String husbandAccountCity;
105 105  
106 106 /**
107   - * 丈夫户口所在地
  107 + * 丈夫户口所在地
108 108 */
109   - private String husbandAccountCounty;
  109 + private String husbandAccountArea;
  110 +
  111 + /**
  112 + * 丈夫户口所在地 街道
  113 + */
  114 + private String husbandAccountStreet;
110 115  
111 116 /**
112 117 * 丈夫户口所在地 详细地址
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PreEugenicsBaseListRequest.java View file @ 323193b
... ... @@ -10,9 +10,128 @@
10 10 public class PreEugenicsBaseListRequest extends BaseQuery {
11 11  
12 12 /**
13   - * 身份证
  13 + * 丈夫身份证号码/妻子身份证号码
14 14 */
15 15 private String idCardNo;
  16 +
  17 + /**
  18 + * 丈夫/妻子手机号
  19 + */
  20 + private String phone;
  21 +
  22 + /**
  23 + * 丈夫/妻子姓名
  24 + */
  25 + private String name;
  26 +
  27 + /**
  28 + * 丈夫/妻子编号
  29 + */
  30 + private String number;
  31 +
  32 + /**
  33 + * 医院
  34 + */
  35 + private String hospitalId;
  36 +
  37 + /**
  38 + * 创建人
  39 + */
  40 + private String createUser;
  41 +
  42 + /**
  43 + * 创建时间
  44 + */
  45 + private String createTime;
  46 +
  47 + /**
  48 + * 丈夫/妻子 现住址/户口所在地
  49 + */
  50 + private String province;
  51 + private String city;
  52 + private String area;
  53 + private String street;
  54 +
  55 +
  56 + public String getPhone() {
  57 + return phone;
  58 + }
  59 +
  60 + public void setPhone(String phone) {
  61 + this.phone = phone;
  62 + }
  63 +
  64 + public String getName() {
  65 + return name;
  66 + }
  67 +
  68 + public void setName(String name) {
  69 + this.name = name;
  70 + }
  71 +
  72 + public String getNumber() {
  73 + return number;
  74 + }
  75 +
  76 + public void setNumber(String number) {
  77 + this.number = number;
  78 + }
  79 +
  80 + public String getHospitalId() {
  81 + return hospitalId;
  82 + }
  83 +
  84 + public void setHospitalId(String hospitalId) {
  85 + this.hospitalId = hospitalId;
  86 + }
  87 +
  88 + public String getCreateUser() {
  89 + return createUser;
  90 + }
  91 +
  92 + public void setCreateUser(String createUser) {
  93 + this.createUser = createUser;
  94 + }
  95 +
  96 + public String getCreateTime() {
  97 + return createTime;
  98 + }
  99 +
  100 + public void setCreateTime(String createTime) {
  101 + this.createTime = createTime;
  102 + }
  103 +
  104 + public String getProvince() {
  105 + return province;
  106 + }
  107 +
  108 + public void setProvince(String province) {
  109 + this.province = province;
  110 + }
  111 +
  112 + public String getCity() {
  113 + return city;
  114 + }
  115 +
  116 + public void setCity(String city) {
  117 + this.city = city;
  118 + }
  119 +
  120 + public String getArea() {
  121 + return area;
  122 + }
  123 +
  124 + public void setArea(String area) {
  125 + this.area = area;
  126 + }
  127 +
  128 + public String getStreet() {
  129 + return street;
  130 + }
  131 +
  132 + public void setStreet(String street) {
  133 + this.street = street;
  134 + }
16 135  
17 136 public String getIdCardNo() {
18 137 return idCardNo;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PreEugenicsBaseListResult.java View file @ 323193b
  1 +package com.lyms.platform.operate.web.result;
  2 +
  3 +import com.lyms.platform.pojo.PreEugenicsBaseModel;
  4 +
  5 +public class PreEugenicsBaseListResult extends PreEugenicsBaseModel {
  6 +
  7 + /**
  8 + * 丈夫户口所在地 省市区街道详细地址
  9 + */
  10 + private String husbandAccountAddressStr;
  11 +
  12 + /**
  13 + * 丈夫现住址 省市区街道详细地址
  14 + */
  15 + private String husbandCurrentAddressStr;
  16 +
  17 + /**
  18 + * 妻子户口所在地 省市区街道详细地址
  19 + */
  20 + private String wifeAccountAddressStr;
  21 +
  22 + /**
  23 + * 妻子现住地址 省市区街道详细地址
  24 + */
  25 + private String wifeCurrentAddressStr;
  26 +
  27 + public String getHusbandAccountAddressStr() {
  28 + return husbandAccountAddressStr;
  29 + }
  30 +
  31 + public void setHusbandAccountAddressStr(String husbandAccountAddressStr) {
  32 + this.husbandAccountAddressStr = husbandAccountAddressStr;
  33 + }
  34 +
  35 + public String getHusbandCurrentAddressStr() {
  36 + return husbandCurrentAddressStr;
  37 + }
  38 +
  39 + public void setHusbandCurrentAddressStr(String husbandCurrentAddressStr) {
  40 + this.husbandCurrentAddressStr = husbandCurrentAddressStr;
  41 + }
  42 +
  43 + public String getWifeAccountAddressStr() {
  44 + return wifeAccountAddressStr;
  45 + }
  46 +
  47 + public void setWifeAccountAddressStr(String wifeAccountAddressStr) {
  48 + this.wifeAccountAddressStr = wifeAccountAddressStr;
  49 + }
  50 +
  51 + public String getWifeCurrentAddressStr() {
  52 + return wifeCurrentAddressStr;
  53 + }
  54 +
  55 + public void setWifeCurrentAddressStr(String wifeCurrentAddressStr) {
  56 + this.wifeCurrentAddressStr = wifeCurrentAddressStr;
  57 + }
  58 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java View file @ 323193b
1 1 package com.lyms.platform.operate.web.service.impl;
2 2  
  3 +import java.util.Date;
  4 +import java.util.LinkedList;
  5 +import java.util.List;
  6 +
  7 +import org.springframework.beans.factory.annotation.Autowired;
  8 +import org.springframework.data.domain.Sort;
  9 +import org.springframework.data.mongodb.core.MongoTemplate;
  10 +import org.springframework.data.mongodb.core.query.Criteria;
  11 +import org.springframework.data.mongodb.core.query.Query;
  12 +import org.springframework.data.mongodb.core.query.Update;
  13 +import org.springframework.stereotype.Service;
  14 +
3 15 import com.lyms.platform.biz.service.BasicConfigService;
  16 +import com.lyms.platform.common.constants.ErrorCodeConstants;
4 17 import com.lyms.platform.common.result.BaseListResponse;
5 18 import com.lyms.platform.common.result.BaseResponse;
  19 +import com.lyms.platform.common.result.CommonResult;
6 20 import com.lyms.platform.common.utils.DateUtil;
  21 +import com.lyms.platform.common.utils.MongoConvertHelper;
  22 +import com.lyms.platform.common.utils.ReflectionUtils;
  23 +import com.lyms.platform.common.utils.StringUtils;
7 24 import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest;
8 25 import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest;
  26 +import com.lyms.platform.operate.web.result.PreEugenicsBaseListResult;
9 27 import com.lyms.platform.operate.web.service.IPreEugenicsService;
  28 +import com.lyms.platform.operate.web.utils.CommonsHelper;
  29 +import com.lyms.platform.pojo.CervicalCancerModel;
10 30 import com.lyms.platform.pojo.PreEugenicsBaseModel;
11 31 import com.lyms.platform.pojo.ResidentsArchiveModel;
12 32  
13   -import org.springframework.beans.factory.annotation.Autowired;
14   -import org.springframework.data.mongodb.core.MongoTemplate;
15   -import org.springframework.data.mongodb.core.query.Criteria;
16   -import org.springframework.data.mongodb.core.query.Query;
17   -import org.springframework.stereotype.Service;
18   -
19 33 /**
20 34 * 孕前优生实现类
21 35 *
... ... @@ -93,7 +107,9 @@
93 107 */
94 108 @Override
95 109 public BaseResponse add(PreEugenicsBaseRequest param) {
96   - return null;
  110 + PreEugenicsBaseModel model = param;
  111 + mongoTemplate.insert(model);
  112 + return new BaseResponse();
97 113 }
98 114  
99 115 /**
... ... @@ -104,7 +120,16 @@
104 120 */
105 121 @Override
106 122 public BaseResponse edit(PreEugenicsBaseRequest param) {
107   - return null;
  123 + PreEugenicsBaseModel model = param;
  124 + String id = model.getId();
  125 + if (StringUtils.isNum(id)) {
  126 + return new BaseResponse("参数缺失", ErrorCodeConstants.PARAMETER_ERROR);
  127 + }
  128 + Query query = Query.query(Criteria.where("id").is(param.getId()));
  129 + Update update = MongoConvertHelper
  130 + .convertToNativeUpdate(ReflectionUtils.getUpdateField(param));
  131 + mongoTemplate.updateFirst(query, update, PreEugenicsBaseModel.class);
  132 + return new BaseResponse();
108 133 }
109 134  
110 135 /**
111 136  
... ... @@ -115,10 +140,118 @@
115 140 */
116 141 @Override
117 142 public BaseListResponse listPage(PreEugenicsBaseListRequest param) {
118   - return null;
  143 + Query query = new Query();
  144 + String idCardNo = param.getIdCardNo();
  145 + if (StringUtils.isNotEmpty(idCardNo)) {
  146 + query.addCriteria(Criteria.where("husbandCardNo").is(idCardNo).orOperator(Criteria.where("wifeCardNo").is(idCardNo)));
  147 + }
  148 + String name = param.getName();
  149 + if (StringUtils.isNotEmpty(name)) {
  150 + query.addCriteria(Criteria.where("husbandName").is(name).orOperator(Criteria.where("wifeName").is(name)));
  151 + }
  152 + String phone = param.getPhone();
  153 + if (StringUtils.isNotEmpty(phone)) {
  154 + query.addCriteria(Criteria.where("husbandPhone").is(phone).orOperator(Criteria.where("wifePhone").is(phone)));
  155 + }
  156 + String number = param.getNumber();
  157 + if (StringUtils.isNotEmpty(number)) {
  158 + query.addCriteria(Criteria.where("husbandNo").is(number).orOperator(Criteria.where("wifeNo").is(number)));
  159 + }
  160 + String hospitalId = param.getHospitalId();
  161 + if (StringUtils.isNotEmpty(hospitalId)) {
  162 + query.addCriteria(Criteria.where("hospitalId").is(hospitalId));
  163 + }
  164 + String createUser = param.getCreateUser();
  165 + if (StringUtils.isNotEmpty(createUser)) {
  166 + query.addCriteria(Criteria.where("createUser").is(createUser));
  167 + }
  168 + String createTime = param.getCreateTime();
  169 + if (StringUtils.isNotEmpty(createTime)) {
  170 + Date date = DateUtil.parseYMD(createTime);
  171 + Date dayFirstSecond = DateUtil.getDayFirstSecond(date);
  172 + Date dayLastSecond = DateUtil.getDayLastSecond(date);
  173 + query.addCriteria(Criteria.where("createUser").gte(dayFirstSecond).lte(dayLastSecond));
  174 + }
  175 +
  176 + String provinceId = param.getProvince();
  177 + if (StringUtils.isNotEmpty(provinceId)) {
  178 + query.addCriteria(Criteria.where("husbandAccountCity").is(provinceId)
  179 + .orOperator(Criteria.where("husbandCurrentProvince").is(provinceId))
  180 + .orOperator(Criteria.where("wifeAccountProvince").is(provinceId))
  181 + .orOperator(Criteria.where("wifeCurrentProvince").is(provinceId))
  182 + );
  183 + String cityId = param.getCity();
  184 + if (StringUtils.isNotEmpty(cityId)) {
  185 + query.addCriteria(Criteria.where("husbandAccountCity").is(cityId)
  186 + .orOperator(Criteria.where("husbandCurrentCity").is(cityId))
  187 + .orOperator(Criteria.where("wifeAccountCity").is(cityId))
  188 + .orOperator(Criteria.where("wifeCurrentCity").is(cityId))
  189 + );
  190 + String areaId = param.getArea();
  191 + if (StringUtils.isNotEmpty(areaId)) {
  192 + query.addCriteria(Criteria.where("husbandAccountArea").is(areaId)
  193 + .orOperator(Criteria.where("husbandCurrentArea").is(areaId))
  194 + .orOperator(Criteria.where("wifeAccountArea").is(areaId))
  195 + .orOperator(Criteria.where("wifeCurrentArea").is(areaId))
  196 + );
  197 + String streetId = param.getStreet();
  198 + if (StringUtils.isNotEmpty(streetId)) {
  199 + query.addCriteria(Criteria.where("husbandAccountStreet").is(streetId)
  200 + .orOperator(Criteria.where("husbandCurrentStreet").is(streetId))
  201 + .orOperator(Criteria.where("wifeAccountStreet").is(streetId))
  202 + .orOperator(Criteria.where("wifeCurrentStreet").is(streetId))
  203 + );
  204 + }
  205 + }
  206 + }
  207 + }
  208 + query.with(new Sort(Sort.Direction.DESC, "created"));
  209 + long count = mongoTemplate.count(query, PreEugenicsBaseModel.class);
  210 + param.mysqlBuild((int) count);
  211 + query.skip(param.getOffset()).limit(param.getLimit());
  212 + List<PreEugenicsBaseListResult> results = new LinkedList<>();
  213 + List<PreEugenicsBaseModel> preEugenicsBaseModels = mongoTemplate.find(query, PreEugenicsBaseModel.class);
  214 + for (PreEugenicsBaseModel model : preEugenicsBaseModels) {
  215 + PreEugenicsBaseListResult result = getPreEugenicsBaseListResult(model);
  216 + results.add(result);
  217 + }
  218 + BaseListResponse baseListResponse = new BaseListResponse();
  219 + baseListResponse.setData(results);
  220 + baseListResponse.setPageInfo(param.getPageInfo());
  221 + return baseListResponse;
119 222 }
120 223  
121 224 /**
  225 + * 添加 丈夫户口所在地/丈夫现住址/妻子户口所在地/妻子现住地址 省市区街道详细地址
  226 + * @param model
  227 + * @return
  228 + */
  229 + private PreEugenicsBaseListResult getPreEugenicsBaseListResult(PreEugenicsBaseModel model) {
  230 + PreEugenicsBaseListResult result = (PreEugenicsBaseListResult) model;
  231 + result.setHusbandAccountAddressStr(CommonsHelper.getResidence(model.getHusbandAccountProvince(),
  232 + model.getHusbandAccountCity(),
  233 + model.getHusbandAccountArea(),
  234 + model.getHusbandAccountStreet(),
  235 + model.getHusbandAccountAddress(), basicConfigService));
  236 + result.setHusbandCurrentAddressStr(CommonsHelper.getResidence(model.getHusbandCurrentProvince(),
  237 + model.getHusbandCurrentCity(),
  238 + model.getHusbandCurrentArea(),
  239 + model.getHusbandCurrentStreet(),
  240 + model.getHusbandCurrentAddress(), basicConfigService));
  241 + result.setWifeAccountAddressStr(CommonsHelper.getResidence(model.getWifeAccountProvince(),
  242 + model.getWifeAccountCity(),
  243 + model.getWifeAccountArea(),
  244 + model.getWifeAccountStreet(),
  245 + model.getWifeAccountAddress(), basicConfigService));
  246 + result.setWifeCurrentAddressStr(CommonsHelper.getResidence(model.getWifeCurrentProvince(),
  247 + model.getWifeCurrentCity(),
  248 + model.getWifeCurrentArea(),
  249 + model.getWifeCurrentStreet(),
  250 + model.getWifeCurrentAddress(), basicConfigService));
  251 + return result;
  252 + }
  253 +
  254 + /**
122 255 * 单个查询
123 256 *
124 257 * @param param
... ... @@ -126,7 +259,18 @@
126 259 */
127 260 @Override
128 261 public BaseResponse detail(PreEugenicsBaseRequest param) {
129   - return null;
  262 + String id = param.getId();
  263 + if (StringUtils.isNum(id)) {
  264 + return new BaseResponse();
  265 + }
  266 + PreEugenicsBaseModel model = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), PreEugenicsBaseModel.class);
  267 + PreEugenicsBaseListResult result = new PreEugenicsBaseListResult();
  268 + if (model != null) {
  269 + result = getPreEugenicsBaseListResult(model);
  270 + }
  271 + BaseResponse baseResponse = new BaseResponse();
  272 + baseResponse.setObject(result);
  273 + return baseResponse;
130 274 }
131 275 }