D7szChenfeng/工资管理(Wage.dll)/U_WageEdit.pas
DESKTOP-E401PHE\Administrator ccdaa90a0f 移交
2025-07-22 15:51:47 +08:00

758 lines
21 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_WageEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxCalendar, cxDropDownEdit, ComCtrls, ToolWin,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxButtonEdit, cxTextEdit, cxContainer,
cxLabel, StdCtrls, cxCheckBox, ExtCtrls, Menus;
type
TfrmWageEdit = class(TForm)
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
SHuangSeCu: TcxStyle;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
DataSource1: TDataSource;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
ToolBar1: TToolBar;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
Label2: TLabel;
CarType: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v2Column12: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
cxgrdDownQty: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
cxgrdWzPrice: TcxGridDBColumn;
cxgrdCarBalance: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label3: TLabel;
CarNo: TEdit;
Label4: TLabel;
ConNo: TEdit;
Label5: TLabel;
C_Code: TEdit;
Label1: TLabel;
C_CodeName: TEdit;
Label6: TLabel;
Apxh: TEdit;
Label7: TLabel;
APID: TEdit;
ToolButton1: TToolButton;
Label8: TLabel;
PlanQty: TEdit;
ToolButton2: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure v1Column10PropertiesEditValueChanged(Sender: TObject);
procedure v1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v2Column6PropertiesEditValueChanged(Sender: TObject);
procedure v1Column13PropertiesEditValueChanged(Sender: TObject);
procedure v1Column12PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column21PropertiesEditValueChanged(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure cxgrdDownQtyPropertiesEditValueChanged(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
procedure cxgrdCarBalancePropertiesEditValueChanged(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FAPID: string;
end;
var
frmWageEdit: TfrmWageEdit;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_SysLogHelp;
{$R *.dfm}
procedure TfrmWageEdit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmWageEdit.FormShow(Sender: TObject);
var
fsj: string;
begin
ReadCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.CONNO ,B.MainId,B.SubId,B.C_Code,B.C_CodeName ');
sql.Add(',C.CarType,C.CarNo,C.Apxh,C.APID,C.PlanQty ');
sql.Add(' from Worker_WorkDetail C left join Cloth_Main A on A.MainId=C.MainId');
sql.Add('left join Cloth_sub B on C.SubId=B.SubId ');
sql.Add('where C.APID=' + quotedstr(trim(FAPID)));
sql.Add(' and not exists(select * from DCGMoney X where X.GZID=C.GZID) ');
sql.Add(' group by A.CONNO ,B.MainId,B.SubId,B.C_Code,B.C_CodeName,C.CarType,C.CarNo,C.Apxh,C.APID,C.PlanQty');
Open;
end;
SCSHDataNew(ADOQueryTemp, ScrollBox1, 2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select A.CONNO ,B.MainId,B.SubId,B.C_Code,B.C_CodeName ');
sql.Add(',MPMoney=(JGPrice+ISNULL(CarBalance,0))*Qty/10000');
sql.Add(',C.* from Worker_WorkDetail C left join Cloth_Main A on A.MainId=C.MainId');
sql.Add('left join Cloth_sub B on C.SubId=B.SubId ');
sql.Add('where C.APID=' + quotedstr(trim(FAPID)));
sql.Add(' and not exists(select * from DCGMoney X where X.GZID=C.GZID) ');
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_Main);
SInitCDSData20(ADOQueryTemp, CDS_Main);
end;
procedure TfrmWageEdit.v1Column10PropertiesEditValueChanged(Sender: TObject);
begin
with CDS_Sub do
begin
Edit;
FieldByName('ElseWage').Value := StrToFloat(TcxTextEdit(Sender).EditingText);
FieldByName('Money').Value := FieldByName('OutputWage').AsFloat + FieldByName('ElseWage').AsFloat - FieldByName('KKMoney').AsFloat;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.v1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
price1: Double;
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'ElseWageName';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ';
fnote := True;
V1Note.Caption := '<27><><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('ElseWageName').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
if TryStrToFloat(Trim(frmZDYHelp.ClientDataSet1.fieldbyname('Note').AsString), price1) then
FieldByName('Price1').Value := price1
else
FieldByName('Price1').Value := 0;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWageEdit.v2Column6PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FPDTiaoXian, FISM, FHXName: string;
FMiShu, AZhenShu, FZhenShu, FPrice, FMoney, FOutputWage, FElseWage, FKKMoney: Double;
begin
mvalue := Trim(TcxTextEdit(Sender).EditingText);
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Sub do
begin
edit;
fieldbyname(FFieldName).value := mvalue;
Post;
FMiShu := fieldbyname('MiShu').AsFloat;
FZhenShu := fieldbyname('ZhenShu').AsFloat;
FElseWage := fieldbyname('ElseWage').AsFloat;
FKKMoney := fieldbyname('KKMoney').AsFloat;
FPDTiaoXian := Trim(fieldbyname('PDTiaoXian').AsString);
FISM := trim(fieldbyname('ISM').AsString);
FHXName := trim(fieldbyname('HXName').AsString);
end;
if FISM = '<27><>' then
begin
FPrice := 0.5;
FOutputWage := FMiShu * FPrice;
FMoney := FOutputWage + FElseWage;
end
else
begin
if FPDTiaoXian = '<27><>' then
begin
FPrice := 3.2;
end
else
begin
if Pos('<27><><EFBFBD><EFBFBD>', FHXName) > 0 then
begin
if FZhenShu < 33 then
FPrice := 2.5
else
FPrice := 2.6;
end
else
begin
//if FMiShu<200 then
begin
with ADOQueryTemp do
begin
Close;
SQL.Clear;
SQL.Add('select * from KH_ZDY_TJList where ZdyName=''' + Trim(Self.CDS_Sub.fieldbyname('TouJu').AsString) + ''' ');
Open;
end;
AZhenShu := ADOQueryTemp.fieldbyname('LJZhenShu').AsFloat;
if FZhenShu < AZhenShu then
FPrice := ADOQueryTemp.fieldbyname('Price1').AsFloat
else
FPrice := ADOQueryTemp.fieldbyname('Price2').AsFloat;
end;
end;
end;
FOutputWage := FZhenShu * FPrice;
FMoney := FOutputWage + FElseWage;
end;
if CDS_Sub.FieldByName('IFCLBZ').AsString = '<27><>' then
begin
with CDS_Sub do
begin
edit;
FieldByName('CLBZQty').Value := FZhenShu * 0.2;
post;
end;
FOutputWage := FZhenShu * 1.2 * FPrice;
FMoney := FOutputWage + FElseWage;
end;
with CDS_Sub do
begin
Edit;
FieldByName('Price').Value := FPrice;
FieldByName('OutputWage').Value := FOutputWage;
FieldByName('Money').Value := FMoney - FKKMoney;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.v1Column13PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FQty1, FPrice1, FMoney, FElseWage, FOutputWage, FKKMoney: Double;
begin
mvalue := Trim(TcxTextEdit(Sender).EditingText);
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Sub do
begin
edit;
fieldbyname(FFieldName).value := mvalue;
Post;
FQty1 := fieldbyname('Qty1').AsFloat;
FPrice1 := fieldbyname('Price1').AsFloat;
FOutputWage := fieldbyname('OutputWage').AsFloat;
FKKMoney := fieldbyname('KKMOney').AsFloat;
end;
FElseWage := FQty1 * FPrice1;
FMoney := FElseWage + FOutputWage;
with CDS_Sub do
begin
Edit;
FieldByName('ElseWage').Value := FElseWage;
FieldByName('Money').Value := FMoney - FKKMoney;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.v1Column12PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'XHNote';
flagname := '<27><>ע<EFBFBD><D7A2>Ϣ';
if ShowModal = 1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('Note').Value := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWageEdit.v1Column21PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FPDTiaoXian, FISM, FHXName: string;
FMiShu, AZhenShu, FZhenShu, FPrice, FMoney, FOutputWage, FElseWage, FKKMoney: Double;
begin
mvalue := Trim(TcxTextEdit(Sender).EditingText);
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Sub do
begin
edit;
fieldbyname(FFieldName).value := mvalue;
Post;
FPrice := fieldbyname('Price').AsFloat;
FMiShu := fieldbyname('MiShu').AsFloat;
FZhenShu := fieldbyname('ZhenShu').AsFloat;
FElseWage := fieldbyname('ElseWage').AsFloat;
FKKMoney := fieldbyname('KKMoney').AsFloat;
FPDTiaoXian := Trim(fieldbyname('PDTiaoXian').AsString);
FISM := trim(fieldbyname('ISM').AsString);
FHXName := trim(fieldbyname('HXName').AsString);
end;
if FISM = '<27><>' then
begin
FOutputWage := FMiShu * FPrice;
FMoney := FOutputWage + FElseWage;
end
else
begin
FOutputWage := FZhenShu * FPrice;
FMoney := FOutputWage + FElseWage;
end;
if CDS_Sub.FieldByName('IFCLBZ').AsString = '<27><>' then
begin
with CDS_Sub do
begin
edit;
FieldByName('CLBZQty').Value := FZhenShu * 0.2;
post;
end;
FOutputWage := FZhenShu * 1.2 * FPrice;
FMoney := FOutputWage + FElseWage;
end;
with CDS_Sub do
begin
Edit;
FieldByName('Price').Value := FPrice;
FieldByName('OutputWage').Value := FOutputWage;
FieldByName('Money').Value := FMoney - FKKMoney;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.N1Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update GZListMain SET QJNote=''<27><><EFBFBD><EFBFBD>'',QJQty=0.5 ');
sql.Add('where GZMainID=' + quotedstr(trim(CDS_Main.fieldbyname('GZMainID').AsString)));
execsql;
end;
with CDS_Main do
begin
edit;
fieldbyname('QJNote').Value := '<27><><EFBFBD><EFBFBD>';
fieldbyname('QJQty').Value := 0.5;
Post;
end;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWageEdit.N2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update GZListMain SET QJNote=''һ<><D2BB>'',QJQty=1 ');
sql.Add('where GZMainID=' + quotedstr(trim(CDS_Main.fieldbyname('GZMainID').AsString)));
execsql;
end;
with CDS_Main do
begin
edit;
fieldbyname('QJNote').Value := 'һ<><D2BB>';
fieldbyname('QJQty').Value := 1;
Post;
end;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWageEdit.N3Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update GZListMain SET QJNote=null,QJQty=0 ');
sql.Add('where GZMainID=' + quotedstr(trim(CDS_Main.fieldbyname('GZMainID').AsString)));
execsql;
end;
with CDS_Main do
begin
edit;
fieldbyname('QJNote').Value := '';
fieldbyname('QJQty').Value := 0;
Post;
end;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWageEdit.N4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update GZListMain SET QJNote=''<27>ݼ<EFBFBD>'',QJQty=0 ');
sql.Add('where GZMainID=' + quotedstr(trim(CDS_Main.fieldbyname('GZMainID').AsString)));
execsql;
end;
with CDS_Main do
begin
edit;
fieldbyname('QJNote').Value := '<27>ݼ<EFBFBD>';
fieldbyname('QJQty').Value := 0;
Post;
end;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWageEdit.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><EFBFBD><E5BBA8><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>', Tv1, '<27><><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>');
Close;
end;
procedure TfrmWageEdit.cxgrdDownQtyPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FApid, FDetailId, Fopevent: string;
FDownQty, FQty, FCarBalance, FCarPrice, FMPMoney: Double;
YFDownQty, YFCarBalance: Double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
FDownQty := FieldByName('DownQty').AsFloat;
FCarBalance := FieldByName('CarBalance').AsFloat;
FCarPrice := FieldByName('CarPrice').AsFloat;
FApid := FieldByName('Apid').AsString;
FDetailId := FieldByName('DetailId').AsString;
end;
FQty := FDownQty;
FMPMoney := FQty * (FCarPrice + FCarBalance) / 10000;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Worker_WorkDetail where DetailId=' + quotedstr(FDetailId));
Open;
end;
YFDownQty := ADOQueryTemp.FieldByName('DownQty').AsFloat;
YFCarBalance := ADOQueryTemp.FieldByName('CarBalance').AsFloat;
Fopevent := 'ID:' + Trim(FDetailId);
Fopevent := Fopevent + ';<3B>»<EFBFBD>ת<EFBFBD>٣<EFBFBD>' + Trim(FloatToStr(YFDownQty)) + '>>>' + Trim(FloatToStr(FDownQty));
with CDS_Main do
begin
Edit;
FieldByName('DownQty').Value := FDownQty;
FieldByName('Qty').Value := FQty;
FieldByName('CarBalance').Value := FCarBalance;
FieldByName('MPMoney').Value := FMPMoney;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸<EFBFBD>' + FFieldName)));
sql.Add(',' + quotedstr(Fopevent));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.ToolButton1Click(Sender: TObject);
var
MQty: Double;
begin
ConNo.SetFocus;
if TV1.DataController.Summary.FooterSummaryValues[3] <> NULL then
MQty := TV1.DataController.Summary.FooterSummaryValues[3];
if MQty <> StrToFloat(PlanQty.Text) then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>ת<EFBFBD>ٺϼ<D9BA><CFBC><EFBFBD>Ԥ<EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Exit;
end;
try
CDS_Main.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
First;
while not Eof do
begin
with Self.ADOQueryCmd do
begin
Close;
sql.Clear;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate Worker_WorkDetail ');
sql.Add(' Set DownQty=' + Trim(CDS_Main.FieldByName('DownQty').AsString));
sql.Add(' , Qty=' + Trim(CDS_Main.FieldByName('Qty').AsString));
sql.Add(' , CarBalance=' + Trim(CDS_Main.FieldByName('CarBalance').AsString));
sql.Add(' where DetailId=' + quotedstr(Trim(CDS_Main.FieldByName('DetailId').AsString)));
ExecSQL;
end;
ExecSQL;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWageEdit.v2Column2PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FApid, FDetailId, Fopevent: string;
FQty, FCarBalance, FCarPrice, FMPMoney: Double;
YFQty, YFCarBalance: Double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
FQty := FieldByName('Qty').AsFloat;
FCarBalance := FieldByName('CarBalance').AsFloat;
FCarPrice := FieldByName('CarPrice').AsFloat;
FApid := FieldByName('Apid').AsString;
FDetailId := FieldByName('DetailId').AsString;
end;
FMPMoney := FQty * (FCarPrice + FCarBalance) / 10000;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Worker_WorkDetail where DetailId=' + quotedstr(FDetailId));
Open;
end;
YFQty := ADOQueryTemp.FieldByName('DownQty').AsFloat;
YFCarBalance := ADOQueryTemp.FieldByName('CarBalance').AsFloat;
Fopevent := 'ID:' + Trim(FDetailId);
Fopevent := Fopevent + ';<3B><><EFBFBD><EFBFBD>ת<EFBFBD>٣<EFBFBD>' + Trim(FloatToStr(YFQty)) + '>>>' + Trim(FloatToStr(FQty));
with CDS_Main do
begin
Edit;
FieldByName('Qty').Value := FQty;
FieldByName('MPMoney').Value := FMPMoney;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸<EFBFBD>' + FFieldName)));
sql.Add(',' + quotedstr(Fopevent));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.cxgrdCarBalancePropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName, FApid, FDetailId, Fopevent: string;
FQty, FCarBalance, FCarPrice, FMPMoney: Double;
YFDownQty, YFCarBalance: Double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
FQty := FieldByName('Qty').AsFloat;
FCarBalance := FieldByName('CarBalance').AsFloat;
FCarPrice := FieldByName('CarPrice').AsFloat;
FApid := FieldByName('Apid').AsString;
FDetailId := FieldByName('DetailId').AsString;
end;
FMPMoney := FQty * (FCarPrice + FCarBalance) / 10000;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Worker_WorkDetail where DetailId=' + quotedstr(FDetailId));
Open;
end;
YFCarBalance := ADOQueryTemp.FieldByName('CarBalance').AsFloat;
Fopevent := 'ID:' + Trim(FDetailId);
Fopevent := Fopevent + ';<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD>' + Trim(FloatToStr(YFCarBalance)) + '>>>' + Trim(FloatToStr(FCarBalance));
with CDS_Main do
begin
Edit;
FieldByName('CarBalance').Value := FCarBalance;
FieldByName('MPMoney').Value := FMPMoney;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>޸<EFBFBD>' + FFieldName)));
sql.Add(',' + quotedstr(Fopevent));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWageEdit.ToolButton2Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
fModel := self.caption;
// facction:='<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ɾ<EFBFBD><C9BE>';
showmodal;
free;
end;
end;
end.