/********************************************************************* * * 文 件: ShiftDAO.h 班组模块数据访问接口,默认提供Proc方式实现 * * 版权所有: Shanghai Baosight Software Co., Ltd. * * 概述: * : * : * * 版本历史 * 1.0 2010-06-22 echo_li 初次建立 * 2010-08-10 liliang 增加停机数据访问接口 * %USER% *********************************************************************/ #ifndef SHIFTDAO_H_ #define SHIFTDAO_H_ #include #include #include #include #include "base/TCMTime.h" using namespace std; struct S_LOVSHIFT { string shift; string nextShift; int offset; int duration; int daychange; }; struct S_TURN { int dayno; string shiftNo; string turnNo; }; struct S_SHIFTINFO { S_TURN turn;//班组结构体 string prodDay;//生产日期 string startTime;//开始时间 string endTime;//结束时间 int duration;//持续时间 }; struct S_PRODUCTINFO { int inCoilNum; //输入钢卷数 int outCoilNum; //产出钢卷数 int inCoilWeight; //输入钢卷重量 int outCoilWeight; //产出钢卷重量 int coilLengthOut; //产出钢卷总长度 }; struct S_LINEDOWNINFO { int totalDownTimes; //停机时间 int totalDownNum;//停机次数 }; typedef vector V_LOVSHIFT; typedef map > M_LOVTURNLIST; namespace baosight{ class ShiftDAO{ public: /********************************************************************** * 概述: 获取班组轮换顺序 * 函数名: GetTurnList * 返回值: short * 参数列表: 参数类型 取值范围 描述 * lovTurnList: M_LOVTURNLIST & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short GetTurnList(M_LOVTURNLIST& lovTurnList); /********************************************************************** * 概述: 获取班信息配置 * 函数名: GetLovShift * 返回值: short * 参数列表: 参数类型 取值范围 描述 * lovShift: V_LOVSHIFT & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short GetLovShift(V_LOVSHIFT& lovShift); /********************************************************************** * 概述: 获取班信息配置 * 函数名: GetLovShift * 返回值: short * 参数列表: 参数类型 取值范围 描述 * lovShift: V_LOVSHIFT & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short GetLoopDays(); /********************************************************************** * 概述: 设置活动班标志 * 函数名: SetActShift * 返回值: short * 参数列表: 参数类型 取值范围 描述 * shift: const S_TURN & * flag: int * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short SetActShift(const S_TURN& shift,int flag = 0); /********************************************************************** * 概述: 设置当前班信息 * 函数名: SetCurrentShiftData * 返回值: short * 参数列表: 参数类型 取值范围 描述 * shiftInfo: S_SHIFTINFO * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short SetCurrentShiftData(S_SHIFTINFO shiftInfo) = 0; /********************************************************************** * 概述: 获取最后一班的结束时间 * 函数名: GetLastShiftEndTime * 返回值: short * 参数列表: 参数类型 取值范围 描述 * time: string & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short GetLastShiftEndTime(string& time) = 0; /********************************************************************** * 概述: 更新上一班数据 * 函数名: UpdatePreShiftData * 返回值: short * 参数列表: 参数类型 取值范围 描述 * shiftInfo: const S_SHIFTINFO & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short UpdatePreShiftData(const S_SHIFTINFO& shiftInfo)=0; /********************************************************************** * 概述: 统计班信息 * 函数名: StatShiftProdInfo * 返回值: short * 参数列表: 参数类型 取值范围 描述 * shiftInfo: const S_SHIFTINFO & * proInfo: S_PRODUCTINFO & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * 1.1 2010-10-27 liliang 增加参数flag用于判断,是否统计过渡卷,默认不统计过渡卷 * **********************************************************************/ virtual short StatShiftProdInfo(const S_SHIFTINFO& shiftInfo,S_PRODUCTINFO& proInfo,short flag = 0)=0; /********************************************************************** * 概述: 统计停机信息 * 函数名: StatLineInfo * 返回值: short * 参数列表: 参数类型 取值范围 描述 * shiftInfo: const S_SHIFTINFO & * lineInfo: S_LINEDOWNINFO & * * 版本历史 * 1.0 2010-09-02 echo_li 增加注释 * **********************************************************************/ virtual short StatLineInfo(const S_SHIFTINFO& shiftInfo,S_LINEDOWNINFO& lineInfo); /********************************************************************** * 概述: 插入停机记录 * 函数名: InsertLineStop * 返回值: short 成功返回0,失败返回-1 * 参数列表: 参数类型 取值范围 描述 * stopTime: string 停机开始时间 * shiftInfo: const S_SHIFTINFO & 停机所在班信息 * * 版本历史 * 1.0 2010-08-10 echo_li 初次建立 * **********************************************************************/ virtual short InsertLineStop(string stopTime,const S_SHIFTINFO& shiftInfo,string secName = "PS"); /********************************************************************** * 概述: 开机更新停机记录 * 函数名: UpdateLineStop * 返回值: long * 参数列表: 参数类型 取值范围 描述 * startTime: string 停机结束时间 * shiftNo: string 停机所在班 * * 版本历史 * 1.0 2010-08-10 echo_li 初次建立 * **********************************************************************/ virtual long UpdateLineStop(string startTime,string shiftNo,string secName = "PS"); virtual long UpdateLineStop(string startTime,string shiftNo,char *coilId,string secName = "PS"); /********************************************************************** * 概述: 按指定时间分割停机记录 * 函数名: DevideDisTurbance * 返回值: short * 参数列表: 参数类型 取值范围 描述 * devideTime: string 停机分割时间 * shiftInfo: const S_SHIFTINFO & 分割所在的班信息 * * 版本历史 * 1.0 2010-08-10 echo_li 初次建立 * **********************************************************************/ virtual short DevideDisTurbance(string devideTime,const S_SHIFTINFO& shiftInfo); /********************************************************************** * 概述: 获取当前生产线的运行状态 * 函数名: LineStatus 成功返回生产线状态,失败返回-1 * 返回值: short * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2010-08-10 echo_li 初次建立 * **********************************************************************/ virtual short LineStatus(string secName); virtual short addNewCrew( const string& crew) =0; protected: void InitMember(); public: ShiftDAO(); ~ShiftDAO(); protected: char* mp_dbMessage; char m_dbWhere[200]; char m_dbOrder[100]; int m_dbCode; }; } #endif