/********************************************************************* * * 文 件: MtrDAO.h //TODO请概述文件功能 * * 版权所有: Shanghai Baosight Software Co., Ltd. * * 概述:跟踪数据访问层 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * %USER% *********************************************************************/ #ifndef MTRDAO_H #define MTRDAO_H #include #include #include #include #include using namespace baosight; class MatUnit; class MtrDAO { public: /********************************************************************** * 概述:构造函数 * 函数名: MtrDAO * 返回值: //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ MtrDAO(); /********************************************************************** * 概述: 析构函数 * 函数名: ~MtrDAO * 返回值: //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual ~MtrDAO(); private: char* dbMessage; CopyProcess* copyPro; public: /********************************************************************** * 概述: //获得钢卷位置信息 * 函数名: getLocation * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * posno : [IN/OUT] int //TODO:参数取值范围 * p_loc : [IN/OUT] Location * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getLocation(int posno, Location* p_loc); /********************************************************************** * 概述: //获得钢卷信息 * 函数名: getMatUint * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * innerId : [IN/OUT] int //TODO:参数取值范围 * p_mat : [IN/OUT] MatUnit * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getMatUint(int innerId, MatUnit* p_mat); public: /********************************************************************** * 概述: //检查原始数据是否正常 * 函数名: isPrimaryOK * 返回值: bool //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual bool isPrimaryOK(const MU_CODE& meCode); /********************************************************************** * 概述: //设置钢卷上下鞍座状态 * 函数名: setCoilStatus * 返回值: void //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * loc : [IN/OUT] Location * //TODO:参数取值范围 * status : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual void setCoilStatus(Location* loc,int status); /********************************************************************** * 概述: //检查中央段是否存在该钢卷 * 函数名: isCenterCoil * 返回值: bool //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * loc : [IN/OUT] Location * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual bool isCenterCoil(Location* loc); /********************************************************************** * 概述: //设置跟踪映像表中的内部卷号 * 函数名: setImageInnerId * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * loc : [IN/OUT] Location * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setImageInnerId(Location* loc); /********************************************************************** * 概述: //离开某个位置 * 函数名: moveAway * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * p_loc : [IN/OUT] Location * //TODO:参数取值范围 * flag : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int moveAway(Location* p_loc,int flag = 0); /********************************************************************** * 概述: //到达某个位置 * 函数名: moveArrive * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * p_loc : [IN/OUT] Location * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int moveArrive(Location* p_loc); /********************************************************************** * 概述: //读取通到映像 * 函数名: readImage * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * pos : [IN/OUT] int //TODO:参数取值范围 * coilId : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int readImage(int pos,char* coilId); /********************************************************************** * 概述: //当前钢卷是入口钢卷还是出口钢卷 * 函数名: coilpos * 返回值: bool //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * p_loc : [IN/OUT] Location * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual bool coilpos(Location* p_loc); public: /********************************************************************** * 概述: //内部映像表中该钢卷是否已经存在 * 函数名: isInnerCoilId * 返回值: bool //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * coilId : [IN/OUT] string //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual bool isInnerCoilId(string coilId); /********************************************************************** * 概述: //设置内部映像表中的所有钢卷 * 函数名: setAllCoilId * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * p_mat : [IN/OUT] MatUnit * //TODO:参数取值范围 * flag : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setAllCoilId(MatUnit* p_mat,int flag) ; /********************************************************************** * 概述: //写内部卷号到设定值表中 * 函数名: setInnerId2ST * 返回值: bool //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * innerId : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual bool setInnerId2ST(const MU_CODE& meCode,int innerId) ; /********************************************************************** * 概述: //更新内部映像表中的序号 * 函数名: updateAllSeqNo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int updateAllSeqNo(); /********************************************************************** * 概述: //更新当前卷的序号 * 函数名: updateActSeqNo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * inId : [IN/OUT] int //TODO:参数取值范围 * flag : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int updateActSeqNo(int inId,int flag); /********************************************************************** * 概述: //获得进入机组时间 * 函数名: getBookTime * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getBookTime(const MU_CODE& meCode); /********************************************************************** * 概述: //获得生产开始时间 * 函数名: getStartTime * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * startTime : [IN/OUT] char * //TODO:参数取值范围 * flag : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getStartTime(MU_CODE& meCode,char* startTime,int flag); /********************************************************************** * 概述://获得剪切模式 * 函数名: getCutMode * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * cutlength : [IN/OUT] int //TODO:参数取值范围 * cutMode : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getCutMode(MU_CODE& meCode,int cutlength,int cutMode); /********************************************************************** * 概述: //设置计划表中删除标志 * 函数名: setScheduleFlag * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * p_mat : [IN/OUT] MatUnit * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setScheduleFlag(MatUnit* p_mat); /********************************************************************** * 概述: //设置进入机组时间 * 函数名: setBookTime * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setBookTime(MU_CODE& meCode); /********************************************************************** * 概述: //增加剪切实绩 * 函数名: addActCutData * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * firstCut : [IN/OUT] S_FirstCut & //TODO:参数取值范围 * p_mat : [IN/OUT] MatUnit & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int addActCutData(S_FirstCut& firstCut,MatUnit& p_mat) ; /********************************************************************** * 概述: //设置当前卷的剪切模式 * 函数名: setCutMode * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * Exlen : [IN/OUT] int & //TODO:参数取值范围 * cutMode : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setCutMode(MU_CODE& meCode,int& Exlen,int cutMode); /********************************************************************** * 概述: //设置生产开始时间 * 函数名: setStartTime * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * startTime : [IN/OUT] char * //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setStartTime(MU_CODE& meCode,char* startTime); /********************************************************************** * 概述://设置最后卷标志 * 函数名: setFinalflag * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setFinalflag(const MU_CODE& meCode); /********************************************************************** * 概述: //获得母卷长度 * 函数名: getCoilLen * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * meCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getCoilLen(const MU_CODE& meCode); /********************************************************************** * 概述: //插入一条记录到过程控制表 * 函数名: setCoilInfo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int setCoilInfo(const MU_CODE& muCode); //获取内部ID virtual int getInnerId(char* coilid); public: /********************************************************************** * 概述: //获得MU表中记录数目 * 函数名: getMuRecordNo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * coilId : [IN/OUT] const string & //TODO:参数取值范围 * flag : [IN/OUT] int //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getMuRecordNo(const string& coilId,int flag = 0); /********************************************************************** * 概述: //获得T_SCH_COIL表中的记录数目 * 函数名: getSchRecordNo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * coilId : [IN/OUT] const string & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getSchRecordNo(const string& coilId); /********************************************************************** * 概述: //获得T_SCH_DUMMY表中的记录数目 * 函数名: getDummyRecordNo * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * coilId : [IN/OUT] const string & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getDummyRecordNo(const string& coilId); /********************************************************************** * 概述: //获得T_MU表中的数据 * 函数名: getMuData * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * coilId : [IN/OUT] const string & //TODO:参数取值范围 * id : [IN/OUT] string & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int getMuData(const string& coilId,string& id); public: /********************************************************************** * 概述: //头尾废料 * 函数名: HTScrapCut * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * cutInfo : [IN/OUT] CUT_INFO & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int HTScrapCut(CUT_INFO& cutInfo); /********************************************************************** * 概述: //废料统计 * 函数名: scrapStatic * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int scrapStatic(MU_CODE& muCode); /********************************************************************** * 概述: //是否为过渡卷 * 函数名: isDummy * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int isDummy(const MU_CODE& muCode); /********************************************************************** * 概述: //管理过渡卷 * 函数名: doDummy * 返回值: int //TODO:返回值描述 * 参数列表: 参数类型 取值范围 描述 * muCode : [IN/OUT] const MU_CODE & //TODO:参数取值范围 * matStructEntry : [IN/OUT] const MAT_STRUCTURE & //TODO:参数取值范围 * * 版本历史 * 1.0 2011-06-10 fuxiandong //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int doDummy(const MU_CODE& muCode,const MAT_STRUCTURE& matStructEntry); /********************************************************************** * 概述: 为钢卷注册新的跟踪索引信息 * 函数名: RegNewInnerId * 返回值: int 大于0:新索引号 小于0:没有可用索引号 * 参数列表: 参数类型 取值范围 描述 * * coil const char* 钢卷号 * 版本历史 * 1.0 2011-08-01 WeiSheng yu //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int RegNewInnerId( const char *coil); /********************************************************************** * 概述: 注销钢卷的跟踪索引信息 * 函数名: LogoutInnerId * 返回值: int 大于0:新索引号 小于0:没有可用索引号 * 参数列表: 参数类型 取值范围 描述 * * InnerId int 索引号 * 版本历史 * 1.0 2011-08-01 WeiSheng yu //TODO请添加本次主要修改内容 * **********************************************************************/ virtual int LogoutInnerId( int InnerId); }; #endif