Commit c010a9728f901faf441c59a5e14c30cf3a1ec2dc

Authored by yangfei
1 parent 6040cdfdcd

产后随访

Showing 5 changed files with 155 additions and 62 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/MatdeliverFollowController.java View file @ c010a97
... ... @@ -16,6 +16,7 @@
16 16 import org.springframework.web.bind.annotation.ResponseBody;
17 17  
18 18 import javax.servlet.http.HttpServletRequest;
  19 +import javax.servlet.http.HttpServletResponse;
19 20  
20 21 /**
21 22 * <p>
22 23  
... ... @@ -90,8 +91,22 @@
90 91 }
91 92  
92 93 /**
  94 + * 产后随访列表导出
  95 + * @return
  96 + */
  97 + @ResponseBody
  98 + @TokenRequired
  99 + @RequestMapping(value = "/export", method = RequestMethod.GET)
  100 + public void exportMatdeliverFollowMake(MatdeliverFollowRequest MatdeliverFollowRequest,
  101 + HttpServletRequest request,
  102 + HttpServletResponse response) {
  103 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  104 + matdeliverFollowFacade.exportPostpartumFollowMake(MatdeliverFollowRequest,response, loginState.getId());
  105 +
  106 + }
  107 +
  108 + /**
93 109 * 获取产后随访列表
94   - * @param MatdeliverFollowRequest
95 110 * @param request
96 111 * @return
97 112 */
98 113  
... ... @@ -99,11 +114,12 @@
99 114 @TokenRequired
100 115 @RequestMapping(value = "/list", method = RequestMethod.GET)
101 116 public BaseListResponse getMatdeliverFollowMake(
102   - MatdeliverFollowRequest MatdeliverFollowRequest,
  117 + MatdeliverFollowRequest matdeliverFollowRequest,
103 118 HttpServletRequest request
104 119 ) {
105 120 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
106   - return matdeliverFollowFacade.getPostpartumFollowMake(MatdeliverFollowRequest, loginState.getId());
  121 + matdeliverFollowRequest.setNeed("need");
  122 + return matdeliverFollowFacade.getPostpartumFollowMake(matdeliverFollowRequest, loginState.getId());
107 123 }
108 124 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java View file @ c010a97
... ... @@ -1136,26 +1136,24 @@
1136 1136 if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalId())) {
1137 1137 hospitalList.add(matdeliverFollowRequest.getHospitalId());
1138 1138 } else {
1139   - // 未传入查询条件,进行院内系统进行查询
1140   - if (StringUtils.isEmpty(matdeliverFollowRequest.getHospitalProvinceId()) && StringUtils.isEmpty(matdeliverFollowRequest.getHospitalCityId()) && StringUtils.isEmpty(matdeliverFollowRequest.getHospitalAreaId())) {
  1139 + //根据用户id获取医院ID
  1140 + String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId());
  1141 + //默认添加当前医院
  1142 + hospitalList.add(hospitalId);
1141 1143  
1142   - //根据用户id获取医院ID
1143   - String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId());
1144   - //默认添加当前医院
1145   - hospitalList.add(hospitalId);
1146   -
1147   - DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
1148   - dataPermissionsModelQuery.setUserId(matdeliverFollowRequest.getOperatorId());
1149   - List<DataPermissionsModel> dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery);
1150   - if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) {
1151   - Map data = dataPermissionsModelList.get(0).getData();
1152   - for (Object hosId : data.keySet()) {
1153   - if (StringUtils.isNotEmpty(hosId.toString()) && !hospitalList.contains(hosId.toString())) {
1154   - hospitalList.add(hosId.toString());
1155   - }
  1144 + DataPermissionsModelQuery dataPermissionsModelQuery = new DataPermissionsModelQuery();
  1145 + dataPermissionsModelQuery.setUserId(matdeliverFollowRequest.getOperatorId());
  1146 + List<DataPermissionsModel> dataPermissionsModelList = dataPermissionService.queryPermission(dataPermissionsModelQuery);
  1147 + if (CollectionUtils.isNotEmpty(dataPermissionsModelList)) {
  1148 + Map data = dataPermissionsModelList.get(0).getData();
  1149 + for (Object hosId : data.keySet()) {
  1150 + if (StringUtils.isNotEmpty(hosId.toString()) && !hospitalList.contains(hosId.toString())) {
  1151 + hospitalList.add(hosId.toString());
1156 1152 }
1157 1153 }
1158   - } else {
  1154 + }
  1155 + // 未传入查询条件,进行院内系统进行查询
  1156 + if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalCityId()) || StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalAreaId())) {
1159 1157 // 传入了查询条件
1160 1158 OrganizationQuery organizationQuery = new OrganizationQuery();
1161 1159 if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalProvinceId())) {
1162 1160  
1163 1161  
1164 1162  
... ... @@ -1169,15 +1167,18 @@
1169 1167 }
1170 1168 organizationQuery.setYn(YnEnums.YES.getId());
1171 1169 List<Organization> organizationList = organizationService.queryHospitals(organizationQuery);
  1170 + List<String> orgId = new ArrayList<>();
