wagereport.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 157 行

CPP
157
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "WageReport.h"
#include "WnQuery.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "GroupBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmWageReport *frmWageReport;
//---------------------------------------------------------------------------
__fastcall TfrmWageReport::TfrmWageReport(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TGroupBaseForm(Owner,chWnd,MidCode,WhereStr)
{
  OwGrid=DataReptGrid;
  AnsiString YearStr,MonthStr,DateStr;
  DateStr=DateToStr(Date());
  YearStr=DateStr.SubString(1,4);
  MonthStr=DateStr.SubString(6,8);
  if(MonthStr.Pos('-')-1>1)
  {
  MonthStr=MonthStr.SubString(1,MonthStr.Pos('-')-1);
  //cbsdMonth->Text=YearStr+MonthStr;
  }
  else
  {
   MonthStr=MonthStr.SubString(1,MonthStr.Pos('-')-1);
  // cbsdMonth->Text=YearStr+"0"+MonthStr;
  }

}
//---------------------------------------------------------------------------
void __fastcall TfrmWageReport::InitEditControl()
{
  AnsiString DFD,DDP;
  DFD=GetDefField();
  DDP=GetDefDisp();

 AddGroupItem(edEmployeeBox,edEmployee,"WageEmployeeName","WageEmployee,WageEmployeeName","\t员工编码\t员工名称");
 AddGroupItem(edDeptBox,edDept,"wagedeptName","wagedept,wagedeptName","\t部门编码\t部门名称");
 AddGroupItem(sysFmonthBox,cbsdMonth,"WageFmonth","WageFmonth","\t财务月份");
 //l_SumField=" AVG(MaccBopQty) as MaccBopQty ,AVG(MaccBopAmt) as MaccBopAmt,sum(sysPQty) as sysPQty, sum(sysPAmt) as sysPAmt,sum(sysGQty) as sysGQty,sum(sysGAmt) as sysGAmt,AVG(MaccRopQty) as MaccRopQty,AVG(MaccRopAmt) as maccRopAmt,AVG(MACCFopQty) as MACCFopQty,AVG(MACCFopAmt) as MACCFopAmt,AVG(MaccBopQty)  + AVG(maccRopQty)+sum(sysPQty -sysGQty)-AVG(MACCFopQty) as MaccEndQty,AVG(MaccBopAmt) +AVG(maccRopAmt)+sum(sysPAmt -sysGAmt)-AVG(MACCFopAmt) as MaccEndAmt from ksVW_ReptMacc " ;
 //l_SumDisp="\t期初数量\t期初金额\t入库数量\t入库金额\t出库数量\t出库金额\t调整数量\t调整金额\t结存数量\t结存金额\t差别数量\t差别金额";
 l_DefField="WageEmployeeName,wagedeptName,wageTow,WageFmonth"+DFD+" FROM ksVW_WageRep";
 l_DefDisp="\t员工名称\t部门名称\t工种\t财务月份"+DDP;
 s_DateField="WageFmonth";

  FillComboBox(Handle,cbsdMonth,"SELECT FcMonth FROM sdFc order by FcMonth","FcMonth");
  edDept->Text="" ;
  edEmployee->Text="";
}
//---------------------------------------------------------------------------


void __fastcall TfrmWageReport::edEmployeeButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="002[员工编码][员工名称]select EmployeeCode,EmployeeName from sdEmployee  order by EmployeeCode";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"员工查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
     edEmployee->Text=(p->ColData[2]);
  }
  delete p;
}
//---------------------------------------------------------------------------

void __fastcall TfrmWageReport::edDeptButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="004[部门编码][部门名称][联系人][电话]select DeptCode,DeptName,DeptLinkman,DeptTel from sdDept  order by DeptCode";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"部门查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
     edDept->Text=(p->ColData[2]);
  }
  delete p;

}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWageReport::GetDefDisp()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql,DefDisp;
    sSql="select WageItemCode,WageItemName,WageItemFormula from kswageitem order by wageitemtype,wageitemcode";  //取Head查询的SQL语句
    RsQuery=new  TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    fi_count = RsQuery->RecordCount ;
    for (i=0;i<fi_count;i++)
    {
      m_WItem[i].Name=RsQuery->FieldByName("WageItemName") ;
      RsQuery->MoveNext();
    }

    DataReptGrid->ColCount = fi_count + 3;
    for (i=3;i<=fi_count+2;i++)
    {
        DataReptGrid->Columns->Items[i]->TitleString= m_WItem[i-3].Name ;
        DefDisp=DefDisp+"\t"+m_WItem[i-3].Name;
    }
    RsQuery->Close();

  return DefDisp;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWageReport::GetDefField()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,sSql,DefField;
    sSql="select WageItemCode,WageItemName,WageItemFormula from kswageitem order by wageitemtype,wageitemcode";  //取Head查询的SQL语句
    RsQuery=new  TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    fi_count = RsQuery->RecordCount ;
    for (i=0;i<fi_count;i++)
    {
      m_WItem[i].Code=RsQuery->FieldByName("WageItemCode");
      RsQuery->MoveNext();
    }

    DataReptGrid->ColCount = fi_count + 3;
    for (i=3;i<=fi_count+2;i++)
    {
       // DataReptGrid->Columns->Items[i]->TitleString= m_WItem[i-3].Code ;
        DefField=DefField+","+ m_WItem[i-3].Code;
    }
    RsQuery->Close();

    return  DefField;
}

⌨️ 快捷键说明

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