Commit 0c28af75225fbe2fe54f71de2c4c8982d13c7d1c
Exists in
master
and in
7 other branches
Merge remote-tracking branch 'origin/master'
Showing 6 changed files
- platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java
platform-dal/src/main/java/com/lyms/platform/pojo/PatientCheckTicket.java
View file @
0c28af7
... | ... | @@ -17,10 +17,19 @@ |
17 | 17 | private String id; |
18 | 18 | private String patientId; |
19 | 19 | private String hospitalId; |
20 | + private String pid; | |
20 | 21 | private String consumeHospitalId; |
21 | 22 | private Integer status; // 1:创建未使用, 2:产检使用,3:分娩销毁 |
22 | 23 | private Date created; |
23 | 24 | private Date consumeDate; |
25 | + | |
26 | + public String getPid() { | |
27 | + return pid; | |
28 | + } | |
29 | + | |
30 | + public void setPid(String pid) { | |
31 | + this.pid = pid; | |
32 | + } | |
24 | 33 | |
25 | 34 | public String getId() { |
26 | 35 | return id; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UpdateController.java
View file @
0c28af7
... | ... | @@ -2,9 +2,11 @@ |
2 | 2 | |
3 | 3 | import com.lyms.platform.common.base.BaseController; |
4 | 4 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
5 | +import com.lyms.platform.common.result.BaseResponse; | |
5 | 6 | import com.lyms.platform.common.utils.ExceptionUtils; |
6 | 7 | import com.lyms.platform.common.utils.StringUtils; |
7 | 8 | import com.lyms.platform.operate.web.facade.CorrectDataFacade; |
9 | +import com.lyms.platform.operate.web.facade.PatientCheckTicketFacade; | |
8 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
9 | 11 | import org.springframework.stereotype.Controller; |
10 | 12 | import org.springframework.web.bind.annotation.RequestMapping; |
... | ... | @@ -27,6 +29,8 @@ |
27 | 29 | @Autowired |
28 | 30 | private CorrectDataFacade correctDataFacade; |
29 | 31 | |
32 | + @Autowired | |
33 | + private PatientCheckTicketFacade patientCheckTicketFacade; | |
30 | 34 | @RequestMapping(value = "/updateData", method = RequestMethod.GET) |
31 | 35 | @ResponseBody |
32 | 36 | private Map<String, String> updateCorrectData(@RequestParam("hId") String hId) { |
... | ... | @@ -44,6 +48,18 @@ |
44 | 48 | ExceptionUtils.catchException(e, "updateCorrectData Error. hospitalId:" + hId); |
45 | 49 | } |
46 | 50 | return result; |
51 | + } | |
52 | + | |
53 | + /** | |
54 | + * 补发指定医院的产检劵 | |
55 | + * | |
56 | + * @param hId | |
57 | + * @return | |
58 | + */ | |
59 | + @RequestMapping(value = "/supplyCheckTicket", method = RequestMethod.GET) | |
60 | + @ResponseBody | |
61 | + private BaseResponse supplyCheckTicket(@RequestParam("hId")String hId){ | |
62 | + return patientCheckTicketFacade.supplyCheckTicket(hId); | |
47 | 63 | } |
48 | 64 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
View file @
0c28af7
... | ... | @@ -229,12 +229,23 @@ |
229 | 229 | antExQuery.setPid(e.getPid()); |
230 | 230 | antExQuery.setYn(YnEnums.YES.getId()); |
231 | 231 | antExQuery.setHospitalId(null); |
232 | + antExQuery.setStart(e.getCheckTime()); | |
232 | 233 | antExChuQuery.setPid(e.getPid()); |
233 | 234 | antExChuQuery.setYn(YnEnums.YES.getId()); |
234 | 235 | antExChuQuery.setHospitalId(null); |
236 | + antExChuQuery.setStart(e.getCheckTime()); | |
235 | 237 | |
236 | 238 | |
237 | - int i = antExService.queryAntenatalExaminationCount(antExQuery.convertToQuery()); | |
239 | + | |
240 | + AntExRecordQuery antExRecordQuery1=new AntExRecordQuery(); | |
241 | + antExRecordQuery1.setCheckTimeEnd(e.getCheckTime()); | |
242 | + antExRecordQuery1.setPid(e.getPid()); | |
243 | + antExRecordQuery1.setHospitalId(hospital); | |
244 | + | |
245 | + //本院低次 | |
246 | + int dichi =recordService.count(antExRecordQuery1); | |
247 | + antExRecordQuery1.setHospitalId(null); | |
248 | + /* int i = antExService.queryAntenatalExaminationCount(antExQuery.convertToQuery()); | |
238 | 249 | antExChuQuery.setHospitalId(null); |
239 | 250 | int b = antExService.queryAntExChuCount(antExChuQuery.convertToQuery()); |
240 | 251 | antExQuery.setHospitalId(hospital); |
... | ... | @@ -242,9 +253,9 @@ |
242 | 253 | int chi = antExService.queryAntenatalExaminationCount(antExQuery.convertToQuery()); |
243 | 254 | antExChuQuery.setHospitalId(hospital); |
244 | 255 | //本院的初诊记录 |
245 | - int chb = antExService.queryAntExChuCount(antExChuQuery.convertToQuery()); | |
246 | - antExManagerResult.settTimes(i + b); | |
247 | - antExManagerResult.setChTimes(chi + chb); | |
256 | + int chb = antExService.queryAntExChuCount(antExChuQuery.convertToQuery());*/ | |
257 | + antExManagerResult.settTimes(recordService.count(antExRecordQuery1)); | |
258 | + antExManagerResult.setChTimes(dichi); | |
248 | 259 | //高危因素 |
249 | 260 | antExManagerResult.setrLevel(commonService.findRiskLevel(e.gethLevel())); |
250 | 261 | antExManagerResult.setRiskFactor(commonService.resloveFactor(e.gethRisk())); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BookbuildingFacade.java
View file @
0c28af7
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java
View file @
0c28af7
... | ... | @@ -31,8 +31,10 @@ |
31 | 31 | import org.apache.commons.collections.CollectionUtils; |
32 | 32 | import org.apache.commons.lang.StringUtils; |
33 | 33 | import org.springframework.beans.factory.annotation.Autowired; |
34 | +import org.springframework.data.domain.Sort; | |
34 | 35 | import org.springframework.stereotype.Component; |
35 | 36 | |
37 | +import javax.jws.Oneway; | |
36 | 38 | import javax.servlet.http.HttpServletResponse; |
37 | 39 | import java.io.OutputStream; |
38 | 40 | import java.util.*; |
... | ... | @@ -198,6 +200,7 @@ |
198 | 200 | } |
199 | 201 | } |
200 | 202 | } |
203 | + List<Map> list = new ArrayList<>(); | |
201 | 204 | |
202 | 205 | if (archiveModel!=null){ |
203 | 206 | //妇女信息 |
... | ... | @@ -206,7 +209,7 @@ |
206 | 209 | archiveMap.put("certificateTypeId", archiveModel.getCertificateTypeId()); |
207 | 210 | archiveMap.put("username", archiveModel.getUsername()); |
208 | 211 | archiveMap.put("birthday",archiveModel.getBirthday() != null ? DateUtil.getyyyy_MM_dd(archiveModel.getBirthday()) : null); |
209 | - archiveMap.put("age", archiveModel.getBirthday() != null ? "" : DateUtil.getAge(archiveModel.getBirthday())); | |
212 | + archiveMap.put("age", archiveModel.getBirthday() == null ? "" : DateUtil.getAge(archiveModel.getBirthday())); | |
210 | 213 | archiveMap.put("phone", archiveModel.getPhone()); |
211 | 214 | archiveMap.put("id", archiveModel.getId()); |
212 | 215 | if (StringUtils.isEmpty(archiveModel.getSex()) || archiveModel.getSex().equals(SystemConfig.WOMAN_ID )){ |
213 | 216 | |
214 | 217 | |
215 | 218 | |
... | ... | @@ -220,15 +223,94 @@ |
220 | 223 | archiveMap.put("workUnit",archiveModel.getWorkUnit()); |
221 | 224 | archiveMap.put("buildDay",archiveModel.getBuildDay()); |
222 | 225 | |
226 | + //获取历史发放记录 | |
227 | + FolicAcidQuery folicAcidQuery = new FolicAcidQuery(); | |
228 | + folicAcidQuery.setYn(YnEnums.YES.getId()); | |
229 | + folicAcidQuery.setParentId(archiveModel.getId()); | |
230 | + | |
231 | + List<String> hospitalList = null; | |
232 | + //判断当前用户是否有区域权限 | |
233 | + if (userId!=null){ | |
234 | + hospitalList = new ArrayList<>(); | |
235 | + String hospital = autoMatchFacade.getHospitalId(userId); | |
236 | + if(null!=hospital){ | |
237 | + //本院 | |
238 | + hospitalList.add(hospital); | |
239 | + } | |
240 | + //查询用户是否有区域权限 | |
241 | + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery(); | |
242 | + dataPermissionsModelQuery.setUserId(userId); | |
243 | + List<DataPermissionsModel> permissionsModels = dataPermissionService.queryPermission(dataPermissionsModelQuery); | |
244 | + if (CollectionUtils.isNotEmpty(permissionsModels)) { | |
245 | + Set<String> set = permissionsModels.get(0).getData().keySet(); | |
246 | + Iterator<String> it = set.iterator(); | |
247 | + while (it.hasNext()) { | |
248 | + String id = it.next(); | |
249 | + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(id) && !hospitalList.contains(id)) { | |
250 | + hospitalList.add(id); | |
251 | + } | |
252 | + } | |
253 | + } | |
254 | + folicAcidQuery.setHospitalList(hospitalList); | |
255 | + } | |
256 | + List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcidWithSort(folicAcidQuery, "drawTime", Sort.Direction.DESC); | |
257 | + if (CollectionUtils.isNotEmpty(folicAcidList)){ | |
258 | + | |
259 | + //返回第一条数据 | |
260 | + folicAcid = folicAcidList.get(0); | |
261 | + | |
262 | + for (FolicAcid data: folicAcidList){ | |
263 | + Map<String,Object> acidMap = new HashMap<>(); | |
264 | + if (data.getPregnancyType()!=null){ | |
265 | + if (data.getPregnancyType()==1){ | |
266 | + acidMap.put("pregnancyType","孕前"); | |
267 | + }else if (data.getPregnancyType()==2){ | |
268 | + acidMap.put("pregnancyType",data.getPregnancyWeeks()); | |
269 | + } | |
270 | + } | |
271 | + acidMap.put("drawCount",data.getDrawCount()); | |
272 | + acidMap.put("drawTime",DateUtil.getyyyy_MM_dd(data.getDrawTime())); | |
273 | + if (StringUtils.isNotEmpty(data.getHospitalId())){ | |
274 | + if (data.getHospitalId().equals(hospitalId)){ | |
275 | + acidMap.put("other",1); | |
276 | + }else { | |
277 | + acidMap.put("other",2); | |
278 | + } | |
279 | + } | |
280 | + list.add(acidMap); | |
281 | + } | |
282 | + } | |
223 | 283 | } |
224 | - resultMap.put("folicAcidResult",folicAcid); | |
284 | + resultMap.put("folicAcidResult",getFolic(folicAcid)); | |
225 | 285 | resultMap.put("archiveResult",archiveMap); |
286 | + resultMap.put("folicAcidHistory",list); | |
226 | 287 | BaseObjectResponse response = new BaseObjectResponse(); |
227 | 288 | response.setData(resultMap); |
228 | 289 | response.setErrorcode(ErrorCodeConstants.SUCCESS); |
229 | 290 | response.setErrormsg("成功"); |
230 | 291 | return response; |
231 | 292 | } |
293 | + | |
294 | + public Map<String,Object> getFolic(FolicAcid folicAcid){ | |
295 | + if (folicAcid==null){ | |
296 | + return null; | |
297 | + } | |
298 | + Map<String,Object> map= new HashMap<>(); | |
299 | + map.put("id",folicAcid.getId()); | |
300 | + map.put("created",DateUtil.getyyyy_MM_dd(folicAcid.getCreated())); | |
301 | + map.put("drawTime",DateUtil.getyyyy_MM_dd(folicAcid.getDrawTime())); | |
302 | + map.put("drawCount",folicAcid.getDrawCount()); | |
303 | + map.put("highRisk",folicAcid.getHighRisk()); | |
304 | + map.put("hospitalId",folicAcid.getHospitalId()); | |
305 | + map.put("hospitalName",folicAcid.getHospitalName()); | |
306 | + map.put("operator",folicAcid.getOperator()); | |
307 | + map.put("operatorId",folicAcid.getOperatorId()); | |
308 | + map.put("parentId",folicAcid.getParentId()); | |
309 | + map.put("pregnancyType",folicAcid.getPregnancyType()); | |
310 | + map.put("pregnancyWeeks",folicAcid.getPregnancyWeeks()); | |
311 | + return map; | |
312 | + } | |
313 | + | |
232 | 314 | |
233 | 315 | public BaseListResponse queryFolicAcid(FolicAcidQueryRequest queryRequest,Integer userId){ |
234 | 316 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientCheckTicketFacade.java
View file @
0c28af7
1 | +package com.lyms.platform.operate.web.facade; | |
2 | + | |
3 | +import com.lyms.platform.biz.service.AutoIncermentService; | |
4 | +import com.lyms.platform.biz.service.PatientCheckTicketService; | |
5 | +import com.lyms.platform.biz.service.PatientsService; | |
6 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
7 | +import com.lyms.platform.common.enums.YnEnums; | |
8 | +import com.lyms.platform.common.result.BaseResponse; | |
9 | +import com.lyms.platform.common.utils.ExceptionUtils; | |
10 | +import com.lyms.platform.operate.web.worker.WorkHR; | |
11 | +import com.lyms.platform.pojo.PatientCheckTicket; | |
12 | +import com.lyms.platform.pojo.Patients; | |
13 | +import com.lyms.platform.query.PatientCheckTicketQuery; | |
14 | +import com.lyms.platform.query.PatientsQuery; | |
15 | +import org.springframework.beans.factory.annotation.Autowired; | |
16 | +import org.springframework.stereotype.Component; | |
17 | + | |
18 | +import java.util.ArrayList; | |
19 | +import java.util.Date; | |
20 | +import java.util.List; | |
21 | +import java.util.concurrent.Future; | |
22 | + | |
23 | +/** | |
24 | + * 产检劵补发 | |
25 | + * <p/> | |
26 | + * Created by Administrator on 2017/1/5 0005. | |
27 | + */ | |
28 | +@Component | |
29 | +public class PatientCheckTicketFacade { | |
30 | + | |
31 | + @Autowired | |
32 | + private PatientCheckTicketService checkTicketServicel; | |
33 | + @Autowired | |
34 | + private PatientsService patientsService; | |
35 | + @Autowired | |
36 | + private AutoMatchFacade autoMatchFacade; | |
37 | + | |
38 | + @Autowired | |
39 | + private AutoIncermentService autoIncermentService; | |
40 | + | |
41 | + /** | |
42 | + * 补发以前建档的产检劵 | |
43 | + * | |
44 | + * @return | |
45 | + */ | |
46 | + public BaseResponse supplyCheckTicket(String hId) { | |
47 | + PatientsQuery patientsQuery1 = new PatientsQuery(); | |
48 | + patientsQuery1.setHospitalId(hId); | |
49 | + patientsQuery1.setYn(YnEnums.YES.getId()); | |
50 | + patientsQuery1.setType(1); | |
51 | + List buildType = new ArrayList(); | |
52 | + buildType.add(0); | |
53 | + buildType.add(2); | |
54 | + patientsQuery1.setBuildTypeList(buildType); | |
55 | + | |
56 | + List<Patients> patientses = patientsService.queryPatient(patientsQuery1); | |
57 | + | |
58 | + int batchSize = 400; | |
59 | + int end = 0; | |
60 | + for (int i = 0; i < patientses.size(); i += batchSize) { | |
61 | + end = (end + batchSize); | |
62 | + if (end > patientses.size()) { | |
63 | + end = patientses.size(); | |
64 | + } | |
65 | + new SupplyCheckTicketThread(patientses.subList(i, end)).start(); | |
66 | + } | |
67 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
68 | + } | |
69 | + | |
70 | + private class SupplyCheckTicketThread extends Thread { | |
71 | + private List<Patients> patientses; | |
72 | + | |
73 | + public SupplyCheckTicketThread(List<Patients> patientses) { | |
74 | + this.patientses = patientses; | |
75 | + } | |
76 | + | |
77 | + @Override | |
78 | + public void run() { | |
79 | + PatientCheckTicketQuery checkTicketQuery = new PatientCheckTicketQuery(); | |
80 | + for (Patients p : patientses) { | |
81 | + try { | |
82 | + checkTicketQuery.setPatientId(p.getId()); | |
83 | + if (0 == checkTicketServicel.queryTicketCount(checkTicketQuery)) { | |
84 | + //建档成功后,给孕妇造五个条形码 | |
85 | + String ticketPid = autoIncermentService.nextPatientTicketId(); | |
86 | + for (Integer i = 1; i <= 5; i++) { | |
87 | + PatientCheckTicket ticket = new PatientCheckTicket(); | |
88 | + ticket.setStatus(1); | |
89 | + ticket.setHospitalId(p.getHospitalId()); | |
90 | + ticket.setPatientId(p.getId()); | |
91 | + ticket.setCreated(new Date()); | |
92 | + ticket.setId("0335" + ticketPid + i); | |
93 | + checkTicketServicel.addTicket(ticket); | |
94 | + } | |
95 | + } | |
96 | + } catch (Exception e) { | |
97 | + ExceptionUtils.catchException(e, "SupplyCheckTicketThread Error."); | |
98 | + } | |
99 | + } | |
100 | + } | |
101 | + } | |
102 | +} |