Commit 323193bb0ab51f42e838680534a000e0ee34a696
1 parent
9aa404f65b
Exists in
master
and in
6 other branches
孕前优生模块
Showing 4 changed files with 339 additions and 13 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/PreEugenicsBaseModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/PreEugenicsBaseListRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PreEugenicsBaseListResult.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
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 | } |