Commit 23bd89ff6dc35184ddecf92a42815f29f7b8698f
1 parent
e79b591a30
Exists in
master
and in
6 other branches
隆化婚检同步和肌萎缩接口
Showing 9 changed files with 935 additions and 15 deletions
- platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
- platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java
- platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
View file @
23bd89f
... | ... | @@ -15,8 +15,10 @@ |
15 | 15 | import org.apache.commons.lang.StringUtils; |
16 | 16 | import org.slf4j.Logger; |
17 | 17 | import org.slf4j.LoggerFactory; |
18 | +import org.springframework.beans.BeanUtils; | |
18 | 19 | import org.springframework.beans.factory.annotation.Autowired; |
19 | 20 | import org.springframework.data.domain.Sort; |
21 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
20 | 22 | import org.springframework.data.mongodb.core.query.Criteria; |
21 | 23 | import org.springframework.data.mongodb.core.query.Query; |
22 | 24 | import org.springframework.stereotype.Service; |
23 | 25 | |
... | ... | @@ -33,7 +35,10 @@ |
33 | 35 | public static final String his_version = PropertiesUtils.getPropertyValue("his_version"); |
34 | 36 | @Autowired |
35 | 37 | private MatDeliverService matDeliverService; |
38 | + | |
36 | 39 | @Autowired |
40 | + private MongoTemplate mongoTemplate; | |
41 | + @Autowired | |
37 | 42 | private IPatientDao iPatientDao; |
38 | 43 | @Autowired |
39 | 44 | private ISieveDao sieveDao; |
... | ... | @@ -195,6 +200,37 @@ |
195 | 200 | } |
196 | 201 | |
197 | 202 | /** |
203 | + * 添加肌萎缩 10 -14周 | |
204 | + */ | |
205 | + public void addSmnJob() { | |
206 | + Date endDate = DateUtil.addDay(DateUtil.formatDate(new Date()), -70); | |
207 | + Date start = DateUtil.addDay(DateUtil.formatDate(new Date()), -98); | |
208 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
209 | + patientsQuery.setLastMensesEnd(endDate); | |
210 | + patientsQuery.setLastMensesStart(start); | |
211 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
212 | + patientsQuery.setDueStatus(0); | |
213 | + patientsQuery.setType(1); | |
214 | + List<Patients> patientses = iPatientDao.queryPatient(patientsQuery.convertToQuery()); | |
215 | + int batchSize = 200; | |
216 | + if (CollectionUtils.isNotEmpty(patientses)) { | |
217 | + | |
218 | + int end = 0; | |
219 | + List<Patients> patient; | |
220 | + for (int i = 0; i < patientses.size(); ) { | |
221 | + end = i + batchSize; | |
222 | + if (end > patientses.size()) { | |
223 | + end = patientses | |
224 | + .size(); | |
225 | + } | |
226 | + patient = patientses.subList(i, end); | |
227 | + i += batchSize; | |
228 | + new Thread(new PatientSmnWorker(patient)).start(); | |
229 | + } | |
230 | + } | |
231 | + } | |
232 | + | |
233 | + /** | |
198 | 234 | * 满足孕15+3至20+6之间和有产筛申请单的数据 |
199 | 235 | */ |
200 | 236 | public void addSieveJob() { |
201 | 237 | |
... | ... | @@ -974,7 +1010,38 @@ |
974 | 1010 | public List<PredictedStatisticsCountModel> predictedStatistics() { |
975 | 1011 | return iPatientDao.predictedStatistics(); |
976 | 1012 | } |
1013 | + private class PatientSmnWorker extends Thread { | |
977 | 1014 | |
1015 | + private List<Patients> patientses; | |
1016 | + private long startTime; | |
1017 | + | |
1018 | + private PatientSmnWorker(List<Patients> patientses) { | |
1019 | + this.patientses = patientses; | |
1020 | + startTime = System.currentTimeMillis(); | |
1021 | + } | |
1022 | + | |
1023 | + @Override | |
1024 | + public void run() { | |
1025 | + if (CollectionUtils.isNotEmpty(patientses)) | |
1026 | + { | |
1027 | + for (Patients patient : patientses) { | |
1028 | + Query query = Query.query(Criteria.where("patientId").is(patient.getId())); | |
1029 | + List<SmnModel> smnModels = mongoTemplate.find(query, SmnModel.class); | |
1030 | + if (CollectionUtils.isEmpty(smnModels)) | |
1031 | + { | |
1032 | + SmnModel smnModel = new SmnModel(); | |
1033 | + BeanUtils.copyProperties(patient,smnModel); | |
1034 | + smnModel.setStatus(1); | |
1035 | + smnModel.setCreated(new Date()); | |
1036 | + smnModel.setPatientId(patient.getId()); | |
1037 | + smnModel.setId(null); | |
1038 | + smnModel.setYn(YnEnums.YES.getId()); | |
1039 | + mongoTemplate.save(smnModel); | |
1040 | + } | |
1041 | + } | |
1042 | + } | |
1043 | + } | |
1044 | + } | |
978 | 1045 | private class PatientWorker extends Thread { |
979 | 1046 | |
980 | 1047 | private List<Patients> patientses; |
platform-dal/src/main/java/com/lyms/platform/pojo/SmnModel.java
View file @
23bd89f
1 | +package com.lyms.platform.pojo; | |
2 | + | |
3 | +import org.springframework.data.mongodb.core.mapping.Document; | |
4 | + | |
5 | +import java.util.Date; | |
6 | + | |
7 | +@Document(collection = "lyms_smn") | |
8 | +public class SmnModel { | |
9 | + | |
10 | + private String id; | |
11 | + private String patientId; | |
12 | + private String pid; | |
13 | + //末次月经 | |
14 | + private Date lastMenses; | |
15 | + private String phone; | |
16 | + private Date birth; | |
17 | + private String vcCardNo; | |
18 | + /** | |
19 | + * 身份证号码 | |
20 | + */ | |
21 | + private String cardNo; | |
22 | + private String username; | |
23 | + /** | |
24 | + * 孕妇户籍地址 | |
25 | + */ | |
26 | + private String address; | |
27 | + private String provinceId; | |
28 | + private String cityId; | |
29 | + private String areaId; | |
30 | + private String streetId; | |
31 | + | |
32 | + /** | |
33 | + * 孕妇居住地 | |
34 | + */ | |
35 | + private String addressRegister; | |
36 | + private String provinceRegisterId; | |
37 | + private String cityRegisterId; | |
38 | + private String areaRegisterId; | |
39 | + private String streetRegisterId; | |
40 | + | |
41 | + | |
42 | + private String mzNum; //门诊号 | |
43 | + private String bedNum;//床号 | |
44 | + private String ybType;//样本类型 外周血 | |
45 | + private String ybNum;//样本号 | |
46 | + private Date sendDate;//送检时间 | |
47 | + private String sendDoctor;//送检医生 | |
48 | + private String diagnose;//诊断 | |
49 | + | |
50 | + private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 | |
51 | + | |
52 | + private String hospitalId;//当前录入机构id | |
53 | + private String sendHospitalId;//送检医院 | |
54 | + | |
55 | + private Double smn7; //基因外显子7 | |
56 | + private Double smn8;//基因外显子8 | |
57 | + | |
58 | + private String smn7Result; //基因外显子7 结果 | |
59 | + private String smn8Result;//基因外显子8 结果 | |
60 | + | |
61 | + private Integer yn; | |
62 | + | |
63 | + | |
64 | + private Integer result; //1 阴性 2 阳性 | |
65 | + | |
66 | + private String suggest;//建议 | |
67 | + private String checker;//检验员 | |
68 | + private String reviewer;//审核人 | |
69 | + private String approver;//批准人 | |
70 | + private Date checkDate;//检查日期 | |
71 | + private Date created;//创建记录时间 | |
72 | + | |
73 | + public Integer getYn() { | |
74 | + return yn; | |
75 | + } | |
76 | + | |
77 | + public void setYn(Integer yn) { | |
78 | + this.yn = yn; | |
79 | + } | |
80 | + | |
81 | + public Date getCreated() { | |
82 | + return created; | |
83 | + } | |
84 | + | |
85 | + public void setCreated(Date created) { | |
86 | + this.created = created; | |
87 | + } | |
88 | + | |
89 | + public String getId() { | |
90 | + return id; | |
91 | + } | |
92 | + | |
93 | + public void setId(String id) { | |
94 | + this.id = id; | |
95 | + } | |
96 | + | |
97 | + public String getPatientId() { | |
98 | + return patientId; | |
99 | + } | |
100 | + | |
101 | + public void setPatientId(String patientId) { | |
102 | + this.patientId = patientId; | |
103 | + } | |
104 | + | |
105 | + public String getPid() { | |
106 | + return pid; | |
107 | + } | |
108 | + | |
109 | + public void setPid(String pid) { | |
110 | + this.pid = pid; | |
111 | + } | |
112 | + | |
113 | + public Date getLastMenses() { | |
114 | + return lastMenses; | |
115 | + } | |
116 | + | |
117 | + public void setLastMenses(Date lastMenses) { | |
118 | + this.lastMenses = lastMenses; | |
119 | + } | |
120 | + | |
121 | + public String getPhone() { | |
122 | + return phone; | |
123 | + } | |
124 | + | |
125 | + public void setPhone(String phone) { | |
126 | + this.phone = phone; | |
127 | + } | |
128 | + | |
129 | + public Date getBirth() { | |
130 | + return birth; | |
131 | + } | |
132 | + | |
133 | + public void setBirth(Date birth) { | |
134 | + this.birth = birth; | |
135 | + } | |
136 | + | |
137 | + public String getVcCardNo() { | |
138 | + return vcCardNo; | |
139 | + } | |
140 | + | |
141 | + public void setVcCardNo(String vcCardNo) { | |
142 | + this.vcCardNo = vcCardNo; | |
143 | + } | |
144 | + | |
145 | + public String getCardNo() { | |
146 | + return cardNo; | |
147 | + } | |
148 | + | |
149 | + public void setCardNo(String cardNo) { | |
150 | + this.cardNo = cardNo; | |
151 | + } | |
152 | + | |
153 | + public String getUsername() { | |
154 | + return username; | |
155 | + } | |
156 | + | |
157 | + public void setUsername(String username) { | |
158 | + this.username = username; | |
159 | + } | |
160 | + | |
161 | + public String getAddress() { | |
162 | + return address; | |
163 | + } | |
164 | + | |
165 | + public void setAddress(String address) { | |
166 | + this.address = address; | |
167 | + } | |
168 | + | |
169 | + public String getProvinceId() { | |
170 | + return provinceId; | |
171 | + } | |
172 | + | |
173 | + public void setProvinceId(String provinceId) { | |
174 | + this.provinceId = provinceId; | |
175 | + } | |
176 | + | |
177 | + public String getCityId() { | |
178 | + return cityId; | |
179 | + } | |
180 | + | |
181 | + public void setCityId(String cityId) { | |
182 | + this.cityId = cityId; | |
183 | + } | |
184 | + | |
185 | + public String getAreaId() { | |
186 | + return areaId; | |
187 | + } | |
188 | + | |
189 | + public void setAreaId(String areaId) { | |
190 | + this.areaId = areaId; | |
191 | + } | |
192 | + | |
193 | + public String getStreetId() { | |
194 | + return streetId; | |
195 | + } | |
196 | + | |
197 | + public void setStreetId(String streetId) { | |
198 | + this.streetId = streetId; | |
199 | + } | |
200 | + | |
201 | + public String getAddressRegister() { | |
202 | + return addressRegister; | |
203 | + } | |
204 | + | |
205 | + public void setAddressRegister(String addressRegister) { | |
206 | + this.addressRegister = addressRegister; | |
207 | + } | |
208 | + | |
209 | + public String getProvinceRegisterId() { | |
210 | + return provinceRegisterId; | |
211 | + } | |
212 | + | |
213 | + public void setProvinceRegisterId(String provinceRegisterId) { | |
214 | + this.provinceRegisterId = provinceRegisterId; | |
215 | + } | |
216 | + | |
217 | + public String getCityRegisterId() { | |
218 | + return cityRegisterId; | |
219 | + } | |
220 | + | |
221 | + public void setCityRegisterId(String cityRegisterId) { | |
222 | + this.cityRegisterId = cityRegisterId; | |
223 | + } | |
224 | + | |
225 | + public String getAreaRegisterId() { | |
226 | + return areaRegisterId; | |
227 | + } | |
228 | + | |
229 | + public void setAreaRegisterId(String areaRegisterId) { | |
230 | + this.areaRegisterId = areaRegisterId; | |
231 | + } | |
232 | + | |
233 | + public String getStreetRegisterId() { | |
234 | + return streetRegisterId; | |
235 | + } | |
236 | + | |
237 | + public void setStreetRegisterId(String streetRegisterId) { | |
238 | + this.streetRegisterId = streetRegisterId; | |
239 | + } | |
240 | + | |
241 | + public String getMzNum() { | |
242 | + return mzNum; | |
243 | + } | |
244 | + | |
245 | + public void setMzNum(String mzNum) { | |
246 | + this.mzNum = mzNum; | |
247 | + } | |
248 | + | |
249 | + public String getBedNum() { | |
250 | + return bedNum; | |
251 | + } | |
252 | + | |
253 | + public void setBedNum(String bedNum) { | |
254 | + this.bedNum = bedNum; | |
255 | + } | |
256 | + | |
257 | + public String getYbType() { | |
258 | + return ybType; | |
259 | + } | |
260 | + | |
261 | + public void setYbType(String ybType) { | |
262 | + this.ybType = ybType; | |
263 | + } | |
264 | + | |
265 | + public String getYbNum() { | |
266 | + return ybNum; | |
267 | + } | |
268 | + | |
269 | + public void setYbNum(String ybNum) { | |
270 | + this.ybNum = ybNum; | |
271 | + } | |
272 | + | |
273 | + public Date getSendDate() { | |
274 | + return sendDate; | |
275 | + } | |
276 | + | |
277 | + public void setSendDate(Date sendDate) { | |
278 | + this.sendDate = sendDate; | |
279 | + } | |
280 | + | |
281 | + public String getSendDoctor() { | |
282 | + return sendDoctor; | |
283 | + } | |
284 | + | |
285 | + public void setSendDoctor(String sendDoctor) { | |
286 | + this.sendDoctor = sendDoctor; | |
287 | + } | |
288 | + | |
289 | + public String getDiagnose() { | |
290 | + return diagnose; | |
291 | + } | |
292 | + | |
293 | + public void setDiagnose(String diagnose) { | |
294 | + this.diagnose = diagnose; | |
295 | + } | |
296 | + | |
297 | + | |
298 | + | |
299 | + public String getHospitalId() { | |
300 | + return hospitalId; | |
301 | + } | |
302 | + | |
303 | + public void setHospitalId(String hospitalId) { | |
304 | + this.hospitalId = hospitalId; | |
305 | + } | |
306 | + | |
307 | + public String getSendHospitalId() { | |
308 | + return sendHospitalId; | |
309 | + } | |
310 | + | |
311 | + public void setSendHospitalId(String sendHospitalId) { | |
312 | + this.sendHospitalId = sendHospitalId; | |
313 | + } | |
314 | + | |
315 | + public Double getSmn7() { | |
316 | + return smn7; | |
317 | + } | |
318 | + | |
319 | + public void setSmn7(Double smn7) { | |
320 | + this.smn7 = smn7; | |
321 | + } | |
322 | + | |
323 | + public Double getSmn8() { | |
324 | + return smn8; | |
325 | + } | |
326 | + | |
327 | + public void setSmn8(Double smn8) { | |
328 | + this.smn8 = smn8; | |
329 | + } | |
330 | + | |
331 | + public String getSmn7Result() { | |
332 | + return smn7Result; | |
333 | + } | |
334 | + | |
335 | + public void setSmn7Result(String smn7Result) { | |
336 | + this.smn7Result = smn7Result; | |
337 | + } | |
338 | + | |
339 | + public String getSmn8Result() { | |
340 | + return smn8Result; | |
341 | + } | |
342 | + | |
343 | + public void setSmn8Result(String smn8Result) { | |
344 | + this.smn8Result = smn8Result; | |
345 | + } | |
346 | + | |
347 | + public Integer getStatus() { | |
348 | + return status; | |
349 | + } | |
350 | + | |
351 | + public void setStatus(Integer status) { | |
352 | + this.status = status; | |
353 | + } | |
354 | + | |
355 | + public Integer getResult() { | |
356 | + return result; | |
357 | + } | |
358 | + | |
359 | + public void setResult(Integer result) { | |
360 | + this.result = result; | |
361 | + } | |
362 | + | |
363 | + public String getSuggest() { | |
364 | + return suggest; | |
365 | + } | |
366 | + | |
367 | + public void setSuggest(String suggest) { | |
368 | + this.suggest = suggest; | |
369 | + } | |
370 | + | |
371 | + public String getChecker() { | |
372 | + return checker; | |
373 | + } | |
374 | + | |
375 | + public void setChecker(String checker) { | |
376 | + this.checker = checker; | |
377 | + } | |
378 | + | |
379 | + public String getReviewer() { | |
380 | + return reviewer; | |
381 | + } | |
382 | + | |
383 | + public void setReviewer(String reviewer) { | |
384 | + this.reviewer = reviewer; | |
385 | + } | |
386 | + | |
387 | + public String getApprover() { | |
388 | + return approver; | |
389 | + } | |
390 | + | |
391 | + public void setApprover(String approver) { | |
392 | + this.approver = approver; | |
393 | + } | |
394 | + | |
395 | + public Date getCheckDate() { | |
396 | + return checkDate; | |
397 | + } | |
398 | + | |
399 | + public void setCheckDate(Date checkDate) { | |
400 | + this.checkDate = checkDate; | |
401 | + } | |
402 | +} |
platform-operate-api/src/main/java/com/lyms/hospitalapi/lhxfy/LhxfyService.java
View file @
23bd89f
... | ... | @@ -915,6 +915,13 @@ |
915 | 915 | } |
916 | 916 | } |
917 | 917 | } |
918 | + /**梅毒***/ | |
919 | + premaritalCheckup.setTp("2"); | |
920 | + /***艾滋病筛查***/ | |
921 | + premaritalCheckup.setLhHiv("2"); | |
922 | + /***乙肝表面抗原***/ | |
923 | + premaritalCheckup.setHbsag("2"); | |
924 | + | |
918 | 925 | //检查结果更新到个人档案 |
919 | 926 | Query query2 = Query.query(Criteria.where("id").is(premaritalCheckup.getId())); |
920 | 927 | Update update2 = MongoConvertHelper |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmnController.java
View file @
23bd89f
1 | +package com.lyms.platform.operate.web.controller; | |
2 | + | |
3 | +import com.fasterxml.jackson.annotation.JsonAlias; | |
4 | +import com.lyms.platform.common.annotation.TokenRequired; | |
5 | +import com.lyms.platform.common.base.BaseController; | |
6 | +import com.lyms.platform.common.result.BaseListResponse; | |
7 | +import com.lyms.platform.common.result.BaseResponse; | |
8 | +import com.lyms.platform.operate.web.facade.SmnFacade; | |
9 | +import com.lyms.platform.operate.web.request.SmnQueryRequest; | |
10 | +import com.lyms.platform.operate.web.request.SmnRequest; | |
11 | +import org.springframework.beans.factory.annotation.Autowired; | |
12 | +import org.springframework.stereotype.Controller; | |
13 | +import org.springframework.web.bind.annotation.*; | |
14 | + | |
15 | +import javax.servlet.http.HttpServletRequest; | |
16 | + | |
17 | +@Controller | |
18 | +public class SmnController extends BaseController { | |
19 | + | |
20 | + @Autowired | |
21 | + private SmnFacade smnFacade; | |
22 | + | |
23 | + /** | |
24 | + * 保存单个 | |
25 | + * | |
26 | + * @param param | |
27 | + * @return | |
28 | + */ | |
29 | + @RequestMapping(method = RequestMethod.POST, value = "/addSmnApply") | |
30 | + @ResponseBody | |
31 | + @TokenRequired | |
32 | + public BaseResponse addSmn(@RequestBody SmnRequest param, HttpServletRequest request) { | |
33 | + return smnFacade.addSmn(param, getUserId(request)); | |
34 | + } | |
35 | + | |
36 | + /** | |
37 | + * 编辑单个 | |
38 | + * | |
39 | + * @param param | |
40 | + * @return | |
41 | + */ | |
42 | + @RequestMapping(method = RequestMethod.POST, value = "/editSmn") | |
43 | + @ResponseBody | |
44 | + @TokenRequired | |
45 | + public BaseResponse editSmn(@RequestBody SmnRequest param, HttpServletRequest request) { | |
46 | + return smnFacade.editSmn(param); | |
47 | + } | |
48 | + | |
49 | + | |
50 | + @RequestMapping(method = RequestMethod.GET, value = "/setSmnStatus/{id}/{status}") | |
51 | + @ResponseBody | |
52 | + @TokenRequired | |
53 | + public BaseResponse setSmnStatus(@PathVariable String id,@PathVariable Integer status, HttpServletRequest request) { | |
54 | + return smnFacade.setSmnStatus(id,status); | |
55 | + } | |
56 | + | |
57 | + /** | |
58 | + * 列表 | |
59 | + * | |
60 | + * @param param | |
61 | + * @return | |
62 | + */ | |
63 | + @RequestMapping(method = RequestMethod.GET, value = "/getSmnList") | |
64 | + @ResponseBody | |
65 | + @TokenRequired | |
66 | + public BaseListResponse getSmnList(@JsonAlias SmnQueryRequest param, HttpServletRequest request) { | |
67 | + return smnFacade.getSmnList(param, getUserId(request)); | |
68 | + } | |
69 | + | |
70 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java
View file @
23bd89f
... | ... | @@ -605,7 +605,12 @@ |
605 | 605 | patientsService.addSieveJob(); |
606 | 606 | return "finish"; |
607 | 607 | } |
608 | - | |
608 | + @RequestMapping(value = "/addSmnJob", method = RequestMethod.GET) | |
609 | + @ResponseBody | |
610 | + public String addSmnJob() { | |
611 | + patientsService.addSmnJob(); | |
612 | + return "finish"; | |
613 | + } | |
609 | 614 | @RequestMapping(value = "/autoMatDeliver", method = RequestMethod.GET) |
610 | 615 | @ResponseBody |
611 | 616 | public String autoMatDeliver() { |
612 | 617 | |
613 | 618 | |
614 | 619 | |
... | ... | @@ -5217,15 +5222,50 @@ |
5217 | 5222 | return "success"; |
5218 | 5223 | } |
5219 | 5224 | |
5220 | - @RequestMapping(value = "/lpfy/getFmData", method = RequestMethod.GET) | |
5225 | + | |
5226 | + @RequestMapping(value = "/syncPreEugebicsToHj", method = RequestMethod.GET) | |
5221 | 5227 | @ResponseBody |
5222 | - public Map getFmData(@RequestParam(required = false)String cardNo) { | |
5228 | + public String syncPreEugebicsToHj() { | |
5223 | 5229 | |
5224 | - Map<String,String> data = new HashMap(); | |
5225 | - data.put("130824199802011022","{\"code\":0,\"message\":\"成功\",\"data\":{\"due_week\":\"39\",\"due_day\":\"3\",\"fetus_num\":null,\"placenta_num\":\"1\",\"bhnum\":\"227347\",\"maternal_info\":null,\"chbp\":null,\"ch2bp\":null,\"breath\":null,\"pulse\":null,\"oh_lose_blood\":null,\"th_lose_blood\":null,\"rh_lose_blood\":null,\"sh_lose_blood\":null,\"lose_blood_cause\":null,\"babyList\":[{\"delivery_mode\":\"1\",\"operation_cause\":null,\"prod_process_one\":\"0\",\"prod_process_two\":\"0\",\"prod_process_three\":\"0\",\"total_process\":null,\"perineal_condition\":\"split\",\"silie_level\":\"1\",\"needle_num\":\"0\",\"tmctype\":\"1\",\"tmcside\":null,\"tlong\":null,\"twidth\":null,\"theight\":null,\"tweight\":null,\"um_length\":null,\"um_extype\":null,\"baby_fetal_presentation\":null,\"baby_fetal_position\":\"LOA\",\"baby_sex\":\"1\",\"baby_delivery_time\":\"2022-06-23 10:18:00\",\"baby_pregnancy_out\":\"0\",\"baby_weight\":\"3780\",\"baby_height\":\"54\",\"baby_deformity\":null,\"baby_apgar_score_one\":\"10\",\"baby_apgar_score_five\":\"10\",\"baby_apgar_score_ten\":\"10\",\"baby_asphyxiam\":null,\"baby_sick\":null,\"baby_touch_startm\":null,\"baby_touch_lastm\":null,\"baby_earlysuck\":null}]}}"); | |
5226 | - data.put("230183200004020240","{\"code\":0,\"message\":\"成功\",\"data\":{\"due_week\":\"40\",\"due_day\":\"5\",\"fetus_num\":null,\"placenta_num\":\"1\",\"bhnum\":\"227630\",\"maternal_info\":null,\"chbp\":null,\"ch2bp\":null,\"breath\":null,\"pulse\":null,\"oh_lose_blood\":null,\"th_lose_blood\":null,\"rh_lose_blood\":null,\"sh_lose_blood\":null,\"lose_blood_cause\":null,\"babyList\":[{\"delivery_mode\":\"1\",\"operation_cause\":null,\"prod_process_one\":\"0\",\"prod_process_two\":\"0\",\"prod_process_three\":\"0\",\"total_process\":null,\"perineal_condition\":\"split\",\"silie_level\":\"0\",\"needle_num\":\"0\",\"tmctype\":\"1\",\"tmcside\":null,\"tlong\":null,\"twidth\":null,\"theight\":null,\"tweight\":null,\"um_length\":null,\"um_extype\":null,\"baby_fetal_presentation\":null,\"baby_fetal_position\":\"正枕前\",\"baby_sex\":\"0\",\"baby_delivery_time\":\"2022-06-21 23:58:40\",\"baby_pregnancy_out\":\"0\",\"baby_weight\":\"3100\",\"baby_height\":\"50\",\"baby_deformity\":null,\"baby_apgar_score_one\":\"10\",\"baby_apgar_score_five\":\"10\",\"baby_apgar_score_ten\":\"10\",\"baby_asphyxiam\":null,\"baby_sick\":null,\"baby_touch_startm\":null,\"baby_touch_lastm\":null,\"baby_earlysuck\":null}]}}"); | |
5227 | - return JsonUtil.getMap(data.get(cardNo)); | |
5228 | - } | |
5230 | + Query query = Query.query(Criteria.where("hospitalId").is("2100001605").and("wifeBCheck").exists(true)); | |
5231 | + //query.addCriteria(Criteria.where("id").is("62e874db9932b2eeb3fe9a6c")); | |
5232 | + List<PreEugenicsBaseModel> modelList = mongoTemplate.find(query,PreEugenicsBaseModel.class); | |
5233 | + if (CollectionUtils.isNotEmpty(modelList)) | |
5234 | + { | |
5235 | + System.out.println("size==="+modelList.size()); | |
5236 | + for (PreEugenicsBaseModel model : modelList) | |
5237 | + { | |
5238 | + String cardNo = model.getWifeCardNo(); | |
5239 | + Query query1 = Query.query(Criteria.where("certificateNum").is(cardNo).and("xRay").exists(true)); | |
5240 | + List<PremaritalCheckup> checkupList = mongoTemplate.find(query1,PremaritalCheckup.class); | |
5241 | + if (CollectionUtils.isNotEmpty(checkupList)) | |
5242 | + { | |
5243 | + PremaritalCheckup checkup = checkupList.get(0); | |
5244 | + if (model.getWifeBCheck() != null && model.getWifeBCheck().size() > 0 && model.getWifeBCheck().get("bcjc") != null) | |
5245 | + { | |
5246 | + Object obj = model.getWifeBCheck().get("bcjc"); | |
5247 | + List<Object> list = (ArrayList)obj; | |
5248 | + if (CollectionUtils.isNotEmpty(list)) | |
5249 | + { | |
5250 | + Integer status = (Integer)list.get(0); | |
5251 | + String content = (String)list.get(1); | |
5252 | + checkup.setLhbc(String.valueOf(status+1)); | |
5253 | + checkup.setLhbcms(content); | |
5254 | + if (list.size() == 3) | |
5255 | + { | |
5256 | + String code = (String)list.get(2); | |
5257 | + checkup.setLhbcjch(code); | |
5258 | + } | |
5259 | + Update update = MongoConvertHelper | |
5260 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(checkup)); | |
5261 | + mongoTemplate.updateFirst(Query.query(Criteria.where("id").is(checkup.getId())), update, PremaritalCheckup.class); | |
5262 | + } | |
5263 | + } | |
5264 | + } | |
5265 | + } | |
5266 | + } | |
5229 | 5267 | |
5268 | + return "success"; | |
5269 | + } | |
5230 | 5270 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmnFacade.java
View file @
23bd89f
1 | +package com.lyms.platform.operate.web.facade; | |
2 | + | |
3 | +import com.lyms.platform.biz.service.PatientsService; | |
4 | +import com.lyms.platform.common.enums.YnEnums; | |
5 | +import com.lyms.platform.common.result.BaseListResponse; | |
6 | +import com.lyms.platform.common.result.BaseResponse; | |
7 | +import com.lyms.platform.common.utils.DateUtil; | |
8 | +import com.lyms.platform.common.utils.MongoConvertHelper; | |
9 | +import com.lyms.platform.common.utils.ReflectionUtils; | |
10 | +import com.lyms.platform.common.utils.StringUtils; | |
11 | +import com.lyms.platform.operate.web.request.SmnQueryRequest; | |
12 | +import com.lyms.platform.operate.web.request.SmnRequest; | |
13 | +import com.lyms.platform.pojo.Patients; | |
14 | +import com.lyms.platform.pojo.SmnModel; | |
15 | +import com.lyms.platform.query.PatientsQuery; | |
16 | +import org.springframework.beans.BeanUtils; | |
17 | +import org.springframework.beans.factory.annotation.Autowired; | |
18 | +import org.springframework.data.domain.Sort; | |
19 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
20 | +import org.springframework.data.mongodb.core.query.Criteria; | |
21 | +import org.springframework.data.mongodb.core.query.Query; | |
22 | +import org.springframework.data.mongodb.core.query.Update; | |
23 | +import org.springframework.stereotype.Component; | |
24 | + | |
25 | +import java.util.Date; | |
26 | +import java.util.List; | |
27 | + | |
28 | +@Component | |
29 | +public class SmnFacade { | |
30 | + | |
31 | + @Autowired | |
32 | + private AutoMatchFacade autoMatchFacade; | |
33 | + | |
34 | + @Autowired | |
35 | + private MongoTemplate mongoTemplate; | |
36 | + | |
37 | + @Autowired | |
38 | + private PatientsService patientsService; | |
39 | + | |
40 | + public BaseResponse addSmn(SmnRequest param, Integer userId) { | |
41 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
42 | + | |
43 | + Query query = Query.query(Criteria.where("patientId").is(param.getPatientId()).and("status").is(0)); | |
44 | + SmnModel smnModel = mongoTemplate.findOne(query, SmnModel.class); | |
45 | + if (smnModel != null) | |
46 | + { | |
47 | + BeanUtils.copyProperties(param,smnModel); | |
48 | + param.setHospitalId(hospitalId); | |
49 | + param.setStatus(2); | |
50 | + Query query1 = Query.query(Criteria.where("id").is(smnModel.getId())); | |
51 | + Update update = MongoConvertHelper | |
52 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); | |
53 | + mongoTemplate.updateFirst(query1, update, SmnModel.class); | |
54 | + return new BaseResponse(); | |
55 | + } | |
56 | + else | |
57 | + { | |
58 | + Patients patients = patientsService.findOnePatientById(param.getPatientId()); | |
59 | + BeanUtils.copyProperties(patients,param); | |
60 | + param.setHospitalId(hospitalId); | |
61 | + param.setStatus(2); | |
62 | + param.setCreated(new Date()); | |
63 | + param.setPatientId(patients.getId()); | |
64 | + param.setId(null); | |
65 | + param.setYn(YnEnums.YES.getId()); | |
66 | + mongoTemplate.save(param); | |
67 | + return new BaseResponse(); | |
68 | + } | |
69 | + | |
70 | + } | |
71 | + | |
72 | + public BaseResponse editSmn(SmnRequest param) { | |
73 | + if (param.getSmn7() != null && param.getSmn8() != null) | |
74 | + { | |
75 | + String smn7Result = "未缺失"; | |
76 | + String smn8Result = "未缺失"; | |
77 | + if (param.getSmn7() > 0.8) | |
78 | + { | |
79 | + smn7Result = "纯合缺失"; | |
80 | + } else if (param.getSmn7() > -0.45 && param.getSmn7() <=0.45) | |
81 | + { | |
82 | + smn7Result = "杂合缺失"; | |
83 | + } | |
84 | + | |
85 | + if (param.getSmn8() > 1.5) | |
86 | + { | |
87 | + smn8Result = "纯合缺失"; | |
88 | + }else if (param.getSmn8() > -0.45 && param.getSmn8() <= 0.45) | |
89 | + { | |
90 | + smn8Result = "杂合缺失"; | |
91 | + } | |
92 | + param.setSmn7Result(smn7Result); | |
93 | + param.setSmn8Result(smn8Result); | |
94 | + if ((param.getSmn7() > -0.45 && param.getSmn7() <=0.45) || (param.getSmn8() > -0.45 && param.getSmn8() <=0.45)) | |
95 | + { | |
96 | + param.setResult(2); | |
97 | + } | |
98 | + else | |
99 | + { | |
100 | + param.setResult(1); | |
101 | + } | |
102 | + } | |
103 | + | |
104 | + Query query = Query.query(Criteria.where("id").is(param.getId())); | |
105 | + Update update = MongoConvertHelper | |
106 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(param)); | |
107 | + mongoTemplate.updateFirst(query, update, SmnModel.class); | |
108 | + return new BaseResponse(); | |
109 | + } | |
110 | + | |
111 | + public BaseListResponse getSmnList(SmnQueryRequest param, Integer userId) { | |
112 | + | |
113 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
114 | + Query query = new Query(); | |
115 | + | |
116 | + if(StringUtils.isNotEmpty(param.getQueryNo())) | |
117 | + { | |
118 | + query.addCriteria(Criteria.where("phone") | |
119 | + .is(param.getQueryNo()).orOperator(Criteria.where("cardNo").is(param.getQueryNo()) | |
120 | + .orOperator(Criteria.where("username").is(param.getQueryNo())))); | |
121 | + } | |
122 | + | |
123 | + if(param.getQueryType() == 1) | |
124 | + { | |
125 | + query.addCriteria(Criteria.where("hospitalId").is(hospitalId)); | |
126 | + } | |
127 | + else if (param.getQueryType() == 1) | |
128 | + { | |
129 | + query.addCriteria(Criteria.where("sendHospitalId").is(hospitalId)); | |
130 | + if (StringUtils.isNotEmpty(param.getHospitalId())) | |
131 | + { | |
132 | + query.addCriteria(Criteria.where("hospitalId").is(param.getHospitalId())); | |
133 | + } | |
134 | + } | |
135 | + String pid = param.getPid(); | |
136 | + if (StringUtils.isNotEmpty(pid)) { | |
137 | + query.addCriteria(Criteria.where("pid").is(pid)); | |
138 | + } String patientId = param.getPatientId(); | |
139 | + | |
140 | + if (StringUtils.isNotEmpty(patientId)) { | |
141 | + query.addCriteria(Criteria.where("patientId").is(patientId)); | |
142 | + } | |
143 | + String mzNum = param.getMzNum(); | |
144 | + if (StringUtils.isNotEmpty(mzNum)) { | |
145 | + query.addCriteria(Criteria.where("mzNum").is(mzNum)); | |
146 | + } | |
147 | + String bedNum = param.getBedNum(); | |
148 | + if (StringUtils.isNotEmpty(bedNum)) { | |
149 | + query.addCriteria(Criteria.where("bedNum").is(bedNum)); | |
150 | + } | |
151 | + String ybNum = param.getYbNum(); | |
152 | + if (StringUtils.isNotEmpty(ybNum)) { | |
153 | + query.addCriteria(Criteria.where("ybNum").is(ybNum)); | |
154 | + } | |
155 | + | |
156 | + Integer status = param.getStatus(); | |
157 | + if (status != null) { | |
158 | + query.addCriteria(Criteria.where("status").is(status)); | |
159 | + } | |
160 | + | |
161 | + Integer result = param.getResult(); | |
162 | + if (result != null) { | |
163 | + query.addCriteria(Criteria.where("result").is(result)); | |
164 | + } | |
165 | + | |
166 | + String sendDate = param.getSendDate(); | |
167 | + if (StringUtils.isNotEmpty(sendDate)) { | |
168 | + String[] arrs = sendDate.split(" - "); | |
169 | + Date start = DateUtil.parseYMD(arrs[0]); | |
170 | + Date end = DateUtil.parseYMD(arrs[1]); | |
171 | + end = DateUtil.getDayLastSecond(end); | |
172 | + query.addCriteria(Criteria.where("sendDate").gte(start).lte(end)); | |
173 | + } | |
174 | + | |
175 | + String checkDate = param.getCheckDate(); | |
176 | + if (StringUtils.isNotEmpty(checkDate)) { | |
177 | + String[] arrs = checkDate.split(" - "); | |
178 | + Date start = DateUtil.parseYMD(arrs[0]); | |
179 | + Date end = DateUtil.parseYMD(arrs[1]); | |
180 | + end = DateUtil.getDayLastSecond(end); | |
181 | + query.addCriteria(Criteria.where("checkDate").gte(start).lte(end)); | |
182 | + } | |
183 | + query.with(new Sort(Sort.Direction.DESC, "created")); | |
184 | + long count = mongoTemplate.count(query, SmnModel.class); | |
185 | + param.mysqlBuild((int) count); | |
186 | + query.skip(param.getOffset()).limit(param.getLimit()); | |
187 | + List<SmnModel> smnModels = mongoTemplate.find(query, SmnModel.class); | |
188 | + BaseListResponse baseListResponse = new BaseListResponse(); | |
189 | + baseListResponse.setData(smnModels); | |
190 | + baseListResponse.setPageInfo(param.getPageInfo()); | |
191 | + return baseListResponse; | |
192 | + } | |
193 | + | |
194 | + public BaseResponse setSmnStatus(String id, Integer status) { | |
195 | + Query query = Query.query(Criteria.where("id").is(id)); | |
196 | + SmnModel smnModel = new SmnModel(); | |
197 | + smnModel.setStatus(status); | |
198 | + smnModel.setId(id); | |
199 | + Update update = MongoConvertHelper | |
200 | + .convertToNativeUpdate(ReflectionUtils.getUpdateField(smnModel)); | |
201 | + mongoTemplate.updateFirst(query, update, SmnModel.class); | |
202 | + return new BaseResponse(); | |
203 | + } | |
204 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnQueryRequest.java
View file @
23bd89f
1 | +package com.lyms.platform.operate.web.request; | |
2 | + | |
3 | +import com.lyms.platform.common.dao.BaseQuery; | |
4 | + | |
5 | + | |
6 | +public class SmnQueryRequest extends BaseQuery { | |
7 | + private Integer queryType; //1 本机构查询 2 妇幼查询 3 检验机构查询 | |
8 | + private String patientId; | |
9 | + private String pid; | |
10 | + private String queryNo;//查询号 身份证号码,手机号码,姓名 | |
11 | + private String sendDate;//送检时间 | |
12 | + private String mzNum; //门诊号 | |
13 | + private String bedNum;//床号 | |
14 | + private String ybNum;//样本号 | |
15 | + | |
16 | + private String hospitalId;//申请机构id | |
17 | + private String sendHospitalId;//送检医院id | |
18 | + | |
19 | + | |
20 | + private Integer status; //1 未申请 2 已申请 3 已接收 4 已筛查 5 不合格 | |
21 | + | |
22 | + private Integer result; //1 阴性 2 阳性 | |
23 | + | |
24 | + private String checkDate;//检查日期 | |
25 | + | |
26 | + public String getPatientId() { | |
27 | + return patientId; | |
28 | + } | |
29 | + | |
30 | + public void setPatientId(String patientId) { | |
31 | + this.patientId = patientId; | |
32 | + } | |
33 | + | |
34 | + public String getPid() { | |
35 | + return pid; | |
36 | + } | |
37 | + | |
38 | + public void setPid(String pid) { | |
39 | + this.pid = pid; | |
40 | + } | |
41 | + | |
42 | + public String getQueryNo() { | |
43 | + return queryNo; | |
44 | + } | |
45 | + | |
46 | + public void setQueryNo(String queryNo) { | |
47 | + this.queryNo = queryNo; | |
48 | + } | |
49 | + | |
50 | + public Integer getQueryType() { | |
51 | + return queryType; | |
52 | + } | |
53 | + | |
54 | + public void setQueryType(Integer queryType) { | |
55 | + this.queryType = queryType; | |
56 | + } | |
57 | + | |
58 | + public String getSendDate() { | |
59 | + return sendDate; | |
60 | + } | |
61 | + | |
62 | + public void setSendDate(String sendDate) { | |
63 | + this.sendDate = sendDate; | |
64 | + } | |
65 | + | |
66 | + public String getMzNum() { | |
67 | + return mzNum; | |
68 | + } | |
69 | + | |
70 | + public void setMzNum(String mzNum) { | |
71 | + this.mzNum = mzNum; | |
72 | + } | |
73 | + | |
74 | + public String getBedNum() { | |
75 | + return bedNum; | |
76 | + } | |
77 | + | |
78 | + public void setBedNum(String bedNum) { | |
79 | + this.bedNum = bedNum; | |
80 | + } | |
81 | + | |
82 | + public String getYbNum() { | |
83 | + return ybNum; | |
84 | + } | |
85 | + | |
86 | + public void setYbNum(String ybNum) { | |
87 | + this.ybNum = ybNum; | |
88 | + } | |
89 | + | |
90 | + | |
91 | + | |
92 | + public String getHospitalId() { | |
93 | + return hospitalId; | |
94 | + } | |
95 | + | |
96 | + public void setHospitalId(String hospitalId) { | |
97 | + this.hospitalId = hospitalId; | |
98 | + } | |
99 | + | |
100 | + public String getSendHospitalId() { | |
101 | + return sendHospitalId; | |
102 | + } | |
103 | + | |
104 | + public void setSendHospitalId(String sendHospitalId) { | |
105 | + this.sendHospitalId = sendHospitalId; | |
106 | + } | |
107 | + | |
108 | + public Integer getStatus() { | |
109 | + return status; | |
110 | + } | |
111 | + | |
112 | + public void setStatus(Integer status) { | |
113 | + this.status = status; | |
114 | + } | |
115 | + | |
116 | + public Integer getResult() { | |
117 | + return result; | |
118 | + } | |
119 | + | |
120 | + public void setResult(Integer result) { | |
121 | + this.result = result; | |
122 | + } | |
123 | + | |
124 | + public String getCheckDate() { | |
125 | + return checkDate; | |
126 | + } | |
127 | + | |
128 | + public void setCheckDate(String checkDate) { | |
129 | + this.checkDate = checkDate; | |
130 | + } | |
131 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SmnRequest.java
View file @
23bd89f
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
View file @
23bd89f
... | ... | @@ -3,10 +3,7 @@ |
3 | 3 | import java.util.*; |
4 | 4 | import java.util.concurrent.Callable; |
5 | 5 | import java.util.concurrent.Future; |
6 | -import java.util.concurrent.TimeUnit; | |
7 | 6 | |
8 | -import com.google.common.collect.ArrayListMultimap; | |
9 | -import com.google.common.collect.Multimap; | |
10 | 7 | import com.lyms.hospitalapi.lcfy.LisService; |
11 | 8 | import com.lyms.platform.biz.service.CancerScreeningService; |
12 | 9 | import com.lyms.platform.biz.service.PremaritalCheckupService; |
13 | 10 | |
14 | 11 | |
15 | 12 | |
... | ... | @@ -18,20 +15,16 @@ |
18 | 15 | import com.lyms.platform.common.utils.*; |
19 | 16 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
20 | 17 | import com.lyms.platform.operate.web.request.*; |
21 | -import com.lyms.platform.operate.web.result.PatientRiskSortResult; | |
22 | 18 | import com.lyms.platform.operate.web.utils.ResponseUtil; |
23 | 19 | import com.lyms.platform.permission.model.Organization; |
24 | -import com.lyms.platform.permission.model.OrganizationQuery; | |
25 | 20 | import com.lyms.platform.permission.service.OrganizationService; |
26 | 21 | import com.lyms.platform.permission.service.UsersService; |
27 | 22 | import com.lyms.platform.pojo.*; |
28 | 23 | import com.lyms.platform.query.CancerScreeningQuery; |
29 | -import com.lyms.platform.query.PatientsQuery; | |
30 | 24 | import com.lyms.platform.query.PremaritalCheckupQuery; |
31 | 25 | import com.lyms.platform.query.ResidentsArchiveQuery; |
32 | 26 | import org.apache.commons.collections.CollectionUtils; |
33 | 27 | import org.apache.commons.collections.MapUtils; |
34 | -import org.bson.types.ObjectId; | |
35 | 28 | import org.springframework.beans.BeanUtils; |
36 | 29 | import org.springframework.beans.factory.annotation.Autowired; |
37 | 30 | import org.springframework.beans.factory.annotation.Qualifier; |