1172 1171 if (CollectionUtils.isNotEmpty(organizationList)) {
1173 1172 for (Organization organization : organizationList) {
1174   - hospitalList.add(organization.getId().toString());
  1173 + orgId.add(organization.getId().toString());
1175 1174 }
1176 1175 }
  1176 + //取区域范围内的医院id。交集
  1177 + hospitalList.retainAll(orgId);
1177 1178 }
1178 1179 }
1179 1180  
1180   - if(CollectionUtils.isEmpty(hospitalList)){
  1181 + if (CollectionUtils.isEmpty(hospitalList)) {
1181 1182 // 没有查到,直接抛出
1182 1183 return listResponse;
1183 1184 }
... ... @@ -1186,10 +1187,10 @@
1186 1187  
1187 1188 //查询号不为空,则查询孕妇id
1188 1189 if (StringUtils.isNotEmpty(matdeliverFollowRequest.getQueryNo())//查询号不为空
1189   - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getProvinceId())//居住地省
1190   - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getCityId())//居住地市
1191   - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getAreaId())//居住区
1192   - ||StringUtils.isNotEmpty(matdeliverFollowRequest.getStreetId())//居住街道
  1190 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getProvinceId())//居住地省
  1191 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getCityId())//居住地市
  1192 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getAreaId())//居住区
  1193 + || StringUtils.isNotEmpty(matdeliverFollowRequest.getStreetId())//居住街道
