📄 yjtj.~pas
字号:
end;
//按照人数平均分配
shareErp:=shareErp/(erppeop-erpcount);
shareSmall:=shareSmall/(smallpeop-smallcount);
//showmessage(floattostr(shareErp));
//showmessage(floattostr(shareSmall));
//*****************************************************************
//**************************************************************
// 非定制产品的统计
// (a*10/100)*strtoint(DBComboBox1.Text)+(d*90/100)*achPercent+(h*90/100)*strtoint(DB_projectM.Text)/100+((c*90/100)*95/100)*50/100
// 领导的所得 erp非定制所得 erp项目经理所得 个人定制所得
// (b*10/100)*100/100+(f*90/100)*achPercent+(i*90/100)*strtoint(DB_projectM.Text)/100+((e*90/100)*95/100)*50/100;
// 领导的所得 小产品非定制所得 小产品项目经理 个人定制所得
//**************************************************************************
//***************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select * from total');
DLYH_Q.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
DLYH_Q.Open;
//**************************************************************
dlyh_Q.First;
for j:=1 to dlyh_Q.recordCount do
//for j:=2 to 2 do
begin
//dlyh_Q.RecNo:=1;
percErp:=dlyh_Q.FieldByName('score').AsInteger/erptotal;
percSmall:=dlyh_Q.FieldByName('score').AsInteger/smalltotal;
if dlyh_Q.FieldByName('departNo').AsInteger=1 then
begin
erpp:=1;
smallp:=0;
end
else
begin
erpp:=0;
smallp:=1;
//showmessage(floattostr(achPercent));
end;
//按职位进行分开计算
if dlyh_Q.FieldByName('jobNo').AsInteger=1 then
g:=(a*10/100)*strtoint(DBComboBox1.Text)/100
+(b*10/100)*strtoint(DBComboBox1.Text)/100;
if dlyh_Q.FieldByName('jobNo').AsInteger=2 then
begin
g:=(a*10/100)*strtoint(DBComboBox2.Text)/100+(d*90/100)*percErp*erpp+shareErp*erpp
+(b*10/100)*strtoint(DBComboBox2.Text)/100+(f*90/100)*percSmall*smallp+shareSmall*smallp;
//showmessage(floattostr(percSmall));
end;
if dlyh_Q.FieldByName('jobNo').AsInteger=3 then
begin
g:=(a*10/100)*strtoint(DBComboBox3.Text)/100+(d*90/100)*percErp*erpp+shareErp*erpp
+(b*10/100)*strtoint(DBComboBox3.Text)/100+(f*90/100)*percSmall*smallp+shareSmall*smallp;
//showmessage(floattostr(f));
end;
if dlyh_Q.FieldByName('jobNo').AsInteger=4 then
g:=(d*90/100)*percErp*erpp+shareErp*erpp
+(f*90/100)*percSmall*smallp+shareSmall*smallp;
if dlyh_Q.FieldByName('jobNo').AsInteger=5 then
g:=((d*90/100)*percErp*erpp
+(f*90/100)*percSmall*smallp)*strtoint(ComboBox1.Text)/100;
if dlyh_Q.FieldByName('jobNo').AsInteger=6 then
g:=((d*90/100)*percErp*erpp
+(f*90/100)*percSmall*smallp)*strtoint(ComboBox2.Text)/100;
if dlyh_Q.FieldByName('jobNo').AsInteger=7 then
g:=(d*90/100)*percErp*erpp
+(f*90/100)*percSmall*smallp;
if dlyh_Q.FieldByName('jobNo').AsInteger=8 then
g:=(a*10/100)*strtoint(DBComboBox4.Text)/100
+(b*10/100)*strtoint(DBComboBox4.Text)/100;
dlyh_q.Edit;
dlyh_Q.FieldByName('getmoney').AsFloat:=g;
dlyh_Q.Next;
end;
dlyh_Q.edit;
dlyh_Q.post;
dm.ADQ_personAchiv.Refresh;
dm.ADQ_personAchiv.SQL.Clear;
dm.ADQ_personAchiv.SQL.Add('select * from achivement');
dm.ADQ_personAchiv.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
dm.ADQ_personAchiv.Open;
DBGrid1.Refresh;
//**************************************************************
// 定制产品的统计(综合全部)
//***************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select * from dinzhi');
DLYH_Q.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
DLYH_Q.Open;
temp_Q.sql.Clear;
temp_Q.SQL.Add('select * from achivement');
temp_Q.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
temp_Q.open;
temp_Q.First;
for j:=1 to temp_Q.RecordCount do
begin
temp_q.edit;
temp_Q.FieldByName('dgetmoney').AsFloat:=0;
temp_Q.next;
end;
temp_Q.edit;
temp_Q.post;
//**************************************************************
dlyh_Q.First;
for j:=1 to dlyh_Q.RecordCount do
begin
//***********添加项目经理的所得*******************
temp_Q.sql.Clear;
temp_Q.SQL.Add('select * from achivement');
temp_Q.SQL.Add('where workNo='+dlyh_Q.fieldbyname('charge').AsString);
temp_Q.SQL.Add('and months='+#39+Trim(CB_month.Text)+#39);
temp_Q.open;
temp_Q.edit;
c:=dlyh_Q.fieldbyname('earnmoney').AsInteger; //单个项目的业绩
//showmessage(inttostr(c));
g:=(c*90/100)*strtoint(DB_projectM.Text)/100;
temp_Q.FieldByName('dgetmoney').AsFloat:=temp_Q.FieldByName('dgetmoney').AsFloat+g;
temp_q.edit;
temp_q.post;
//*******************************************************
//找出定制人的业绩进得添加
temp_Q.sql.Clear;
temp_Q.SQL.Add('select * from achivement');
temp_Q.SQL.Add('where workNo='+dlyh_Q.fieldbyname('dpeople1').AsString);
temp_Q.SQL.Add('and months='+#39+Trim(CB_month.Text)+#39);
temp_Q.open;
temp_Q.edit;
c:=dlyh_Q.fieldbyname('earnmoney').AsInteger; //单个项目的业绩
//showmessage(inttostr(c));
g5:=((c*90/100)*(100-strtoint(DB_projectM.Text))/100)*50/100;
//showmessage(floattostr(g5));
temp_Q.FieldByName('dgetmoney').AsFloat:=temp_Q.FieldByName('dgetmoney').AsFloat+g5;
temp_q.edit;
temp_q.post;
//****************************************************************
temp_Q.sql.Clear;
temp_Q.SQL.Add('select * from achivement');
temp_Q.SQL.Add('where workNo='+dlyh_Q.fieldbyname('dpeople2').AsString);
temp_Q.SQL.Add('and months='+#39+Trim(CB_month.Text)+#39);
temp_Q.open;
temp_Q.edit;
g6:=((c*90/100)*(100-strtoint(DB_projectM.Text))/100)-g5;
temp_Q.FieldByName('dgetmoney').AsFloat:=temp_Q.FieldByName('dgetmoney').AsFloat+g6;
temp_q.edit;
temp_q.post;
//showmessage(floattostr(g6));
dlyh_Q.Next;
end;
temp_q.edit;
temp_q.post;
dm.ADQ_VpersonAchiv.sql.Clear;
dm.ADQ_VpersonAchiv.SQL.Add('select * from v_personachiv');
dm.ADQ_VpersonAchiv.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
dm.ADQ_VpersonAchiv.Open;
MessageBox(handle,'已经完成统计!','统计完成',MB_OK or MB_ICONINFORMATION);
end;
procedure TFom_yjtj.FormActivate(Sender: TObject);
var
i:integer;
begin
//供选择年月用
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select months from dAchive');
DLYH_Q.SQL.Add('where departNo=1');
DLYH_Q.Open;
DLYH_Q.Last;
for i:=1 to DLYH_Q.RecordCount do
begin
CB_month.Items.Add(DLYH_Q.fieldbyname('months').AsString);
DLYH_Q.Prior;
end;
DLYH_Q.Last;
CB_month.Text:=DLYH_Q.fieldbyname('months').AsString;
//*****************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select percentsin from job');
DLYH_Q.SQL.Add('where jobNo=7');
DLYH_Q.Open;
DB_projectM.Text:=DLYH_Q.fieldbyname('percentsin').AsString;
//******************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select percentsin from job');
DLYH_Q.SQL.Add('where jobNo=1');
DLYH_Q.Open;
DBComboBox1.Text:=DLYH_Q.fieldbyname('percentsin').AsString;
//******************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select percentsin from job');
DLYH_Q.SQL.Add('where jobNo=2');
DLYH_Q.Open;
DBComboBox2.Text:=DLYH_Q.fieldbyname('percentsin').AsString;
//******************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select percentsin from job');
DLYH_Q.SQL.Add('where jobNo=3');
DLYH_Q.Open;
DBComboBox3.Text:=DLYH_Q.fieldbyname('percentsin').AsString;
//******************************************************************
DLYH_Q.SQL.Clear;
DLYH_Q.SQL.Add('select percentsin from job');
DLYH_Q.SQL.Add('where jobNo=8');
DLYH_Q.Open;
DBComboBox4.Text:=DLYH_Q.fieldbyname('percentsin').AsString;
//*****************************************************************
dm.ADQ_VpersonAchiv.sql.Clear;
dm.ADQ_VpersonAchiv.SQL.Add('select * from v_personachiv');
dm.ADQ_VpersonAchiv.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
dm.ADQ_VpersonAchiv.Open;
fom_yjtj.DBGrid1.Visible:=true;
end;
procedure TFom_yjtj.FormCreate(Sender: TObject);
begin
fom_yjtj.DBGrid1.Visible:=false;
end;
procedure TFom_yjtj.CB_monthChange(Sender: TObject);
begin
dm.ADQ_VpersonAchiv.sql.Clear;
dm.ADQ_VpersonAchiv.SQL.Add('select * from v_personachiv');
dm.ADQ_VpersonAchiv.SQL.Add('where months='+#39+Trim(CB_month.Text)+#39);
dm.ADQ_VpersonAchiv.Open;
end;
procedure TFom_yjtj.BitBtn4Click(Sender: TObject);
begin
quickreport1.ADOTable1.Active:=true;
QuickReport1.Preview;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -