Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r26942 -r26952 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 26942) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 26952) @@ -16,6 +16,7 @@ import org.apache.commons.lang.time.FastDateFormat; import org.apache.commons.lang3.StringUtils; +import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.vo.LoginUserData; @@ -33,6 +34,9 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.customform.formdefinition.FormDefinition; +import com.forgon.disinfectsystem.entity.customform.forminstance.FormInstance; +import com.forgon.disinfectsystem.entity.devicemaintenance.DeviceMaintenanceCusD; +import com.forgon.disinfectsystem.entity.devicemaintenance.DeviceMaintenanceCusI; import com.forgon.disinfectsystem.entity.recall.RecallRecord; import com.forgon.disinfectsystem.entity.recall.RecallRecordItem; import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; @@ -562,16 +566,17 @@ querySql.append("else (t.lastMaintenanceTime + t.customerCycleDays - t.warningDays) end nextCycleMaintenanceWarningTime "); querySql.append("from ( "); querySql.append("select t2.formName deviceName,t2.createDate, t1.customerCycleDays, t1.warningDays "); - querySql.append(",(select max(dmci.maintenanceTime) from DeviceMaintenanceCusI dmci join FormInstance fi on dmci.id=fi.id where fi.formDefinition_id=t2.id) lastMaintenanceTime "); - querySql.append("from DeviceMaintenanceCusD t1 "); - querySql.append("inner join FormDefinition t2 on t1.id=t2.id "); - querySql.append("where ").append(departCodeCondition).append(" "); + querySql.append(",(select max(dmci.maintenanceTime) from "+ DeviceMaintenanceCusI.class.getSimpleName() +" dmci join "+ FormInstance.class.getSimpleName() +" fi on dmci.id=fi.id "); + querySql.append("where fi.formDefinition_id=t2.id) lastMaintenanceTime "); + querySql.append("from "+ DeviceMaintenanceCusD.class.getSimpleName() +" t1 "); + querySql.append("inner join "+ FormDefinition.class.getSimpleName() +" t2 on t1.id=t2.id "); + querySql.append("where t2.isDisabled = '"+ Constants.STR_NO +"' and t1.customerCycleDays is not null "); + //and t2.isDeploy='deploy' + querySql.append("and ").append(departCodeCondition).append(" "); querySql.append("and t2.formType='"+ FormDefinition.FOMRTYPE_DEVICEMAINTENANCE +"' "); - querySql.append("and (t1.id in (select max(t3.id) from FormDefinition t3 "); + querySql.append("and t1.id in (select max(t3.id) from "+ FormDefinition.class.getSimpleName() +" t3 "); querySql.append("where 1=1 and t3.formType='"+ FormDefinition.FOMRTYPE_DEVICEMAINTENANCE +"' and ").append(departCodeCondition).append(" "); - //and t2.isDeploy='deploy' - querySql.append("and t1.customerCycleDays is not null "); - querySql.append("group by t3.formName)) "); + querySql.append("group by t3.formName) "); querySql.append(") t "); querySql.append(") tt where (tt.nextCycleMaintenanceWarningTime < ").append(dateQueryAdapter.dateAdapter(now)).append(" or ").append("tt.nextCycleMaintenanceTime < ").append(dateQueryAdapter.dateAdapter(now)).append(")"); querySql.append(" order by tt.nextCycleMaintenanceTime ");