⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 employeeviewunit.cpp

📁 指纹门禁机管理系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "EmployeeViewUnit.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BaseViewUnit"
#pragma resource "*.dfm"
TEmployeeViewFrm *EmployeeViewFrm;
//---------------------------------------------------------------------------
__fastcall TEmployeeViewFrm::TEmployeeViewFrm(TComponent* Owner)
    : TBaseViewFrm(Owner)
{
}
//---------------------------------------------------------------------------
void TEmployeeViewFrm::AddDeptUserInfoToListView(int iDeptID)
{
   UserInfoExArray_T aUserList;
   pDBAccess->GetUserList(iDeptID,aUserList);
   for(IterUserInfoEx_T iter = aUserList.begin();iter!=aUserList.end();++iter)
   {
     UserInfoEx_T aUserInfo = *iter;
     AddUserInfoToListView(aUserInfo);
   }
}
//---------------------------------------------------------------------------
void TEmployeeViewFrm::AddNodeUserInfo(TTreeNode* iCurNode)
{
   int lDeptID = iCurNode->StateIndex;

   AddDeptUserInfoToListView(lDeptID);
   int lChildCount = iCurNode->Count;
   for(int i=0;i<lChildCount;i++)
   {

      TTreeNode* pChildNode = iCurNode->Item[i];
      AddNodeUserInfo(pChildNode);
   }
}
//---------------------------------------------------------------------------
void TEmployeeViewFrm::AddUserInfoToListView(UserInfoEx_T iUserInfo)
{
   TListItem  *ListItem;
   ListItem = lvRecordInfo->Items->Add();
   ListItem->Caption=iUserInfo.BaseUserInfo.UserID;
   ListItem->SubItems->Add(iUserInfo.BaseUserInfo.EmpName);
   ListItem->SubItems->Add(iUserInfo.DeptName);

   if((UserType_T)iUserInfo.BaseUserInfo.ManageClass == utManage)
      ListItem->SubItems->Add("管理员");
   else if((UserType_T)iUserInfo.BaseUserInfo.ManageClass == utUser)
      ListItem->SubItems->Add("普通员工");
   else
      ListItem->SubItems->Add("未知");

   ListItem->SubItems->Add(aCnv.GetRoleString(iUserInfo.BaseUserInfo.AttendPlan));

   if((VerifyMode_T)iUserInfo.BaseUserInfo.VerifyMode == vmFinger)
      ListItem->SubItems->Add("指纹验证");
   else if((VerifyMode_T)iUserInfo.BaseUserInfo.VerifyMode == vmPassword)
      ListItem->SubItems->Add("密码验证");
   else
      ListItem->SubItems->Add("未知");

   ListItem->SubItems->Add((int)iUserInfo.BaseUserInfo.FingerCount);
   if(iUserInfo.BaseUserInfo.IsUsePwd == upUse)
      ListItem->SubItems->Add("是");
   else
      ListItem->SubItems->Add("否");

   if(iUserInfo.BaseUserInfo.Flag == wsInService)
      ListItem->SubItems->Add("在职");
   else if(iUserInfo.BaseUserInfo.Flag == wsDimission)
      ListItem->SubItems->Add("离职");
   else
      ListItem->SubItems->Add("其他");

   ListItem->SubItems->Add(iUserInfo.BaseUserInfo.EmpDesc);
}
//---------------------------------------------------------------------------
void __fastcall TEmployeeViewFrm::FormCreate(TObject *Sender)
{
   pDBAccess = new TDBAccess();
    
}
//---------------------------------------------------------------------------
void __fastcall TEmployeeViewFrm::FormDestroy(TObject *Sender)
{
   delete pDBAccess;
    
}
//---------------------------------------------------------------------------
void __fastcall TEmployeeViewFrm::FormShow(TObject *Sender)
{
   pDBAccess->GetDeptTree(tvDept);
   tvDept->FullExpand();//树展开

}
//---------------------------------------------------------------------------
void TEmployeeViewFrm::RefreshListView()
{
   lvRecordInfo->Clear();
   tvDeptClick(this);
}
//---------------------------------------------------------------------------

void __fastcall TEmployeeViewFrm::FormClick(TObject *Sender)
{
   //得到当前部门编号
   int lDeptID;
   TTreeNode* pSelectNode = tvDept->Selected;
   if (pSelectNode != NULL)
   {
     lDeptID = pSelectNode->StateIndex;
     lvRecordInfo->Items->Clear();
     if (lDeptID == 0) //全公司
        AddDeptUserInfoToListView(lDeptID);
     else
        AddNodeUserInfo(pSelectNode);
   }

}
//---------------------------------------------------------------------------

void __fastcall TEmployeeViewFrm::tvDeptClick(TObject *Sender)
{
   //得到当前部门编号
   TTreeNode* pSelectNode = tvDept->Selected;
   if (pSelectNode != NULL)
   {
     CurDeptID = pSelectNode->StateIndex;
     lvRecordInfo->Items->Clear();
     if (CurDeptID == 0) //全公司
        AddDeptUserInfoToListView(CurDeptID);
     else
        AddNodeUserInfo(pSelectNode);
   }

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -