mod_GuiConsole.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #pragma once
  2. #include "SpBase.h"
  3. #include "modVer.h"
  4. #include "SpTest.h"
  5. #include "GUIConsoleFSM.h"
  6. #include "GUIConsole_server_g.h"
  7. using namespace GUIConsole;
  8. // 本地控制台 GUIConsole 0x508
  9. class CGUIConsoleEntity : public CEntityBase, public ILogListener
  10. {
  11. public:
  12. CGUIConsoleEntity() :m_SubLogID1(0), m_SubLogID2(0), m_dwBeginTime(0),
  13. m_strUserID(""), m_strUserName(""), m_strAuthorizer(""), m_strCurRight(""), m_strAuthTime("")
  14. {
  15. }
  16. virtual ~CGUIConsoleEntity() {}
  17. virtual const char *GetEntityName() const { return "GUIConsole"; }
  18. const char* GetEntityVersion() const { return MODULE_VERSION_FULL; }
  19. virtual bool IsService()const{return true;}
  20. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext);
  21. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext) ;
  22. virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszParam*/);
  23. virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  24. const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  25. const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage);
  26. ErrorCodeEnum SubscribeEntitysEvents();
  27. ErrorCodeEnum UnsubscribeEntitysEvents();
  28. CSimpleStringA GetCurMaintainer(){ return m_strUserID;}
  29. ErrorCodeEnum GetCurrentMaintainer(CSimpleStringA &strUserID, CSimpleStringA &strUserName, CSimpleStringA &strCurRight,
  30. CSimpleStringA &strAuthorizer, unsigned int &dwBeginTime);
  31. ErrorCodeEnum Empower(const char *pszUserID);
  32. ErrorCodeEnum Takeover(const char *pszUserID);
  33. ErrorCodeEnum ForceQuit();
  34. ErrorCodeEnum PostUserLoginEvent(const char *pszUserID);
  35. ErrorCodeEnum AddMaterialCounter(const char *pszMaterialCode);
  36. ErrorCodeEnum AddTradeManage(const char *pszTerminalNo, const char *pszAgentID, const char *pszTime);
  37. //查询物料信息
  38. ErrorCodeEnum QueryMaterialInfo(const char *pszDeviceNo, unsigned int &count, CAutoArray<CSimpleStringA> &arrDeviceNo, CAutoArray<CSimpleStringA> &arrMateriel,
  39. CAutoArray<CSimpleStringA> &CardGroove, CAutoArray<CSimpleStringA> &CardBoxNo, CAutoArray<CSimpleStringA> &PsbCode, CAutoArray<CSimpleStringA> &PsbName,
  40. CAutoArray<unsigned int> &CardInit, CAutoArray<unsigned int> &CardRemains, CAutoArray<unsigned int> &CardIssued, CAutoArray<unsigned int> &CardMixed, CAutoArray<unsigned int> &CardPercent,
  41. CAutoArray<CSimpleStringA> &TerminalNo, CAutoArray<CSimpleStringA> &Maintainer, CAutoArray<CSimpleStringA> &MaintainTime, CAutoArray<CSimpleStringA> &UpdateTime);
  42. ErrorCodeEnum GetMaterialCounter(const char *pszMaterial, unsigned int &dwLastCapacity, unsigned int &dwUsedCounter);
  43. ErrorCodeEnum ResetMaterialCounter(const char *pszMaterial, unsigned int dwResetCapacity, unsigned int dwUsedCounter,
  44. unsigned int dwRemainCounter, const char *pszComment);
  45. // 吞卡登记
  46. ErrorCodeEnum RegistSwallowedCard(const char *pszCardNo, const char *pszReasonCode, const char *pszDate,
  47. const char *pszTime, const char *pszDeviceSciNo);
  48. // 本地计数同步到数据库
  49. ErrorCodeEnum SyncMaterialCount(const char *pszDeviceNo, DWORD dwCardBoxNum,
  50. CAutoArray<bool> &arrMaintainFlag, CAutoArray<CSimpleStringA> &arrMaintainer, CAutoArray<unsigned int> &arrMaintainTime,
  51. CAutoArray<CSimpleStringA> &arrCardBoxNo, CAutoArray<CSimpleStringA> &arrPsbCode,
  52. CAutoArray<CSimpleStringA> &arrPsbName, CAutoArray<unsigned int> &arrCardInit, CAutoArray<unsigned int> &arrCardRemains,
  53. CAutoArray<unsigned int> &arrCardIssued, CAutoArray<unsigned int> &arrCardMixed, CAutoArray<unsigned int> &arrCardPercent);
  54. protected:
  55. //GUITask m_task;
  56. CGUIConsoleFSM m_FSM;
  57. CUUID m_SubLogID1;
  58. CUUID m_SubLogID2;
  59. CUUID m_SubLogID3;
  60. // 当前维护用户信息
  61. CSimpleStringA m_strUserID;
  62. CSimpleStringA m_strUserName;
  63. CSimpleStringA m_strCurRight;
  64. CSimpleStringA m_strAuthorizer;
  65. CSimpleStringA m_strAuthTime;
  66. DWORD m_dwBeginTime;
  67. };
  68. class CGUIConsoleSession : public GUIConsoleService_ServerSessionBase
  69. {
  70. public:
  71. CGUIConsoleSession(CGUIConsoleEntity *pEntity) : m_pEntity(pEntity) {}
  72. virtual ~CGUIConsoleSession() {}
  73. virtual void Handle_GetCurrentMaintainer(SpReqAnsContext<GUIConsoleService_GetCurrentMaintainer_Req, GUIConsoleService_GetCurrentMaintainer_Ans>::Pointer ctx);
  74. virtual void Handle_Empower(SpReqAnsContext<GUIConsoleService_Empower_Req, GUIConsoleService_Empower_Ans>::Pointer ctx);
  75. virtual void Handle_Takeover(SpReqAnsContext<GUIConsoleService_Takeover_Req, GUIConsoleService_Takeover_Ans>::Pointer ctx);
  76. virtual void Handle_ForceQuit(SpReqAnsContext<GUIConsoleService_ForceQuit_Req, GUIConsoleService_ForceQuit_Ans>::Pointer ctx);
  77. virtual void Handle_AddMaterialCounter(SpReqAnsContext<GUIConsoleService_AddMaterialCounter_Req, GUIConsoleService_AddMaterialCounter_Ans>::Pointer ctx);
  78. virtual void Handle_AddTradeManage(SpReqAnsContext<GUIConsoleService_AddTradeManage_Req, GUIConsoleService_AddTradeManage_Ans>::Pointer ctx);
  79. virtual void Handle_QueryMaterialInfo(SpReqAnsContext<GUIConsoleService_QueryMaterialInfo_Req, GUIConsoleService_QueryMaterialInfo_Ans>::Pointer ctx);
  80. virtual void Handle_GetMaterialCounter(SpReqAnsContext<GUIConsoleService_GetMaterialCounter_Req, GUIConsoleService_GetMaterialCounter_Ans>::Pointer ctx);
  81. virtual void Handle_ResetMaterialCounter(SpReqAnsContext<GUIConsoleService_ResetMaterialCounter_Req, GUIConsoleService_ResetMaterialCounter_Ans>::Pointer ctx);
  82. virtual void Handle_RegistSwallowedCard(SpReqAnsContext<GUIConsoleService_RegistSwallowedCard_Req, GUIConsoleService_RegistSwallowedCard_Ans>::Pointer ctx);
  83. virtual void Handle_SyncMaterialCount(SpOnewayCallContext<GUIConsoleService_SyncMaterialCount_Info>::Pointer ctx);
  84. private:
  85. CGUIConsoleEntity *m_pEntity;
  86. };