WageReport.cpp
Upload User: xgxgxg8
Upload Date: 2007-02-22
Package Size: 6882k
Code Size: 5k
Development Platform:

Delphi

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "WageReport.h"
  5. #include "WnQuery.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. #pragma link "DateEdit"
  9. #pragma link "GroupBaseForm"
  10. #pragma link "SDComboBox"
  11. #pragma link "SDEdit"
  12. #pragma link "SDGrid"
  13. #pragma link "KSAdvReport"
  14. #pragma resource "*.dfm"
  15. TfrmWageReport *frmWageReport;
  16. //---------------------------------------------------------------------------
  17. __fastcall TfrmWageReport::TfrmWageReport(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
  18.         : TGroupBaseForm(Owner,chWnd,MidCode,WhereStr)
  19. {
  20.   OwGrid=DataReptGrid;
  21.   AnsiString YearStr,MonthStr,DateStr;
  22.   DateStr=DateToStr(Date());
  23.   YearStr=DateStr.SubString(1,4);
  24.   MonthStr=DateStr.SubString(6,8);
  25.   if(MonthStr.Pos('-')-1>1)
  26.   {
  27.   MonthStr=MonthStr.SubString(1,MonthStr.Pos('-')-1);
  28.   //cbsdMonth->Text=YearStr+MonthStr;
  29.   }
  30.   else
  31.   {
  32.    MonthStr=MonthStr.SubString(1,MonthStr.Pos('-')-1);
  33.   // cbsdMonth->Text=YearStr+"0"+MonthStr;
  34.   }
  35. }
  36. //---------------------------------------------------------------------------
  37. void __fastcall TfrmWageReport::InitEditControl()
  38. {
  39.   AnsiString DFD,DDP;
  40.   DFD=GetDefField();
  41.   DDP=GetDefDisp();
  42.  AddGroupItem(edEmployeeBox,edEmployee,"WageEmployeeName","WageEmployee,WageEmployeeName","t员工编码t员工名称");
  43.  AddGroupItem(edDeptBox,edDept,"wagedeptName","wagedept,wagedeptName","t部门编码t部门名称");
  44.  AddGroupItem(sysFmonthBox,cbsdMonth,"WageFmonth","WageFmonth","t财务月份");
  45.  //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 " ;
  46.  //l_SumDisp="t期初数量t期初金额t入库数量t入库金额t出库数量t出库金额t调整数量t调整金额t结存数量t结存金额t差别数量t差别金额";
  47.  l_DefField="WageEmployeeName,wagedeptName,wageTow,WageFmonth"+DFD+" FROM ksVW_WageRep";
  48.  l_DefDisp="t员工名称t部门名称t工种t财务月份"+DDP;
  49.  s_DateField="WageFmonth";
  50.   FillComboBox(Handle,cbsdMonth,"SELECT FcMonth FROM sdFc order by FcMonth","FcMonth");
  51.   edDept->Text="" ;
  52.   edEmployee->Text="";
  53. }
  54. //---------------------------------------------------------------------------
  55. void __fastcall TfrmWageReport::edEmployeeButtonClick(TObject *Sender)
  56. {
  57.   AnsiString SqlStr;
  58.   SqlStr="002[员工编码][员工名称]select EmployeeCode,EmployeeName from sdEmployee  order by EmployeeCode";
  59.   TfrmWnQuery *p;
  60.   try
  61.   {
  62.     StartWaitForm("正在查询,请稍候...");
  63.     p=new TfrmWnQuery(this,"员工查询",SqlStr);
  64.   }
  65.   __finally
  66.   {
  67.     EndWaitForm();
  68.   }
  69.   if(p->ShowModal()==mrOk)
  70.   {
  71.      edEmployee->Text=(p->ColData[2]);
  72.   }
  73.   delete p;
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TfrmWageReport::edDeptButtonClick(TObject *Sender)
  77. {
  78.   AnsiString SqlStr;
  79.   SqlStr="004[部门编码][部门名称][联系人][电话]select DeptCode,DeptName,DeptLinkman,DeptTel from sdDept  order by DeptCode";
  80.   TfrmWnQuery *p;
  81.   try
  82.   {
  83.     StartWaitForm("正在查询,请稍候...");
  84.     p=new TfrmWnQuery(this,"部门查询",SqlStr);
  85.   }
  86.   __finally
  87.   {
  88.     EndWaitForm();
  89.   }
  90.   if(p->ShowModal()==mrOk)
  91.   {
  92.      edDept->Text=(p->ColData[2]);
  93.   }
  94.   delete p;
  95. }
  96. //---------------------------------------------------------------------------
  97. AnsiString __fastcall TfrmWageReport::GetDefDisp()
  98. {
  99.     TComResultSet *RsQuery;
  100.     AnsiString ItemStr,sSql,DefDisp;
  101.     sSql="select WageItemCode,WageItemName,WageItemFormula from kswageitem order by wageitemtype,wageitemcode";  //取Head查询的SQL语句
  102.     RsQuery=new  TComResultSet(Handle,g_ClientHandle);
  103.     RsQuery->Open(sSql,"");
  104.     RsQuery->MoveFirst();
  105.     fi_count = RsQuery->RecordCount ;
  106.     for (i=0;i<fi_count;i++)
  107.     {
  108.       m_WItem[i].Name=RsQuery->FieldByName("WageItemName") ;
  109.       RsQuery->MoveNext();
  110.     }
  111.     DataReptGrid->ColCount = fi_count + 3;
  112.     for (i=3;i<=fi_count+2;i++)
  113.     {
  114.         DataReptGrid->Columns->Items[i]->TitleString= m_WItem[i-3].Name ;
  115.         DefDisp=DefDisp+"t"+m_WItem[i-3].Name;
  116.     }
  117.     RsQuery->Close();
  118.   return DefDisp;
  119. }
  120. //---------------------------------------------------------------------------
  121. AnsiString __fastcall TfrmWageReport::GetDefField()
  122. {
  123.     TComResultSet *RsQuery;
  124.     AnsiString ItemStr,sSql,DefField;
  125.     sSql="select WageItemCode,WageItemName,WageItemFormula from kswageitem order by wageitemtype,wageitemcode";  //取Head查询的SQL语句
  126.     RsQuery=new  TComResultSet(Handle,g_ClientHandle);
  127.     RsQuery->Open(sSql,"");
  128.     RsQuery->MoveFirst();
  129.     fi_count = RsQuery->RecordCount ;
  130.     for (i=0;i<fi_count;i++)
  131.     {
  132.       m_WItem[i].Code=RsQuery->FieldByName("WageItemCode");
  133.       RsQuery->MoveNext();
  134.     }
  135.     DataReptGrid->ColCount = fi_count + 3;
  136.     for (i=3;i<=fi_count+2;i++)
  137.     {
  138.        // DataReptGrid->Columns->Items[i]->TitleString= m_WItem[i-3].Code ;
  139.         DefField=DefField+","+ m_WItem[i-3].Code;
  140.     }
  141.     RsQuery->Close();
  142.     return  DefField;
  143. }