Commit 373cdabbaadfb26a982d64e3682524b34ac5e834

Authored by landong2015
1 parent 0fddeb6220

New changelist

Showing 4 changed files with 146 additions and 18 deletions

platform-dal/src/main/java/com/lyms/platform/query/FolicAcidQuery.java View file @ 373cdab
... ... @@ -5,10 +5,12 @@
5 5 import com.lyms.platform.common.dao.operator.MongoCondition;
6 6 import com.lyms.platform.common.dao.operator.MongoOper;
7 7 import com.lyms.platform.common.dao.operator.MongoQuery;
  8 +import org.apache.commons.collections.CollectionUtils;
8 9 import org.apache.commons.lang.StringUtils;
9 10 import org.springframework.data.mongodb.core.query.Criteria;
10 11  
11 12 import java.util.Date;
  13 +import java.util.List;
12 14  
13 15 /**
14 16 * Created by Administrator on 2016/12/1 0001.
15 17  
... ... @@ -46,12 +48,18 @@
46 48 //有效标识
47 49 private Integer yn;
48 50  
  51 + //医院id
  52 + private List<String> hospitalList;
  53 +
49 54 @Override
50 55 public MongoQuery convertToQuery() {
51 56 MongoCondition condition = MongoCondition.newInstance();
52 57 if (StringUtils.isNotBlank(id)) {
53 58 condition = condition.and("id", id, MongoOper.IS);
54 59 }
  60 + if(CollectionUtils.isNotEmpty(hospitalList)){
  61 + condition = condition.and("hospitalId", hospitalList, MongoOper.IN);
  62 + }
55 63 if (StringUtils.isNotBlank(parentId)) {
56 64 condition = condition.and("parentId", parentId, MongoOper.IS);
57 65 }
... ... @@ -85,6 +93,14 @@
85 93 condition = condition.andCondition(new MongoCondition(c1));
86 94 }
87 95 return condition.toMongoQuery();
  96 + }
  97 +
  98 + public List<String> getHospitalList() {
  99 + return hospitalList;
  100 + }
  101 +
  102 + public void setHospitalList(List<String> hospitalList) {
  103 + this.hospitalList = hospitalList;
88 104 }
89 105  
90 106 public String getId() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/FolicAcidController.java View file @ 373cdab
... ... @@ -14,6 +14,7 @@
14 14 import org.springframework.web.bind.annotation.*;
15 15  
16 16 import javax.servlet.http.HttpServletRequest;
  17 +import javax.servlet.http.HttpServletResponse;
17 18 import javax.validation.Valid;
18 19  
19 20 /**
... ... @@ -56,15 +57,17 @@
56 57 return folicAcidFacade.queryFolicAcid(folicAcidQueryRequest);
57 58 }
58 59  
59   -// //
60   -// @RequestMapping(value = "/folicAcidExport", method = RequestMethod.GET)
61   -// @ResponseBody
62   -//// @TokenRequired
63   -// public BaseListResponse folicAcidExport(@Valid FolicAcidQueryRequest folicAcidQueryRequest,
64   -// HttpServletRequest request) {
65   -//
66   -// return folicAcidFacade.queryFolicAcid(folicAcidQueryRequest);
67   -// }
  60 + //叶酸数据导出
  61 + @RequestMapping(value = "/folicAcidExport", method = RequestMethod.GET)
  62 + @ResponseBody
  63 + @TokenRequired
  64 + public void folicAcidExport(@Valid FolicAcidQueryRequest folicAcidQueryRequest,
  65 + HttpServletResponse response,
  66 + HttpServletRequest request) {
  67 + //获取当前登录用户ID
  68 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  69 + folicAcidFacade.folicAcidExport(folicAcidQueryRequest,loginState.getId(),response);
  70 + }
68 71  
69 72 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/FolicAcidFacade.java View file @ 373cdab
1 1 package com.lyms.platform.operate.web.facade;
2 2  
  3 +import com.lyms.platform.biz.service.BasicConfigService;
3 4 import com.lyms.platform.biz.service.FolicAcidService;
4 5 import com.lyms.platform.biz.service.ResidentsArchiveService;
5 6 import com.lyms.platform.common.constants.ErrorCodeConstants;
6 7  
... ... @@ -7,8 +8,10 @@
7 8 import com.lyms.platform.common.result.BaseListResponse;
8 9 import com.lyms.platform.common.result.BaseObjectResponse;
9 10 import com.lyms.platform.common.result.BaseResponse;
  11 +import com.lyms.platform.common.utils.DateUtil;
10 12 import com.lyms.platform.operate.web.request.FolicAcidAddRequest;
11 13 import com.lyms.platform.operate.web.request.FolicAcidQueryRequest;
  14 +import com.lyms.platform.operate.web.utils.CommonsHelper;
12 15 import com.lyms.platform.permission.model.Organization;
13 16 import com.lyms.platform.permission.model.OrganizationQuery;
14 17 import com.lyms.platform.permission.model.Users;
... ... @@ -23,6 +26,8 @@
23 26 import org.springframework.beans.factory.annotation.Autowired;
24 27 import org.springframework.stereotype.Component;
25 28  
  29 +import javax.servlet.http.HttpServletResponse;
  30 +import java.io.OutputStream;
26 31 import java.util.*;
27 32  
28 33 /**
... ... @@ -41,6 +46,8 @@
41 46 private AutoMatchFacade autoMatchFacade;
42 47 @Autowired
43 48 private UsersService usersService;
  49 + @Autowired
  50 + private BasicConfigService basicConfigService;
44 51  
45 52 public BaseResponse addOrUpdateFolicAcid(FolicAcidAddRequest addRequest,Integer userId){
46 53  
47 54  
... ... @@ -104,11 +111,13 @@
104 111  
105 112 FolicAcid folicAcid = new FolicAcid();
106 113 folicAcid.setHospitalId(addRequest.getHospitalId());
  114 + folicAcid.setHospitalName(addRequest.getHospitalName());
107 115 folicAcid.setParentId(parentId);
108 116 folicAcid.setDrawCount(addRequest.getDrawCount());
109 117 folicAcid.setPregnancyType(addRequest.getPregnancyType());
110 118 folicAcid.setPregnancyWeeks(addRequest.getPregnancyWeeks());
111 119 folicAcid.setHighRisk(addRequest.getHighRisk());
  120 + folicAcid.setOperatorId(addRequest.getOperatorId());
112 121 folicAcid.setOperator(addRequest.getOperator());
113 122 folicAcid.setDrawTime(addRequest.getDrawTime());
114 123 folicAcid.setYn(YnEnums.YES.getId());
... ... @@ -160,7 +169,7 @@
160 169 //妇女信息
161 170 archiveMap = new HashMap<>();
162 171 archiveMap.put("certificateNum", archiveModel.getCertificateNum());
163   - archiveMap.put("certificateTypeId", archiveModel.getCertificateTypeId());
  172 + archiveMap.put("certificateTypeId", CommonsHelper.getName1(archiveModel.getCertificateTypeId(),basicConfigService));
164 173 archiveMap.put("username", archiveModel.getUsername());
165 174 archiveMap.put("birthday",archiveModel.getBirthday());
166 175 archiveMap.put("age", archiveModel.getAge());
... ... @@ -179,7 +188,7 @@
179 188  
180 189 public BaseListResponse queryFolicAcid(FolicAcidQueryRequest queryRequest){
181 190  
182   - List<FolicAcid> list = new ArrayList<>();
  191 + List<Map<String,Object>> list = new ArrayList<>();
183 192  
184 193 List<Organization> organizationList = new ArrayList<>();
185 194  
186 195  
187 196  
188 197  
... ... @@ -204,16 +213,48 @@
204 213 organizationQuery.setAreaId(queryRequest.getAreaId());
205 214 organizationList = organizationService.queryHospitals(organizationQuery);
206 215 }
  216 +
  217 + List<String> hospitalIds = new ArrayList<>();
  218 +
207 219 if (CollectionUtils.isNotEmpty(organizationList)){
208 220 for (Organization hospital : organizationList){
209   - folicAcidQuery.setHospitalId(String.valueOf(hospital.getId()));
210   - List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery);
211   - list.addAll(folicAcidList);
  221 + hospitalIds.add(String.valueOf(hospital.getId()));
212 222 }
213   - }else {
214   - List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery);
215   - list.addAll(folicAcidList);
  223 + if (CollectionUtils.isNotEmpty(hospitalIds)){
  224 + folicAcidQuery.setHospitalList(hospitalIds);
  225 + }
216 226 }
  227 +
  228 + List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcid(folicAcidQuery);
  229 + if (CollectionUtils.isNotEmpty(folicAcidList)){
  230 + for (FolicAcid data : folicAcidList){
  231 + Map<String,Object> map = new HashMap<>();
  232 + map.put("id",data.getId());
  233 + map.put("id",data.getId());
  234 + ResidentsArchiveModel model = residentsArchiveService.getResident(data.getParentId());
  235 + map.put("username",model.getUsername());
  236 + map.put("certificateNum",model.getCertificateNum());
  237 + map.put("phone",model.getPhone());
  238 + map.put("drawTime", DateUtil.getyyyy_MM_dd(data.getDrawTime()));
  239 + map.put("drawCount", data.getDrawCount());
  240 + if (data.getPregnancyType()!=null){
  241 + if (data.getPregnancyType()==1){
  242 + map.put("drawDate", "孕前");
  243 + }
  244 + if (data.getPregnancyType()==2){
  245 + map.put("drawDate", data.getPregnancyWeeks());
  246 + }
  247 + }
  248 + map.put("highRisk",data.getHighRisk());
  249 + map.put("hospitalName",data.getHospitalName());
  250 + map.put("hospitalId",data.getHospitalId());
  251 + map.put("residence", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(),
  252 + model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService));
  253 + map.put("operatorId", data.getOperatorId());
  254 + map.put("operator", data.getOperator());
  255 + list.add(map);
  256 + }
  257 + }
217 258 BaseListResponse baseListResponse = new BaseListResponse();
218 259 baseListResponse.setErrormsg("成功");
219 260 baseListResponse.setErrorcode(ErrorCodeConstants.SUCCESS);
... ... @@ -223,6 +264,74 @@
223 264 }
224 265  
225 266 //叶酸发放导出
  267 + public void folicAcidExport(FolicAcidQueryRequest queryRequest,Integer userId,HttpServletResponse response){
  268 + OutputStream out = null;
  269 + List<Map<String,Object>> list = new ArrayList<>();
  270 +
  271 + List<Organization> organizationList = new ArrayList<>();
  272 + try {
  273 + FolicAcidQuery query = new FolicAcidQuery();
  274 + query.setYn(YnEnums.YES.getId());
  275 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  276 + query.setHospitalId(hospitalId);
  277 + query.setDrawTimeStart(queryRequest.getDrawTimeStart());
  278 + query.setDrawTimeEnd(queryRequest.getDrawTimeEnd());
  279 + query.setHighRisk(queryRequest.getHighRisk());
  280 +
  281 + //省市区筛选机构
  282 + if (StringUtils.isNotEmpty(queryRequest.getProvinceId()) || StringUtils.isNotEmpty(queryRequest.getCityId()) ||
  283 + StringUtils.isNotEmpty(queryRequest.getAreaId())){
  284 + OrganizationQuery organizationQuery = new OrganizationQuery();
  285 + organizationQuery.setYn(YnEnums.YES.getId());
  286 + organizationQuery.setProvinceId(queryRequest.getProvinceId());
  287 + organizationQuery.setCityId(queryRequest.getCityId());
  288 + organizationQuery.setAreaId(queryRequest.getAreaId());
  289 + organizationList = organizationService.queryHospitals(organizationQuery);
  290 + }
  291 + List<String> hospitalIds = new ArrayList<>();
  292 +
  293 + if (CollectionUtils.isNotEmpty(organizationList)){
  294 + for (Organization hospital : organizationList){
  295 + hospitalIds.add(String.valueOf(hospital.getId()));
  296 + }
  297 + if (CollectionUtils.isNotEmpty(hospitalIds)){
  298 + query.setHospitalList(hospitalIds);
  299 + }
  300 + }
  301 + List<FolicAcid> folicAcidList = folicAcidService.queryFolicAcid(query);
  302 + if (CollectionUtils.isNotEmpty(folicAcidList)){
  303 + for (FolicAcid data : folicAcidList){
  304 + Map<String,Object> map = new HashMap<>();
  305 + if (StringUtils.isNotEmpty(data.getParentId())){
  306 + ResidentsArchiveModel model = residentsArchiveService.getResident(data.getId());
  307 + map.put("certificateNum", model.getCertificateNum());
  308 + map.put("username", model.getUsername());
  309 + map.put("phone", model.getPhone());
  310 + map.put("residence", CommonsHelper.getResidence(model.getProvinceId(), model.getCityId(),
  311 + model.getAreaId(), model.getStreetId(), model.getAddress(), basicConfigService));
  312 + }
  313 + map.put("drawTime", data.getDrawTime());
  314 + map.put("drawCount", data.getDrawCount());
  315 + if (data.getPregnancyType()!=null){
  316 + if (data.getPregnancyType()==1){
  317 + map.put("pregnancyType", "孕前");
  318 + }
  319 + if (data.getPregnancyType()==2){
  320 + map.put("pregnancyType", "孕期");
  321 + }
  322 + }
  323 + map.put("pregnancyWeeks", data.getPregnancyWeeks());
  324 + map.put("highRisk", data.getHighRisk());
  325 + map.put("hospitalName",data.getHospitalName());
  326 + map.put("operator", data.getOperator());
  327 + list.add(map);
  328 + }
  329 + }
  330 + }catch (Exception e){
  331 + e.printStackTrace();
  332 + }
  333 +
  334 + }
226 335  
227 336 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/CommonsHelper.java View file @ 373cdab
... ... @@ -73,7 +73,7 @@
73 73 }
74 74  
75 75  
76   - private static String getName1(String id, BasicConfigService basicConfigService) {
  76 + public static String getName1(String id, BasicConfigService basicConfigService) {
77 77 BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(id);
78 78 if (basicConfig != null) {
79 79 return basicConfig.getName();