From abb93711deae95f95152fb93cdd36bcb547e4510 Mon Sep 17 00:00:00 2001 From: yangfei Date: Mon, 13 Nov 2017 12:00:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=80=BC=E6=9C=8D=E5=8A=A1=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PatientServiceController.java | 23 +- .../operate/web/facade/PatientServiceFacade.java | 246 ++++++++++----------- .../operate/web/result/PatientSerResult.java | 5 +- 3 files changed, 141 insertions(+), 133 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java index fdd375b..422ef2a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java @@ -67,16 +67,23 @@ public class PatientServiceController extends BaseController { @RequestMapping(value = "/patSer", method = RequestMethod.POST) public BaseResponse addOrUpdatePatientService(PatientService ps, HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - - if (StringUtils.isEmpty(ps.getId())) { - BaseResponse baseResponse = validatePatient(ps); - if(baseResponse.getErrorcode()!=ErrorCodeConstants.SUCCESS){ - return baseResponse; + try { + if (StringUtils.isEmpty(ps.getId())) { + BaseResponse baseResponse = validatePatient(ps); + if (baseResponse.getErrorcode() != ErrorCodeConstants.SUCCESS) { + return baseResponse; + } + return patientServiceFacade.addPatientService(ps, loginState.getId()); + } else { + return patientServiceFacade.updatePatientService(ps, loginState.getId()); } - return patientServiceFacade.addPatientService(ps, loginState.getId()); - } else { - return patientServiceFacade.updatePatientService(ps, loginState.getId()); + }catch (Exception e){ + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + baseResponse.setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + return baseResponse; } + } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java index 16bde3b..ba92423 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java @@ -1,7 +1,6 @@ package com.lyms.platform.operate.web.facade; import com.alibaba.fastjson.JSONObject; -import com.lyms.platform.biz.RemoteUrlEnum; import com.lyms.platform.biz.service.AntExRecordService; import com.lyms.platform.biz.service.AntenatalExaminationService; import com.lyms.platform.biz.service.CommonService; @@ -14,10 +13,10 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.Config; import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.HttpClientUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.BasePageQueryRequest; import com.lyms.platform.operate.web.result.PatientSerResult; +import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.PatientService; import com.lyms.platform.permission.model.PatientServiceQuery; import com.lyms.platform.permission.model.Users; @@ -126,7 +125,7 @@ public class PatientServiceFacade { * @param id * @return */ - public BaseResponse addPatientService(PatientService ps, Integer id) { + public BaseResponse addPatientService(PatientService ps, Integer id) throws Exception { //根据用户id获取医院ID String hospitalId = autoMatchFacade.getHospitalId(id); String[] serTypes = ps.getSerTypes().split(","); @@ -149,6 +148,7 @@ public class PatientServiceFacade { ps.setPid(patients.getPid()); } ps.setId(UUID.randomUUID().toString().replace("-", "")); + ps.setHospitalId(hospitalId); //默认开通状态 ps.setSerStatus(PatientSerEnums.SerStatusEnums.kt.getId()); @@ -173,8 +173,6 @@ public class PatientServiceFacade { patientServiceList.add(ps); } - // synPatientService(patientServiceList.toArray(new PatientService[patientServiceList.size()])); - BaseResponse baseResponse = new BaseResponse(); baseResponse.setObject(ps.getId()); baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -207,7 +205,6 @@ public class PatientServiceFacade { PatientService after = patientServiceService.getPatientService(ps.getId()); operateLogFacade.addModifyOptLog(id, Integer.valueOf(hospitalId), before, after, OptActionEnums.UPDATE.getId(), "修复服务"); - // synPatientService(ps); BaseResponse baseResponse = new BaseResponse(); baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); baseResponse.setErrormsg("成功"); @@ -243,7 +240,24 @@ public class PatientServiceFacade { //高危等级颜色 result.setrLevel(commonService.findRiskLevel(patients.getRiskLevelId())); } - + if (StringUtils.isNotEmpty(patients.getHospitalId())) {//查询医院名称 + //判断ID是否存在 + Organization organization = organizationService.getOrganization(Integer.parseInt(patients.getHospitalId())); + if (organization != null) { + //设置医院名称 + result.setHospitalName(organization.getName()); + } + } + if (StringUtils.isNotEmpty(ps.getUpdateUser())) { + try { + Users users = usersService.getUsers(Integer.parseInt(ps.getUpdateUser())); + if (users != null) { + result.setUpdateUser(users.getName()); + } + } catch (Exception e) { + result.setSerDoctStr("产检医生"); + } + } result.setParentid(ps.getParentid()); result.setCreateDate(DateUtil.getyyyy_MM_dd(ps.getCreateDate())); result.setPid(ps.getPid()); @@ -259,14 +273,15 @@ public class PatientServiceFacade { result.setSerCode(ps.getSerCode()); result.setCreateUser(ps.getCreateUser()); result.setUpdateDate(DateUtil.getyyyy_MM_dd(ps.getUpdateDate())); - - try { - Users users = usersService.getUsers(Integer.parseInt(ps.getSerDoct())); - if (users != null) { - result.setSerDoctStr(users.getName()); + if (ps.getSerDoct() != null) { + try { + Users users = usersService.getUsers(Integer.parseInt(ps.getSerDoct())); + if (users != null) { + result.setSerDoctStr(users.getName()); + } + } catch (Exception e) { + result.setSerDoctStr("产检医生"); } - }catch (Exception e){ - result.setSerDoctStr("产检医生"); } if (StringUtils.isNotEmpty(ps.getCreateUser())) { @@ -275,10 +290,10 @@ public class PatientServiceFacade { if (users != null) { result.setCreateUserStr(users.getName()); } - }catch (Exception e){ + } catch (Exception e) { result.setCreateUserStr("产检医生"); } - }else{ + } else { result.setCreateUserStr("小程序开通"); } result.setBackDate(DateUtil.getyyyy_MM_dd(ps.getBackDate())); @@ -395,50 +410,6 @@ public class PatientServiceFacade { return baseResponse; } - /** - * 小程序调用:获取已经领取设备,但是还未同步的数据 - */ - public BaseResponse getAlreaRece(){ - PatientServiceQuery patientQuery = new PatientServiceQuery(); - //待同步默认不需要同步、1-待同步、2-已同步 - patientQuery.setSynStatus(1); - List patientServices = patientServiceService.queryPatientService(patientQuery); - List orders = new ArrayList<>(); - for(PatientService ps :patientServices){ - orders.add(ps.getOrderId()); - } - - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseResponse.setObject(orders); - baseResponse.setErrormsg("成功"); - return baseResponse; - } - - /** - * 小程序调用:修改同步状态为已同步 - * - * @param orderIds 订单号集合 - * @return - */ - public BaseResponse receivePatientService(String orderIds) { - PatientServiceQuery patientQuery = new PatientServiceQuery(); - patientQuery.setSql("and order_id in ("+orderIds+")"); - - List patientServices = patientServiceService.queryPatientService(patientQuery); - if(CollectionUtils.isNotEmpty(patientServices)){ - for(PatientService ps :patientServices){ - ps.setSynStatus(2); - patientServiceService.updatePatientService(ps); - } - } - - BaseResponse baseResponse = new BaseResponse(); - baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); - baseResponse.setErrormsg("成功"); - return baseResponse; - } - /** * 修改状态为领取 @@ -476,7 +447,6 @@ public class PatientServiceFacade { PatientService before = patientServiceService.getPatientService(ps.getId()); patientServiceService.updatePatientService(ps); -// synReceiveData(ps.getOrderId()); operateLogFacade.addModifyOptLog(id, Integer.valueOf(hospitalId), before, ps, OptActionEnums.UPDATE.getId(), "领取设备状态修改"); BaseResponse baseResponse = new BaseResponse(); @@ -486,79 +456,109 @@ public class PatientServiceFacade { } /** - * 新增或修改同步到小程序 + * 小程序调用:获取已经领取设备,但是还未同步的数据 + */ + public BaseResponse getAlreaRece() { + PatientServiceQuery patientQuery = new PatientServiceQuery(); + //待同步默认不需要同步、1-待同步、2-已同步 + patientQuery.setSynStatus(1); + patientQuery.setSql("and order_id is not null"); + List patientServices = patientServiceService.queryPatientService(patientQuery); + List orders = new ArrayList<>(); + for (PatientService ps : patientServices) { + orders.add(ps.getOrderId()); + } + + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setObject(orders); + baseResponse.setErrormsg("成功"); + return baseResponse; + } + + /** + * 小程序调用:修改领取设备同步状态为已同步 * - * @param patientServices 数据 + * @param orderIds 订单号集合 * @return */ - public boolean synPatientService(final PatientService... patientServices) { + public BaseResponse receivePatientService(String orderIds) { + PatientServiceQuery patientQuery = new PatientServiceQuery(); + patientQuery.setSql("and order_id in (" + orderIds + ")"); + + List patientServices = patientServiceService.queryPatientService(patientQuery); + if (CollectionUtils.isNotEmpty(patientServices)) { + for (PatientService ps : patientServices) { + ps.setSynStatus(2); + patientServiceService.updatePatientService(ps); + } + } + + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setErrormsg("成功"); + return baseResponse; + } + + /** + * 小程序调用:新增或修改的服务同步到小程序 + * + * @return + */ + public BaseResponse synPatientService() { + BaseResponse baseResponse = new BaseResponse(); try { - new Thread(new Runnable() { - @Override - public void run() { - Map params = new HashMap<>(); - JSONArray jsonArray = new JSONArray(); - for (PatientService ps : patientServices) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("parentid", ps.getParentid()); - jsonObject.put("pid", ps.getPid()); - jsonObject.put("serType", ps.getSerType()); - jsonObject.put("serDoct", ps.getSerDoct()); - jsonObject.put("serStatus", ps.getSerStatus()); - jsonObject.put("hospitalId", ps.getHospitalId()); - jsonObject.put("createDate", DateUtil.getyyyy_MM_dd_hms(ps.getCreateDate())); - jsonArray.add(jsonObject); - } - params.put("data", jsonArray.toString()); - System.out.println("增值服务数据同步参数:" + jsonArray.toString()); - String rest = HttpClientUtil.doPost(patSer_sync_url + RemoteUrlEnum.RECEIVE_PATSER_SYNC_URL.getUrl(), params, "utf-8"); - System.out.println("增值服务数据同步结果:" + rest); - } - }).start(); - } catch (Exception e) { - e.printStackTrace(); - try { - //休眠10分钟继续调用同步 - Thread.sleep(600000); - } catch (InterruptedException e1) { - e1.printStackTrace(); + PatientServiceQuery patientQuery = new PatientServiceQuery(); + patientQuery.setSql("and order_id is null"); + patientQuery.setSynStatus(1); + List patientServices = patientServiceService.queryPatientService(patientQuery); + Map params = new HashMap<>(); + JSONArray jsonArray = new JSONArray(); + for (PatientService ps : patientServices) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", ps.getId()); + jsonObject.put("parentid", ps.getParentid()); + jsonObject.put("pid", ps.getPid()); + jsonObject.put("serType", ps.getSerType()); + jsonObject.put("serDoct", ps.getSerDoct()); + jsonObject.put("serStatus", ps.getSerStatus()); + jsonObject.put("hospitalId", ps.getHospitalId()); + jsonObject.put("createDate", DateUtil.getyyyy_MM_dd_hms(ps.getCreateDate())); + jsonArray.add(jsonObject); } - //迭代继续同步 - // synPatientService(patientServices); + params.put("data", jsonArray.toString()); + + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setErrormsg("成功"); + return baseResponse; + } catch (Exception e){ + baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + baseResponse.setErrormsg(e.getMessage()); + return baseResponse; } - return true; } /** - * 领取结果同步到小程序 + * 小程序调用:修改新增、修改服务同步状态为已同步 * - * @param orderId + * @param ids id集合 */ - public boolean synReceiveData(final String orderId) { - /* try { - new Thread(new Runnable() { - @Override - public void run() { - Map params = new HashMap<>(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("orderId", orderId); - params.put("data", jsonObject.toString()); - params.put("action", "verCodeHandler"); - System.out.println("领取设备请求参数:" + jsonObject.toString()); - String rest = HttpClientUtil.doPost(patSer_sync_url + RemoteUrlEnum.RECEIVE_PATSER_SYNC_URL.getUrl(), params, "utf-8"); - System.out.println("领取设备结果:" + rest); - } - }).start(); - } catch (Exception e) { - e.printStackTrace(); - try { - //休眠10分钟继续调用同步 - Thread.sleep(600000); - } catch (InterruptedException e1) { - e1.printStackTrace(); + public BaseResponse synReceiveData(String ids) { + + PatientServiceQuery patientQuery = new PatientServiceQuery(); + patientQuery.setSql("and id in (" + ids + ")"); + + List patientServices = patientServiceService.queryPatientService(patientQuery); + if (CollectionUtils.isNotEmpty(patientServices)) { + for (PatientService ps : patientServices) { + ps.setSynStatus(2); + patientServiceService.updatePatientService(ps); } - synReceiveData(orderId); - }*/ - return true; + } + + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setErrormsg("成功"); + return baseResponse; } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientSerResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientSerResult.java index 3347431..7cb295a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientSerResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientSerResult.java @@ -61,11 +61,11 @@ public class PatientSerResult { */ private String createUser; /** - * 修改时间 + * 操作时间 */ private String updateDate; /** - * 修改人 + * 操作人 */ private String updateUser; /** @@ -76,6 +76,7 @@ public class PatientSerResult { * 开通医生名称 */ private String createUserStr; + /** * 服务状态(1-开通、2-退订、3-过期、4-暂停) */ -- 1.8.3.1