#include "AlarmCfgDao.h" #include "../ConfigManager.h" AlarmCfgDao::AlarmCfgDao(SQLite::Database* pdb) :BaseDao(pdb) { } AlarmCfgDao::~AlarmCfgDao() { } void AlarmCfgDao::CreateTable() { if (m_pDB->tableExists(AlarmCfg::TABLE_NAME))return; char buffer[1024]; memset(buffer, '\0', sizeof(buffer)); string createsql = "CREATE TABLE %s(%s INTEGER PRIMARY KEY AUTOINCREMENT,%s VARCHAR(30),%s INTEGER,%s VARCHAR(50),%s INTEGER)"; sprintf_s(buffer, sizeof(buffer), createsql.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_ID.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str() ); m_pDB->exec(buffer); } void AlarmCfgDao::InitBeforeFind() { AlarmCfgWrapper* cfg = ConfigManager::GetInstance()->GetAlarmCfg(); AlarmCfg* DeviceJudgeDisconnectAlarm = new AlarmCfg("DeviceJudgeDisconnectAlarm", u8"设备判断连接断开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[DeviceJudgeDisconnectAlarm->m_Code] = DeviceJudgeDisconnectAlarm; AlarmCfg* PLCJudgeDisconnectAlarm = new AlarmCfg("PLCJudgeDisconnectAlarm", u8"PLC判断连接断开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PLCJudgeDisconnectAlarm->m_Code] = PLCJudgeDisconnectAlarm; AlarmCfg* SystemStopAlarm = new AlarmCfg("SystemStopAlarm", u8"系统急停", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[SystemStopAlarm->m_Code] = SystemStopAlarm; AlarmCfg* PowerBreakAlarm = new AlarmCfg("PowerBreakAlarm", u8"外部断电报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PowerBreakAlarm->m_Code] = PowerBreakAlarm; AlarmCfg* LaserChillerAlarm = new AlarmCfg("LaserChillerAlarm", u8"激光器冷水机报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[LaserChillerAlarm->m_Code] = LaserChillerAlarm; AlarmCfg* BusAirSwitchAlarm = new AlarmCfg("BusAirSwitchAlarm", u8"总空开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[BusAirSwitchAlarm->m_Code] = BusAirSwitchAlarm; AlarmCfg* ExtDevicePowerAirSwitchAlarm = new AlarmCfg("ExtDevicePowerAirSwitchAlarm", u8"外部设备电源空开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ExtDevicePowerAirSwitchAlarm->m_Code] = ExtDevicePowerAirSwitchAlarm; AlarmCfg* UpLaserAirBreakAlarm = new AlarmCfg("UpLaserAirBreakAlarm", u8"上激光支路空开异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[UpLaserAirBreakAlarm->m_Code] = UpLaserAirBreakAlarm; AlarmCfg* UpServoAirBreakAlarm = new AlarmCfg("UpServoAirBreakAlarm", u8"上层伺服空开异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[UpServoAirBreakAlarm->m_Code] = UpServoAirBreakAlarm; AlarmCfg* ScannerPowerExceptionAlarm = new AlarmCfg("ScannerPowerExceptionAlarm", u8"振镜电源异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ScannerPowerExceptionAlarm->m_Code] = ScannerPowerExceptionAlarm; AlarmCfg* HeatingPowerAirSwitchAlarm = new AlarmCfg("HeatingPowerAirSwitchAlarm", u8"加热电源空开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[HeatingPowerAirSwitchAlarm->m_Code] = HeatingPowerAirSwitchAlarm; AlarmCfg* LaserPowerAirSwitchAlarm = new AlarmCfg("LaserPowerAirSwitchAlarm", u8"激光电源空开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[LaserPowerAirSwitchAlarm->m_Code] = LaserPowerAirSwitchAlarm; AlarmCfg* ServoPowerAirSwitchAlarm = new AlarmCfg("ServoPowerAirSwitchAlarm", u8"伺服电源空开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ServoPowerAirSwitchAlarm->m_Code] = ServoPowerAirSwitchAlarm; AlarmCfg* Laser1Alarm = new AlarmCfg("Laser1Alarm", u8"激光器1报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser1Alarm->m_Code] = Laser1Alarm; AlarmCfg* Laser2Alarm = new AlarmCfg("Laser2Alarm", u8"激光器2报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser2Alarm->m_Code] = Laser2Alarm; AlarmCfg* Laser3Alarm = new AlarmCfg("Laser3Alarm", u8"激光器3报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser3Alarm->m_Code] = Laser3Alarm; AlarmCfg* Laser4Alarm = new AlarmCfg("Laser4Alarm", u8"激光器4报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser4Alarm->m_Code] = Laser4Alarm; AlarmCfg* Laser5Alarm = new AlarmCfg("Laser5Alarm", u8"激光器5报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser5Alarm->m_Code] = Laser5Alarm; AlarmCfg* Laser6Alarm = new AlarmCfg("Laser6Alarm", u8"激光器6报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser6Alarm->m_Code] = Laser6Alarm; AlarmCfg* Laser7Alarm = new AlarmCfg("Laser7Alarm", u8"激光器7报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser7Alarm->m_Code] = Laser7Alarm; AlarmCfg* Laser8Alarm = new AlarmCfg("Laser8Alarm", u8"激光器8报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser8Alarm->m_Code] = Laser8Alarm; AlarmCfg* Laser1ComAlarm = new AlarmCfg("Laser1ComAlarm", u8"激光器1通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser1ComAlarm->m_Code] = Laser1ComAlarm; AlarmCfg* Laser2ComAlarm = new AlarmCfg("Laser2ComAlarm", u8"激光器2通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser2ComAlarm->m_Code] = Laser2ComAlarm; AlarmCfg* Laser3ComAlarm = new AlarmCfg("Laser3ComAlarm", u8"激光器3通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser3ComAlarm->m_Code] = Laser3ComAlarm; AlarmCfg* Laser4ComAlarm = new AlarmCfg("Laser4ComAlarm", u8"激光器4通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser4ComAlarm->m_Code] = Laser4ComAlarm; AlarmCfg* Laser5ComAlarm = new AlarmCfg("Laser5ComAlarm", u8"激光器5通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser5ComAlarm->m_Code] = Laser5ComAlarm; AlarmCfg* Laser6ComAlarm = new AlarmCfg("Laser6ComAlarm", u8"激光器6通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser6ComAlarm->m_Code] = Laser6ComAlarm; AlarmCfg* Laser7ComAlarm = new AlarmCfg("Laser7ComAlarm", u8"激光器7通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser7ComAlarm->m_Code] = Laser7ComAlarm; AlarmCfg* Laser8ComAlarm = new AlarmCfg("Laser8ComAlarm", u8"激光器8通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Laser8ComAlarm->m_Code] = Laser8ComAlarm; AlarmCfg* HeatingAlarm = new AlarmCfg("HeatingAlarm", u8"加热异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[HeatingAlarm->m_Code] = HeatingAlarm; AlarmCfg* UpDownLimitAlarm = new AlarmCfg("UpDownLimitAlarm", u8"升降限位报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[UpDownLimitAlarm->m_Code] = UpDownLimitAlarm; AlarmCfg* PrintCabinDoorOpenAlarm = new AlarmCfg("PrintCabinDoorOpenAlarm", u8"舱门打开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintCabinDoorOpenAlarm->m_Code] = PrintCabinDoorOpenAlarm; AlarmCfg* PrintCabinDoorLockOpenAlarm = new AlarmCfg("PrintCabinDoorLockOpenAlarm", u8"舱门电锁打开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintCabinDoorLockOpenAlarm->m_Code] = PrintCabinDoorLockOpenAlarm; AlarmCfg* MoldLoadOverLimitAlarm = new AlarmCfg("MoldLoadOverLimitAlarm", u8"成型缸负载越限报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[MoldLoadOverLimitAlarm->m_Code] = MoldLoadOverLimitAlarm; AlarmCfg* ArmLoadOverLimitAlarm = new AlarmCfg("ArmLoadOverLimitAlarm", u8"铺粉臂负载越限报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ArmLoadOverLimitAlarm->m_Code] = ArmLoadOverLimitAlarm; AlarmCfg* InverterRunSignalAlarm = new AlarmCfg("InverterRunSignalAlarm", u8"变频运行信号报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[InverterRunSignalAlarm->m_Code] = InverterRunSignalAlarm; AlarmCfg* OxygenOverLimitAlarm = new AlarmCfg("OxygenOverLimitAlarm", u8"氧含量越限报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[OxygenOverLimitAlarm->m_Code] = OxygenOverLimitAlarm; AlarmCfg* PrintSignalAlarm = new AlarmCfg("PrintSignalAlarm", u8"可打印信号报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintSignalAlarm->m_Code] = PrintSignalAlarm; AlarmCfg* PurifierInternalAlarm = new AlarmCfg("PurifierInternalAlarm", u8"净化器内部报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PurifierInternalAlarm->m_Code] = PurifierInternalAlarm; AlarmCfg* ScananerChillerAlarm = new AlarmCfg("ScananerChillerAlarm", u8"光路冷水机报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ScananerChillerAlarm->m_Code] = ScananerChillerAlarm; AlarmCfg* PurifierChillerAlarm = new AlarmCfg("PurifierChillerAlarm", u8"净化器冷水机报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PurifierChillerAlarm->m_Code] = PurifierChillerAlarm; AlarmCfg* WindOverLimitAlarm = new AlarmCfg("WindOverLimitAlarm", u8"风速越限报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[WindOverLimitAlarm->m_Code] = WindOverLimitAlarm; AlarmCfg* FanFreqLowAlarm = new AlarmCfg("FanFreqLowAlarm", u8"风机频率过低报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[FanFreqLowAlarm->m_Code] = FanFreqLowAlarm; AlarmCfg* LinearEncoderCompensateAlarm = new AlarmCfg("LinearEncoderCompensateAlarm", u8"光栅尺补偿失效报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[LinearEncoderCompensateAlarm->m_Code] = LinearEncoderCompensateAlarm; AlarmCfg* PurifierDisconnectAlarm = new AlarmCfg("PurifierDisconnectAlarm", u8"净化连接断开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PurifierDisconnectAlarm->m_Code] = PurifierDisconnectAlarm; AlarmCfg* PrintMoldServoAlarm = new AlarmCfg("PrintMoldServoAlarm", u8"升降伺服异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintMoldServoAlarm->m_Code] = PrintMoldServoAlarm; AlarmCfg* ArmServoAlarm = new AlarmCfg("ArmServoAlarm", u8"铺粉伺服异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ArmServoAlarm->m_Code] = ArmServoAlarm; AlarmCfg* SupplyServoAlarm = new AlarmCfg("SupplyServoAlarm", u8"供粉伺服异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[SupplyServoAlarm->m_Code] = SupplyServoAlarm; AlarmCfg* VoltageAlarm = new AlarmCfg("VoltageAlarm", u8"供电电压报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[VoltageAlarm->m_Code] = VoltageAlarm; AlarmCfg* ScannerVoltageAlarm = new AlarmCfg("ScannerVoltageAlarm", u8"振镜电压报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ScannerVoltageAlarm->m_Code] = ScannerVoltageAlarm; AlarmCfg* LayerLinearPosAlarm = new AlarmCfg("LayerLinearPosAlarm", u8"层光栅位置偏差报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[LayerLinearPosAlarm->m_Code] = LayerLinearPosAlarm; AlarmCfg* PrintLinnearAccDevAlarm = new AlarmCfg("PrintLinnearAccDevAlarm", u8"打印光栅累积误差报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintLinnearAccDevAlarm->m_Code] = PrintLinnearAccDevAlarm; AlarmCfg* PurifierKeepAliveAlarm = new AlarmCfg("PurifierKeepAliveAlarm", u8"净化器心跳报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PurifierKeepAliveAlarm->m_Code] = PurifierKeepAliveAlarm; AlarmCfg* PurifierOxygenAlarm = new AlarmCfg("PurifierOxygenAlarm", u8"净化器氧含量报警", ALARM_TYPE_STOP); PurifierOxygenAlarm->m_CheckAlarmSetTick = 50; cfg->m_StopAlarmCfgMap[PurifierOxygenAlarm->m_Code] = PurifierOxygenAlarm; AlarmCfg* PurifierMidTempAlarm = new AlarmCfg("PurifierMidTempAlarm", u8"净化器中校高温报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PurifierMidTempAlarm->m_Code] = PurifierMidTempAlarm; AlarmCfg* ScannerInteriorAlarm = new AlarmCfg("ScannerInteriorAlarm", u8"振镜内部报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ScannerInteriorAlarm->m_Code] = ScannerInteriorAlarm; AlarmCfg* Scanner1CtrlComAlarm = new AlarmCfg("Scanner1CtrlComAlarm", u8"振镜1通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner1CtrlComAlarm->m_Code] = Scanner1CtrlComAlarm; AlarmCfg* Scanner2CtrlComAlarm = new AlarmCfg("Scanner2CtrlComAlarm", u8"振镜2通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner2CtrlComAlarm->m_Code] = Scanner2CtrlComAlarm; AlarmCfg* Scanner3CtrlComAlarm = new AlarmCfg("Scanner3CtrlComAlarm", u8"振镜3通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner3CtrlComAlarm->m_Code] = Scanner3CtrlComAlarm; AlarmCfg* Scanner4CtrlComAlarm = new AlarmCfg("Scanner4CtrlComAlarm", u8"振镜4通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner4CtrlComAlarm->m_Code] = Scanner4CtrlComAlarm; AlarmCfg* Scanner5CtrlComAlarm = new AlarmCfg("Scanner5CtrlComAlarm", u8"振镜5通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner5CtrlComAlarm->m_Code] = Scanner5CtrlComAlarm; AlarmCfg* Scanner6CtrlComAlarm = new AlarmCfg("Scanner6CtrlComAlarm", u8"振镜6通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner6CtrlComAlarm->m_Code] = Scanner6CtrlComAlarm; AlarmCfg* Scanner7CtrlComAlarm = new AlarmCfg("Scanner7CtrlComAlarm", u8"振镜7通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner7CtrlComAlarm->m_Code] = Scanner7CtrlComAlarm; AlarmCfg* Scanner8CtrlComAlarm = new AlarmCfg("Scanner8CtrlComAlarm", u8"振镜8通讯报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[Scanner8CtrlComAlarm->m_Code] = Scanner8CtrlComAlarm; AlarmCfg* UPSAlarm = new AlarmCfg("UPSAlarm", u8"UPS报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[UPSAlarm->m_Code] = UPSAlarm; AlarmCfg* PrintTrackDisableAlarm = new AlarmCfg("PrintTrackDisableAlarm", u8"轨道打印位感应失效报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PrintTrackDisableAlarm->m_Code] = PrintTrackDisableAlarm; AlarmCfg* CleanLiftStopAlarm = new AlarmCfg("CleanLiftStopAlarm", u8"清粉升降急停异常", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[CleanLiftStopAlarm->m_Code] = CleanLiftStopAlarm; AlarmCfg* MainPowerLossCheckAlarm = new AlarmCfg("MainPowerLossCheckAlarm", u8"主电源缺相检测异常", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[MainPowerLossCheckAlarm->m_Code] = MainPowerLossCheckAlarm; AlarmCfg* ArmLimitAlarm = new AlarmCfg("ArmLimitAlarm", u8"铺粉限位报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ArmLimitAlarm->m_Code] = ArmLimitAlarm; AlarmCfg* GeneralChillerAlarm = new AlarmCfg("GeneralChillerAlarm", u8"总冷水机报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[GeneralChillerAlarm->m_Code] = GeneralChillerAlarm; AlarmCfg* MainMoldSoftLimitAlarm = new AlarmCfg("MainMoldSoftLimitAlarm", u8"打印主轴软限位报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[MainMoldSoftLimitAlarm->m_Code] = MainMoldSoftLimitAlarm; AlarmCfg* ArmSoftLimitAlarm = new AlarmCfg("ArmSoftLimitAlarm", u8"铺粉软限位报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ArmSoftLimitAlarm->m_Code] = ArmSoftLimitAlarm; AlarmCfg* UpServiceDoorOpenAlarm = new AlarmCfg("UpServiceDoorOpenAlarm", u8"上层维修门打开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[UpServiceDoorOpenAlarm->m_Code] = UpServiceDoorOpenAlarm; AlarmCfg* DownServiceDoorOpenAlarm = new AlarmCfg("DownServiceDoorOpenAlarm", u8"下层维修门打开报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[DownServiceDoorOpenAlarm->m_Code] = DownServiceDoorOpenAlarm; AlarmCfg* ArmCatpureHomeAlarm = new AlarmCfg("ArmCatpureHomeAlarm", u8"铺粉归原点异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[ArmCatpureHomeAlarm->m_Code] = ArmCatpureHomeAlarm; AlarmCfg* SealPressureExceptionAlarm = new AlarmCfg("SealPressureExceptionAlarm", u8"密封圈压力异常报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[SealPressureExceptionAlarm->m_Code] = SealPressureExceptionAlarm; AlarmCfg* PLCKeepliveAlarm = new AlarmCfg("PLCKeepliveAlarm", u8"PLC心跳报警", ALARM_TYPE_STOP); PLCKeepliveAlarm->m_CheckAlarmSetTick = 100; cfg->m_StopAlarmCfgMap[PLCKeepliveAlarm->m_Code] = PLCKeepliveAlarm; AlarmCfg* PipeWaterTempAlarm = new AlarmCfg("PipeWaterTempAlarm", u8"管道水温报警", ALARM_TYPE_STOP); cfg->m_StopAlarmCfgMap[PipeWaterTempAlarm->m_Code] = PipeWaterTempAlarm; //暂停 AlarmCfg* PowderEmpty = new AlarmCfg("PowderEmpty", u8"供粉不足", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[PowderEmpty->m_Code] = PowderEmpty; AlarmCfg* PowderStickLowLevelAlarm = new AlarmCfg("PowderStickLowLevelAlarm", u8"粉棒低位报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[PowderStickLowLevelAlarm->m_Code] = PowderStickLowLevelAlarm; AlarmCfg* RecoatCheckAlarm = new AlarmCfg("RecoatCheckAlarm", u8"铺粉检测报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[RecoatCheckAlarm->m_Code] = RecoatCheckAlarm; AlarmCfg* HeatingTempAlarm = new AlarmCfg("HeatingTempAlarm", u8"加热温度报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[HeatingTempAlarm->m_Code] = HeatingTempAlarm; AlarmCfg* OxygenSensorDisconnectAlarm = new AlarmCfg("OxygenSensorDisconnectAlarm", u8"测氧仪通讯断开报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[OxygenSensorDisconnectAlarm->m_Code] = OxygenSensorDisconnectAlarm; AlarmCfg* HeatingDisconnectAlarm = new AlarmCfg("HeatingDisconnectAlarm", u8"温控通讯断开报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[HeatingDisconnectAlarm->m_Code] = HeatingDisconnectAlarm; AlarmCfg* InnerTempOverLimit = new AlarmCfg("InnerTempOverLimit", u8"舱内温度越限", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[InnerTempOverLimit->m_Code] = InnerTempOverLimit; AlarmCfg* InnerHumidityOverLimitAlarm = new AlarmCfg("InnerHumidityOverLimitAlarm", u8"舱内湿度越限报警", ALARM_TYPE_PAUSE); cfg->m_PauseAlarmCfgMap[InnerHumidityOverLimitAlarm->m_Code] = InnerHumidityOverLimitAlarm; //警示 AlarmCfg* HighPressureLackAlarm = new AlarmCfg("HighPressureLackAlarm", u8"高压气压力不足异常", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[HighPressureLackAlarm->m_Code] = HighPressureLackAlarm; AlarmCfg* ProtectGasLackAlarm = new AlarmCfg("ProtectGasLackAlarm", u8"保护气压力不足异常", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[ProtectGasLackAlarm->m_Code] = ProtectGasLackAlarm; AlarmCfg* OutdoorOxygenAlarm = new AlarmCfg("OutdoorOxygenAlarm", u8"室外测氧仪异常", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[OutdoorOxygenAlarm->m_Code] = OutdoorOxygenAlarm; AlarmCfg* SupplyPipeBlockWarn = new AlarmCfg("SupplyPipeBlockWarn", u8"吸筛送管道堵塞警示", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[SupplyPipeBlockWarn->m_Code] = SupplyPipeBlockWarn; AlarmCfg* AddPowderWarn = new AlarmCfg("AddPowderWarn", u8"加粉警示", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[AddPowderWarn->m_Code] = AddPowderWarn; AlarmCfg* MoldServoPosWarn = new AlarmCfg("MoldServoPosWarn", u8"升降伺服位置警示", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[MoldServoPosWarn->m_Code] = MoldServoPosWarn; AlarmCfg* FanFreqWarn = new AlarmCfg("FanFreqWarn", u8"风机频率预警", ALARM_TYPE_WARN); cfg->m_WarnAlarmCfgMap[FanFreqWarn->m_Code] = FanFreqWarn; for (map::iterator it = cfg->m_StopAlarmCfgMap.begin(); it != cfg->m_StopAlarmCfgMap.end(); it++) { cfg->m_AllAlarmMap[it->first] = it->second; } for (map::iterator it = cfg->m_PauseAlarmCfgMap.begin(); it != cfg->m_PauseAlarmCfgMap.end(); it++) { cfg->m_AllAlarmMap[it->first] = it->second; } for (map::iterator it = cfg->m_WarnAlarmCfgMap.begin(); it != cfg->m_WarnAlarmCfgMap.end(); it++) { cfg->m_AllAlarmMap[it->first] = it->second; } } void AlarmCfgDao::Find() { InitBeforeFind(); AlarmCfgWrapper* cfg = ConfigManager::GetInstance()->GetAlarmCfg(); char buffer[1024]; string strsel = "SELECT %s,%s,%s,%s,%s FROM %s"; sprintf_s(buffer, sizeof(buffer), strsel.c_str(), AlarmCfg::FIELD_ID.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_ID.c_str()); SQLite::Statement query(*m_pDB, buffer); map tempMap; while (query.executeStep()) { AlarmCfg* pac = new AlarmCfg(); pac->m_id = query.getColumn(AlarmCfg::FIELD_ID.c_str()).getInt(); pac->m_Code = query.getColumn(AlarmCfg::FIELD_CODE.c_str()).getString(); pac->m_Type = query.getColumn(AlarmCfg::FIELD_TYPE.c_str()).getInt(); pac->m_Content = query.getColumn(AlarmCfg::FIELD_CONTENT.c_str()).getString(); pac->m_IsEnable = (query.getColumn(AlarmCfg::FIELD_ISENABLE.c_str()).getInt() > 0 ? true : false); tempMap[pac->m_Code] = pac; } vector needins; string strtemp = "INSERT INTO %s(%s,%s,%s,%s) VALUES("; sprintf_s(buffer, sizeof(buffer), strtemp.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str()); string strsql = string(buffer) + "'%s',%d,'%s',%d)"; for (map::iterator it = cfg->m_AllAlarmMap.begin(); it != cfg->m_AllAlarmMap.end(); it++) { AlarmCfg* pac = it->second; if (tempMap.find(it->first) == tempMap.end()) { sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pac->m_Code.c_str(), pac->m_Type, pac->m_Content.c_str(), pac->m_IsEnable ? 1 : 0); needins.push_back(buffer); } else { AlarmCfg* temp = tempMap[it->first]; pac->m_id = temp->m_id; pac->m_Content = temp->m_Content; pac->m_IsEnable = temp->m_IsEnable; } } for (map::iterator it = tempMap.begin(); it != tempMap.end(); it++) { delete it->second; } tempMap.clear(); if (!needins.empty()) { SQLite::Transaction transaction(*m_pDB); for (size_t i = 0; i < needins.size(); ++i) { m_pDB->exec(needins[i]); } transaction.commit(); } } /* void AlarmCfgDao::FindStop(AlarmCfgWrapper* cfg) { char buffer[1024]; string strsel = "SELECT %s,%s,%s,%s,%s FROM %s WHERE %s=%d ORDER BY %s"; sprintf_s(buffer, sizeof(buffer), strsel.c_str(), AlarmCfg::FIELD_ID.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_TYPE.c_str(), ALARM_TYPE_STOP, AlarmCfg::FIELD_ID.c_str()); SQLite::Statement query(*m_pDB, buffer); while (query.executeStep()) { AlarmCfg* pac = new AlarmCfg(); pac->m_id = query.getColumn(AlarmCfg::FIELD_ID.c_str()).getInt(); pac->m_Code = query.getColumn(AlarmCfg::FIELD_CODE.c_str()).getString(); pac->m_Type = query.getColumn(AlarmCfg::FIELD_TYPE.c_str()).getInt(); pac->m_Content = query.getColumn(AlarmCfg::FIELD_CONTENT.c_str()).getString(); pac->m_IsEnable = (query.getColumn(AlarmCfg::FIELD_ISENABLE.c_str()).getInt() > 0 ? true : false); cfg->m_StopAlarmCfgMap[pac->m_Code] = pac; } vector needins; ConfigManager::GetInstance()->GetMachine()->CheckStopAlarm(needins, cfg); if (!needins.empty()) { SQLite::Transaction transaction(*m_pDB); for (size_t i = 0; i < needins.size(); ++i) { m_pDB->exec(needins[i]); } transaction.commit(); } } void AlarmCfgDao::FindPause(AlarmCfgWrapper* cfg) { char buffer[1024]; string strsel = "SELECT %s,%s,%s,%s,%s FROM %s WHERE %s=%d ORDER BY %s"; sprintf_s(buffer, sizeof(buffer), strsel.c_str(), AlarmCfg::FIELD_ID.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_TYPE.c_str(), ALARM_TYPE_PAUSE, AlarmCfg::FIELD_ID.c_str()); SQLite::Statement query(*m_pDB, buffer); while (query.executeStep()) { AlarmCfg* pac = new AlarmCfg(); pac->m_id = query.getColumn(AlarmCfg::FIELD_ID.c_str()).getInt(); pac->m_Code = query.getColumn(AlarmCfg::FIELD_CODE.c_str()).getString(); pac->m_Type = query.getColumn(AlarmCfg::FIELD_TYPE.c_str()).getInt(); pac->m_Content = query.getColumn(AlarmCfg::FIELD_CONTENT.c_str()).getString(); pac->m_IsEnable = (query.getColumn(AlarmCfg::FIELD_ISENABLE.c_str()).getInt() > 0 ? true : false); cfg->m_PauseAlarmCfgMap[pac->m_Code] = pac; } vector needins; ConfigManager::GetInstance()->GetMachine()->CheckPauseAlarm(needins, cfg); if (!needins.empty()) { SQLite::Transaction transaction(*m_pDB); for (size_t i = 0; i < needins.size(); ++i) { m_pDB->exec(needins[i]); } transaction.commit(); } } void AlarmCfgDao::FindWarn(AlarmCfgWrapper* cfg) { char buffer[1024]; string strsel = "SELECT %s,%s,%s,%s,%s FROM %s WHERE %s=%d ORDER BY %s"; sprintf_s(buffer, sizeof(buffer), strsel.c_str(), AlarmCfg::FIELD_ID.c_str(), AlarmCfg::FIELD_CODE.c_str(), AlarmCfg::FIELD_TYPE.c_str(), AlarmCfg::FIELD_CONTENT.c_str(), AlarmCfg::FIELD_ISENABLE.c_str(), AlarmCfg::TABLE_NAME.c_str(), AlarmCfg::FIELD_TYPE.c_str(), ALARM_TYPE_WARN, AlarmCfg::FIELD_ID.c_str()); SQLite::Statement query(*m_pDB, buffer); while (query.executeStep()) { AlarmCfg* pac = new AlarmCfg(); pac->m_id = query.getColumn(AlarmCfg::FIELD_ID.c_str()).getInt(); pac->m_Code = query.getColumn(AlarmCfg::FIELD_CODE.c_str()).getString(); pac->m_Type = query.getColumn(AlarmCfg::FIELD_TYPE.c_str()).getInt(); pac->m_Content = query.getColumn(AlarmCfg::FIELD_CONTENT.c_str()).getString(); pac->m_IsEnable = (query.getColumn(AlarmCfg::FIELD_ISENABLE.c_str()).getInt() > 0 ? true : false); cfg->m_WarnAlarmCfgMap[pac->m_Code] = pac; } vector needins; ConfigManager::GetInstance()->GetMachine()->CheckWarnAlarm(needins, cfg); if (!needins.empty()) { SQLite::Transaction transaction(*m_pDB); for (size_t i = 0; i < needins.size(); ++i) { m_pDB->exec(needins[i]); } transaction.commit(); } } */ void AlarmCfgDao::Save() { AlarmCfgWrapper* alarmCfgWrapper = ConfigManager::GetInstance()->GetAlarmCfg(); for (map::iterator it = alarmCfgWrapper->m_AllAlarmMap.begin(); it != alarmCfgWrapper->m_AllAlarmMap.end(); it++) { if (it->second == NULL)continue; string upstr = it->second->GetUpdateSql(); m_pDB->exec(upstr); } } void AlarmCfgDao::Export(stringstream& sql) { AlarmCfgWrapper* alarmCfgWrapper = ConfigManager::GetInstance()->GetAlarmCfg(); for (map::iterator it = alarmCfgWrapper->m_AllAlarmMap.begin(); it != alarmCfgWrapper->m_AllAlarmMap.end(); it++) { string upstr = it->second->GetUpdateSql(); sql << upstr << "\n"; } }