Commit 131add5207bf1376b1f674503cde7eff4363911d

Authored by [wangbo]
1 parent 0090975287
Exists in master and in 1 other branch dev

产筛省市区检索

Showing 9 changed files with 342 additions and 128 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java View file @ 131add5
... ... @@ -730,7 +730,12 @@
730 730 SieveModel sieveModel = new SieveModel();
731 731 sieveModel.setParentId(patients.getId());
732 732 sieveModel.setLastMenses(patients.getLastMenses());
733   -
  733 + //省市区
  734 + sieveModel.setProvinceId(patients.getProvinceId());
  735 + sieveModel.setCityId(patients.getCityId());
  736 + sieveModel.setAreaId(patients.getAreaId());
  737 + sieveModel.setStreetId(patients.getStreetId());
  738 +
734 739 AntExQuery antExQuery = new AntExQuery();
735 740 antExQuery.setYn(YnEnums.YES.getId());
736 741 antExQuery.setNeed("1");
platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java View file @ 131add5
... ... @@ -81,10 +81,19 @@
81 81 //申请医院
82 82 private String applyHospitalId;
83 83  
  84 +
  85 + //冗余
  86 + //省市区地址
  87 + private String provinceId;
  88 + private String cityId;
  89 + private String areaId;
  90 + private String streetId;
  91 +
84 92 // 2019/8/24 12:00 dongqing 冗余产筛类型、收费类型、报告类型
85 93 /**
86 94 * null/1 血清学筛查 2/无创基因筛查 3/二者都用
87   - */ private String sieveType;
  95 + */
  96 + private String sieveType;
88 97  
89 98 /**
90 99 * 1/免费 2/自费
... ... @@ -97,6 +106,39 @@
97 106 private String reportType;
98 107  
99 108  
  109 +
  110 + public String getProvinceId() {
  111 + return provinceId;
  112 + }
  113 +
  114 + public void setProvinceId(String provinceId) {
  115 + this.provinceId = provinceId;
  116 + }
  117 +
  118 + public String getCityId() {
  119 + return cityId;
  120 + }
  121 +
  122 + public void setCityId(String cityId) {
  123 + this.cityId = cityId;
  124 + }
  125 +
  126 + public String getAreaId() {
  127 + return areaId;
  128 + }
  129 +
  130 + public void setAreaId(String areaId) {
  131 + this.areaId = areaId;
  132 + }
  133 +
  134 + public String getStreetId() {
  135 + return streetId;
  136 + }
  137 +
  138 + public void setStreetId(String streetId) {
  139 + this.streetId = streetId;
  140 + }
  141 +
100 142 public void setOrder(Integer order) {
101 143 this.order = order;
102 144 }
... ... @@ -356,7 +398,6 @@
356 398 public void setPublishName(String publishName) {
357 399 this.publishName = publishName;
358 400 }
359   -
360 401  
361 402  
362 403 public Integer getTireNumber() {
platform-dal/src/main/java/com/lyms/platform/query/SieveQuery.java View file @ 131add5
... ... @@ -112,6 +112,45 @@
112 112 */
113 113 private String reportType;
114 114  
  115 + //省市区地址
  116 + private String provinceId;
  117 + private String cityId;
  118 + private String areaId;
  119 + private String streetId;
  120 +
  121 +
  122 + public String getProvinceId() {
  123 + return provinceId;
  124 + }
  125 +
  126 + public void setProvinceId(String provinceId) {
  127 + this.provinceId = provinceId;
  128 + }
  129 +
  130 + public String getCityId() {
  131 + return cityId;
  132 + }
  133 +
  134 + public void setCityId(String cityId) {
  135 + this.cityId = cityId;
  136 + }
  137 +
  138 + public String getAreaId() {
  139 + return areaId;
  140 + }
  141 +
  142 + public void setAreaId(String areaId) {
  143 + this.areaId = areaId;
  144 + }
  145 +
  146 + public String getStreetId() {
  147 + return streetId;
  148 + }
  149 +
  150 + public void setStreetId(String streetId) {
  151 + this.streetId = streetId;
  152 + }
  153 +
115 154 public String getSieveType() {
116 155 return sieveType;
117 156 }
... ... @@ -349,7 +388,18 @@
349 388 if (null != hospitalId) {
350 389 condition = condition.and("hospitalId", hospitalId, MongoOper.IS);
351 390 }
352   -
  391 + if (StringUtils.isNotEmpty(provinceId)) {
  392 + condition = condition.and("provinceId", provinceId, MongoOper.IS);
  393 + }
  394 + if (StringUtils.isNotEmpty(cityId)) {
  395 + condition = condition.and("cityId", cityId, MongoOper.IS);
  396 + }
  397 + if (StringUtils.isNotEmpty(areaId)) {
  398 + condition = condition.and("areaId", areaId, MongoOper.IS);
  399 + }
  400 + if (StringUtils.isNotEmpty(streetId)) {
  401 + condition = condition.and("streetId", streetId, MongoOper.IS);
  402 + }
