Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/operationSchedule/service/OperationScheduleManagerImpl.java =================================================================== diff -u -r17030 -r17126 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/operationSchedule/service/OperationScheduleManagerImpl.java (.../OperationScheduleManagerImpl.java) (revision 17030) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/operationSchedule/service/OperationScheduleManagerImpl.java (.../OperationScheduleManagerImpl.java) (revision 17126) @@ -93,24 +93,35 @@ String operationDepart = "手术室"; OrgUnit operationOrgUnit = (OrgUnit)objectDao.getBySql(OrgUnit.class.getSimpleName(), "where name='" + operationDepart + "'"); operationReservation.setDepart(operationDepart); - operationReservation.setDepartCoding(operationOrgUnit.getOrgUnitCoding()); operationReservation.setSettleAccountsDepart(operationDepart); - operationReservation.setSettleAccountsDepartCoding(operationOrgUnit.getOrgUnitCoding()); + if(operationOrgUnit != null){ + operationReservation.setDepartCoding(operationOrgUnit.getOrgUnitCoding()); + operationReservation.setSettleAccountsDepartCoding(operationOrgUnit.getOrgUnitCoding()); + } + operationReservation.setConsoleName(operationSchedule.getConsoleName()); + operationReservation.setScheduleId(operationSchedule.getScheduleId()); + operationReservation.setDeptName(operationSchedule.getDeptName()); + if (StringUtils.isNotBlank(operationSchedule.getScheduledDateTime())) { try { - Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.parse(operationSchedule.getScheduledDateTime()); + Date operationTime = Constants.SIMPLEDATEFORMATNOSPLIT_YYYYMMDDHHMMSS.parse(operationSchedule.getScheduledDateTime()); operationReservation.setOperationTime(operationTime); } catch (ParseException e) { try { - Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.parse(operationSchedule.getScheduledDateTime()); + Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.parse(operationSchedule.getScheduledDateTime()); operationReservation.setOperationTime(operationTime); } catch (ParseException e1) { try { - Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDD.parse(operationSchedule.getScheduledDateTime()); + Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.parse(operationSchedule.getScheduledDateTime()); operationReservation.setOperationTime(operationTime); } catch (ParseException e2) { - + try { + Date operationTime = Constants.SIMPLEDATEFORMAT_YYYYMMDD.parse(operationSchedule.getScheduledDateTime()); + operationReservation.setOperationTime(operationTime); + } catch (ParseException e3) { + e.printStackTrace(); + } } } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/OperationSchedule.java =================================================================== diff -u -r16368 -r17126 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/OperationSchedule.java (.../OperationSchedule.java) (revision 16368) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/OperationSchedule.java (.../OperationSchedule.java) (revision 17126) @@ -111,6 +111,21 @@ * FIRST_OPERATION_NURSE > 洗手护士 */ private String firstOperationNurse; + + /** + * 手术台次 + */ + private String consoleName; + + /** + * 手术编号 + */ + private String scheduleId; + + /** + * 科室(病区)名称 + */ + private String deptName; @Id @GeneratedValue(strategy=GenerationType.AUTO) @@ -242,6 +257,30 @@ this.firstOperationNurse = firstOperationNurse; } + public String getConsoleName() { + return consoleName; + } + + public void setConsoleName(String consoleName) { + this.consoleName = consoleName; + } + + public String getScheduleId() { + return scheduleId; + } + + public void setScheduleId(String scheduleId) { + this.scheduleId = scheduleId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + /* Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/operationreservation/OperationReservation.java =================================================================== diff -u -r15461 -r17126 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/operationreservation/OperationReservation.java (.../OperationReservation.java) (revision 15461) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/operationreservation/OperationReservation.java (.../OperationReservation.java) (revision 17126) @@ -4,9 +4,12 @@ package com.forgon.disinfectsystem.entity.operationreservation; import java.util.Date; + import javax.persistence.Entity; + import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; + import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; /** @@ -38,6 +41,21 @@ * 手术时间 */ private Date operationTime; + + /** + * 手术台次 + */ + private String consoleName; + + /** + * 手术编号 + */ + private String scheduleId; + + /** + * 科室(病区)名称 + */ + private String deptName; public String getOperationName() { return operationName; @@ -79,4 +97,28 @@ this.operatingRoomCode = operatingRoomCode; } + public String getConsoleName() { + return consoleName; + } + + public void setConsoleName(String consoleName) { + this.consoleName = consoleName; + } + + public String getScheduleId() { + return scheduleId; + } + + public void setScheduleId(String scheduleId) { + this.scheduleId = scheduleId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + } Index: ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationView.js =================================================================== diff -u -r15519 -r17126 --- ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationView.js (.../operationReservationView.js) (revision 15519) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationView.js (.../operationReservationView.js) (revision 17126) @@ -1,4 +1,4 @@ -var entityName = "手术预约"; +var entityName = "手术预约管理"; var grid; var operationReservationWindow; @@ -665,6 +665,8 @@ {header : "医生",width : 120,dataIndex : 'doctors'}, {header : "手术间",width : 120,dataIndex : 'operatingRoom'}, {header : "手术时间",width : 120,dataIndex : 'operationTime', renderer : myDateFormatByMinute}, + {header : "手术编号",width : 120,dataIndex : 'scheduleId', renderer : myDateFormatByMinute}, + {header : "手术台次",width : 120,dataIndex : 'consoleName', renderer : myDateFormatByMinute}, {header : "发货状态",width : 65,dataIndex : 'deliverStatus', renderer : renderColor}, {id:'remark',header: "备注", dataIndex: 'remark'} ]; @@ -678,6 +680,8 @@ {name : 'applicationTime'}, {name : 'doctors'}, {name : 'operatingRoom'}, + {name : 'scheduleId'}, + {name : 'consoleName'}, {name : 'deliverStatus'}, {name : 'remark'} ]; Index: ssts-webservice/src/main/java/net/gzsums/www/esb/MessageServiceSoapImpl.java =================================================================== diff -u -r16774 -r17126 --- ssts-webservice/src/main/java/net/gzsums/www/esb/MessageServiceSoapImpl.java (.../MessageServiceSoapImpl.java) (revision 16774) +++ ssts-webservice/src/main/java/net/gzsums/www/esb/MessageServiceSoapImpl.java (.../MessageServiceSoapImpl.java) (revision 17126) @@ -17,14 +17,19 @@ import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.common.CssdUtils; +import com.forgon.disinfectsystem.datasynchronization.dao.FindPatientInfoByHospitalNumDao; +import com.forgon.disinfectsystem.datasynchronization.model.PatientInfoVO; import com.forgon.disinfectsystem.entity.useRecord.OperationSchedule; import com.forgon.disinfectsystem.operationSchedule.service.OperationScheduleManager; import com.forgon.log.service.LogManager; import com.forgon.tools.date.DateTools; +import com.forgon.tools.hibernate.ObjectDao; /** * 中大附一手术预约接口 @@ -38,6 +43,10 @@ private LogManager appLogManager; + private FindPatientInfoByHospitalNumDao findPatientInfoByHospitalNumDao; + + private ObjectDao objectDao; + public void setOperationScheduleManager( OperationScheduleManager operationScheduleManager) { this.operationScheduleManager = operationScheduleManager; @@ -46,7 +55,16 @@ public void setAppLogManager(LogManager appLogManager) { this.appLogManager = appLogManager; } + + public void setFindPatientInfoByHospitalNumDao( + FindPatientInfoByHospitalNumDao findPatientInfoByHospitalNumDao) { + this.findPatientInfoByHospitalNumDao = findPatientInfoByHospitalNumDao; + } + public void setObjectDao(ObjectDao objectDao) { + this.objectDao = objectDao; + } + private final Logger logger = Logger.getLogger(this.getClass()); //接口是否在运行中,防止重复调用 @@ -121,8 +139,9 @@ Object scheduledDateTime = operationPatientInfoJsonObject.opt("SCHEDULED_DATE_TIME");//手术时间 Object firstSupplyNurse = operationPatientInfoJsonObject.opt("FIRST_SUPPLY_NURSE");//巡回护士 Object firstOperationNurse = operationPatientInfoJsonObject.opt("FIRST_OPERATION_NURSE");//洗手护士 + Object consoleName = operationPatientInfoJsonObject.opt("CONSOLE_NAME");//手术台次 + Object scheduleId = operationPatientInfoJsonObject.opt("SCHEDULE_ID");//手术编号 - /*************************/ OperationSchedule operationSchedule = new OperationSchedule(); @@ -158,15 +177,37 @@ operationSchedule.setFirstSupplyNurse(firstSupplyNurse instanceof String ? (String)firstSupplyNurse : null); operationSchedule.setFirstOperationNurse(firstOperationNurse instanceof String ? (String)firstOperationNurse : null); + operationSchedule.setConsoleName(consoleName instanceof String ? (String)consoleName : null); + operationSchedule.setScheduleId(scheduleId instanceof String ? (String)scheduleId : null); + + //科室(病区)代码与名称的数据根据住院号从住院患者接口调用出来 + if(findPatientInfoByHospitalNumDao != null){ + String hospitalNumParam = operationSchedule.getPatientId(); + String hospitalNumberPrefix = CssdUtils.getSystemSetConfigByName("hospitalNumberPrefix"); + if(StringUtils.isNotBlank(hospitalNumParam) && StringUtils.isNotBlank(hospitalNumberPrefix) + && !hospitalNumParam.startsWith(hospitalNumberPrefix)){ + hospitalNumParam = hospitalNumberPrefix + hospitalNumParam; + } + PatientInfoVO[] PatientInfo = findPatientInfoByHospitalNumDao.findPatientInfoByHospitalNum(hospitalNumParam); + if(PatientInfo != null && PatientInfo.length > 0){ + operationSchedule.setDeptName(PatientInfo[0].getAscriptionDepartment()); + } + } + resultXml += ""; resultXml += ""+ patientId +""; resultXml += ""+ operation +""; resultXml += ""+ scheduledDateTime +""; + resultXml += ""+ operationSchedule.getScheduleId() +""; try{ - //operationScheduleManager.saveOrUpdate(operationSchedule); - appLogManager.saveLog(AcegiHelper.getLoginUser(), "手术预约数据", "插入", JSONObject.fromObject(operationSchedule)); + //去除处理(根据手术编码、住院号、手术时间) + if(CollectionUtils.isEmpty(objectDao.findBySql(OperationSchedule.class.getSimpleName(), "where patientId = '"+ operationSchedule.getPatientId() + +"' and scheduleId = '"+ operationSchedule.getScheduleId() +"' and scheduledDateTime = '"+ operationSchedule.getScheduledDateTime() +"'"))){ + operationScheduleManager.saveOrUpdate(operationSchedule); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "手术预约数据", "插入", JSONObject.fromObject(operationSchedule)); + } //成功时,返回状态0 resultXml += "0"; }catch(Exception e){ Index: ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js =================================================================== diff -u -r16509 -r17126 --- ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js (.../operationReservationInvoiceView.js) (revision 16509) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/operationReservationInvoiceView.js (.../operationReservationInvoiceView.js) (revision 17126) @@ -1,4 +1,4 @@ -var entityName = "手术预约"; +var entityName = "手术预约发货"; var grid; var operationReservationWindow; var TYPE_OPERATION_RESERVATION = '手术预约发货'; @@ -79,6 +79,8 @@ {header : "申请时间",width : 120,dataIndex : 'applicationTime', renderer : myDateFormatByMinute}, {header : "医生",width : 120,dataIndex : 'doctors'}, {header : "手术时间",width : 120,dataIndex : 'operationTime', renderer : myDateFormatByMinute}, + {header : "手术编号",width : 120,dataIndex : 'scheduleId', renderer : myDateFormatByMinute}, + {header : "手术台次",width : 120,dataIndex : 'consoleName', renderer : myDateFormatByMinute}, {header : "发货状态",width : 65,dataIndex : 'deliverStatus', renderer : renderColor}, {id:'remark',header: "备注", dataIndex: 'remark'} ]; @@ -92,6 +94,8 @@ {name : 'applicant'}, {name : 'applicationTime'}, {name : 'doctors'}, + {name : 'scheduleId'}, + {name : 'consoleName'}, {name : 'deliverStatus'}, {name : 'remark'} ]; Index: ssts-web/src/main/resources/spring/projects/zsyy/webservice-cxf.xml =================================================================== diff -u -r16774 -r17126 --- ssts-web/src/main/resources/spring/projects/zsyy/webservice-cxf.xml (.../webservice-cxf.xml) (revision 16774) +++ ssts-web/src/main/resources/spring/projects/zsyy/webservice-cxf.xml (.../webservice-cxf.xml) (revision 17126) @@ -12,6 +12,7 @@ + @@ -41,6 +42,8 @@ class="net.gzsums.www.esb.MessageServiceSoapImpl"> + +