Commit c783cf260c0a1c360df18e21e8b7af50ab717040

Authored by liquanyu
1 parent 133383aaa5

服务

Showing 6 changed files with 350 additions and 89 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java View file @ c783cf2
... ... @@ -100,7 +100,118 @@
100 100 */
101 101 private Integer isOld;
102 102  
103   - private Integer serviceWeek;
  103 +
  104 + private Integer device;
  105 + private Integer deviceCon;//'设备条件';
  106 +
  107 + private Integer doctorWeek;//'医生购买周数';
  108 +
  109 + private Integer serviceWeek;//'服务购买周数';
  110 +
  111 + private Integer serStartWeek;//'服务开始周数';
  112 +
  113 + private Integer serEndWeek;//'服务结束周数';
  114 +
  115 +
  116 + private Date serStartTime;//'服务开始时间';
  117 +
  118 + private Date serEndTime;//'服务结束时间';
  119 +
  120 + private Integer docStartWeek;//'医生开始周数';
  121 +
  122 + private Integer docEndWeek;//'医生结束周数';
  123 +
  124 + private Date docStartTime;//'医生开始时间';
  125 +
  126 + private Date docEndTime;//'医生结束时间';
  127 +
  128 + public Integer getDevice() {
  129 + return device;
  130 + }
  131 +
  132 + public void setDevice(Integer device) {
  133 + this.device = device;
  134 + }
  135 +
  136 + public Integer getDeviceCon() {
  137 + return deviceCon;
  138 + }
  139 +
  140 + public void setDeviceCon(Integer deviceCon) {
  141 + this.deviceCon = deviceCon;
  142 + }
  143 +
  144 + public Integer getDoctorWeek() {
  145 + return doctorWeek;
  146 + }
  147 +
  148 + public void setDoctorWeek(Integer doctorWeek) {
  149 + this.doctorWeek = doctorWeek;
  150 + }
  151 +
  152 + public Integer getSerStartWeek() {
  153 + return serStartWeek;
  154 + }
  155 +
  156 + public void setSerStartWeek(Integer serStartWeek) {
  157 + this.serStartWeek = serStartWeek;
  158 + }
  159 +
  160 + public Integer getSerEndWeek() {
  161 + return serEndWeek;
  162 + }
  163 +
  164 + public void setSerEndWeek(Integer serEndWeek) {
  165 + this.serEndWeek = serEndWeek;
  166 + }
  167 +
  168 + public Date getSerStartTime() {
  169 + return serStartTime;
  170 + }
  171 +
  172 + public void setSerStartTime(Date serStartTime) {
  173 + this.serStartTime = serStartTime;
  174 + }
  175 +
  176 + public Date getSerEndTime() {
  177 + return serEndTime;
  178 + }
  179 +
  180 + public void setSerEndTime(Date serEndTime) {
  181 + this.serEndTime = serEndTime;
  182 + }
  183 +
  184 + public Integer getDocStartWeek() {
  185 + return docStartWeek;
  186 + }
  187 +
  188 + public void setDocStartWeek(Integer docStartWeek) {
  189 + this.docStartWeek = docStartWeek;
  190 + }
  191 +
  192 + public Integer getDocEndWeek() {
  193 + return docEndWeek;
  194 + }
  195 +
  196 + public void setDocEndWeek(Integer docEndWeek) {
  197 + this.docEndWeek = docEndWeek;
  198 + }
  199 +
  200 + public Date getDocStartTime() {
  201 + return docStartTime;
  202 + }
  203 +
  204 + public void setDocStartTime(Date docStartTime) {
  205 + this.docStartTime = docStartTime;
  206 + }
  207 +
  208 + public Date getDocEndTime() {
  209 + return docEndTime;
  210 + }
  211 +
  212 + public void setDocEndTime(Date docEndTime) {
  213 + this.docEndTime = docEndTime;
  214 + }
