Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java =================================================================== diff -u -r27932 -r30373 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 27932) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 30373) @@ -7,6 +7,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; +import java.util.Date; import java.util.List; import org.apache.commons.collections4.CollectionUtils; @@ -18,11 +19,13 @@ import jcifs.smb.SmbFileInputStream; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.disinfectsystem.entity.basedatamanager.deviceinterface.DeviceInterface; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerGrossRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; import com.forgon.tools.hibernate.BasePoManagerImpl; +import com.forgon.tools.util.ForgonDateUtils; /** * * @author Terry @@ -153,15 +156,27 @@ if(sr != null) { Session session = objectDao.getHibernateSession(); + DeviceInterface df = (DeviceInterface)objectDao.getById(DeviceInterface.class.getSimpleName(), sr.getSterilizer().getDeviceInterfaceId()); + String cycleCounterOrDateSql = null; + if(df != null && DeviceInterface.BELIMED.equals(df.getDeviceBrand())){ + String beginStartTimeStr = ForgonDateUtils.safelyFormatDate(new Date(sr.getStartDate().getTime() - 10*60*1000),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); + String endStartTimeStr = ForgonDateUtils.safelyFormatDate(new Date(sr.getStartDate().getTime() + 10*60*1000),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); + cycleCounterOrDateSql = " and " + dateQueryAdapter.dateAreaSql("s.procStartTime", beginStartTimeStr, endStartTimeStr, false); + }else{ + cycleCounterOrDateSql = " and s.cycleCounter = :cycleCounter"; + } String queryString = "select s from SterilizerRecord s" + " where s.deviceInterfaceID = :devInterfaceId" + " and s.machineNo = :machineNo" - + " and s.cycleCounter = :cycleCounter order by " + + cycleCounterOrDateSql + + " order by " + dateQueryAdapter.dateAdapter2("time"); Query query = session.createQuery(queryString); query.setParameter("devInterfaceId", sr.getSterilizer().getDeviceInterfaceId()); query.setParameter("machineNo", sr.getSterilizer().getMachineNumber()); - query.setParameter("cycleCounter", sr.getCycleCounter()); + if(!(df != null && DeviceInterface.BELIMED.equals(df.getDeviceBrand()))){ + query.setParameter("cycleCounter", sr.getCycleCounter()); + } List result = query.list(); if( !CollectionUtils.isEmpty(result)) return result;