123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- #ifndef RVC_MODULE_MATERIALMGR_CNN_H_
- #define RVC_MODULE_MATERIALMGR_CNN_H_
- #pragma once
- #include "SpSecureClient.h"
- #include "GUIConsole_def_g.h"
- using namespace GUIConsole;
- #pragma pack(1)
- // 部署位置调整
- // [StructName("ModInfoR")]
- struct ModifyEnrollInfoReq
- {
- //char UserID[16]; // 登录用户
- //BYTE Password[16]; // 登录密码(Hash)
- char TerminalNo[16]; // 终端号码
- BYTE EnrolGPS[8]; // 终端GPS坐标点
- char EnrolAddr[128]; // 终端部署地址
- };
- // 递增物料使用计数
- //[StructName("AddMCR")]
- struct AddMaterialCounterReq
- {
- //TerminalNo 终端号 字符数字 16
- char TerminalNo[16];
- //Materiel 物料代码 字符 16
- char Material[16];
- };
- // [StructName("AddTMR")]
- struct AddTradeManageReq
- {
- char TerminalNo[16];
- char AgentID[16];
- char Time[32];
- };
- //查询物料数据
- //[StructName("QryMCR")]
- struct QueryMaterialInfoReq
- {
- char DeviceNo[16];
- };
- //[StructName("QryMCA2")]
- struct QueryMaterialInfoRetDate
- {
- char DeviceNo[16]; //发卡器编号或终端号
- char Materiel[16]; //物料类型
- char CardGroove[2]; //卡槽号
- char CardBoxNo[20]; //卡箱号
- char PsbCode[4]; //凭证种类
- char PsbName[128]; //凭证种类名称
- unsigned int CardInit;
- unsigned int CardRemains;
- unsigned int CardIssued;
- unsigned int CardMixed;
- unsigned int CardPercent;
- char TerminalNo[16]; //如果是发卡器物料数据,这个是对应的Pad终端号
- char Maintainer[16]; //物料维护人员
- char MaintainTime[32]; //物料维护时间
- char UpdateTime[32]; //同步时间
- };
- // struct QueryMaterialInfoRet2
- // {
- // char InfoResult[2048];
- // };
- //[StructName("QryMCA1")]
- struct QueryMaterialInfoRet1
- {
- unsigned int count;
- };
- // 获取后台物料计数
- // [StructName("GetMCR")]
- struct GetMaterialCounterReq
- {
- //TerminalNo 终端号 字符数字 16
- char TerminalNo[16];
- //Materiel 物料代码 字符 16
- char Material[16];
- //Maintainer 维护人 字符 16
- char Maintainer[16];
- };
- // [StructName("GetMCA")]
- struct GetMaterialCounterRet
- {
- //Materiel 物料代码 字符 16
- char Material[16];
- //Capacity 放置数量 整数 4
- int Capacity;
- //Counter 使用计数 整数 4
- int Counter;
- //Maintainer 上次物料添加维护人 字符 16
- char Maintainer[16];
- //维护时间 格式:年年月月日日时时分分 字符 10
- char MaintainTime[32];
- };
- // 物料重置
- // [StructName("ResetMCR")]
- struct ResetMaterialCounterReq
- {
- //TerminalNo 终端号 字符数字 16
- char TerminalNo[16];
- //Materiel 物料代码 字符 16
- char Material[16];
- //ResetCapacity 重置数量 整数 4
- int ResetCapacity;
- //TerminalCounter 终端对应计数 整数 4
- int TerminalCounter;
- // 实际剩余计数
- int RemainCounter;
- //Maintainer 维护人 字符 16
- char Maintainer[16];
- // 不符意见
- char Comment[128];
- };
- // 终端用户登录
- //[StructName("LOGINREQ")]
- struct UserLoginReq
- {
- char User[16]; // 用户
- char Password[16]; // 密码,Hash后
- };
- // 吞卡登记
- // [StructName("RegCardR")]
- struct RegistSwallowedCardReq
- {
- char TerminalType[16];
- //TerminalNo 终端号 字符数字 16
- char TerminalNo[16];
- //TerminalNo 终端号 字符数字 16
- char CardNo[20];
- //Materiel 物料代码 字符 4
- char ReasonCode[4];
- // 吞卡日期
- char SwallowDate[8];
- // 吞卡时间
- char SwallowTime[6];
- };
- // 吞卡登记 (xkm@20160419)
- // [StructName("RegCard2")]
- struct RegistSwallowedCardReqV2
- {
- char TerminalType[16];
- //TerminalNo 终端号 字符数字 16
- char TerminalNo[16];
- //TerminalNo 终端号 字符数字 16
- char CardNo[20];
- //Materiel 物料代码 字符 4
- char ReasonCode[4];
- // 吞卡日期
- char SwallowDate[8];
- // 吞卡时间
- char SwallowTime[6];
- // 发卡器编号
- char DeviceSciNo[20];
- // 保留字段
- char Reserved[64];
- };
- // 同步计数到数据库
- // [StructName("SyncMC1")]
- struct SyncMaterialCountReq1
- {
- char TerminalNo[16];
- char DeviceNo[16];
- char Material[16];
- DWORD CardBoxNum;
- };
-
- // [StructName("SyncMC2")]
- struct SyncMaterialCountReq2
- {
- bool bMaintain;
- char Maintainer[16];
- DWORD MaintainTime;
- char CardBoxNo[20];
- char PsbCode[8];
- char PsbName[128];
- DWORD CardInit;
- DWORD CardRemains;
- DWORD CardIssued;
- DWORD CardMixed;
- DWORD CardPercent;
- };
- #pragma pack()
- class CMaterialMgrCnn: public SpSecureClient
- {
- public:
- CMaterialMgrCnn(CEntityBase *pEntity);
- // 全部实现成同步版本
- ErrorCodeEnum ModifyEnrolInfo(const char *pszUserID, const char *pszPwd, const char *pszAddr, const char *pszGPS);
- ErrorCodeEnum AddMaterialCounter(const char *pszTerminalNo, const char *pszMaterial);
- ErrorCodeEnum AddTradeManage(const char *pszTerminalNo, const char *pszAgentID, const char *pszTime);
- //查询物料信息
- ErrorCodeEnum QueryMaterialInfo(const char *pszDeviceNo, unsigned int &count, CAutoArray<CSimpleStringA> &arrDeviceNo, CAutoArray<CSimpleStringA> &arrMateriel,
- CAutoArray<CSimpleStringA> &CardGroove, CAutoArray<CSimpleStringA> &CardBoxNo, CAutoArray<CSimpleStringA> &PsbCode, CAutoArray<CSimpleStringA> &PsbName,
- CAutoArray<unsigned int> &CardInit, CAutoArray<unsigned int> &CardRemains, CAutoArray<unsigned int> &CardIssued, CAutoArray<unsigned int> &CardMixed, CAutoArray<unsigned int> &CardPercent,
- CAutoArray<CSimpleStringA> &TerminalNo, CAutoArray<CSimpleStringA> &Maintainer, CAutoArray<CSimpleStringA> &MaintainTime, CAutoArray<CSimpleStringA> &UpdateTime);
- ErrorCodeEnum GetMaterialCounter(const char *pszMaterial, const char *pszTerminalNo, const char *pszUserID,
- unsigned int &nLastCapacity, unsigned int &nUsedCount);
- ErrorCodeEnum ResetMaterialCounter(const char *pszMaterial, const char *pszTerminalNo, const char *pszUserID,
- int nResetCapacity, int nTerminalCount, int nRemainCount, const char *pszComment);
- ErrorCodeEnum MaintainerLogin(const char* pszMaintainerID, const char *pszPassword);
- ErrorCodeEnum RegistSwallowedCard(const char *pszTerminalType, const char *pszTerminalNo, const char *pszCardNo, const char *pszReasonCode,
- const char *pszDate, const char *pszTime, const char *pszDeviceSciNo);
- ErrorCodeEnum SyncMaterialCount(const char *pszDeviceNo, DWORD dwCardBoxNum,
- CAutoArray<bool> &arrMaintainFlag, CAutoArray<CSimpleStringA> &arrMaintainer, CAutoArray<unsigned int> &arrMaintainTime,
- CAutoArray<CSimpleStringA> &arrCardBoxNo, CAutoArray<CSimpleStringA> &arrPsbCode,
- CAutoArray<CSimpleStringA> &arrPsbName, CAutoArray<unsigned int> &arrCardInit, CAutoArray<unsigned int> &arrCardRemains,
- CAutoArray<unsigned int> &arrCardIssued, CAutoArray<unsigned int> &arrCardMixed, CAutoArray<unsigned int> &arrCardPercent);
- private:
- ~CMaterialMgrCnn();
- void OnDisconnect();
- void OnPkgAnswer(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleModifyEnrollInfoRet(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleAddMaterialCounterRet(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleAddTradeManageRet(const CSmartPointer<IPackage> &pRecvPkg);
- //查询物料信息
- ErrorCodeEnum HandleQueryMaterialInfoRet(const CSmartPointer<IPackage> &pRecvPkg, unsigned int &count, CAutoArray<CSimpleStringA> &arrDeviceNo, CAutoArray<CSimpleStringA> &arrMateriel,
- CAutoArray<CSimpleStringA> &CardGroove, CAutoArray<CSimpleStringA> &CardBoxNo, CAutoArray<CSimpleStringA> &PsbCode, CAutoArray<CSimpleStringA> &PsbName,
- CAutoArray<unsigned int> &CardInit, CAutoArray<unsigned int> &CardRemains, CAutoArray<unsigned int> &CardIssued, CAutoArray<unsigned int> &CardMixed, CAutoArray<unsigned int> &CardPercent,
- CAutoArray<CSimpleStringA> &TerminalNo, CAutoArray<CSimpleStringA> &Maintainer, CAutoArray<CSimpleStringA> &MaintainTime, CAutoArray<CSimpleStringA> &UpdateTime);
- ErrorCodeEnum HandleGetMaterialCounterRet(const CSmartPointer<IPackage> &pRecvPkg, unsigned int &nLastCapacity, unsigned int &nUsedCount);
- ErrorCodeEnum HandleResetMaterialCounterRet(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleMaintainerLoginRet(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleRegistSwallowedCardRet(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum HandleSyncMaterialCount(const CSmartPointer<IPackage> &pRecvPkg);
- ErrorCodeEnum GetMD5(char *pStr, BYTE md5[16]);
- };
- #endif //RVC_MODULE_MATERIALMGR_CNN_H_
|