Commit 747cee697611851f8c07b81eb70e6b3eb408d797

Authored by dongqin
1 parent 17992341fc

孕前优生

Showing 2 changed files with 147 additions and 46 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PreEugenicsBaseListRequest.java View file @ 747cee6
... ... @@ -10,6 +10,11 @@
10 10 public class PreEugenicsBaseListRequest extends BaseQuery {
11 11  
12 12 /**
  13 + * 检索类型 1/丈夫 2/妻子 3/全部(默认)
  14 + */
  15 + private String searchType = "3";
  16 +
  17 + /**
13 18 * 丈夫身份证号码/妻子身份证号码
14 19 */
15 20 private String idCardNo;
... ... @@ -52,6 +57,14 @@
52 57 private String area;
53 58 private String street;
54 59  
  60 +
  61 + public String getSearchType() {
  62 + return searchType;
  63 + }
  64 +
  65 + public void setSearchType(String searchType) {
  66 + this.searchType = searchType;
  67 + }
55 68  
56 69 public String getPhone() {
57 70 return phone;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java View file @ 747cee6
... ... @@ -4,6 +4,7 @@
4 4 import java.util.LinkedList;
5 5 import java.util.List;
6 6  
  7 +import org.springframework.beans.BeanUtils;
7 8 import org.springframework.beans.factory.annotation.Autowired;
8 9 import org.springframework.data.domain.Sort;
9 10 import org.springframework.data.mongodb.core.MongoTemplate;
... ... @@ -120,7 +121,7 @@
120 121 public BaseResponse edit(PreEugenicsBaseRequest param) {
121 122 PreEugenicsBaseModel model = param;
122 123 String id = model.getId();
123   - if (StringUtils.isNum(id)) {
  124 + if (StringUtils.isEmpty(id)) {
124 125 return new BaseResponse("参数缺失", ErrorCodeConstants.PARAMETER_ERROR);
125 126 }
126 127 Query query = Query.query(Criteria.where("id").is(param.getId()));
127 128  
128 129  
129 130  
130 131  
131 132  
... ... @@ -139,26 +140,24 @@
139 140 @Override
140 141 public BaseListResponse listPage(PreEugenicsBaseListRequest param) {
141 142 Query query = new Query();
  143 + String searchType = param.getSearchType();
142 144 String idCardNo = param.getIdCardNo();
143   - if (StringUtils.isNotEmpty(idCardNo)) {
144   - query.addCriteria(Criteria.where("husbandCardNo").is(idCardNo).orOperator(Criteria.where("wifeCardNo").is(idCardNo)));
145   - }
  145 + query = getQueryByIdCardNo(query, searchType, idCardNo);
  146 +
146 147 String name = param.getName();
147   - if (StringUtils.isNotEmpty(name)) {
148   - query.addCriteria(Criteria.where("husbandName").is(name).orOperator(Criteria.where("wifeName").is(name)));
149   - }
  148 + query = getQueryByName(query, searchType, name);
  149 +
150 150 String phone = param.getPhone();
151   - if (StringUtils.isNotEmpty(phone)) {
152   - query.addCriteria(Criteria.where("husbandPhone").is(phone).orOperator(Criteria.where("wifePhone").is(phone)));
153   - }
  151 + query = getQueryByPhone(query, searchType, phone);
  152 +
154 153 String number = param.getNumber();
155   - if (StringUtils.isNotEmpty(number)) {
156   - query.addCriteria(Criteria.where("husbandNo").is(number).orOperator(Criteria.where("wifeNo").is(number)));
157   - }
  154 + query = getQueryByNumber(query, searchType, number);
  155 +
158 156 String hospitalId = param.getHospitalId();
159 157 if (StringUtils.isNotEmpty(hospitalId)) {
160 158 query.addCriteria(Criteria.where("hospitalId").is(hospitalId));
161 159 }
  160 +
162 161 String createUser = param.getCreateUser();
163 162 if (StringUtils.isNotEmpty(createUser)) {
164 163 query.addCriteria(Criteria.where("createUser").is(createUser));
... ... @@ -171,38 +170,8 @@
171 170 query.addCriteria(Criteria.where("createUser").gte(dayFirstSecond).lte(dayLastSecond));
172 171 }
173 172  
174   - String provinceId = param.getProvince();
175   - if (StringUtils.isNotEmpty(provinceId)) {
176   - query.addCriteria(Criteria.where("husbandAccountCity").is(provinceId)
177   - .orOperator(Criteria.where("husbandCurrentProvince").is(provinceId))
178   - .orOperator(Criteria.where("wifeAccountProvince").is(provinceId))
179   - .orOperator(Criteria.where("wifeCurrentProvince").is(provinceId))
180   - );
181   - String cityId = param.getCity();
182   - if (StringUtils.isNotEmpty(cityId)) {
183   - query.addCriteria(Criteria.where("husbandAccountCity").is(cityId)
184   - .orOperator(Criteria.where("husbandCurrentCity").is(cityId))
185   - .orOperator(Criteria.where("wifeAccountCity").is(cityId))
186   - .orOperator(Criteria.where("wifeCurrentCity").is(cityId))
187   - );
188   - String areaId = param.getArea();
189   - if (StringUtils.isNotEmpty(areaId)) {
190   - query.addCriteria(Criteria.where("husbandAccountArea").is(areaId)
191   - .orOperator(Criteria.where("husbandCurrentArea").is(areaId))
192   - .orOperator(Criteria.where("wifeAccountArea").is(areaId))
193   - .orOperator(Criteria.where("wifeCurrentArea").is(areaId))
194   - );
195   - String streetId = param.getStreet();
196   - if (StringUtils.isNotEmpty(streetId)) {
197   - query.addCriteria(Criteria.where("husbandAccountStreet").is(streetId)
198   - .orOperator(Criteria.where("husbandCurrentStreet").is(streetId))
199   - .orOperator(Criteria.where("wifeAccountStreet").is(streetId))
200   - .orOperator(Criteria.where("wifeCurrentStreet").is(streetId))
201   - );
202   - }
203   - }
204   - }
205   - }
  173 + query = getQueryByAddress(param, searchType, query);
  174 +
206 175 query.with(new Sort(Sort.Direction.DESC, "created"));
207 176 long count = mongoTemplate.count(query, PreEugenicsBaseModel.class);
208 177 param.mysqlBuild((int) count);
209 178  
... ... @@ -219,13 +188,132 @@
219 188 return baseListResponse;
220 189 }
221 190  
  191 + private Query getQueryByAddress(PreEugenicsBaseListRequest param, String searchType, Query query) {
  192 + String provinceId = param.getProvince();
  193 + if (StringUtils.isNotEmpty(provinceId)) {
  194 + if ("1".equals(searchType)) {
  195 + query.addCriteria(Criteria.where("husbandAccountCity").is(provinceId)
  196 + .orOperator(Criteria.where("husbandCurrentProvince").is(provinceId)));
  197 + } else if ("2".equals(searchType)) {
  198 + query.addCriteria(Criteria.where("wifeAccountProvince").is(provinceId)
  199 + .orOperator(Criteria.where("wifeCurrentProvince").is(provinceId)));
  200 + } else {
  201 + query.addCriteria(Criteria.where("husbandAccountCity").is(provinceId)
  202 + .orOperator(Criteria.where("husbandCurrentProvince").is(provinceId))
  203 + .orOperator(Criteria.where("wifeAccountProvince").is(provinceId))
  204 + .orOperator(Criteria.where("wifeCurrentProvince").is(provinceId)));
  205 + }
  206 + String cityId = param.getCity();
  207 + if (StringUtils.isNotEmpty(cityId)) {
  208 + if ("1".equals(searchType)) {
  209 + query.addCriteria(Criteria.where("husbandAccountCity").is(cityId)
  210 + .orOperator(Criteria.where("husbandCurrentCity").is(cityId)));
  211 + } else if ("2".equals(searchType)) {
  212 + query.addCriteria(Criteria.where("wifeAccountProvince").is(provinceId)
  213 + .orOperator(Criteria.where("wifeCurrentProvince").is(provinceId)));
  214 + } else {
  215 + query.addCriteria(Criteria.where("husbandAccountCity").is(cityId)
  216 + .orOperator(Criteria.where("husbandCurrentCity").is(cityId))
  217 + .orOperator(Criteria.where("wifeAccountCity").is(cityId))
  218 + .orOperator(Criteria.where("wifeCurrentCity").is(cityId)));
  219 + }
  220 + String areaId = param.getArea();
  221 + if (StringUtils.isNotEmpty(areaId)) {
  222 + if ("1".equals(searchType)) {
  223 + query.addCriteria(Criteria.where("husbandAccountArea").is(areaId)
  224 + .orOperator(Criteria.where("husbandCurrentArea").is(areaId)));
  225 + } else if ("2".equals(searchType)) {
  226 + query.addCriteria(Criteria.where("wifeAccountArea").is(areaId)
  227 + .orOperator(Criteria.where("wifeCurrentArea").is(areaId)));
  228 + } else {
  229 + query.addCriteria(Criteria.where("husbandAccountArea").is(areaId)
  230 + .orOperator(Criteria.where("husbandCurrentArea").is(areaId))
  231 + .orOperator(Criteria.where("wifeAccountArea").is(areaId))
  232 + .orOperator(Criteria.where("wifeCurrentArea").is(areaId)));
  233 + }
  234 + String streetId = param.getStreet();
  235 + if (StringUtils.isNotEmpty(streetId)) {
  236 + if ("1".equals(searchType)) {
  237 + query.addCriteria(Criteria.where("husbandAccountStreet").is(streetId)
  238 + .orOperator(Criteria.where("husbandCurrentStreet").is(streetId)));
  239 + } else if ("2".equals(searchType)) {
  240 + query.addCriteria(Criteria.where("wifeAccountStreet").is(streetId)
  241 + .orOperator(Criteria.where("wifeCurrentStreet").is(streetId)));;
  242 + } else {
  243 + query.addCriteria(Criteria.where("husbandAccountStreet").is(streetId)
  244 + .orOperator(Criteria.where("husbandCurrentStreet").is(streetId))
  245 + .orOperator(Criteria.where("wifeAccountStreet").is(streetId))
  246 + .orOperator(Criteria.where("wifeCurrentStreet").is(streetId)));
  247 + }
  248 + }
  249 + }
  250 + }
  251 + }
  252 + return query;
  253 + }
  254 +
  255 + private Query getQueryByNumber(Query query, String searchType, String number) {
  256 + if (StringUtils.isNotEmpty(number)) {
  257 + if ("1".equals(searchType)) {
  258 + return query.addCriteria(Criteria.where("husbandNo").is(number));
  259 + }
  260 + if ("2".equals(searchType)) {
  261 + return query.addCriteria(Criteria.where("wifeNo").is(number));
  262 + }
  263 + return query.addCriteria(Criteria.where("husbandNo").is(number).orOperator(Criteria.where("wifeNo").is(number)));
  264 + }
  265 + return query;
  266 + }
  267 +
  268 + private Query getQueryByPhone(Query query, String searchType, String phone) {
  269 + if (StringUtils.isNotEmpty(phone)) {
  270 + if ("1".equals(searchType)) {
  271 + return query.addCriteria(Criteria.where("husbandPhone").is(phone));
  272 + }
  273 + if ("2".equals(searchType)) {
  274 + return query.addCriteria(Criteria.where("wifePhone").is(phone));
  275 + }
  276 + return query.addCriteria(Criteria.where("husbandPhone").is(phone).orOperator(Criteria.where("wifePhone").is(phone)));
  277 + }
  278 + return query;
  279 + }
  280 +
  281 + private Query getQueryByName(Query query, String searchType, String name) {
  282 + if (StringUtils.isNotEmpty(name)) {
  283 + if ("1".equals(searchType)) {
  284 + return query.addCriteria(Criteria.where("husbandName").is(name));
  285 + }
  286 + if ("2".equals(searchType)) {
  287 + return query.addCriteria(Criteria.where("wifeName").is(name));
  288 + }
  289 + return query.addCriteria(Criteria.where("husbandName").is(name).orOperator(Criteria.where("wifeName").is(name)));
  290 + }
  291 + return query;
  292 + }
  293 +
  294 + private Query getQueryByIdCardNo(Query query, String searchType, String idCardNo) {
  295 + if (StringUtils.isNotEmpty(idCardNo)) {
  296 + if (StringUtils.isNotEmpty(searchType)) {
  297 + if ("1".equals(searchType)) {
  298 + return query.addCriteria(Criteria.where("husbandCardNo").is(idCardNo));
  299 + }
  300 + if ("2".equals(searchType)) {
  301 + return query.addCriteria(Criteria.where("wifeCardNo").is(idCardNo));
  302 + }
  303 + }
  304 + return query.addCriteria(Criteria.where("husbandCardNo").is(idCardNo).orOperator(Criteria.where("wifeCardNo").is(idCardNo)));
  305 + }
  306 + return query;
  307 + }
  308 +
222 309 /**
223 310 * 添加 丈夫户口所在地/丈夫现住址/妻子户口所在地/妻子现住地址 省市区街道详细地址
224 311 * @param model
225 312 * @return
226 313 */
227 314 private PreEugenicsBaseListResult getPreEugenicsBaseListResult(PreEugenicsBaseModel model) {
228   - PreEugenicsBaseListResult result = (PreEugenicsBaseListResult) model;
  315 + PreEugenicsBaseListResult result = new PreEugenicsBaseListResult();
  316 + BeanUtils.copyProperties(model, result);
229 317 result.setHusbandAccountAddressStr(CommonsHelper.getResidence(model.getHusbandAccountProvince(),
230 318 model.getHusbandAccountCity(),
231 319 model.getHusbandAccountArea(),