1193 1194 ) {
1194 1195 PatientsQuery patientsQuery = new PatientsQuery();
1195 1196 patientsQuery.setQueryNo(matdeliverFollowRequest.getQueryNo());
1196 1197  
... ... @@ -1235,12 +1236,21 @@
1235 1236 matDeliverQuery.setVisitResult(matdeliverFollowRequest.getVisitResult());
1236 1237 matDeliverQuery.setVisitAffirm(matdeliverFollowRequest.getVisitAffirm());
1237 1238 matDeliverQuery.setVisitStatus(matdeliverFollowRequest.getVisitStatus());
1238   - matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit());
1239   - matDeliverQuery.setPage(matdeliverFollowRequest.getPage());
1240   - matDeliverQuery.setNeed("need");
1241 1239  
1242   - List<MaternalDeliverModel> maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery);
1243   - if(CollectionUtils.isEmpty(maternalDeliverModelList)){
  1240 + List<MaternalDeliverModel> maternalDeliverModelList;
  1241 +
  1242 + if(StringUtils.isNotEmpty(matdeliverFollowRequest.getNeed())){//是否分页
  1243 + matDeliverQuery.setNeed("need");
  1244 + matDeliverQuery.setLimit(matdeliverFollowRequest.getLimit());
  1245 + matDeliverQuery.setPage(matdeliverFollowRequest.getPage());
  1246 + maternalDeliverModelList = matDeliverService.pageQuery(matDeliverQuery);
  1247 + }else{
  1248 + maternalDeliverModelList = matDeliverService.query(matDeliverQuery);
  1249 + }
  1250 +
  1251 +
  1252 +
  1253 + if (CollectionUtils.isEmpty(maternalDeliverModelList)) {
1244 1254 // 没有查到,直接抛出
1245 1255 return listResponse;
1246 1256 }
... ... @@ -1276,7 +1286,7 @@
1276 1286 for (MaternalDeliverModel deliverModel : maternalDeliverModelList) {
1277 1287 MatdeliverFollowListResult matdeliverFollowListResult = patientsMap.get(deliverModel.getParentId());
1278 1288  
1279   - if(matdeliverFollowListResult == null){
  1289 + if (matdeliverFollowListResult == null) {
1280 1290 continue;
1281 1291 }
1282 1292 //最后一次随访Id
... ... @@ -1318,7 +1328,7 @@
1318 1328 matdeliverFollowListResult.setNextVisitDate(PostpartumFollowMakeEnums.IsCloseEnum.getTitle(deliverModel.getIsClose()));
1319 1329 } else if (deliverModel.getIsClose() != null && deliverModel.getIsClose() == PostpartumFollowMakeEnums.IsCloseEnum.WJA.getId()) {
1320 1330 //下次访视时间
1321   - if (deliverModel.getNextVisitDate() != null&&deliverModel.getVisitResult()==1) {
  1331 + if (deliverModel.getNextVisitDate() != null && deliverModel.getVisitResult() == 1) {
1322 1332 matdeliverFollowListResult.setNextVisitDate(DateUtil.getyyyy_MM_dd(deliverModel.getNextVisitDate()));
1323 1333 }
1324 1334 }
... ... @@ -1327,7 +1337,7 @@
1327 1337 matdeliverFollowListResult.setVisitResult("待访视");
1328 1338 }
1329 1339 //访视结果
1330   - if (deliverModel.getVisitResult() != null&&deliverModel.getVisitResult() != 0) {
  1340 + if (deliverModel.getVisitResult() != null && deliverModel.getVisitResult() != 0) {
1331 1341 matdeliverFollowListResult.setVisitResult(PostpartumFollowMakeEnums.ResultEnum.getTitle(deliverModel.getVisitResult()));
1332 1342 }
1333 1343  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatdeliverFollowFacade.java View file @ c010a97
... ... @@ -11,8 +11,10 @@
11 11 import com.lyms.platform.common.utils.DateUtil;
12 12 import com.lyms.platform.operate.web.request.MatDeliverFollowAddRequest;
13 13 import com.lyms.platform.operate.web.request.MatdeliverFollowRequest;
  14 +import com.lyms.platform.operate.web.result.MatdeliverFollowListResult;
14 15 import com.lyms.platform.operate.web.result.MatdeliverFollowResult;
15 16 import com.lyms.platform.operate.web.utils.CollectionUtils;
  17 +import com.lyms.platform.operate.web.utils.ResponseUtil;
16 18 import com.lyms.platform.permission.model.Organization;
17 19 import com.lyms.platform.permission.model.Users;
18 20 import com.lyms.platform.permission.service.OrganizationService;
... ... @@ -25,6 +27,7 @@
25 27 import org.springframework.beans.factory.annotation.Autowired;
26 28 import org.springframework.stereotype.Component;
27 29  
  30 +import javax.servlet.http.HttpServletResponse;
28 31 import java.util.*;
29 32  
30 33 /**
31 34  
32 35  
... ... @@ -140,17 +143,17 @@
140 143 matDeliverFollowAddRequest.setUpdateUser(String.valueOf(userId));
141 144  
142 145  
143   - if(matDeliverFollowAddRequest.getVisitResult()!=null&&matDeliverFollowAddRequest.getVisitResult() == 1){//访视成功,默认设置待确认
  146 + if (matDeliverFollowAddRequest.getVisitResult() != null && matDeliverFollowAddRequest.getVisitResult() == 1) {//访视成功,默认设置待确认
144 147 //产妇随访确认 为待确认
145 148 matDeliverFollowAddRequest.setVisitAffirm(1);
146 149 }
147 150  
148 151 //预约成功,但访问状态还是null则就是待访视状态
149   - if(matDeliverFollowAddRequest.getContactResult() == 1&&matDeliverFollowAddRequest.getVisitResult() == null){
  152 + if (matDeliverFollowAddRequest.getContactResult() == 1 && matDeliverFollowAddRequest.getVisitResult() == null) {
150 153 matDeliverFollowAddRequest.setVisitStatus(1);
151 154 }
152 155 //有访视结果时,则就是已访视状态
153   - if(matDeliverFollowAddRequest.getVisitResult() != null){
  156 + if (matDeliverFollowAddRequest.getVisitResult() != null) {
154 157 matDeliverFollowAddRequest.setVisitStatus(2);
155 158 matDeliverFollowAddRequest.setVisitCreateUser(String.valueOf(userId));
156 159 matDeliverFollowAddRequest.setVisitCreateDateStr(new Date());
... ... @@ -170,7 +173,7 @@
170 173  
171 174 //如果修改的是最后一次随访记录,则进行同步修改分娩记录里的随访信息
172 175 if (matDeliverFollowAddRequest.getId().equals(maternalDeliverModel.getMatFollowId())) {
173   - updateMaternalDeliver(matDeliverFollowAddRequest,maternalDeliverModel);
  176 + updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel);
174 177 }
175 178 baseResponse.setObject(matDeliverFollowAddRequest.getId());
176 179  
... ... @@ -194,9 +197,9 @@
194 197 if (maternalDeliverModel != null) {
195 198 //在分娩记录上记录随访部分信息
196 199 maternalDeliverModel.setMatFollowId(matdeliverFollowModel.getId());
197   - updateMaternalDeliver(matDeliverFollowAddRequest,maternalDeliverModel);
198   - }else{
199   - log.error("分娩记录随访没有找到随访记录,传入随访id:"+matDeliverFollowAddRequest.getDeliverId());
  200 + updateMaternalDeliver(matDeliverFollowAddRequest, maternalDeliverModel);
  201 + } else {
  202 + log.error("分娩记录随访没有找到随访记录,传入随访id:" + matDeliverFollowAddRequest.getDeliverId());
200 203 }
201 204 baseResponse.setObject(matdeliverFollowModel.getId());
202 205  
203 206  
204 207  
205 208  
206 209  
207 210  
208 211  
209 212  
210 213  
211 214  
212 215  
213 216  
214 217  
215 218  
216 219  
... ... @@ -210,43 +213,43 @@
210 213 }
211 214  
212 215  
213   - private void updateMaternalDeliver(MatDeliverFollowAddRequest matDeliverFollowAddRequest,MaternalDeliverModel maternalDeliverModel){
  216 + private void updateMaternalDeliver(MatDeliverFollowAddRequest matDeliverFollowAddRequest, MaternalDeliverModel maternalDeliverModel) {
214 217 //在分娩记录上记录随访部分信息
215 218 maternalDeliverModel.setContactResult(matDeliverFollowAddRequest.getContactResult());
216   - if(matDeliverFollowAddRequest.getContactReason()!=null){
  219 + if (matDeliverFollowAddRequest.getContactReason() != null) {
217 220 maternalDeliverModel.setContactReason(matDeliverFollowAddRequest.getContactReason());
218   - }else{
  221 + } else {
219 222 maternalDeliverModel.setContactReason(0);
220 223 }
221   - if(matDeliverFollowAddRequest.getVisitAffirm()!=null){
  224 + if (matDeliverFollowAddRequest.getVisitAffirm() != null) {
222 225 maternalDeliverModel.setVisitAffirm(matDeliverFollowAddRequest.getVisitAffirm());
223   - }else{
  226 + } else {
224 227 maternalDeliverModel.setVisitAffirm(0);
225 228 }
226   - if(matDeliverFollowAddRequest.getVisitStatus()!=null){
  229 + if (matDeliverFollowAddRequest.getVisitStatus() != null) {
227 230 maternalDeliverModel.setVisitStatus(matDeliverFollowAddRequest.getVisitStatus());
228   - }else{
  231 + } else {
229 232 maternalDeliverModel.setVisitStatus(0);
230 233 }
231   - if(matDeliverFollowAddRequest.getMakeType()!=null){
  234 + if (matDeliverFollowAddRequest.getMakeType() != null) {
232 235 maternalDeliverModel.setMakeType(matDeliverFollowAddRequest.getMakeType());
233   - }else{
  236 + } else {
234 237 maternalDeliverModel.setMakeType(0);
235 238 }
236 239  
237   - if(matDeliverFollowAddRequest.getVisitResult()!=null){
  240 + if (matDeliverFollowAddRequest.getVisitResult() != null) {
238 241 maternalDeliverModel.setVisitResult(matDeliverFollowAddRequest.getVisitResult());
239   - }else{
  242 + } else {
240 243 maternalDeliverModel.setVisitResult(0);
241 244 }
242   - if(matDeliverFollowAddRequest.getNextVisitDateStr()!=null){
  245 + if (matDeliverFollowAddRequest.getNextVisitDateStr() != null) {
243 246 maternalDeliverModel.setNextVisitDate(matDeliverFollowAddRequest.getNextVisitDateStr());
244   - }else{
  247 + } else {
245 248 maternalDeliverModel.setNextVisitDate(null);
246 249 }
247   - if(matDeliverFollowAddRequest.getIsClose()!=null){
  250 + if (matDeliverFollowAddRequest.getIsClose() != null) {
248 251 maternalDeliverModel.setIsClose(matDeliverFollowAddRequest.getIsClose());
249   - }else {
  252 + } else {
250 253 maternalDeliverModel.setIsClose(0);
251 254 }
252 255 //修改分娩记录
... ... @@ -264,7 +267,6 @@
264 267 convertToResult(matdeliverFollowResult);
265 268  
266 269 baseResponse.setObject(matdeliverFollowResult);
267   - System.out.println(matdeliverFollowResult.toString());
268 270 return baseResponse;
269 271 }
270 272  
271 273  
... ... @@ -297,13 +299,13 @@
297 299 }
298 300 }
299 301  
300   - if(StringUtils.isNotEmpty(matdeliverFollowResult.getReferHospital())){
301   - try{
  302 + if (StringUtils.isNotEmpty(matdeliverFollowResult.getReferHospital())) {
  303 + try {
302 304 Organization og = organizationService.getOrganization(Integer.valueOf(matdeliverFollowResult.getReferHospital()));
303 305 if (null != og) {
304 306 matdeliverFollowResult.setReferHospitalStr(og.getName());
305 307 }
306   - }catch (Exception e){
  308 + } catch (Exception e) {
307 309  
308 310 }
309 311 }
... ... @@ -330,6 +332,59 @@
330 332 e.printStackTrace();
331 333 }
332 334 }
  335 + }
  336 +
  337 + public void exportPostpartumFollowMake(MatdeliverFollowRequest matdeliverFollowRequest, HttpServletResponse resp, Integer id) {
  338 + matdeliverFollowRequest.setOperatorId(id);
  339 + matdeliverFollowRequest.setIsArea("area");
  340 + BaseListResponse baseListResponse = matDeliverFacade.postpartumDeliver(matdeliverFollowRequest);
  341 + Object object = baseListResponse.getObject();
  342 +
  343 + Map<String, String> cnames = new LinkedHashMap<>();
  344 + cnames.put("id", "#");
  345 + cnames.put("hospitalCityName", "地市名称");
  346 + cnames.put("hospitalAreaName", "区县名称");
  347 + cnames.put("name", "姓名");
  348 + cnames.put("age", "年龄");
  349 + cnames.put("fmHospital", "分娩医院");
  350 + cnames.put("postViewDay", "产后天数");
  351 + cnames.put("address", "居住地");
  352 + cnames.put("phone", "联系电话");
  353 + cnames.put("contactResultStr", "联系状态");
  354 + cnames.put("visitAffirm", "产妇确认");
  355 + cnames.put("makeType", "访视类型");
  356 + cnames.put("visitResult", "访视结果");
  357 + cnames.put("nextVisitDate", "下次随访");
  358 +
  359 + List<Map<String, Object>> results = new ArrayList<>();
  360 + if (object != null) {
  361 + List<MatdeliverFollowListResult> matdeliverFollowListResults = (List<MatdeliverFollowListResult>) object;
  362 +
  363 + for (int i = 0; i < matdeliverFollowListResults.size(); i++) {
  364 + MatdeliverFollowListResult mf = matdeliverFollowListResults.get(i);
  365 + Map<String, Object> result = new LinkedHashMap<>();
  366 + result.put("id", i + 1);
  367 + result.put("hospitalCityName", mf.getHospitalCityName());
  368 + result.put("hospitalAreaName", mf.getHospitalAreaName());
  369 + result.put("name", mf.getName());
  370 + result.put("age", String.valueOf(mf.getAge()));
  371 + result.put("fmHospital", mf.getFmHospital());
  372 + result.put("postViewDay", mf.getPostViewDay());
  373 + result.put("address", mf.getAddress());
  374 + result.put("phone", mf.getPhone());
  375 + if(StringUtils.isNotEmpty(mf.getContactResultStr())){
  376 + result.put("contactResultStr", "待联系");
  377 + }else{
  378 + result.put("contactResultStr", mf.getContactResultStr());
  379 + }
  380 + result.put("visitAffirm", mf.getVisitAffirm());
  381 + result.put("makeType", mf.getMakeType());
  382 + result.put("visitResult",mf.getVisitResult());
  383 + result.put("nextVisitDate", mf.getNextVisitDate());
  384 + results.add(result);
  385 + }
  386 + }
  387 + ResponseUtil.responseExcel(cnames, results, resp);
333 388 }
334 389 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatdeliverFollowRequest.java View file @ c010a97
... ... @@ -70,6 +70,18 @@
70 70 * 产妇随访确认(1-待确认、2-已确认)
71 71 */
72 72 private Integer visitAffirm;
  73 + /**
  74 + * 是否分页(导出不分页,普通分页)
  75 + */
  76 + private String need;
  77 +
  78 + public String getNeed() {
  79 + return need;
  80 + }
  81 +
  82 + public void setNeed(String need) {
  83 + this.need = need;
  84 + }
73 85  
74 86 public String getProvinceId() {
75 87 return provinceId;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/MatdeliverFollowResult.java View file @ c010a97
... ... @@ -153,7 +153,7 @@
153 153 }
154 154  
155 155 if (matdeliverFollowModel.getContactReason() != null && getContactResult() == 2) {
156   - contactReasonStr = PostpartumFollowMakeEnums.ReasonEnum.getTitle(matdeliverFollowModel.getContactReason());
  156 + contactReasonStr = PostpartumFollowMakeEnums.ContactReasonEnum.getTitle(matdeliverFollowModel.getContactReason());
157 157 }
158 158 if (matdeliverFollowModel.getVisitResult() != null) {
159 159 visitResultStr = PostpartumFollowMakeEnums.ResultEnum.getTitle(matdeliverFollowModel.getVisitResult());