104 215  
105 216 public Integer getServiceWeek() {
106 217 return serviceWeek;
platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml View file @ c783cf2
... ... @@ -30,7 +30,36 @@
30 30  
31 31  
32 32 <insert id="addPatientService" parameterType="com.lyms.platform.permission.model.PatientService">
33   - insert into patient_service (id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,per_type) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate},#{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld},#{perType})
  33 + insert into patient_service (id,parentid,pid,ser_type,ser_doct,create_date,create_user_name,create_user,ser_status,
  34 + update_date,update_user_name,update_user,hospital_id,ser_code,status,receive_date,receive_user,back_date,back_user,order_id,syn_status,is_old,
  35 + per_type
  36 + ,device
  37 + ,deviceCon
  38 + ,doctorWeek
  39 + ,serviceWeek
  40 + ,serStartWeek
  41 + ,serEndWeek
  42 + ,serStartTime
  43 + ,serEndTime
  44 + ,docStartWeek
  45 + ,docEndWeek
  46 + ,docStartTime
  47 + ,docEndTime
  48 + ) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate},
  49 + #{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld},#{perType}
  50 + , #{device}
  51 + , #{deviceCon}
  52 + , #{doctorWeek}
  53 + , #{serviceWeek}
  54 + , #{serStartWeek}
  55 + , #{serEndWeek}
  56 + , #{serStartTime}
  57 + , #{serEndTime}
  58 + , #{docStartWeek}
  59 + , #{docEndWeek}
  60 + , #{docStartTime}
  61 + , #{docEndTime}
  62 + )
34 63 </insert>
35 64  
36 65  
platform-dal/src/main/java/com/lyms/platform/pojo/TServiceTimeRecord.java View file @ c783cf2
... ... @@ -20,6 +20,24 @@
20 20 private Integer memberId;
21 21 private String foreignId;
22 22 private Integer endType;
  23 + private Integer goodId;//服务id
  24 + private Boolean isUpdate;
  25 +
  26 + public Boolean getIsUpdate() {
  27 + return isUpdate;
  28 + }
  29 +
  30 + public void setIsUpdate(Boolean isUpdate) {
  31 + this.isUpdate = isUpdate;
  32 + }
  33 +
  34 + public Integer getGoodId() {
  35 + return goodId;
  36 + }
  37 +
  38 + public void setGoodId(Integer goodId) {
  39 + this.goodId = goodId;
  40 + }
23 41  
24 42 public Integer getEndType() {
25 43 return endType;
platform-dal/src/main/java/com/lyms/platform/query/TServiceTimeRecordQuery.java View file @ c783cf2
... ... @@ -21,6 +21,15 @@
21 21 private String foreignId;//
22 22 private String patientId;
23 23 private Date gEndTime;
  24 + private Integer goodId;//服务id
  25 +
  26 + public Integer getGoodId() {
  27 + return goodId;
  28 + }
  29 +
  30 + public void setGoodId(Integer goodId) {
  31 + this.goodId = goodId;
  32 + }
24 33  
25 34 public Date getgEndTime() {
26 35 return gEndTime;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java View file @ c783cf2
... ... @@ -152,10 +152,10 @@
152 152 if (hsc != null) {
153 153 String docId = hds.getDoctId();
154 154 Map dmap = new HashMap();
155   - dmap.put("doctorId",docId);
156   - dmap.put("doctorPrice",hds.getDoctPrice());
157   - dmap.put("devicePrice",hds.getDevicePrice());
158   - dmap.put("deviceCon",hds.getDeviceCon());
  155 + dmap.put("doctorId", docId);
  156 + dmap.put("doctorPrice", hds.getDoctPrice());
  157 + dmap.put("devicePrice", hds.getDevicePrice());
  158 + dmap.put("deviceCon", hds.getDeviceCon());
159 159  
160 160 hsc.getDoctIds().add(dmap);
161 161 }
162 162  
... ... @@ -169,13 +169,11 @@
169 169  
170 170 List<Map> list = new ArrayList<>();
171 171 List<AssistBuildUserModel> userModels = assistBuildService.queryAssistBuildUsers(param);
172   - if (CollectionUtils.isNotEmpty(userModels))
173   - {
174   - for (AssistBuildUserModel model : userModels)
175   - {
  172 + if (CollectionUtils.isNotEmpty(userModels)) {
  173 + for (AssistBuildUserModel model : userModels) {
176 174 Map data = new HashMap();
177   - data.put("id",model.getId());
178   - data.put("assistUserName",model.getUserName());
  175 + data.put("id", model.getId());
  176 + data.put("assistUserName", model.getUserName());
179 177 list.add(data);
180 178 }
181 179 }
... ... @@ -247,7 +245,7 @@
247 245 * @param userId
248 246 * @return
249 247 */
250   - public BaseResponse addPatientService(PatientService ps, Integer userId,String hospitalId) throws Exception {
  248 + public BaseResponse addPatientService(PatientService ps, Integer userId, String hospitalId) throws Exception {
251 249 List<Map<String, String>> serInfos = ps.getSerInfos();
252 250 for (Map<String, String> serInfo : serInfos) {
253 251 //先根据孕妇id和开通服务类型、开通医生进行查询,如果已经开通过则开通失败
254 252  
... ... @@ -311,8 +309,14 @@
311 309 pser.setUpdateDate(new Date());
312 310 //服务开通操作人
313 311 pser.setUpdateUser(String.valueOf(userId));
  312 +
  313 +
  314 + Patients patients = patientsService.findOnePatientById(ps.getParentid());
  315 + setServiceRecord(pser, patients);
  316 +
314 317 patientServiceService.addPatientService(pser);
315 318  
  319 +
316 320 operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), pser, OptActionEnums.ADD.getId(), "开通增值服务");
317 321  
318 322 if (ps.getPerType() != null && ps.getPerType() == 2) {//儿童建档服务数据处理
319 323  
320 324  
... ... @@ -322,20 +326,20 @@
322 326 babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
323 327 babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
324 328 babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest);
325   - }else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) {
  329 + } else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) {
326 330 PatientServiceQuery query = new PatientServiceQuery();
327 331 query.setParentid(ps.getParentid());
328 332 query.setSerType(PatientSerEnums.SerTypeEnums.babyjzzz.getId());
329 333 int count = patientServiceService.queryPatientServiceCount(query);
330 334 //是否有增值服务--没有则处理标准服务
331   - if (count == 0) {
332   - BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest();
333   - babyBookbuildingAddRequest.setId(ps.getParentid());
334   - babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
335   - babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
336   - babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest);
337   - }
  335 + if (count == 0) {
  336 + BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest();
  337 + babyBookbuildingAddRequest.setId(ps.getParentid());
  338 + babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId());
  339 + babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId());
  340 + babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest);
