eis/inc/dao/ShiftDAO.h

256 lines
8.9 KiB
C
Raw Normal View History

/*********************************************************************
*
* : 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 <map>
#include <vector>
#include <string>
#include <dao/DbStandardDBAX.h>
#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<S_LOVSHIFT> V_LOVSHIFT;
typedef map<int,vector<S_TURN> > 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