353 403 if (null != hospitalIds && hospitalIds.size() > 0) {
354 404 condition = condition.and("hospitalId", hospitalIds, MongoOper.IN);
355 405 }
... ... @@ -532,7 +582,7 @@
532 582 }
533 583 }
534 584 // sieveType = 2/无创基因筛查 3/二者都用
535   - else {
  585 + else {
536 586 condition = condition.and("sieveType", sieveType, MongoOper.IS);
537 587 }
538 588 }
... ... @@ -550,7 +600,7 @@
550 600 }
551 601 }
552 602 // costType = 2/自费
553   - else {
  603 + else {
554 604 condition = condition.and("costType", costType, MongoOper.IS);
555 605 }
556 606 }
... ... @@ -568,7 +618,7 @@
568 618 }
569 619 }
570 620 // reportType = 2/重取 3/失败
571   - else {
  621 + else {
572 622 condition = condition.and("reportType", reportType, MongoOper.IS);
573 623 }
574 624 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java View file @ 131add5
... ... @@ -48,11 +48,11 @@
48 48 * @return
49 49 */
50 50 @ResponseBody
51   - @RequestMapping(value = "/sieve",method = RequestMethod.POST)
  51 + @RequestMapping(value = "/sieve", method = RequestMethod.POST)
52 52 @TokenRequired
53   - public BaseResponse addOneSieve(@RequestBody @Valid SieveAddRequest sieveAddRequest,HttpServletRequest request) {
  53 + public BaseResponse addOneSieve(@RequestBody @Valid SieveAddRequest sieveAddRequest, HttpServletRequest request) {
54 54 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
55   - return sieveFacade.addOneSieve(sieveAddRequest,loginState.getId());
  55 + return sieveFacade.addOneSieve(sieveAddRequest, loginState.getId());
56 56 }
57 57  
58 58  
59 59  
60 60  
... ... @@ -63,11 +63,12 @@
63 63 * @return
64 64 */
65 65 @ResponseBody
66   - @RequestMapping(value = "/sieves",method = RequestMethod.GET)
  66 + @RequestMapping(value = "/sieves", method = RequestMethod.GET)
67 67 @TokenRequired
68   - public BaseResponse getOneSieve(@RequestParam("parentId")String parentId) {
  68 + public BaseResponse getOneSieve(@RequestParam("parentId") String parentId) {
69 69 return sieveFacade.getOneSieve(parentId);
70 70 }
  71 +
71 72 /**
72 73 * 产前诊断
73 74 *
... ... @@ -76,8 +77,8 @@
76 77 */
77 78 @ResponseBody
78 79 @TokenRequired
79   - @RequestMapping(value = "/cqsieve",method = RequestMethod.POST)
80   - public BaseResponse addOneChanQianDiaSieve(@RequestBody @Valid ChanQianDiaAddRequest chanQianDiaAddRequest,HttpServletRequest request) {
  80 + @RequestMapping(value = "/cqsieve", method = RequestMethod.POST)
  81 + public BaseResponse addOneChanQianDiaSieve(@RequestBody @Valid ChanQianDiaAddRequest chanQianDiaAddRequest, HttpServletRequest request) {
81 82 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
82 83 return sieveFacade.addOneChanQianDiaSieve(chanQianDiaAddRequest, loginState.getId());
83 84 }
84 85  
85 86  
86 87  
... ... @@ -91,24 +92,25 @@
91 92 */
92 93 @ResponseBody
93 94 @TokenRequired
94   - @RequestMapping(value = "/querySievePatientInfo",method = RequestMethod.GET)
95   - public BaseResponse querySievePatientInfo(@RequestParam(required = false)String cardNo,@RequestParam(required = false)String vcCardNo,HttpServletRequest request) {
  95 + @RequestMapping(value = "/querySievePatientInfo", method = RequestMethod.GET)
  96 + public BaseResponse querySievePatientInfo(@RequestParam(required = false) String cardNo, @RequestParam(required = false) String vcCardNo, HttpServletRequest request) {
96 97 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
97 98 return sieveFacade.querySievePatientInfo(cardNo, vcCardNo, loginState.getId());
98 99 }
99 100  
100 101 /**
101 102 * 查看申请单
102   - *
  103 + * <p>
103 104 * type 1 查看 2 产筛申请修改 3 结果看 4,产筛结果修改查询
  105 + *
104 106 * @param parentId
105 107 * @param request
106 108 * @return
107 109 */
108 110 @ResponseBody
109 111 @TokenRequired
110   - @RequestMapping(value = "/getSieveApplyInfo",method = RequestMethod.GET)
111   - public BaseResponse getSieveApplyInfo(@RequestParam("parentId")String parentId,@RequestParam(required = true)Integer type,HttpServletRequest request) {
  112 + @RequestMapping(value = "/getSieveApplyInfo", method = RequestMethod.GET)
  113 + public BaseResponse getSieveApplyInfo(@RequestParam("parentId") String parentId, @RequestParam(required = true) Integer type, HttpServletRequest request) {
112 114 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
113 115 return sieveFacade.getSieveApplyInfo(parentId, loginState.getId(), type);
114 116 }
115 117  
116 118  
... ... @@ -116,14 +118,15 @@
116 118  
117 119 /**
118 120 * 接收产筛申请
  121 + *
119 122 * @param parentIds
120 123 * @param request
121 124 * @return
122 125 */
123 126 @ResponseBody
124   - @RequestMapping(value = "/reviceSieve",method = RequestMethod.POST)
  127 + @RequestMapping(value = "/reviceSieve", method = RequestMethod.POST)
125 128 @TokenRequired
126   - public BaseResponse reviceSieve(@RequestBody List<String> parentIds,HttpServletRequest request){
  129 + public BaseResponse reviceSieve(@RequestBody List<String> parentIds, HttpServletRequest request) {
127 130 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
128 131 return sieveFacade.reviceSieve(parentIds, loginState.getId());
129 132 }
130 133  
131 134  
132 135  
133 136  
134 137  
135 138  
... ... @@ -135,36 +138,38 @@
135 138 * @return
136 139 */
137 140 @ResponseBody
138   - @RequestMapping(value = "/cqsieve",method = RequestMethod.GET)
  141 + @RequestMapping(value = "/cqsieve", method = RequestMethod.GET)
139 142 @TokenRequired
140   - public BaseResponse getOneChanQianDiaSieve(@RequestParam("id")String id,HttpServletRequest request) {
  143 + public BaseResponse getOneChanQianDiaSieve(@RequestParam("id") String id, HttpServletRequest request) {
141 144 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
142 145 return sieveFacade.getOneChanQianDiaSieve(id/*,loginState.getId()*/);
143 146 }
  147 +
144 148 /**
145 149 * 产前诊断
146 150 *
147 151 * @return
148 152 */
149 153 @ResponseBody
150   - @RequestMapping(value = "/checkItem",method = RequestMethod.GET)
  154 + @RequestMapping(value = "/checkItem", method = RequestMethod.GET)
151 155 @TokenRequired
152   - public BaseResponse getCheckItem(@RequestParam("parentId")String id,HttpServletRequest request) {
  156 + public BaseResponse getCheckItem(@RequestParam("parentId") String id, HttpServletRequest request) {
153 157 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
154 158 return sieveFacade.getCheckItem(id, loginState.getId());
155 159 }
156 160  
157 161 @ResponseBody
158   - @RequestMapping(value = "/cqsieve/enums",method = RequestMethod.GET)
159   - public BaseResponse getEnums(){
  162 + @RequestMapping(value = "/cqsieve/enums", method = RequestMethod.GET)
  163 + public BaseResponse getEnums() {
160 164 Map<String, Object> map = new HashMap<>();
161   - map.put("getChanQResultEnums",getChanQResultEnums());
162   - map.put("getCqResult",getCqResult());
163   - map.put("getSieveEnums",getSieveEnums());
164   - map.put("getRenShenJieJuEnums",getRenShenJieJuEnums());
165   - map.put("getNotify",getNotify());
166   - map.put("csRemarkTypeEnums",CsRemarkTypeEnums.getCSTypeEnums());
167   - return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); }
  165 + map.put("getChanQResultEnums", getChanQResultEnums());
  166 + map.put("getCqResult", getCqResult());
  167 + map.put("getSieveEnums", getSieveEnums());
  168 + map.put("getRenShenJieJuEnums", getRenShenJieJuEnums());
  169 + map.put("getNotify", getNotify());
  170 + map.put("csRemarkTypeEnums", CsRemarkTypeEnums.getCSTypeEnums());
  171 + return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功");
  172 + }
168 173  
169 174 //产前诊断结果
170 175 public List<Object> getChanQResultEnums() {
... ... @@ -178,7 +183,7 @@
178 183 return list;
179 184 }
180 185  
181   - public List<Object> getNotify(){
  186 + public List<Object> getNotify() {
182 187 List<Object> list = new ArrayList<>();
183 188 for (SieveStatusEnums enums : SieveStatusEnums.values()) {
184 189 Map<String, Object> resultMap = new HashMap<>();
... ... @@ -188,6 +193,7 @@
188 193 }
189 194 return list;
190 195 }
  196 +
191 197 //产前诊断结果
192 198 public List<Object> getCqResult() {
193 199 List<Object> list = new ArrayList<>();
194 200  
195 201  
196 202  
197 203  
198 204  
199 205  
200 206  
201 207  
202 208  
203 209  
204 210  
205 211  
206 212  
207 213  
208 214  
209 215  
210 216  
211 217  
212 218  
213 219  
... ... @@ -230,82 +236,86 @@
230 236 * @return
231 237 */
232 238 @ResponseBody
233   - @RequestMapping(value = "/cqsieves",method = RequestMethod.GET)
  239 + @RequestMapping(value = "/cqsieves", method = RequestMethod.GET)
234 240 @TokenRequired
235   - public BaseResponse queryChanQianSieve(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request){
  241 + public BaseResponse queryChanQianSieve(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request) {
236 242 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
237   - return sieveFacade.queryList(cqSieveQueryRequest,loginState.getId(),"true",false);
  243 + return sieveFacade.queryList(cqSieveQueryRequest, loginState.getId(), "true", false);
238 244 }
239 245  
240 246  
241 247 /**
242 248 * 实验室产筛管理
  249 + *
243 250 * @param cqSieveQueryRequest
244 251 * @param request
245 252 * @return
246 253 */
247 254 @ResponseBody
248   - @RequestMapping(value = "/sieveLabManage",method = RequestMethod.GET)
  255 + @RequestMapping(value = "/sieveLabManage", method = RequestMethod.GET)
249 256 @TokenRequired
250   - public BaseResponse sieveLabManage(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request){
  257 + public BaseResponse sieveLabManage(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request) {
251 258 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
252   - return sieveFacade.queryList(cqSieveQueryRequest,loginState.getId(),"true",true);
  259 + return sieveFacade.queryList(cqSieveQueryRequest, loginState.getId(), "true", true);
253 260 }
254 261  
255 262  
256   -
257 263 /**
258 264 * 导出产筛列表
  265 + *
259 266 * @param cqSieveQueryRequest
260 267 * @param request
261 268 * @return
262 269 */
263   - @RequestMapping(value = "/exportCqsieves",method = RequestMethod.GET)
  270 + @RequestMapping(value = "/exportCqsieves", method = RequestMethod.GET)
264 271 @TokenRequired
265   - public void exportCqsieves(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request,HttpServletResponse response){
  272 + public void exportCqsieves(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request, HttpServletResponse response) {
266 273 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
267   - sieveFacade.exportCqsieves(cqSieveQueryRequest, loginState.getId(),response);
  274 + sieveFacade.exportCqsieves(cqSieveQueryRequest, loginState.getId(), response);
268 275 }
269 276  
270 277  
271 278 /**
272 279 * 产筛备注保存
273   - * @param cqId 产筛id
  280 + *
  281 + * @param cqId 产筛id
274 282 * @param csRemarkTypeId 备注类型Id
275   - * @param detail 详情
  283 + * @param detail 详情
276 284 * @return
277 285 */
278 286 @ResponseBody
279   - @RequestMapping(value = "/saveCqRemark",method = RequestMethod.PUT)
  287 + @RequestMapping(value = "/saveCqRemark", method = RequestMethod.PUT)
280 288 @TokenRequired
281   - public BaseResponse saveCqRemark(@RequestParam(required = true)String cqId,@RequestParam(required = false)String csRemarkTypeId,@RequestParam(required = false)String detail) {
282   - return sieveFacade.saveCqRemark(cqId,csRemarkTypeId,detail);
  289 + public BaseResponse saveCqRemark(@RequestParam(required = true) String cqId, @RequestParam(required = false) String csRemarkTypeId, @RequestParam(required = false) String detail) {
  290 + return sieveFacade.saveCqRemark(cqId, csRemarkTypeId, detail);
283 291 }
284 292  
285 293  
286 294 /**
287 295 * 区域产前诊断及新生儿疾病筛查统计报表
  296 + *
288 297 * @param cqSieveQueryRequest
289 298 * @param request
290 299 * @param response
291 300 */
292 301 @ResponseBody
293   - @RequestMapping(value = "/queryCqsievesReport",method = RequestMethod.GET)
  302 + @RequestMapping(value = "/queryCqsievesReport", method = RequestMethod.GET)
294 303 @TokenRequired
295   - public BaseResponse queryCqsievesReport(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request,HttpServletResponse response){
  304 + public BaseResponse queryCqsievesReport(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request, HttpServletResponse response) {
296 305 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
297 306 return sieveFacade.queryCqsievesReport(cqSieveQueryRequest, loginState.getId());
298 307 }
299 308  
300 309 /**
301 310 * 导出威海市孕妇产前筛查和诊断情况月报表
  311 + *
302 312 * @param cqSieveQueryRequest
303 313 * @param request
304 314 * @param response
305 315 */
306 316 @TokenRequired
307 317 @RequestMapping(value = "exportSieveReportExcl", method = RequestMethod.POST)
308   - public void exportSieveReportExcl(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request,HttpServletResponse response) {
  318 + public void exportSieveReportExcl(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request, HttpServletResponse response) {
309 319  
310 320 sieveFacade.exportSieveReportExcl(cqSieveQueryRequest, getUserId(request), response);
311 321  
312 322  
313 323  
... ... @@ -313,18 +323,24 @@
313 323  
314 324 /**
315 325 * 导出产前诊断及新生儿疾病筛查工作情况表
  326 + *
316 327 * @param cqSieveQueryRequest
317 328 * @param request
318 329 * @param response
319 330 */
320 331 @TokenRequired
321 332 @RequestMapping(value = "exportDiagnosisReportExcl", method = RequestMethod.POST)
322   - public void exportDiagnosisReportExcl(@Valid CqSieveQueryRequest cqSieveQueryRequest,HttpServletRequest request,HttpServletResponse response) {
  333 + public void exportDiagnosisReportExcl(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request, HttpServletResponse response) {
323 334  
324 335 sieveFacade.exportDiagnosisReportExcl(cqSieveQueryRequest, getUserId(request), response);
325 336  
326 337 }
327 338 // TODO 2019/8/26 18:11 dongqing
  339 +
  340 + @RequestMapping(value = "/sieveHistory", method = RequestMethod.GET)
  341 + public void SieveHistory(Date startTime, Date endTime, String hospital) {
  342 + sieveFacade.SieveHistory(startTime, endTime, hospital);
  343 + }
328 344  
329 345  
330 346 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java View file @ 131add5
... ... @@ -19,6 +19,8 @@
19 19 import com.lyms.platform.operate.web.service.ITrackDownService;
20 20 import com.lyms.platform.operate.web.utils.CommonsHelper;
21 21 import com.lyms.platform.operate.web.worker.DueOrgCountWorker;
  22 +import com.lyms.platform.operate.web.worker.GravidaVisitHistory;
  23 +import com.lyms.platform.operate.web.worker.SieveHistory;
22 24 import com.lyms.platform.operate.web.worker.SieveWorker;
23 25 import com.lyms.platform.permission.model.Organization;
24 26 import com.lyms.platform.permission.model.OrganizationQuery;
... ... @@ -140,7 +142,7 @@
140 142 // 正常/重取/失败 报告 ==> 状态
141 143 String okType = "1", refetchType = "2", failureType = "3";
142 144 Integer status = null;
143   - if (StringUtils.isEmpty(reportType)){
  145 + if (StringUtils.isEmpty(reportType)) {
144 146 status = 3;
145 147 } else if (okType.equals(reportType)) {
146 148 status = SieveStatusEnums.O2.getId();
... ... @@ -423,6 +425,12 @@
423 425 sieveQuery.setRenShenResult(cqSieveQueryRequest.getRenShenResult());
424 426 sieveQuery.setName(cqSieveQueryRequest.getName());
425 427 sieveQuery.setCardNo(cqSieveQueryRequest.getCardNo());
  428 + //省市区查询
  429 + sieveQuery.setProvinceId(cqSieveQueryRequest.getProvinceId());
  430 + sieveQuery.setCityId(cqSieveQueryRequest.getCityId());
  431 + sieveQuery.setAreaId(cqSieveQueryRequest.getAreaId());
  432 + sieveQuery.setStreetId(cqSieveQueryRequest.getStreetId());
  433 +
426 434 if (null != cqSieveQueryRequest.getDueWeekStart()) {
427 435 sieveQuery.setDueWeekStart(7 * Integer.valueOf(cqSieveQueryRequest.getDueWeekStart()));
428 436 }
429 437  
... ... @@ -462,12 +470,12 @@
462 470 sieveQuery.setResultTimeEnd(DateUtil.parseYMDHMS(dates[1] + " 23:59:59"));
463 471 }
464 472 }
465   -
466   -
467 473 sieveQuery.setZtfx(cqSieveQueryRequest.getZtfx());
468 474 sieveQuery.setStatus(cqSieveQueryRequest.getIsNotify());
469 475 sieveQuery.setPage(cqSieveQueryRequest.getPage());
470 476 sieveQuery.setLimit(cqSieveQueryRequest.getLimit());
  477 +
  478 +
471 479 sieveQuery.setNeed(needPage);
472 480 String hospitalId = autoMatchFacade.getHospitalId(userId);
473 481  
... ... @@ -528,7 +536,7 @@
528 536 if (end > list.size()) {
529 537 end = list.size();
530 538 }
531   - listFuture.add(commonThreadPool.submit(new SieveWorker(hospitalId, list.subList(i, end), antenatalExaminationService, patientsService, applyOrderService, organizationService, diagnosisService)));
  539 + listFuture.add(commonThreadPool.submit(new SieveWorker(hospitalId, list.subList(i, end), antenatalExaminationService, patientsService, applyOrderService, organizationService, diagnosisService, basicConfigService)));
532 540 }
533 541 for (Future f : listFuture) {
534 542 try {
... ... @@ -812,8 +820,7 @@
812 820 sieveResultEditInfo.put("reportType", model.getReportType());
813 821 }
814 822 map.put("sieveResultEditInfo", sieveResultEditInfo);
815   - }
816   - else {
  823 + } else {
817 824 List<SieveApplyOrderModel> sieveApplyOrderModels = applyOrderService.querySieveApplyOrderWithQuery(sieveApplyOrderQuery1);
818 825 if (CollectionUtils.isNotEmpty(sieveApplyOrderModels)) {
819 826 Map<String, Object> result = new HashMap<>();
... ... @@ -2147,5 +2154,41 @@
2147 2154  
2148 2155 list.add(dataMap);
2149 2156 }
  2157 +
  2158 + public void SieveHistory(Date startTime, Date endTime, String hospitalId) {
  2159 + SieveQuery sieveQuery = new SieveQuery();
  2160 + sieveQuery.setHospitalId(hospitalId);
  2161 + sieveQuery.setCreatedStart(startTime);
  2162 + sieveQuery.setCreatedEnd(endTime);
  2163 + List<SieveModel> sieveQuery1 = sieveService.queryList(sieveQuery);
  2164 + System.out.println("条数" + sieveQuery1.size());
  2165 + if (CollectionUtils.isNotEmpty(sieveQuery1)) {
  2166 + int batchSize = 100;
  2167 + int ends = 0;
  2168 + List<Future> futures = new ArrayList<>();
  2169 + for (int i = 0; i < sieveQuery1.size(); i += batchSize) {
  2170 + ends = (ends + batchSize);
  2171 + if (ends > sieveQuery1.size()) {
  2172 + ends = sieveQuery1.size();
  2173 + }
  2174 + List<SieveModel> mlist = sieveQuery1.subList(i, ends);
  2175 + Callable c = new SieveHistory(mlist, patientsService, sieveService);
  2176 + Future f = commonThreadPool.submit(c);
  2177 + if (f != null) {
  2178 + futures.add(f);
  2179 + }
  2180 + }
  2181 + /*if (CollectionUtils.isNotEmpty(futures)) {
  2182 + for (Future f : futures) {
  2183 + try {
  2184 + dataRequest.add((Map<String, Integer>) f.get());
  2185 + } catch (Exception e) {
  2186 + ExceptionUtils.catchException(e, "fm list error.");
  2187 + }
  2188 + }
  2189 + }*/
  2190 + }
  2191 + }
  2192 +
2150 2193 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/CqSieveQueryRequest.java View file @ 131add5
... ... @@ -2,13 +2,14 @@
2 2  
3 3 import com.lyms.platform.common.core.annotation.form.FormParam;
4 4 import com.lyms.platform.common.core.annotation.form.Form;
  5 +
5 6 /**
6 7 * 产前筛查查询请求
7   - *
  8 + * <p>
8 9 * Created by Administrator on 2016/7/6 0006.
9 10 */
10 11 @Form
11   -public class CqSieveQueryRequest extends BasePageQueryRequest{
  12 +public class CqSieveQueryRequest extends BasePageQueryRequest {
12 13 //孕妇姓名
13 14 @FormParam
14 15 private String name;
... ... @@ -68,6 +69,7 @@
68 69 private String cityId;
69 70 private String areaId;
70 71 private String streetId;
  72 +
71 73  
72 74 private String time;
73 75  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/SieveListResult.java View file @ 131add5
... ... @@ -14,7 +14,7 @@
14 14 * Created by Administrator on 2016/7/5 0005.
15 15 */
16 16 public class SieveListResult implements IBasicResultConvert<SieveListResult, SieveModel> {
17   - public static final String SPIT="-";
  17 + public static final String SPIT = "-";
18 18  
19 19 private String id;
20 20 //患者id
... ... @@ -37,7 +37,7 @@
37 37 }
38 38  
39 39 //胎数
40   - private String tireNumber=SPIT;
  40 + private String tireNumber = SPIT;
41 41  
42 42 //申请孕周
43 43 private String dueWeek;
44 44  
... ... @@ -45,12 +45,12 @@
45 45 //整体风险
46 46 private String ztfx;
47 47 //整体风险
48   - private String ztfxText=SPIT;
  48 + private String ztfxText = SPIT;
49 49 //申请时间
50 50 private String applyTime;
51 51  
52 52 //1 孕妇 0 产妇
53   - private String isGravida="1";
  53 + private String isGravida = "1";
54 54  
55 55 //备注类型ID
56 56 private String csRemarkTypeId;
... ... @@ -69,7 +69,7 @@
69 69 private String applyHospital;
70 70  
71 71 //新增产前诊断信息
72   - private List<Map<String,String>> dia;
  72 + private List<Map<String, String>> dia;
73 73  
74 74 public List<Map<String, String>> getDia() {
75 75 return dia;
... ... @@ -112,7 +112,7 @@
112 112 }
113 113  
114 114 public String getAge() {
115   - if(null==age){
  115 + if (null == age) {
116 116 return SPIT;
117 117 }
118 118 return age;
... ... @@ -123,7 +123,7 @@
123 123 }
124 124  
125 125 public String getCsRemarkTypeText() {
126   - if(null==csRemarkTypeText){
  126 + if (null == csRemarkTypeText) {
127 127 return "";
128 128 }
129 129 return csRemarkTypeText;
... ... @@ -135,7 +135,7 @@
135 135  
136 136 public String getDetail() {
137 137  
138   - if(null==detail){
  138 + if (null == detail) {
139 139 return "";
140 140 }
141 141 return detail;
... ... @@ -162,7 +162,7 @@
162 162 }
163 163  
164 164 public String getZtfxText() {
165   - if(null==ztfxText){
  165 + if (null == ztfxText) {
166 166 return SPIT;
167 167 }
168 168  
169 169  
170 170  
... ... @@ -182,14 +182,19 @@
182 182 //产前诊断 1 已检查 0 未检查
183 183 private String cqStatus;
184 184 //产前诊断结果
185   - private String cqResult=SPIT;
  185 + private String cqResult = SPIT;
186 186 //妊娠结局
187   - private String renShenResult =SPIT;
  187 + private String renShenResult = SPIT;
188 188 private Integer status;
189 189 //状态文本
190 190 private String statusText;
191 191  
192 192 /**
  193 + * 省市区
  194 + **/
  195 + private String censusAddress;
  196 +
  197 + /**
193 198 * 血清学筛查 2/无创基因筛查 3/二者都用
194 199 */
195 200 private String sieveTypeStr;
... ... @@ -204,6 +209,15 @@
204 209 */
205 210 private String reportTypeStr;
206 211  
  212 +
  213 + public String getCensusAddress() {
  214 + return censusAddress;
  215 + }
  216 +
  217 + public void setCensusAddress(String censusAddress) {
  218 + this.censusAddress = censusAddress;
  219 + }
  220 +
207 221 public String getSieveTypeStr() {
208 222 return sieveTypeStr;
209 223 }
... ... @@ -229,7 +243,7 @@
229 243 }
230 244  
231 245 public String getStatusText() {
232   - if(null==statusText){
  246 + if (null == statusText) {
233 247 return SPIT;
234 248 }
235 249 return statusText;
... ... @@ -264,7 +278,7 @@
264 278 }
265 279  
266 280 public String getCqResult() {
267   - if(null==cqResult){
  281 + if (null == cqResult) {
268 282 return SPIT;
269 283 }
270 284 return cqResult;
... ... @@ -283,7 +297,7 @@
283 297 }
284 298  
285 299 public String getDueWeek() {
286   - if(null==dueWeek){
  300 + if (null == dueWeek) {
287 301 return SPIT;
288 302 }
289 303 return dueWeek;
... ... @@ -326,7 +340,7 @@
326 340 }
327 341  
328 342 public String getRenShenResult() {
329   - if(null==renShenResult){
  343 + if (null == renShenResult) {
330 344 return SPIT;
331 345 }
332 346 return renShenResult;
... ... @@ -337,7 +351,7 @@
337 351 }
338 352  
339 353 public String getTireNumber() {
340   - if(null==tireNumber){
  354 + if (null == tireNumber) {
341 355 return SPIT;
342 356 }
343 357 return tireNumber;
... ... @@ -349,8 +363,8 @@
349 363  
350 364 public String getZtfx() {
351 365  
352   - if(null==ztfx){
353   - return SPIT;
  366 + if (null == ztfx) {
  367 + return SPIT;
354 368 }
355 369 return ztfx;
356 370 }
357 371  
358 372  
359 373  
360 374  
361 375  
362 376  
363 377  
364 378  
365 379  
366 380  
367 381  
... ... @@ -364,46 +378,44 @@
364 378 setId(destModel.getId());
365 379 setParentId(destModel.getParentId());
366 380 setName(destModel.getName());
367   - if(null!=destModel.getApplyDate()){
  381 + if (null != destModel.getApplyDate()) {
368 382 setApplyTime(DateUtil.getyyyy_MM_dd(destModel.getApplyDate()));
369 383 }
370   - if(null!=destModel.getLastMenses()){
371   - int days= DateUtil.daysBetween(destModel.getLastMenses(), new Date());
372   - this.cDueWeek= StringUtils.dueWeek(days);
  384 + if (null != destModel.getLastMenses()) {
  385 + int days = DateUtil.daysBetween(destModel.getLastMenses(), new Date());
  386 + this.cDueWeek = StringUtils.dueWeek(days);
373 387  
374 388  
375   -
376 389 int week = (days / 7);
377   - String str = week + "周";
  390 + String str = week + "周";
378 391 int day = (days % 7);
379   - this.cDueWeek2="孕" + str + (day > 0 ? "+" + day + "天" : "");
  392 + this.cDueWeek2 = "孕" + str + (day > 0 ? "+" + day + "天" : "");
380 393 }
381   - if(null!=destModel.getTireNumber()){
  394 + if (null != destModel.getTireNumber()) {
382 395 setTireNumber(TaiShuEnums.getTitle(destModel.getTireNumber() + ""));
383 396 }
384   - if(null!=destModel.getDueWeek()){
  397 + if (null != destModel.getDueWeek()) {
385 398 setDueWeek(StringUtils.dueWeek(destModel.getDueWeek()));
386 399 }
387   - if(null!=destModel.getZtfx()) {
388   - setZtfx(destModel.getZtfx()+"");
  400 + if (null != destModel.getZtfx()) {
  401 + setZtfx(destModel.getZtfx() + "");
389 402 setZtfxText(SieveEnums.getTitle(destModel.getZtfx()));
390 403 }
391 404 setPhone(StringUtils.encryPhone(destModel.getPhone()));
392 405 setRealPhone(destModel.getPhone());
393   - if(null!=destModel.getCqStatus()) {
  406 + if (null != destModel.getCqStatus()) {
394 407 setCqStatus(ChanQResultEnums.getTitle(destModel.getCqStatus()));
395 408 }
396   - if(null!=destModel.getCqResult()) {
  409 + if (null != destModel.getCqResult()) {
397 410 setCqResult(ChanQResultEnums.CqResult.getTitle(destModel.getCqResult()));
398 411 }
399   - if(null!=destModel.getRenShenResult()) {
400   - setRenShenResult(RenShenJieJu1Enums.getTitle(destModel.getRenShenResult()+""));
  412 + if (null != destModel.getRenShenResult()) {
  413 + setRenShenResult(RenShenJieJu1Enums.getTitle(destModel.getRenShenResult() + ""));
401 414 }
402 415 setStatus(destModel.getStatus());
403 416 setStatusText(SieveStatusEnums.getStrById(destModel.getStatus()));
404 417 setCsRemarkTypeId(destModel.getCsRemarkTypeId());
405   - if (StringUtils.isNotEmpty(destModel.getCsRemarkTypeId()))
406   - {
  418 + if (StringUtils.isNotEmpty(destModel.getCsRemarkTypeId())) {
407 419 setCsRemarkTypeText(CsRemarkTypeEnums.getTitleById(Integer.parseInt(destModel.getCsRemarkTypeId())));
408 420 }
409 421 setDetail(destModel.getDetail());
... ... @@ -416,6 +428,7 @@
416 428 setSieveTypeStr(SieveEnums.SieveTypeEnums.getNameById(destModel.getSieveType()));
417 429 setCostTypeStr(SieveEnums.CostTypeEnums.getNameById(destModel.getCostType()));
418 430 setReportTypeStr(SieveEnums.ReportTypeEnums.getNameById(destModel.getReportType()));
  431 +
419 432 return this;
420 433 }
421 434 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SieveHistory.java View file @ 131add5
  1 +package com.lyms.platform.operate.web.worker;
  2 +
  3 +import com.lyms.platform.biz.service.PatientsService;
  4 +import com.lyms.platform.biz.service.SieveService;
  5 +import com.lyms.platform.operate.web.utils.CollectionUtils;
  6 +import com.lyms.platform.pojo.Patients;
  7 +import com.lyms.platform.pojo.SieveModel;
  8 +import com.lyms.platform.query.PatientsQuery;
  9 +
  10 +import java.util.List;
  11 +import java.util.concurrent.Callable;
  12 +
  13 +public class SieveHistory implements Callable {
  14 + private List<SieveModel> sieveModels;
  15 +
  16 + private PatientsService patientsService;
  17 +
  18 + private SieveService sieveService;
  19 +
  20 + public SieveHistory(List<SieveModel> sieveModels, PatientsService patientsService, SieveService sieveService) {
  21 + this.sieveModels = sieveModels;
  22 + this.patientsService = patientsService;
  23 + this.sieveService = sieveService;
  24 + }
  25 +
  26 + @Override
  27 + public Object call() throws Exception {
  28 + int i = 0;
  29 + for (SieveModel sieveModel : sieveModels) {
  30 + PatientsQuery patientsQuery = new PatientsQuery();
  31 + patientsQuery.setId(sieveModel.getParentId());
  32 + patientsQuery.setHospitalId(sieveModel.getHospitalId());
  33 + List<Patients> patientsList = patientsService.queryPatient(patientsQuery);
  34 + if (CollectionUtils.isNotEmpty(patientsList)) {
  35 + Patients patients = patientsList.get(0);
  36 + sieveModel.setProvinceId(patients.getProvinceId());
  37 + sieveModel.setCityId(patients.getCityId());
  38 + sieveModel.setAreaId(patients.getAreaId());
  39 + sieveModel.setStreetId(patients.getStreetId());
  40 + sieveService.updateOneChanQianDiaSieve(sieveModel);
  41 + i++;
  42 + }
  43 + }
  44 + System.out.println("数据处理" + i + "条");
  45 + return i;
  46 + }
  47 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/SieveWorker.java View file @ 131add5
1 1 package com.lyms.platform.operate.web.worker;
2 2  
3   -import com.lyms.platform.biz.service.AntenatalExaminationService;
4   -import com.lyms.platform.biz.service.ApplyOrderService;
5   -import com.lyms.platform.biz.service.DiagnosisService;
6   -import com.lyms.platform.biz.service.PatientsService;
  3 +import com.lyms.platform.biz.service.*;
7 4 import com.lyms.platform.common.enums.YnEnums;
8 5 import com.lyms.platform.common.utils.DateUtil;
9 6 import com.lyms.platform.operate.web.result.SieveListResult;
  7 +import com.lyms.platform.operate.web.utils.CommonsHelper;
10 8 import com.lyms.platform.permission.model.Organization;
11 9 import com.lyms.platform.permission.service.OrganizationService;
12 10 import com.lyms.platform.pojo.*;
13 11  
... ... @@ -45,10 +43,11 @@
45 43 private OrganizationService organizationService;
46 44  
47 45 private DiagnosisService diagnosisService;
  46 + private BasicConfigService basicConfigService;
48 47  
49 48 public SieveWorker(String hospitalId, List<SieveModel> list, AntenatalExaminationService antService,
50   - PatientsService patientsService,ApplyOrderService applyOrderService,
51   - OrganizationService organizationService,DiagnosisService diagnosisService) {
  49 + PatientsService patientsService, ApplyOrderService applyOrderService,
  50 + OrganizationService organizationService, DiagnosisService diagnosisService, BasicConfigService basicConfigService) {
52 51 this.hospitalId = hospitalId;
53 52 this.list = list;
54 53 this.antService = antService;
... ... @@ -56,6 +55,7 @@
56 55 this.applyOrderService = applyOrderService;
57 56 this.organizationService = organizationService;
58 57 this.diagnosisService = diagnosisService;
  58 + this.basicConfigService = basicConfigService;
59 59 }
60 60  
61 61 @Override
62 62  
63 63  
64 64  
65 65  
66 66  
67 67  
68 68  
69 69  
70 70  
... ... @@ -99,59 +99,56 @@
99 99 }
100 100  
101 101 //转诊状态 0转诊 1待接收 2已转出
102   - Integer referralStatus = 0;
  102 + Integer referralStatus = 0;
103 103  
104 104 ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery();
105 105 referralApplyOrderQuery.setType(2);
106 106 referralApplyOrderQuery.setParentId(sieveModel.getParentId());
107 107 referralApplyOrderQuery.setOutHospitalId(hospitalId);
108 108 List<ReferralApplyOrderModel> orderModels = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery);
109   - if (CollectionUtils.isNotEmpty(orderModels))
110   - {
  109 + if (CollectionUtils.isNotEmpty(orderModels)) {
111 110 ReferralApplyOrderModel model = orderModels.get(0);
112 111 // CREATED("待接收","1"),
113 112 //O("已接收","2"),
114   - /// O1("建议转诊","3");
  113 + /// O1("建议转诊","3");
115 114 Integer status = model.getStatus();
116   - if (status == 1)
117   - {
  115 + if (status == 1) {
118 116 referralStatus = 1;
119   - }
120   - else if (status == 2)
121   - {
  117 + } else if (status == 2) {
122 118 referralStatus = 2;
123 119 }
124 120 }
125 121 sieveListResult.setReferralStatus(referralStatus);
126 122  
127   - if (StringUtils.isNotEmpty(sieveModel.getApplyHospitalId()))
128   - {
  123 + if (StringUtils.isNotEmpty(sieveModel.getApplyHospitalId())) {
129 124 Organization organization = organizationService.getOrganization(Integer.parseInt(sieveModel.getApplyHospitalId()));
130 125 sieveListResult.setApplyHospital(organization.getName());
131 126 }
132   -
  127 + //省市区
  128 + sieveListResult.setCensusAddress(CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(),
  129 + patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService));
133 130 //查询产前诊断
134 131 int a = 0;
135   - List<Map<String,String>> mList = new ArrayList<Map<String,String>>();
136   - Map<String,String> map = new HashMap<String,String>();
137   - map.put("cqSieve","0");//0,未申请;1,已申请;2,已接收;3,已诊断
138   - map.put("diaProject","");
139   - map.put("diaResult","");//(0,阴性;1,阳性)
  132 + List<Map<String, String>> mList = new ArrayList<Map<String, String>>();
  133 + Map<String, String> map = new HashMap<String, String>();
  134 + map.put("cqSieve", "0");//0,未申请;1,已申请;2,已接收;3,已诊断
  135 + map.put("diaProject", "");
  136 + map.put("diaResult", "");//(0,阴性;1,阳性)
140 137 DiagnosisQuery diagnosisQuery = new DiagnosisQuery();
141 138 diagnosisQuery.setParentId(sieveModel.getParentId());
142 139 diagnosisQuery.setHospitalId(hospitalId);
143 140 List<DiagnosisModel> diaList = diagnosisService.queryDiagnosis(diagnosisQuery);
144   - if(CollectionUtils.isNotEmpty(diaList)){
145   - for(DiagnosisModel diagnosisModel : diaList){
146   - Map<String,String> m = new HashMap<String,String>();
147   - m.put("cqSieve",diagnosisModel.getDiaStatus());//0,未申请;1,已申请;2,已接收;3,已诊断
148   - m.put("diaProject",diagnosisModel.getDiaProject());
149   - m.put("diaResult",diagnosisModel.getDiaResult());//(0,阴性;1,阳性)
150   - a=1;
  141 + if (CollectionUtils.isNotEmpty(diaList)) {
  142 + for (DiagnosisModel diagnosisModel : diaList) {
  143 + Map<String, String> m = new HashMap<String, String>();
  144 + m.put("cqSieve", diagnosisModel.getDiaStatus());//0,未申请;1,已申请;2,已接收;3,已诊断
  145 + m.put("diaProject", diagnosisModel.getDiaProject());
  146 + m.put("diaResult", diagnosisModel.getDiaResult());//(0,阴性;1,阳性)
  147 + a = 1;
151 148 mList.add(m);
152 149 }
153 150 }
154   - if(a == 0){
  151 + if (a == 0) {
155 152 mList.add(map);
156 153 }
157 154 sieveListResult.setDia(mList);