mod_GuiConsole.h 5.6 KB

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