Commit f89c2ad36f6c0533593edfb65f2b78a2ab5d6fb7

Authored by zhangchao
1 parent c2e0d5b94a
Exists in dev

#fix:优化医信照护his数据同步,根据产妇、孕妇类型自动开通对应服务逻辑

Showing 1 changed file with 67 additions and 44 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PatientServiceController.java View file @ f89c2ad
... ... @@ -164,62 +164,85 @@
164 164 String bookbuildingDoctor = patients.getBookbuildingDoctor();
165 165 //续期,增加
166 166 if(yxzhVO.getRenew() == 1){
  167 + //1孕妇 2儿童 3 产妇
167 168 PatientServiceQuery patientServiceQuery = new PatientServiceQuery();
168   - patientServiceQuery.setParentid(patients.getId());
169   - patientServiceQuery.setPerType(1);
170   - patientServiceQuery.setSerType(1);
171   - List<PatientService> patientServices = patientServiceService.queryPatientService(patientServiceQuery);
172   - if(CollectionUtils.isNotEmpty(patientServices)){
173   - PatientService patientService = patientServices.get(0);
174   - PatientService ps = new PatientService();
  169 + List<PatientService> patientServices=new ArrayList<>();
  170 + if (patients.getType()==1){
  171 + patientServiceQuery.setParentid(patients.getId());
  172 + patientServiceQuery.setPerType(1);
  173 + patientServiceQuery.setSerType(1);
  174 + patientServices = patientServiceService.queryPatientService(patientServiceQuery);
  175 + if(CollectionUtils.isNotEmpty(patientServices)){
  176 + PatientService patientService = patientServices.get(0);
  177 + PatientService ps = new PatientService();
  178 + ps.setId(patientService.getId());
  179 + ps.setParentid(patientService.getParentid());
  180 + ps.setSerStatus(1);
  181 + ps.setServiceWeek(yxzhVO.getWeeks());
  182 + ps.setSerType(1);
  183 + patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor));
175 184  
176   - ps.setId(patientService.getId());
177   - ps.setParentid(patientService.getParentid());
178   - ps.setSerStatus(1);
179   - ps.setServiceWeek(yxzhVO.getWeeks());
180   - ps.setSerType(1);
181   - patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor));
  185 + }
  186 + patientServiceQuery.setSerType(6);
  187 + patientServices = patientServiceService.queryPatientService(patientServiceQuery);
  188 + if(CollectionUtils.isNotEmpty(patientServices)){
  189 + PatientService patientService = patientServices.get(0);
  190 + PatientService ps = new PatientService();
  191 + ps.setId(patientService.getId());
  192 + ps.setParentid(patientService.getParentid());
  193 + ps.setSerStatus(1);
  194 + ps.setServiceWeek(yxzhVO.getWeeks());
  195 + ps.setSerType(6);
  196 + baseResponse = patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor));
182 197  
183   - }
184   - patientServiceQuery.setSerType(6);
185   - patientServices = patientServiceService.queryPatientService(patientServiceQuery);
186   - if(CollectionUtils.isNotEmpty(patientServices)){
187   - PatientService patientService = patientServices.get(0);
188   - PatientService ps = new PatientService();
  198 + }
  199 + }else if (patients.getType()==3){
  200 + patientServiceQuery.setPerType(3);
  201 + patientServiceQuery.setSerType(20);
  202 + patientServices = patientServiceService.queryPatientService(patientServiceQuery);
  203 + if(CollectionUtils.isNotEmpty(patientServices)){
  204 + PatientService patientService = patientServices.get(0);
  205 + PatientService ps = new PatientService();
  206 + ps.setId(patientService.getId());
  207 + ps.setParentid(patientService.getParentid());
  208 + ps.setSerStatus(1);
  209 + ps.setServiceWeek(yxzhVO.getWeeks());
  210 + ps.setSerType(20);
  211 + baseResponse = patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor));
189 212  
190   - ps.setId(patientService.getId());
191   - ps.setParentid(patientService.getParentid());
192   - ps.setSerStatus(1);
193   - ps.setServiceWeek(yxzhVO.getWeeks());
194   - ps.setSerType(6);
195   - baseResponse = patientServiceFacade.updatePatientService(ps,Integer.valueOf(bookbuildingDoctor));
196   -
  213 + }
197 214 }
198   -
199 215 return baseResponse;
200 216 }else{
201   -
  217 + List<Map<String,String>> list = new ArrayList<>();
202 218 PatientService ps = new PatientService();
203 219 ps.setSerStatus(1);
204   - ps.setPerType(1);
205 220 ps.setParentid(patients.getId());
206 221 ps.setCreateUser(bookbuildingDoctor);
207 222 ps.setCreateDate(new Date());
208   -
209   - List<Map<String,String>> list = new ArrayList<>();
210   - Map<String,String> m1 = new HashMap<>();
211   - m1.put("serType","1");
212   - m1.put("serviceWeek",yxzhVO.getWeeks()+"");
213   - Map<String,String> m2 = new HashMap<>();
214   - m2.put("serType","6");
215   - m2.put("serviceWeek",yxzhVO.getWeeks()+"");
216   - list.add(m1);
217   - list.add(m2);
  223 + //1孕妇 2儿童 3 产妇
  224 + if (patients.getType()==1){
  225 + //开通围产、精准服务
  226 + ps.setPerType(1);
  227 + Map<String,String> m1 = new HashMap<>();
  228 + m1.put("serType","1");
  229 + m1.put("serviceWeek",yxzhVO.getWeeks()+"");
  230 + Map<String,String> m2 = new HashMap<>();
  231 + m2.put("serType","6");
  232 + m2.put("serviceWeek",yxzhVO.getWeeks()+"");
  233 + list.add(m1);
  234 + list.add(m2);
  235 + }else if (patients.getType()==3){
  236 + //开通产后康复服务
  237 + ps.setPerType(3);
  238 + Map<String,String> m3 = new HashMap<>();
  239 + m3.put("serType","20");
  240 + m3.put("serviceWeek",yxzhVO.getWeeks()+"");
  241 + list.add(m3);
  242 + }
218 243 ps.setSerInfos(list);
219 244 return patientServiceFacade.addPatientService(ps, Integer.valueOf(bookbuildingDoctor),hospitalId);
220 245 }
221   -
222   -
223 246 }catch (Exception e){
224 247 e.printStackTrace();
225 248 baseResponse.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR);