D7snShanfengT/山峰贸易管理/U_CLKH_Sub.pas
DESKTOP-E401PHE\Administrator c363cb75a7 调整之后的山凤水泥厂
2026-02-26 09:41:35 +08:00

850 lines
29 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_CLKH_Sub;
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, ExtCtrls, StdCtrls, BtnEdit, cxCurrencyEdit;
type
TfrmCLKH_Sub = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
DataSource3: TDataSource;
CDS_Sub: TClientDataSet;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
cxGridPopupMenu2: TcxGridPopupMenu;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1SJName: TcxGridDBColumn;
v1CheHao: TcxGridDBColumn;
v1CCQty: TcxGridDBColumn;
v1MGLQty: TcxGridDBColumn;
v1JYQty: TcxGridDBColumn;
v1SJYHQty: TcxGridDBColumn;
v1KHYHQty: TcxGridDBColumn;
v1JFMoney: TcxGridDBColumn;
v1BTMoney: TcxGridDBColumn;
v1SFMoney: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Panel1: TPanel;
Label1: TLabel;
Month: TDateTimePicker;
v1XXPrice: TcxGridDBColumn;
v1YHMonth: TcxGridDBColumn;
Label2: TLabel;
CLName: TComboBox;
v1KHXS: TcxGridDBColumn;
v1ZDKHXS: TcxGridDBColumn;
v1KHNote: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column14PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v2Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column5PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column16PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1Column13PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v2Column6PropertiesEditValueChanged(Sender: TObject);
procedure v1PricePropertiesEditValueChanged(Sender: TObject);
procedure QtyChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v2CPFLQtyPropertiesEditValueChanged(Sender: TObject);
procedure v1CLSpecPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1SJNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1CPNoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1CheHaoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v1YPricePropertiesEditValueChanged(Sender: TObject);
procedure v1XXPricePropertiesEditValueChanged(Sender: TObject);
procedure CLNameChange(Sender: TObject);
private
{ Private declarations }
function SaveCKData():Boolean;
public
{ Public declarations }
FBCId,canshu3:String;
end;
var
frmCLKH_Sub: TfrmCLKH_Sub;
implementation
uses
U_DataLink,U_RTFun,U_ClothContractListHZCX,U_ZDYHelp, U_ZdyAttachGYS,U_ProductOrderListSel,
U_ZdyAttachCP,U_CLManage;
{$R *.dfm}
procedure TfrmCLKH_Sub.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
function TfrmCLKH_Sub.SaveCKData():Boolean;
var
FCRID,Maxno,FFSPID:string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Sub do
begin
first;
while not eof do
begin
if Trim(fieldbyname('YHID').AsString)='' then
begin
if GetLSNo(ADOQueryCmd,Maxno,'YH','CL_YHKH',3,1)=False then
begin
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('ȡԭ<C8A1><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!','<27><>ʾ',0);
Exit;
end;
end else
begin
Maxno:=Trim(fieldbyname('YHID').AsString);
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from CL_YHKH ');
sql.Add('where YHID='''+trim(MaxNo)+'''');
open;
end;
with ADOQueryCmd do
begin
if IsEmpty then
begin
Append;
end
else
begin
Edit;
end;
FieldByName('YHID').Value:=Trim(MaxNo);
RTSetSaveDataCDS(ADOQueryCmd,Tv1,CDS_Sub,'CL_YHKH',2);
FieldByName('CLName').Value:=Trim(CDS_Sub.fieldbyname('CLName').AsString);
FieldByName('CLSpec').Value:=Trim(CDS_Sub.fieldbyname('CLSpec').AsString);
FieldByName('MGLQty').Value:=CDS_Sub.fieldbyname('MGLQty').AsFloat;
FieldByName('SJYHQty').Value:=CDS_Sub.fieldbyname('SJYHQty').AsFloat;
FieldByName('JYQty').Value:=CDS_Sub.fieldbyname('JYQty').AsFloat;
FieldByName('KHYHQty').Value:=CDS_Sub.fieldbyname('KHYHQty').AsFloat;
FieldByName('XXPrice').Value:=CDS_Sub.fieldbyname('XXPrice').AsFloat;
FieldByName('JFMoney').Value:=CDS_Sub.fieldbyname('JFMoney').AsFloat;
FieldByName('BTMoney').Value:=CDS_Sub.fieldbyname('BTMoney').AsFloat;
FieldByName('SFMoney').Value:=CDS_Sub.fieldbyname('SFMoney').AsFloat;
FieldByName('ZDKHXS').Value:=CDS_Sub.fieldbyname('ZDKHXS').AsFloat;
FieldByName('KHXS').Value:=CDS_Sub.fieldbyname('KHXS').AsFloat;
Post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except;
Result:=False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmCLKH_Sub.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵFM',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCLKH_Sub.FormShow(Sender: TObject);
var
fsj:String;
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵFM',Tv1,'<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CL_YHKH A');
sql.Add(' where YHID='''+Trim(FBCId)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_Sub);
SInitCDSData20(ADOQueryTemp,CDS_Sub);
Month.Date:=SGetServerDate(ADOQuery1);
end;
procedure TfrmCLKH_Sub.TBSaveClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then Exit;
ToolBar1.SetFocus;
if CDS_Sub.Locate('SJName','',[])=true then
begin
application.MessageBox(<><CBBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>','<27><>ʾ');
exit;
end;
if SaveCKData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!','<27><>ʾ',0);
ModalResult:=1;
end;
end;
procedure TfrmCLKH_Sub.v1Column3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='QtyUnit';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('QtyUnit').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLKH_Sub.v1Column14PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
edit;
FieldByName('FactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ;
FieldByName('FactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString);
//Post;
end;
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
procedure TfrmCLKH_Sub.v2Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
if Trim(canshu3)='' then
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PBName';
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('SPName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end else
begin
try
frmZdyAttachCP:=TfrmZdyAttachCP.Create(Application);
with frmZdyAttachCP do
begin
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('SPName').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyName').AsString);
FieldByName('SPSpec').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr1').AsString);
FieldByName('SPCF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr2').AsString);
FieldByName('SPMF').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr7').AsString);
FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString);
FieldByName('SPKZ').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('DEFstr8').AsString);
FieldByName('SPCode').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ZdyCode').AsString);
FieldByName('CPID').Value:=Trim(frmZdyAttachCP.CDS_HZ.fieldbyname('ATID').AsString);
end;
end;
end;
finally
frmZdyAttachCP.Free;
end;
end;
end;
procedure TfrmCLKH_Sub.v1Column5PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PLName';
flagname:=<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('YLName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLKH_Sub.v1Column16PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZdyAttachGYS:=TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
edit;
FieldByName('FromFactoryNo').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyCode').AsString) ;
FieldByName('FromFactoryName').Value:=Trim(frmZdyAttachGYS.CDS_HZ.fieldbyname('ZdyName').AsString);
//Post;
end;
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
procedure TfrmCLKH_Sub.v1Column13PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmProductOrderListSel:=TfrmProductOrderListSel.Create(Application);
with frmProductOrderListSel do
begin
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('ORDMainIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('MainId').AsString);
FieldByName('ORDSubIdRK').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('SubId').AsString);
FieldByName('OrderNo').Value:=Trim(frmProductOrderListSel.Order_Main.fieldbyname('OrderNo').AsString);
end;
end;
end;
finally
frmProductOrderListSel.Free;
end;
end;
procedure TfrmCLKH_Sub.v2Column6PropertiesEditValueChanged(
Sender: TObject);
var
mavlue:string;
begin
mavlue:=TcxTextEdit(Sender).EditingText;
if mavlue='' then
begin
mavlue:='0';
end;
with CDS_Sub do
begin
edit;
fieldbyname('Qty').Value:=trim(Mavlue);
end;
with CDS_Sub do
begin
edit;
fieldbyname('Money').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat;
end;
end;
procedure TfrmCLKH_Sub.v1PricePropertiesEditValueChanged(
Sender: TObject);
var
mavlue:string;
begin
mavlue:=TcxTextEdit(Sender).EditingText;
if mavlue='' then
begin
mavlue:='0';
end;
with CDS_Sub do
begin
edit;
fieldbyname('Price').Value:=trim(Mavlue);
end;
with CDS_Sub do
begin
edit;
fieldbyname('CPMoney').Value:=fieldbyname('Qty').AsFloat*fieldbyname('Price').AsFloat;
end;
end;
procedure TfrmCLKH_Sub.QtyChange(Sender: TObject);
var i:double;
begin
end;
procedure TfrmCLKH_Sub.ToolButton1Click(Sender: TObject);
begin
CLName.Enabled:=false;
Month.Enabled:=false;
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select AA.*,SJYHQty=(case when MGLQty<>0 then cast(JYQty/MGLQty as decimal(18,3)) end) ');
sql.Add(',KHXS=(select Top 1 B.KHXS from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec');
sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)');
sql.Add(',ZDKHXS=(select Top 1 B.ZDKHXS from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec');
sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)');
sql.Add(',JLPrice=(select Top 1 B.JLPrice from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec');
sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)');
sql.Add(',CFPrice=(select Top 1 B.CFPrice from CL_YHKH B where B.CLName=AA.CLName and B.SJName=AA.SJName and B.CheHao=AA.CheHao and B.CLSpec=AA.CLSpec');
sql.Add(' order by convert(varchar(7),B.YHMonth,120) desc)');
sql.Add(' from (select convert(varchar(7),CRTime,120) YHMonth,A.CLName,SJName,CheHao,CLSpec ');
sql.Add(',CCQty=(select Sum(B.CLQty) from CK_CP_CR B where B.CheHao=A.CheHao and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120))');
SQL.Add(',MGLQty=(case when A.CLName=''<27><><EFBFBD>賵'' then Max(A.MQQty)-Min(A.MQQty) else (select Sum(case when B.CPFLQty<50 then 50 else B.CPFLQty end) from CK_CP_CR B where B.CheHao=A.CheHao ');
sql.Add(' and B.CLSpec=A.CLSpec and B.SJName=A.SJName and convert(varchar(7),A.CRTime,120)=convert(varchar(7),B.CRTime,120)) end),JYQty=Sum(CZMoney)');
sql.Add(' from CL_YKYL_Main A ');
sql.Add('where convert(varchar(7),A.CRTime,120)='''+Trim(FormatDateTime('yyyy-MM',Month.Date))+'''');
sql.Add(' and A.CLName='''+trim(CLName.Text)+'''');
sql.add(' group by convert(varchar(7),CRTime,120),A.CLName,SJName,CheHao,CLSpec) AA');
Open;
end;
with ADOQuery1 do
begin
First;
while not eof do
begin
with CDS_Sub do
begin
append;
FieldByName('YHMonth').Value:=Trim(ADOQuery1.fieldbyname('YHMonth').AsString);
FieldByName('SJName').Value:=Trim(ADOQuery1.fieldbyname('SJName').AsString);
FieldByName('CLName').Value:=Trim(CLName.Text);
FieldByName('CLSpec').Value:=Trim(ADOQuery1.fieldbyname('CLSpec').AsString);
FieldByName('CheHao').Value:=Trim(ADOQuery1.fieldbyname('CheHao').AsString);
FieldByName('CCQty').Value:=ADOQuery1.fieldbyname('CCQty').AsFloat;
FieldByName('MGLQty').Value:=ADOQuery1.fieldbyname('MGLQty').AsFloat;
FieldByName('BZKHXS').Value:=ADOQuery1.fieldbyname('MGLQty').AsFloat;
FieldByName('JYQty').Value:=ADOQuery1.fieldbyname('JYQty').AsFloat;
FieldByName('SJYHQty').Value:=ADOQuery1.fieldbyname('SJYHQty').AsFloat;
if ADOQuery1.FieldByName('CLSpec').AsString='9<><39>' then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.435
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
if ADOQuery1.FieldByName('CLSpec').AsString='12<31><32>' then
begin
if (ADOQuery1.FieldByName('CheHao').AsString='25#') or (ADOQuery1.FieldByName('CheHao').AsString='27#') then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.48
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
{if (ADOQuery1.FieldByName('CheHao').AsString='23#') or (ADOQuery1.FieldByName('CheHao').AsString='26#')
or (ADOQuery1.FieldByName('CheHao').AsString='28#') then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.46
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;}
if (ADOQuery1.FieldByName('CheHao').AsString='2#') or (ADOQuery1.FieldByName('CheHao').AsString='8#') or (ADOQuery1.FieldByName('CheHao').AsString='9#') then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.5
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
end;
if ADOQuery1.FieldByName('CLSpec').AsString='13<31><33>' then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.48
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
if (ADOQuery1.FieldByName('CLSpec').AsString='15<31><35>') or (ADOQuery1.FieldByName('CLSpec').AsString='16<31><36>') or (ADOQuery1.FieldByName('CLSpec').AsString='17<31><37>') then
begin
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.55
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-ADOQuery1.fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ó<EFBFBD>
if ADOQuery1.FieldByName('CLSpec').Value='<27><><EFBFBD>ر<EFBFBD>' then
begin
if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then
FieldByName('ZDKHXS').AsFloat:=0.35
else
FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat;
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.6
else
begin
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
end;
if fieldbyname('SJYHQty').AsFloat<fieldbyname('ZDKHXS').AsFloat then
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('ZDKHXS').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat
else
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
if ADOQuery1.FieldByName('CLSpec').Value='<27>ϱ<EFBFBD>' then
begin
if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then
FieldByName('ZDKHXS').AsFloat:=0.35
else
FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat;
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.5
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
if fieldbyname('SJYHQty').AsFloat<fieldbyname('ZDKHXS').AsFloat then
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('ZDKHXS').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat
else
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
if (ADOQuery1.FieldByName('CLSpec').Value='50M<30><4D>') or (ADOQuery1.FieldByName('CLSpec').Value='46M<36><4D>') then
begin
if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then
FieldByName('ZDKHXS').AsFloat:=0.46
else
FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat;
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.6
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
if fieldbyname('SJYHQty').AsFloat<fieldbyname('ZDKHXS').AsFloat then
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('ZDKHXS').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat
else
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
if (ADOQuery1.FieldByName('CLSpec').Value='45M<35><4D>') or (ADOQuery1.FieldByName('CLSpec').Value='38M<38><4D>') then
begin
if ADOQuery1.fieldbyname('ZDKHXS').AsFloat=0 then
FieldByName('ZDKHXS').AsFloat:=0.46
else
FieldByName('ZDKHXS').AsFloat:=ADOQuery1.fieldbyname('ZDKHXS').AsFloat;
if ADOQuery1.FieldByName('KHXS').AsFloat=0 then
FieldByName('KHXS').Value:=0.7
else
FieldByName('KHXS').Value:=ADOQuery1.fieldbyname('KHXS').AsFloat;
if fieldbyname('SJYHQty').AsFloat<fieldbyname('ZDKHXS').AsFloat then
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('ZDKHXS').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat
else
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('SJYHQty').AsFloat)*ADOQuery1.fieldbyname('MGLQty').AsFloat;
if fieldbyname('SJYHQty').AsFloat>fieldbyname('KHXS').AsFloat then
begin
FieldByName('XXPrice').Value:=6;
end
else
FieldByName('XXPrice').Value:=3;
end;
FieldByName('JFMoney').AsFloat:=FieldByName('KHYHQty').AsFloat*FieldByName('XXPrice').AsFloat;
FieldByName('SFMoney').AsFloat:=FieldByName('KHYHQty').AsFloat*FieldByName('XXPrice').AsFloat;
post;
end;
Next;
end;
end;
end;
procedure TfrmCLKH_Sub.ToolButton2Click(Sender: TObject);
begin
if CDS_Sub.IsEmpty then exit;
CDS_Sub.Delete;
end;
procedure TfrmCLKH_Sub.v2CPFLQtyPropertiesEditValueChanged(
Sender: TObject);
var mvalue:string;
begin
mvalue:=Trim(TcxTextEdit(Sender).EditingText);
if mvalue='' then mvalue:='0';
with CDS_Sub do
begin
Edit;
FieldByName('CPFLQty').Value:=mvalue;
FieldByName('CPMoney').Value:=fieldbyname('Price').AsFloat*strtofloat(mvalue);
end;
end;
procedure TfrmCLKH_Sub.v1CLSpecPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmCLManage:=TfrmCLManage.Create(Application);
with frmCLManage do
begin
TSsel.Visible:=true;
TBAdd.Visible:=false;
TBEdit.Visible:=false;
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CLSpec').Value:=Trim(CDS_Main.fieldbyname('CLXNo').AsString);
FieldByName('JPSpec').Value:=Trim(CDS_Main.fieldbyname('JPSpec').AsString);
FieldByName('CPNo').Value:=Trim(CDS_Main.fieldbyname('CPNo').AsString);
FieldByName('CheHao').Value:=Trim(CDS_Main.fieldbyname('CheHao').AsString);
end;
end;
end;
finally
frmCLManage.Free;
end;
end;
procedure TfrmCLKH_Sub.v1SJNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='SJName';
flagname:=<><CBBE>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('SJName').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLKH_Sub.v1CPNoPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='CPNo';
flagname:='<27><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CPNo').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLKH_Sub.v1CheHaoPropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='CheHao';
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
with Self.CDS_Sub do
begin
Edit;
FieldByName('CheHao').Value:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmCLKH_Sub.v1YPricePropertiesEditValueChanged(
Sender: TObject);
var mvalue:string;
begin
mvalue:=Trim(TcxTextEdit(Sender).EditingText);
if mvalue='' then mvalue:='0';
with CDS_Sub do
begin
Edit;
FieldByName('YPrice').Value:=mvalue;
FieldByName('YMoney').Value:=fieldbyname('CZMoney').AsFloat*strtofloat(mvalue);
end;
end;
procedure TfrmCLKH_Sub.v1XXPricePropertiesEditValueChanged(
Sender: TObject);
var mavlue,FFileName:string;
begin
mavlue:=TcxTextEdit(Sender).EditingText;
if mavlue='' then
mavlue:='0';
FFileName:=Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
with CDS_Sub do
begin
edit;
FieldByName(FFileName).Value:=mavlue;
end;
with CDS_Sub do
begin
edit;
FieldByName('SJYHQty').Value:=fieldbyname('JYQty').AsFloat/fieldbyname('MGLQty').AsFloat;
end;
with CDS_Sub do
begin
edit;
if fieldbyname('SJYHQty').AsFloat<fieldbyname('ZDKHXS').AsFloat then
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('ZDKHXS').AsFloat)*fieldbyname('MGLQty').AsFloat
else
FieldByName('KHYHQty').Value:=(fieldbyname('KHXS').AsFloat-fieldbyname('SJYHQty').AsFloat)*fieldbyname('MGLQty').AsFloat;
end;
with CDS_Sub do
begin
edit;
FieldByName('JFMoney').Value:=fieldbyname('KHYHQty').AsFloat*fieldbyname('XXPrice').AsFloat;
end;
with CDS_Sub do
begin
edit;
FieldByName('SFMoney').Value:=FieldByName('JFMoney').AsFloat+fieldbyname('BTMoney').AsFloat;
end;
end;
procedure TfrmCLKH_Sub.CLNameChange(Sender: TObject);
begin
if CLName.Text='<27><><EFBFBD>賵' then
begin
v1MGLQty.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
end;
if CLName.Text='<27>ó<EFBFBD>' then
begin
v1MGLQty.Caption:='<27><><EFBFBD><EFBFBD>';
end;
end;
end.