diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java index 7eaf745..bb955e6 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/PatientService.java @@ -100,7 +100,118 @@ public class PatientService { */ private Integer isOld; - private Integer serviceWeek; + + private Integer device; + private Integer deviceCon;//'设备条件'; + + private Integer doctorWeek;//'医生购买周数'; + + private Integer serviceWeek;//'服务购买周数'; + + private Integer serStartWeek;//'服务开始周数'; + + private Integer serEndWeek;//'服务结束周数'; + + + private Date serStartTime;//'服务开始时间'; + + private Date serEndTime;//'服务结束时间'; + + private Integer docStartWeek;//'医生开始周数'; + + private Integer docEndWeek;//'医生结束周数'; + + private Date docStartTime;//'医生开始时间'; + + private Date docEndTime;//'医生结束时间'; + + public Integer getDevice() { + return device; + } + + public void setDevice(Integer device) { + this.device = device; + } + + public Integer getDeviceCon() { + return deviceCon; + } + + public void setDeviceCon(Integer deviceCon) { + this.deviceCon = deviceCon; + } + + public Integer getDoctorWeek() { + return doctorWeek; + } + + public void setDoctorWeek(Integer doctorWeek) { + this.doctorWeek = doctorWeek; + } + + public Integer getSerStartWeek() { + return serStartWeek; + } + + public void setSerStartWeek(Integer serStartWeek) { + this.serStartWeek = serStartWeek; + } + + public Integer getSerEndWeek() { + return serEndWeek; + } + + public void setSerEndWeek(Integer serEndWeek) { + this.serEndWeek = serEndWeek; + } + + public Date getSerStartTime() { + return serStartTime; + } + + public void setSerStartTime(Date serStartTime) { + this.serStartTime = serStartTime; + } + + public Date getSerEndTime() { + return serEndTime; + } + + public void setSerEndTime(Date serEndTime) { + this.serEndTime = serEndTime; + } + + public Integer getDocStartWeek() { + return docStartWeek; + } + + public void setDocStartWeek(Integer docStartWeek) { + this.docStartWeek = docStartWeek; + } + + public Integer getDocEndWeek() { + return docEndWeek; + } + + public void setDocEndWeek(Integer docEndWeek) { + this.docEndWeek = docEndWeek; + } + + public Date getDocStartTime() { + return docStartTime; + } + + public void setDocStartTime(Date docStartTime) { + this.docStartTime = docStartTime; + } + + public Date getDocEndTime() { + return docEndTime; + } + + public void setDocEndTime(Date docEndTime) { + this.docEndTime = docEndTime; + } public Integer getServiceWeek() { return serviceWeek; diff --git a/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml b/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml index 0628adc..b79a196 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/PatientService.xml @@ -30,7 +30,36 @@ - 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}) + 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 + ,device + ,deviceCon + ,doctorWeek + ,serviceWeek + ,serStartWeek + ,serEndWeek + ,serStartTime + ,serEndTime + ,docStartWeek + ,docEndWeek + ,docStartTime + ,docEndTime + ) values (#{id},#{parentid},#{pid},#{serType},#{serDoct},#{createDate},#{createUserName},#{createUser},#{serStatus},#{updateDate}, + #{updateUserName},#{updateUser},#{hospitalId},#{serCode},#{status},#{receiveDate},#{receiveUser},#{backDate},#{backUser},#{orderId},#{synStatus},#{isOld},#{perType} + , #{device} + , #{deviceCon} + , #{doctorWeek} + , #{serviceWeek} + , #{serStartWeek} + , #{serEndWeek} + , #{serStartTime} + , #{serEndTime} + , #{docStartWeek} + , #{docEndWeek} + , #{docStartTime} + , #{docEndTime} + ) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TServiceTimeRecord.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TServiceTimeRecord.java index 117e51f..098d74a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TServiceTimeRecord.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TServiceTimeRecord.java @@ -20,6 +20,24 @@ public class TServiceTimeRecord { private Integer memberId; private String foreignId; private Integer endType; + private Integer goodId;//服务id + private Boolean isUpdate; + + public Boolean getIsUpdate() { + return isUpdate; + } + + public void setIsUpdate(Boolean isUpdate) { + this.isUpdate = isUpdate; + } + + public Integer getGoodId() { + return goodId; + } + + public void setGoodId(Integer goodId) { + this.goodId = goodId; + } public Integer getEndType() { return endType; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/TServiceTimeRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/TServiceTimeRecordQuery.java index 7f33fe1..b17639a 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/TServiceTimeRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/TServiceTimeRecordQuery.java @@ -21,6 +21,15 @@ public class TServiceTimeRecordQuery extends BaseQuery { private String foreignId;// private String patientId; private Date gEndTime; + private Integer goodId;//服务id + + public Integer getGoodId() { + return goodId; + } + + public void setGoodId(Integer goodId) { + this.goodId = goodId; + } public Date getgEndTime() { return gEndTime; 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 7a6a41a..1e885d3 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 @@ -152,10 +152,10 @@ public class PatientServiceFacade { if (hsc != null) { String docId = hds.getDoctId(); Map dmap = new HashMap(); - dmap.put("doctorId",docId); - dmap.put("doctorPrice",hds.getDoctPrice()); - dmap.put("devicePrice",hds.getDevicePrice()); - dmap.put("deviceCon",hds.getDeviceCon()); + dmap.put("doctorId", docId); + dmap.put("doctorPrice", hds.getDoctPrice()); + dmap.put("devicePrice", hds.getDevicePrice()); + dmap.put("deviceCon", hds.getDeviceCon()); hsc.getDoctIds().add(dmap); } @@ -169,13 +169,11 @@ public class PatientServiceFacade { List list = new ArrayList<>(); List userModels = assistBuildService.queryAssistBuildUsers(param); - if (CollectionUtils.isNotEmpty(userModels)) - { - for (AssistBuildUserModel model : userModels) - { + if (CollectionUtils.isNotEmpty(userModels)) { + for (AssistBuildUserModel model : userModels) { Map data = new HashMap(); - data.put("id",model.getId()); - data.put("assistUserName",model.getUserName()); + data.put("id", model.getId()); + data.put("assistUserName", model.getUserName()); list.add(data); } } @@ -247,7 +245,7 @@ public class PatientServiceFacade { * @param userId * @return */ - public BaseResponse addPatientService(PatientService ps, Integer userId,String hospitalId) throws Exception { + public BaseResponse addPatientService(PatientService ps, Integer userId, String hospitalId) throws Exception { List> serInfos = ps.getSerInfos(); for (Map serInfo : serInfos) { //先根据孕妇id和开通服务类型、开通医生进行查询,如果已经开通过则开通失败 @@ -311,8 +309,14 @@ public class PatientServiceFacade { pser.setUpdateDate(new Date()); //服务开通操作人 pser.setUpdateUser(String.valueOf(userId)); + + + Patients patients = patientsService.findOnePatientById(ps.getParentid()); + setServiceRecord(pser, patients); + patientServiceService.addPatientService(pser); + operateLogFacade.addAddOptLog(userId, Integer.valueOf(hospitalId), pser, OptActionEnums.ADD.getId(), "开通增值服务"); if (ps.getPerType() != null && ps.getPerType() == 2) {//儿童建档服务数据处理 @@ -322,20 +326,20 @@ public class PatientServiceFacade { babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest); - }else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) { + } else if (PatientSerEnums.SerTypeEnums.babyBzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) { PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(ps.getParentid()); query.setSerType(PatientSerEnums.SerTypeEnums.babyjzzz.getId()); int count = patientServiceService.queryPatientServiceCount(query); //是否有增值服务--没有则处理标准服务 - if (count == 0) { - BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest(); - babyBookbuildingAddRequest.setId(ps.getParentid()); - babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); - babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); - babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest); - } + if (count == 0) { + BabyBookbuildingAddRequest babyBookbuildingAddRequest = new BabyBookbuildingAddRequest(); + babyBookbuildingAddRequest.setId(ps.getParentid()); + babyBookbuildingAddRequest.setServiceType(ServiceTypeEnums.STANDARD_SERVICE.getId()); + babyBookbuildingAddRequest.setServiceStatus(ServiceStatusEnums.STANDARD_OPEN.getId()); + babyBookbuildingFacade.updateBabySerInfo(babyBookbuildingAddRequest); } + } } else {//孕妇建档服务数据处理 if (PatientSerEnums.SerTypeEnums.yqjzzd.getId() == Integer.parseInt(serInfo.get("serType"))) {//孕期精准指导同步到建档 @@ -344,13 +348,8 @@ public class PatientServiceFacade { patient.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId()); bookbuildingFacade.updatePatientSerById(ps.getParentid(), patient); -// Patients patients = patientsService.findOnePatientById(ps.getParentid()); -// if (patients != null) -// { -// saveServiceTimeRecord(4, patients); -// } - }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))){ + } else if (PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == Integer.parseInt(serInfo.get("serType"))) { PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(ps.getParentid()); query.setSerType(PatientSerEnums.SerTypeEnums.yqjzzd.getId()); @@ -373,35 +372,88 @@ public class PatientServiceFacade { return baseResponse; } + public void setServiceRecord(PatientService pser, Patients patients) + { + Date lastMenses = patients.getLastMenses(); + Integer serviceWeek = pser.getServiceWeek(); + Integer doctorService = pser.getDoctorWeek(); + if (pser.getId() != null) + { + if (pser.getSerEndTime().getTime() > new Date().getTime()) + { + + Date startTime = pser.getSerStartTime(); + Date endTime = DateUtil.addWeek(pser.getSerEndTime(), serviceWeek); + pser.setSerStartTime(startTime); + pser.setSerEndTime(endTime); - public void saveServiceTimeRecord(Integer type,Patients patients) - { - TServiceTimeRecord st = new TServiceTimeRecord(); - st.setCreateTime(new Date()); - st.setType(type); - st.setUpdateTime(new Date()); - Date startTime = patients.getLastMenses(); - Date endTime = DateUtil.addWeek(patients.getLastMenses(), 42); - endTime = endTime.getTime() > DateUtil.addWeek(patients.getLastMenses(), 42).getTime() ? DateUtil.addWeek(patients.getLastMenses(), 42) : endTime; - st.setStartTime(startTime); - st.setEndTime(endTime); + Integer startWeek = DateUtil.getWeek(lastMenses, startTime); + Integer endWeek = DateUtil.getWeek(lastMenses, pser.getSerEndTime()) + serviceWeek; + pser.setSerStartWeek(startWeek); + pser.setSerEndWeek(endWeek); + } + else + { + pser.setSerStartTime(new Date()); + pser.setSerEndTime(DateUtil.addWeek(new Date(), serviceWeek)); + pser.setSerStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setSerEndWeek(DateUtil.getWeek(lastMenses, new Date()) + serviceWeek); + } + + if (pser.getDocEndTime().getTime() > new Date().getTime()) + { + Date endTime = DateUtil.addWeek(pser.getDocEndTime(),doctorService); + Date startTime = pser.getSerStartTime(); + + pser.setDocEndTime(endTime); + pser.setDocStartTime(startTime); + + Integer startWeek = DateUtil.getWeek(lastMenses, startTime); + Integer endWeek = DateUtil.getWeek(lastMenses, pser.getDocEndTime()) + doctorService; + pser.setDocStartWeek(startWeek); + pser.setDocEndWeek(endWeek); + } + else + { + pser.setDocStartTime(new Date()); + pser.setDocEndTime(DateUtil.addWeek(new Date(), serviceWeek)); + pser.setDocStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setDocEndWeek(DateUtil.getWeek(lastMenses, new Date()) + doctorService); + } + } + else + { + pser.setSerStartTime(new Date()); + pser.setSerEndTime(DateUtil.addWeek(new Date(), serviceWeek)); + pser.setSerStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setSerEndWeek(DateUtil.getWeek(lastMenses, new Date()) + serviceWeek); + + pser.setDocStartTime(new Date()); + pser.setDocEndTime(DateUtil.addWeek(new Date(), serviceWeek)); + pser.setDocStartWeek(DateUtil.getWeek(lastMenses, new Date())); + pser.setDocEndWeek(DateUtil.getWeek(lastMenses, new Date()) + doctorService); + } - Date lastMenses = patients.getLastMenses(); - int currentWeek = DateUtil.getWeek(lastMenses, new Date()); - int maxWeek = DateUtil.getWeek(patients.getLastMenses(), endTime); - int startWeek = 0; - int endWeek = 0; - startWeek = currentWeek; - endWeek = maxWeek; - endWeek = endWeek > 42 ? 42 : endWeek; - - st.setWeekStart(startWeek); - st.setWeekEnd(endWeek); - st.setForeignId(patients.getId()); - serviceTimeRecordService.addServiceTimeRecord(st); } + +// public void saveServiceTimeRecord(Integer serviceId,Integer serviceWeek,Patients patients) +// { +// TServiceTimeRecord st = new TServiceTimeRecord(); +// st.setCreateTime(new Date()); +// st.setUpdateTime(new Date()); +// st.setGoodId(serviceId); +// +// st.setStartTime(new Date()); +// st.setEndTime(DateUtil.addWeek(new Date(), serviceWeek)); +// st.setWeekStart(DateUtil.getWeek(patients.getLastMenses(), new Date())); +// st.setWeekEnd(DateUtil.getWeek(patients.getLastMenses(), new Date()) + serviceWeek); +// //院内系统孕妇建档id +// st.setForeignId(patients.getId()); +// serviceTimeRecordService.addServiceTimeRecord(st); +// } + /** * 修改服务开通记录 * @@ -478,13 +530,6 @@ public class PatientServiceFacade { } else if (ps.getSerStatus().intValue() == PatientSerEnums.SerStatusEnums.zt.getId().intValue()) { patient.setServiceStatus(ServiceStatusEnums.SUSPEND.getId()); } - - Patients patients = patientsService.findOnePatientById(ps.getParentid()); - if (patients != null) - { - saveServiceTimeRecord(4, patients); - } - }else if(PatientSerEnums.SerTypeEnums.bzfw.getId().intValue() == ps.getSerType().intValue()){ PatientServiceQuery query = new PatientServiceQuery(); query.setParentid(after.getParentid()); @@ -871,6 +916,22 @@ public class PatientServiceFacade { //领取状态 jsonObject.put("status", ps.getStatus()); jsonObject.put("createDate", DateUtil.getyyyy_MM_dd_hms(ps.getCreateDate())); + + + jsonObject.put("device", ps.getDevice()); + jsonObject.put("deviceCon", ps.getDeviceCon()); + jsonObject.put("doctorWeek", ps.getDoctorWeek()); + jsonObject.put("serviceWeek", ps.getServiceWeek()); + jsonObject.put("serStartWeek", ps.getSerStartWeek()); + jsonObject.put("serEndWeek", ps.getSerEndWeek()); + jsonObject.put("serStartTime", DateUtil.getyyyy_MM_dd_hms(ps.getSerStartTime())); + jsonObject.put("serEndTime", DateUtil.getyyyy_MM_dd_hms(ps.getSerEndTime())); + jsonObject.put("docStartWeek", ps.getDocStartWeek()); + jsonObject.put("docEndWeek", ps.getDocEndWeek()); + jsonObject.put("docStartTime", DateUtil.getyyyy_MM_dd_hms(ps.getDocStartTime())); + jsonObject.put("docEndTime", DateUtil.getyyyy_MM_dd_hms(ps.getDocEndTime())); + + jsonArray.add(jsonObject); } @@ -1049,35 +1110,35 @@ public class PatientServiceFacade { public void doServiceEndExcute() { - TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery(); - stquery.setEndTime(new Date()); - List tsList = serviceTimeRecordService.queryServiceTimeRecordsEnd(stquery); - if (CollectionUtils.isNotEmpty(tsList)) { - for (TServiceTimeRecord st : tsList) - { - st.setEndType(1); - serviceTimeRecordService.updateServiceTimeRecord(st); - - PatientServiceQuery patientQuery = new PatientServiceQuery(); - patientQuery.setSerType(1); - patientQuery.setParentid(st.getForeignId()); - List patientServices = patientServiceService.queryPatientService(patientQuery); - if (CollectionUtils.isNotEmpty(patientServices)) - { - for (PatientService service : patientServices) - { - service.setSerType(1); - service.setSerStatus(3); - patientServiceService.updatePatientService(service); - } - } - - Patients patients = patientsService.findOnePatientById(st.getForeignId()); - patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); - patients.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); - patientsService.updatePatient(patients); - } - } +// TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery(); +// stquery.setEndTime(new Date()); +// List tsList = serviceTimeRecordService.queryServiceTimeRecordsEnd(stquery); +// if (CollectionUtils.isNotEmpty(tsList)) { +// for (TServiceTimeRecord st : tsList) +// { +// st.setEndType(1); +// serviceTimeRecordService.updateServiceTimeRecord(st); +// +// PatientServiceQuery patientQuery = new PatientServiceQuery(); +// patientQuery.setSerType(1); +// patientQuery.setParentid(st.getForeignId()); +// List patientServices = patientServiceService.queryPatientService(patientQuery); +// if (CollectionUtils.isNotEmpty(patientServices)) +// { +// for (PatientService service : patientServices) +// { +// service.setSerType(1); +// service.setSerStatus(3); +// patientServiceService.updatePatientService(service); +// } +// } +// +// Patients patients = patientsService.findOnePatientById(st.getForeignId()); +// patients.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId()); +// patients.setServiceStatus(ServiceStatusEnums.ADD_OVERDUE.getId()); +// patientsService.updatePatient(patients); +// } +// } } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java index 32c49f2..3edb88d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceSysFacade.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.enums.PatientSerEnums; import com.lyms.platform.common.enums.ServiceStatusEnums; import com.lyms.platform.common.enums.ServiceTypeEnums; import com.lyms.platform.common.result.BaseResponse; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.BabyBookbuildingAddRequest; @@ -17,6 +18,7 @@ import com.lyms.platform.permission.service.TServiceTimeRecordService; import com.lyms.platform.pojo.BabyModel; import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.TServiceTimeRecord; +import com.lyms.platform.query.TServiceTimeRecordQuery; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.collections.CollectionUtils; @@ -46,6 +48,9 @@ public class PatientServiceSysFacade implements SysBaseFacade { @Autowired private BabyBookbuildingFacade babyBookbuildingFacade; + @Autowired + private PatientServiceFacade patientServiceFacade; + @Autowired private TServiceTimeRecordService serviceTimeRecordService; @@ -61,6 +66,7 @@ public class PatientServiceSysFacade implements SysBaseFacade { if (baseResponse.getErrorcode() != ErrorCodeConstants.SUCCESS) { return baseResponse; } + Patients patients = patientsService.findOnePatientById(patientService.getParentid()); if (patientService.getPerType() != null && patientService.getPerType() == 2) {//儿童 BabyModel babyModel = babyService.getOneBabyById(patientService.getParentid()); @@ -72,7 +78,7 @@ public class PatientServiceSysFacade implements SysBaseFacade { } } } else { - Patients patients = patientsService.findOnePatientById(patientService.getParentid()); + if (patients != null) { patientService.setPid(patients.getPid()); //如果有数据源id,取主档案id @@ -103,6 +109,9 @@ public class PatientServiceSysFacade implements SysBaseFacade { ps.setHospitalId(patientService.getHospitalId()); //操作时间 ps.setUpdateDate(new Date()); + + patientServiceFacade.setServiceRecord(ps, patients); + patientServiceService.updatePatientService(ps); } else {//新增 patientService.setId(UUID.randomUUID().toString().replace("-", "")); @@ -116,6 +125,9 @@ public class PatientServiceSysFacade implements SysBaseFacade { //默认待领取 patientService.setStatus(1); } + + patientServiceFacade.setServiceRecord(patientService,patients); + patientServiceService.addPatientService(patientService); } @@ -224,7 +236,28 @@ public class PatientServiceSysFacade implements SysBaseFacade { try { TServiceTimeRecord serviceTimeRecord = JsonUtil.jkstr2Obj(synForm, TServiceTimeRecord.class); - serviceTimeRecordService.addServiceTimeRecord(serviceTimeRecord); + + TServiceTimeRecordQuery stquery = new TServiceTimeRecordQuery(); + stquery.setPatientId(serviceTimeRecord.getForeignId()); + stquery.setGoodId(serviceTimeRecord.getGoodId()); + stquery.setSort(" createTime desc"); + TServiceTimeRecord st = null; + List tsList = serviceTimeRecordService.selectServiceTimeRecords(stquery); + + if (CollectionUtils.isNotEmpty(tsList)) + { + if (tsList.get(0).getIsUpdate() != null && tsList.get(0).getIsUpdate() == true) + { + st.setId(tsList.get(0).getId()); + serviceTimeRecordService.updateServiceTimeRecord(st); + } + + } + if (tsList.get(0).getIsUpdate() == null || tsList.get(0).getIsUpdate() == false) + { + serviceTimeRecordService.addServiceTimeRecord(serviceTimeRecord); + } + } catch (Exception e) {