338 341 }
  342 + }
339 343 } else {//孕妇建档服务数据处理
340 344 if (PatientSerEnums.SerTypeEnums.yqjzzd.getId() == Integer.parseInt(serInfo.get("serType"))) {//孕期精准指导同步到建档
341 345  
342 346  
... ... @@ -344,13 +348,8 @@
344 348 patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
345 349 bookbuildingFacade.updatePatientSerById(ps.getParentid(), patient);
346 350  
347   -// Patients patients = patientsService.findOnePatientById(ps.getParentid());
348   -// if (patients != null)
349   -// {
350   -// saveServiceTimeRecord(4, patients);
351   -// }
352 351  
353   - }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))){
  352 + } else if (PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) {
354 353 PatientServiceQuery query = new PatientServiceQuery();
355 354 query.setParentid(ps.getParentid());
356 355 query.setSerType(PatientSerEnums.SerTypeEnums.yqjzzd.getId());
357 356  
358 357  
359 358  
360 359  
361 360  
... ... @@ -373,35 +372,88 @@
373 372 return baseResponse;
374 373 }
375 374  
  375 + public void setServiceRecord(PatientService pser, Patients patients)
  376 + {
  377 + Date lastMenses = patients.getLastMenses();
  378 + Integer serviceWeek = pser.getServiceWeek();
  379 + Integer doctorService = pser.getDoctorWeek();
  380 + if (pser.getId() != null)
  381 + {
  382 + if (pser.getSerEndTime().getTime() > new Date().getTime())
  383 + {
376 384  
  385 + Date startTime = pser.getSerStartTime();
  386 + Date endTime = DateUtil.addWeek(pser.getSerEndTime(), serviceWeek);
377 387  
378   - public void saveServiceTimeRecord(Integer type,Patients patients)
379   - {
380   - TServiceTimeRecord st = new TServiceTimeRecord();
381   - st.setCreateTime(new Date());
382   - st.setType(type);
383   - st.setUpdateTime(new Date());
384   - Date startTime = patients.getLastMenses();
385   - Date endTime = DateUtil.addWeek(patients.getLastMenses(), 42);
386   - endTime = endTime.getTime() > DateUtil.addWeek(patients.getLastMenses(), 42).getTime() ? DateUtil.addWeek(patients.getLastMenses(), 42) : endTime;
387   - st.setStartTime(startTime);
388   - st.setEndTime(endTime);
  388 + pser.setSerStartTime(startTime);
  389 + pser.setSerEndTime(endTime);
389 390  
390   - Date lastMenses = patients.getLastMenses();
391   - int currentWeek = DateUtil.getWeek(lastMenses, new Date());
392   - int maxWeek = DateUtil.getWeek(patients.getLastMenses(), endTime);
393   - int startWeek = 0;
394   - int endWeek = 0;
395   - startWeek = currentWeek;
396   - endWeek = maxWeek;
397   - endWeek = endWeek > 42 ? 42 : endWeek;
  391 + Integer startWeek = DateUtil.getWeek(lastMenses, startTime);
  392 + Integer endWeek = DateUtil.getWeek(lastMenses, pser.getSerEndTime()) + serviceWeek;
  393 + pser.setSerStartWeek(startWeek);
  394 + pser.setSerEndWeek(endWeek);
  395 + }
  396 + else
  397 + {
  398 + pser.setSerStartTime(new Date());
  399 + pser.setSerEndTime(DateUtil.addWeek(new Date(), serviceWeek));
  400 + pser.setSerStartWeek(DateUtil.getWeek(lastMenses, new Date()));
  401 + pser.setSerEndWeek(DateUtil.getWeek(lastMenses, new Date()) + serviceWeek);
  402 + }
398 403  
399   - st.setWeekStart(startWeek);
400   - st.setWeekEnd(endWeek);
401   - st.setForeignId(patients.getId());
402   - serviceTimeRecordService.addServiceTimeRecord(st);
  404 + if (pser.getDocEndTime().getTime() > new Date().getTime())
  405 + {
  406 + Date endTime = DateUtil.addWeek(pser.getDocEndTime(),doctorService);
  407 + Date startTime = pser.getSerStartTime();
  408 +
  409 + pser.setDocEndTime(endTime);
  410 + pser.setDocStartTime(startTime);
  411 +
  412 + Integer startWeek = DateUtil.getWeek(lastMenses, startTime);
  413 + Integer endWeek = DateUtil.getWeek(lastMenses, pser.getDocEndTime()) + doctorService;
  414 + pser.setDocStartWeek(startWeek);
  415 + pser.setDocEndWeek(endWeek);
  416 + }
  417 + else
  418 + {
  419 + pser.setDocStartTime(new Date());
  420 + pser.setDocEndTime(DateUtil.addWeek(new Date(), serviceWeek));
  421 + pser.setDocStartWeek(DateUtil.getWeek(lastMenses, new Date()));
  422 + pser.setDocEndWeek(DateUtil.getWeek(lastMenses, new Date()) + doctorService);
  423 + }
  424 + }
  425 + else
  426 + {
  427 + pser.setSerStartTime(new Date());
  428 + pser.setSerEndTime(DateUtil.addWeek(new Date(), serviceWeek));
  429 + pser.setSerStartWeek(DateUtil.getWeek(lastMenses, new Date()));
  430 + pser.setSerEndWeek(DateUtil.getWeek(lastMenses, new Date()) + serviceWeek);
  431 +
  432 + pser.setDocStartTime(new Date());
  433 + pser.setDocEndTime(DateUtil.addWeek(new Date(), serviceWeek));
  434 + pser.setDocStartWeek(DateUtil.getWeek(lastMenses, new Date()));
  435 + pser.setDocEndWeek(DateUtil.getWeek(lastMenses, new Date()) + doctorService);
  436 + }
  437 +
403 438 }
404 439  
  440 +
  441 +// public void saveServiceTimeRecord(Integer serviceId,Integer serviceWeek,Patients patients)
  442 +// {
  443 +// TServiceTimeRecord st = new TServiceTimeRecord();
  444 +// st.setCreateTime(new Date());
  445 +// st.setUpdateTime(new Date());
  446 +// st.setGoodId(serviceId);
  447 +//
  448 +// st.setStartTime(new Date());
  449 +// st.setEndTime(DateUtil.addWeek(new Date(), serviceWeek));
  450 +// st.setWeekStart(DateUtil.getWeek(patients.getLastMenses(), new Date()));
  451 +// st.setWeekEnd(DateUtil.getWeek(patients.getLastMenses(), new Date()) + serviceWeek);
  452 +// //院内系统孕妇建档id
  453 +// st.setForeignId(patients.getId());
  454 +// serviceTimeRecordService.addServiceTimeRecord(st);
  455 +// }
  456 +
405 457 /**
406 458 * 修改服务开通记录
407 459 *
... ... @@ -478,13 +530,6 @@
478 530 } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.zt.getId().intValue()) {
479 531 patient.setServiceStatus(ServiceStatusEnums.SUSPEND.getId());
480 532 }
481   -
482   - Patients patients = patientsService.findOnePatientById(ps.getParentid());
483   - if (patients != null)
484   - {
485   - saveServiceTimeRecord(4, patients);
486   - }
487   -
488 533 }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){
489 534 PatientServiceQuery query = new PatientServiceQuery();
490 535 query.setParentid(after.getParentid());
... ... @@ -871,6 +916,22 @@
871 916 //领取状态
872 917 jsonObject.put("status", ps.getStatus());
873 918 jsonObject.put("createDate", DateUtil.getyyyy_MM_dd_hms(ps.getCreateDate()));
  919 +
  920 +
  921 + jsonObject.put("device", ps.getDevice());
  922 + jsonObject.put("deviceCon", ps.getDeviceCon());
  923 + jsonObject.put("doctorWeek", ps.getDoctorWeek());
  924 + jsonObject.put("serviceWeek", ps.getServiceWeek());
  925 + jsonObject.put("serStartWeek", ps.getSerStartWeek());
  926 + jsonObject.put("serEndWeek", ps.getSerEndWeek());
  927 + jsonObject.put("serStartTime", DateUtil.getyyyy_MM_dd_hms(ps.getSerStartTime()));
  928 + jsonObject.put("serEndTime", DateUtil.getyyyy_MM_dd_hms(ps.getSerEndTime()));
  929 + jsonObject.put("docStartWeek", ps.getDocStartWeek());
  930 + jsonObject.put("docEndWeek", ps.getDocEndWeek());
  931 + jsonObject.put("docStartTime", DateUtil.getyyyy_MM_dd_hms(ps.getDocStartTime()));
  932 + jsonObject.put("docEndTime", DateUtil.getyyyy_MM_dd_hms(ps.getDocEndTime()));
  933 +
  934 +
874 935 jsonArray.add(jsonObject);
875 936 }
876 937  
... ... @@ -1049,35 +1110,35 @@
1049 1110  
1050 1111 public void doServiceEndExcute()
1051 1112 {
1052   - TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery();
1053   - stquery.setEndTime(new Date());
1054   - List<TServiceTimeRecord> tsList = serviceTimeRecordService.queryServiceTimeRecordsEnd(stquery);
1055   - if (CollectionUtils.isNotEmpty(tsList)) {
1056   - for (TServiceTimeRecord st : tsList)
1057   - {
1058   - st.setEndType(1);
1059   - serviceTimeRecordService.updateServiceTimeRecord(st);
1060   -
1061   - PatientServiceQuery patientQuery = new PatientServiceQuery();
1062   - patientQuery.setSerType(1);
1063   - patientQuery.setParentid(st.getForeignId());
1064   - List<PatientService> patientServices = patientServiceService.queryPatientService(patientQuery);
1065   - if (CollectionUtils.isNotEmpty(patientServices))
1066   - {
1067   - for (PatientService service : patientServices)
1068   - {
1069   - service.setSerType(1);
1070   - service.setSerStatus(3);
1071   - patientServiceService.updatePatientService(service);
1072   - }
1073   - }
1074   -
1075   - Patients patients = patientsService.findOnePatientById(st.getForeignId());
1076   - patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
1077   - patients.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
1078   - patientsService.updatePatient(patients);
1079   - }
1080   - }
  1113 +// TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery();
  1114 +// stquery.setEndTime(new Date());
  1115 +// List<TServiceTimeRecord> tsList = serviceTimeRecordService.queryServiceTimeRecordsEnd(stquery);
  1116 +// if (CollectionUtils.isNotEmpty(tsList)) {
  1117 +// for (TServiceTimeRecord st : tsList)
  1118 +// {
  1119 +// st.setEndType(1);
  1120 +// serviceTimeRecordService.updateServiceTimeRecord(st);
  1121 +//
  1122 +// PatientServiceQuery patientQuery = new PatientServiceQuery();
  1123 +// patientQuery.setSerType(1);
  1124 +// patientQuery.setParentid(st.getForeignId());
  1125 +// List<PatientService> patientServices = patientServiceService.queryPatientService(patientQuery);
  1126 +// if (CollectionUtils.isNotEmpty(patientServices))
  1127 +// {
  1128 +// for (PatientService service : patientServices)
  1129 +// {
  1130 +// service.setSerType(1);
  1131 +// service.setSerStatus(3);
  1132 +// patientServiceService.updatePatientService(service);
  1133 +// }
  1134 +// }
  1135 +//
  1136 +// Patients patients = patientsService.findOnePatientById(st.getForeignId());
  1137 +// patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
  1138 +// patients.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId());
  1139 +// patientsService.updatePatient(patients);
  1140 +// }
  1141 +// }
1081 1142 }
1082 1143  
1083 1144 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java View file @ c783cf2
... ... @@ -7,6 +7,7 @@
7 7 import com.lyms.platform.common.enums.ServiceStatusEnums;
8 8 import com.lyms.platform.common.enums.ServiceTypeEnums;
9 9 import com.lyms.platform.common.result.BaseResponse;
  10 +import com.lyms.platform.common.utils.DateUtil;
10 11 import com.lyms.platform.common.utils.JsonUtil;
11 12 import com.lyms.platform.common.utils.StringUtils;
12 13 import com.lyms.platform.operate.web.request.BabyBookbuildingAddRequest;
... ... @@ -17,6 +18,7 @@
17 18 import com.lyms.platform.pojo.BabyModel;
18 19 import com.lyms.platform.pojo.Patients;
19 20 import com.lyms.platform.pojo.TServiceTimeRecord;
  21 +import com.lyms.platform.query.TServiceTimeRecordQuery;
20 22 import net.sf.json.JSONArray;
21 23 import net.sf.json.JSONObject;
22 24 import org.apache.commons.collections.CollectionUtils;
23 25  
... ... @@ -46,7 +48,10 @@
46 48 @Autowired
47 49 private BabyBookbuildingFacade babyBookbuildingFacade;
48 50  
  51 + @Autowired
  52 + private PatientServiceFacade patientServiceFacade;
49 53  
  54 +
50 55 @Autowired
51 56 private TServiceTimeRecordService serviceTimeRecordService;
52 57  
... ... @@ -61,6 +66,7 @@
61 66 if (baseResponse.getErrorcode() != ErrorCodeConstants.SUCCESS) {
62 67 return baseResponse;
63 68 }
  69 + Patients patients = patientsService.findOnePatientById(patientService.getParentid());
64 70  
65 71 if (patientService.getPerType() != null && patientService.getPerType() == 2) {//儿童
66 72 BabyModel babyModel = babyService.getOneBabyById(patientService.getParentid());
... ... @@ -72,7 +78,7 @@
72 78 }
73 79 }
74 80 } else {
75   - Patients patients = patientsService.findOnePatientById(patientService.getParentid());
  81 +
76 82 if (patients != null) {
77 83 patientService.setPid(patients.getPid());
78 84 //如果有数据源id,取主档案id
... ... @@ -103,6 +109,9 @@
103 109 ps.setHospitalId(patientService.getHospitalId());
104 110 //操作时间
105 111 ps.setUpdateDate(new Date());
  112 +
  113 + patientServiceFacade.setServiceRecord(ps, patients);
  114 +
106 115 patientServiceService.updatePatientService(ps);
107 116 } else {//新增
108 117 patientService.setId(UUID.randomUUID().toString().replace("-", ""));
... ... @@ -116,6 +125,9 @@
116 125 //默认待领取
117 126 patientService.setStatus(1);
118 127 }
  128 +
  129 + patientServiceFacade.setServiceRecord(patientService,patients);
  130 +
119 131 patientServiceService.addPatientService(patientService);
120 132 }
121 133  
... ... @@ -224,7 +236,28 @@
224 236  
225 237 try {
226 238 TServiceTimeRecord serviceTimeRecord = JsonUtil.jkstr2Obj(synForm, TServiceTimeRecord.class);
227   - serviceTimeRecordService.addServiceTimeRecord(serviceTimeRecord);
  239 +
  240 + TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery();
  241 + stquery.setPatientId(serviceTimeRecord.getForeignId());
  242 + stquery.setGoodId(serviceTimeRecord.getGoodId());
  243 + stquery.setSort(" createTime desc");
  244 + TServiceTimeRecord st = null;
  245 + List<TServiceTimeRecord> tsList = serviceTimeRecordService.selectServiceTimeRecords(stquery);
  246 +
  247 + if (CollectionUtils.isNotEmpty(tsList))
  248 + {
  249 + if (tsList.get(0).getIsUpdate() != null && tsList.get(0).getIsUpdate() == true)
  250 + {
  251 + st.setId(tsList.get(0).getId());
  252 + serviceTimeRecordService.updateServiceTimeRecord(st);
  253 + }
  254 +
  255 + }
  256 + if (tsList.get(0).getIsUpdate() == null || tsList.get(0).getIsUpdate() == false)
  257 + {
  258 + serviceTimeRecordService.addServiceTimeRecord(serviceTimeRecord);
  259 + }
  260 +
228 261 }
229 262 catch (Exception e)
230 263 {