D7wmguihua/桂华管理系统/U_OrderInPutZP.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

1850 lines
51 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_OrderInPutZP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, cxMemo, cxRichEdit, ComCtrls, cxContainer,
cxTextEdit, cxMaskEdit, cxButtonEdit, StdCtrls, ToolWin, DBClient, ADODB,
ExtCtrls, BtnEdit, cxCalendar, cxGridBandedTableView,
cxGridDBBandedTableView, Menus, RM_Common, RM_Class, RM_e_Xls,
RM_GridReport, RM_System, RM_Dataset;
type
TfrmOrderInPutZP = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
OrderNo: TEdit;
OrderDate: TDateTimePicker;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DataSourceZ: TDataSource;
Order_SubZ: TClientDataSet;
DataSource2: TDataSource;
ADOZDY: TADOQuery;
CDS_ZDY: TClientDataSet;
WFBCodeName: TcxButtonEdit;
SCXName: TcxButtonEdit;
WJGName: TcxButtonEdit;
ADOQuery1: TADOQuery;
Label12: TLabel;
CustomNoName: TcxButtonEdit;
Note: TRichEdit;
Label13: TLabel;
ArrivalPortName: TcxButtonEdit;
Label10: TLabel;
WFBHW: TEdit;
Label14: TLabel;
WFBFK: TEdit;
Label15: TLabel;
Label16: TLabel;
OrdQty: TEdit;
OrdUnit: TComboBox;
Label17: TLabel;
OrdPrice: TEdit;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
ETADate: TDateTimePicker;
Label22: TLabel;
ETDDate: TDateTimePicker;
Label23: TLabel;
ZGDate: TDateTimePicker;
Label24: TLabel;
BegRKDate: TDateTimePicker;
Label25: TLabel;
BegSCDate: TDateTimePicker;
Day1: TEdit;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Day2: TEdit;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
Day3: TEdit;
Label18: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
MJKZX: TEdit;
Label35: TLabel;
Label36: TLabel;
MJKZD: TEdit;
Label37: TLabel;
XJKZX: TEdit;
Label38: TLabel;
Label39: TLabel;
XJKZD: TEdit;
Label4: TLabel;
Label7: TLabel;
cxGrid4: TcxGrid;
TVDB: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
VDBColumn1: TcxGridDBColumn;
VDBColumn2: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
DataSource3: TDataSource;
CDS_DB: TClientDataSet;
Order_SubF: TClientDataSet;
DataSourceF: TDataSource;
Order_SubQ: TClientDataSet;
DataSourceQ: TDataSource;
ScrollBox2: TScrollBox;
cxGrid3: TcxGrid;
Tv3: TcxGridDBBandedTableView;
v3Column1: TcxGridDBBandedColumn;
v3Column2: TcxGridDBBandedColumn;
v3Column3: TcxGridDBBandedColumn;
v3Column4: TcxGridDBBandedColumn;
v3Column5: TcxGridDBBandedColumn;
cxGridLevel2: TcxGridLevel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBBandedTableView;
v2Column1: TcxGridDBBandedColumn;
v2Column2: TcxGridDBBandedColumn;
v2Column3: TcxGridDBBandedColumn;
v2Column4: TcxGridDBBandedColumn;
v2Column5: TcxGridDBBandedColumn;
cxGridLevel1: TcxGridLevel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBBandedTableView;
v1Column1: TcxGridDBBandedColumn;
v1Column2: TcxGridDBBandedColumn;
v1Column3: TcxGridDBBandedColumn;
v1Column4: TcxGridDBBandedColumn;
v1Column5: TcxGridDBBandedColumn;
v1Column6: TcxGridDBBandedColumn;
cxGrid1Level1: TcxGridLevel;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
TBPrint: TToolButton;
v1Column7: TcxGridDBBandedColumn;
v2Column6: TcxGridDBBandedColumn;
v3Column6: TcxGridDBBandedColumn;
v1Column8: TcxGridDBBandedColumn;
v2Column7: TcxGridDBBandedColumn;
v3Column7: TcxGridDBBandedColumn;
v1Column9: TcxGridDBBandedColumn;
v2Column8: TcxGridDBBandedColumn;
v3Column8: TcxGridDBBandedColumn;
ADOQueryQG: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM2: TRMGridReport;
RMXLSExport1: TRMXLSExport;
Label40: TLabel;
WFBBZQty1: TEdit;
WFBBZUnit1: TcxButtonEdit;
Label41: TLabel;
WFBBZQty2: TEdit;
WFBBZUnit2: TcxButtonEdit;
Label42: TLabel;
WFBBZQty3: TEdit;
WFBBZUnit3: TcxButtonEdit;
Label43: TLabel;
Label44: TLabel;
WFBFK2: TEdit;
WFBFK1: TEdit;
Label45: TLabel;
Label9: TLabel;
Label11: TLabel;
WFBKZ: TEdit;
BZ: TcxButtonEdit;
Label46: TLabel;
PanZDY: TPanel;
CXGridZDY: TcxGrid;
TVZDY: TcxGridDBTableView;
VHelpZDYName: TcxGridDBColumn;
CXGridZDYLevel1: TcxGridLevel;
Button1: TButton;
procedure TBCloseClick(Sender: TObject);
procedure TVZDYCellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Button1Click(Sender: TObject);
procedure WFBCodeNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure TVZDYKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure CustomNoNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure CustomNoNamePropertiesChange(Sender: TObject);
procedure ArrivalPortNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure SCXNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WJGNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBCodeNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBCodeNamePropertiesChange(Sender: TObject);
procedure ArrivalPortNamePropertiesChange(Sender: TObject);
procedure SCXNamePropertiesChange(Sender: TObject);
procedure WJGNamePropertiesChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Day1Change(Sender: TObject);
procedure OrdQtyKeyPress(Sender: TObject; var Key: Char);
procedure Day2Change(Sender: TObject);
procedure Day3Change(Sender: TObject);
procedure ETADateChange(Sender: TObject);
procedure BegRKDateChange(Sender: TObject);
procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Tv2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Tv3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure v1Column2PropertiesEditValueChanged(Sender: TObject);
procedure v1Column3PropertiesEditValueChanged(Sender: TObject);
procedure v2Column2PropertiesEditValueChanged(Sender: TObject);
procedure OrdQtyChange(Sender: TObject);
procedure v3Column4PropertiesEditValueChanged(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure v1Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v2Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure v3Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBBZUnit1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBBZUnit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBBZUnit3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure WFBBZUnit1PropertiesChange(Sender: TObject);
procedure WFBBZUnit2PropertiesChange(Sender: TObject);
procedure WFBBZUnit3PropertiesChange(Sender: TObject);
procedure BZPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure BZPropertiesChange(Sender: TObject);
procedure WFBBZQty1Change(Sender: TObject);
private
MInt:Integer;
procedure InitData();
procedure ZDYHelp(FButn:TcxButtonEdit;LType:string);
function SaveData():Boolean;
procedure DelOrderSub(FOrder_Sub:TClientDataSet);
procedure SELYCL(SCDS_Sub:TClientDataSet);
procedure EditYCL(SCDS_Sub:TClientDataSet);
{ Private declarations }
public
PState,BState:Integer;
FMainId:String;
FXS:Integer;
OrderType:String;
{ Public declarations }
end;
var
frmOrderInPutZP: TfrmOrderInPutZP;
implementation
uses
U_DataLink,U_ZDYHelp,U_Fun,U_GetPGJBInList;
{$R *.dfm}
procedure TfrmOrderInPutZP.TBCloseClick(Sender: TObject);
begin
if PState<>3 then
begin
if Application.MessageBox('<27>Ƿ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',32+4)=IDYES then
begin
TBSave.Click;
Exit;
end;
end;
Close;
WriteCxBandedGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
WriteCxBandedGrid('<27><><EFBFBD>ϸ<EFBFBD>',Tv2,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
WriteCxBandedGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv3,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmOrderInPutZP.InitData();
var
i:Integer;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
sql.Add(' exec P_WFBOrder_List :begdate,:endate,:MainId');
if PState>0 then
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:=Trim(FMainId);
ADOQuery1.Parameters.ParamByName('begdate').Value:='';
ADOQuery1.Parameters.ParamByName('endate').Value:='';
end;
if PState=0 then
begin
ADOQuery1.Parameters.ParamByName('MainId').Value:='999999';
ADOQuery1.Parameters.ParamByName('begdate').Value:='';
ADOQuery1.Parameters.ParamByName('endate').Value:='';
end;
Open;
end;
// SCreateCDS20(ADOQuery1,Order_Sub);
//SInitCDSData20(ADOQuery1,Order_Sub);
SCSHData(ADOQuery1,ScrollBox1,0);
if PState=0 then
begin
OrderDate.DateTime:=StrToDate(FormatDateTime('yyyy-MM-dd',SGetServerDateTime(ADOTemp)));
ETADate.DateTime:=OrderDate.DateTime;
ETDDate.DateTime:=OrderDate.DateTime;
ZGDate.DateTime:=OrderDate.DateTime;
BegRKDate.DateTime:=OrderDate.DateTime;
BegSCDate.DateTime:=OrderDate.DateTime;
ETADate.Checked:=False;
ETDDate.Checked:=False;
ZGDate.Checked:=False;
BegRKDate.Checked:=False;
BegSCDate.Checked:=False;
end;
if Trim(DParameters1)<>'<27><><EFBFBD><EFBFBD>' then
begin
BegRKDate.Enabled:=False;
Day3.Enabled:=False;
BegSCDate.Enabled:=False;
//Note.Enabled:=False;
cxGrid4.Enabled:=False;
MJKZX.Enabled:=False;
MJKZD.Enabled:=False;
XJKZX.Enabled:=False;
XJKZD.Enabled:=False;
SCXName.Enabled:=False;
WJGName.Enabled:=False;
ScrollBox2.Enabled:=False;
end;
if PState=4 then
begin
BegRKDate.Enabled:=True;
Day3.Enabled:=True;
BegSCDate.Enabled:=True;
//Note.Enabled:=False;
cxGrid4.Enabled:=True;
MJKZX.Enabled:=True;
MJKZD.Enabled:=True;
XJKZX.Enabled:=True;
XJKZD.Enabled:=True;
SCXName.Enabled:=True;
WJGName.Enabled:=True;
ScrollBox2.Enabled:=True;
end;
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select * from WFB_DB where MainId='''+Trim(FMainId)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,CDS_DB);
SInitCDSData20(ADOQuery1,CDS_DB);
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+'''');
sql.Add(' and PBType=''<27><>Ҫ'' ');
Open;
end;
SCreateCDS20(ADOQuery1,Order_SubZ);
SInitCDSData20(ADOQuery1,Order_SubZ);
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+'''');
sql.Add(' and PBType=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQuery1,Order_SubF);
SInitCDSData20(ADOQuery1,Order_SubF);
with ADOQuery1 do
begin
Close;
sql.Clear;
SQL.Add('select A.*,Case when A.YLQty-A.YCLYJkc>=0 then A.YLQty-A.YCLYJkc else null end as BZ from WFBYCL_PB A where MainId='''+Trim(FMainId)+'''');
sql.Add(' and PBType=''<27><><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQuery1,Order_SubQ);
SInitCDSData20(ADOQuery1,Order_SubQ);
PanZDY.Visible:=False;
if PState=4 then
begin
PState:=0;
FMainId:='999999';
//OrderNo.Text:='';
WFBCodeName.Text:='';
WFBCodeName.Hint:='';
PanZDY.Visible:=False;
with CDS_DB do
begin
First;
while not Eof do
begin
Edit;
FieldByName('DBID').Value:='';
Post;
Next;
end;
end;
with Order_SubZ do
begin
First;
while not Eof do
begin
Edit;
FieldByName('PBID').Value:='';
FieldByName('YLKC').Value:=0;
FieldByName('YCLYJKC').Value:=0;
FieldByName('BZ').Value:=0;
FieldByName('SGQty').Value:=0;
Post;
Next;
end;
end;
v1Column1.Options.Focusing:=True;
with Order_SubF do
begin
First;
while not Eof do
begin
Edit;
FieldByName('PBID').Value:='';
FieldByName('YLKC').Value:=0;
FieldByName('YCLYJKC').Value:=0;
FieldByName('BZ').Value:=0;
FieldByName('SGQty').Value:=0;
Post;
Next;
end;
end;
v2Column1.Options.Focusing:=True;
with Order_SubQ do
begin
First;
while not Eof do
begin
Edit;
FieldByName('PBID').Value:='';
FieldByName('YLKC').Value:=0;
FieldByName('YCLYJKC').Value:=0;
FieldByName('BZ').Value:=0;
FieldByName('SGQty').Value:=0;
Post;
Next;
end;
end;
v3Column1.Options.Focusing:=True;
end;
end;
procedure TfrmOrderInPutZP.ZDYHelp(FButn:TcxButtonEdit;LType:string);
var
FType,ZDYName,FText:String;
begin
PanZDY.Visible:=True;
PanZDY.Left:=FButn.Left;
PanZDY.Top:=FButn.Top+FButn.Height;
with ADOZDY do
begin
Filtered:=False;
Close;
SQL.Clear;
SQL.Add('select RTrim(ZDYNo) ZDYNo,RTrim(ZDYName) ZDYName from KH_ZDY where Type='''+Trim(LType)+'''');
Open;
end;
FText:=Trim(FButn.Text);
if FText<>'' then
SDofilter(ADOZDY,' ZDYName like '+QuotedStr('%'+Trim(FText)+'%'))
else
SDofilter(ADOZDY,'');
VHelpZDYName.Summary.GroupFormat:=Trim(FButn.Name);
end;
procedure TfrmOrderInPutZP.TVZDYCellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
var
FName:string;
begin
if ADOZDY.IsEmpty then Exit;
FName:=Trim(VHelpZDYName.Summary.GroupFormat);
TcxButtonEdit(FindComponent(FName)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
TcxButtonEdit(FindComponent(FName)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
PanZDY.Visible:=False;
end;
procedure TfrmOrderInPutZP.Button1Click(Sender: TObject);
begin
PanZDY.Visible:=False;
end;
procedure TfrmOrderInPutZP.WFBCodeNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) or (Key=vk_Down) then
begin
if ADOZDY.Active then
CXGridZDY.SetFocus;
end;
end;
procedure TfrmOrderInPutZP.TVZDYKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
if ADOZDY.IsEmpty then Exit;
TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Text:=Trim(ADOZDY.fieldbyname('ZDYName').AsString);
TcxButtonEdit(FindComponent(VHelpZDYName.Summary.GroupFormat)).Hint:=Trim(ADOZDY.fieldbyname('ZDYNO').AsString);
PanZDY.Visible:=False;
ADOZDY.Active:=False;
end;
end;
procedure TfrmOrderInPutZP.FormShow(Sender: TObject);
begin
{if Trim(DParameters1)='1' then
begin
Label12.Visible:=False;
CustomNoName.Visible:=False;
end else
begin
Label12.Visible:=True;
CustomNoName.Visible:=True;
end; }
InitData();
ReadCxBandedGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv1,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
ReadCxBandedGrid('<27><><EFBFBD>ϸ<EFBFBD>',Tv2,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
ReadCxBandedGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',Tv3,'<27>޷IJ<DEB7><C4B2><EFBFBD><EFBFBD><EFBFBD>');
end;
function TfrmOrderInPutZP.SaveData():Boolean;
var
maxno:String;
begin
try
ADOCmd.Connection.BeginTrans;
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from WFBOrder_Main where MainId='''+Trim(FMainId)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(FMainId)='999999' then
begin
Append;
if GetLSNo(ADOTemp,maxno,'','WFBOrder_Main',2,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
exit;
end;
end
else begin
maxno:=Trim(FMainId);
Edit;
end;
FieldByName('MainId').Value:=Trim(maxno);
FieldByName('OrderType').Value:=Trim(OrderType);
SSetsaveSql(ADOCmd,'WFBOrder_Main',ScrollBox1,0);
if PState=2 then
begin
FieldByName('Chker').Value:=Trim(DName);
FieldByName('ChkTime').Value:=SGetServerDateTime(ADOTemp);
end;
if Trim(FMainId)='999999' then
begin
FieldByName('Filler').Value:=Trim(DName);
end else
begin
if PState=1 then
begin
FieldByName('Editer').Value:=Trim(DName);
FieldByName('EditTime').Value:=SGetServerDateTime(ADOTemp);
end;
end;
Post;
end;
FMainId:=Trim(maxno);
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
with CDS_DB do
begin
First;
while not Eof do
begin
if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'DB','WFB_DB',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(CDS_DB.fieldbyname('DBId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFB_DB ');
sql.Add(' where DBId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(CDS_DB.fieldbyname('DBId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('DBId').Value:=Trim(maxno);
SSetSaveDataCDSNew(ADOCmd,TVDB,CDS_DB,'WFB_DB',0);
Post;
end;
CDS_DB.Edit;
CDS_DB.FieldByName('DBId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫԭ<D2AA><D4AD>
if not Order_SubZ.IsEmpty then
begin
with Order_SubZ do
begin
First;
while not Eof do
begin
if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_SubZ.fieldbyname('PBId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFBYCL_PB ');
sql.Add(' where PBId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_SubZ.fieldbyname('PBId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('PBId').Value:=Trim(maxno);
FieldByName('CRId').Value:=Trim(Order_SubZ.fieldbyname('CRID').AsString);
FieldByName('PBType').Value:='<27><>Ҫ';
// SSetSaveDataCDSNew();
SSetSaveDataCDSBandNew(ADOCmd,TV1,Order_SubZ,'WFBYCL_PB',0);
Post;
end;
Order_SubZ.Edit;
Order_SubZ.FieldByName('PBId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end;
end;
//<2F><><EFBFBD><EFBFBD><E6B8A8>ԭ<EFBFBD><D4AD>
if not Order_SubF.IsEmpty then
begin
with Order_SubF do
begin
First;
while not Eof do
begin
if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_SubF.fieldbyname('PBId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFBYCL_PB ');
sql.Add(' where PBId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_SubF.fieldbyname('PBId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('PBId').Value:=Trim(maxno);
FieldByName('PBType').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRId').Value:=Trim(Order_SubF.fieldbyname('CRID').AsString);
// SSetSaveDataCDSNew();
SSetSaveDataCDSBandNew(ADOCmd,TV2,Order_SubF,'WFBYCL_PB',0);
Post;
end;
Order_SubF.Edit;
Order_SubF.FieldByName('PBId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
if not Order_SubQ.IsEmpty then
begin
with Order_SubQ do
begin
First;
while not Eof do
begin
if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'PB','WFBYCL_PB',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_SubQ.fieldbyname('PBId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from WFBYCL_PB ');
sql.Add(' where PBId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_SubQ.fieldbyname('PBId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('PBId').Value:=Trim(maxno);
FieldByName('PBType').Value:='<27><><EFBFBD><EFBFBD>';
FieldByName('CRId').Value:=Trim(Order_SubQ.fieldbyname('CRID').AsString);
// SSetSaveDataCDSNew();
SSetSaveDataCDSBandNew(ADOCmd,TV3,Order_SubQ,'WFBYCL_PB',0);
Post;
end;
Order_SubQ.Edit;
Order_SubQ.FieldByName('PBId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end;
end;
///<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
{with Order_Sub do
begin
First;
while not Eof do
begin
if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
begin
if GetLSNo(ADOTemp,maxno,'OS','Order_Sub',3,1)=False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
end else
begin
maxno:=Trim(Order_Sub.fieldbyname('SubId').AsString);
end;
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from Order_Sub where MainId='''+Trim(FMainId)+'''');
sql.Add(' and SubId='''+Trim(maxno)+'''');
Open;
end;
with ADOCmd do
begin
if Trim(Order_Sub.fieldbyname('SubId').AsString)='' then
Append
else
Edit;
FieldByName('MainId').Value:=Trim(FMainId);
FieldByName('SubId').Value:=Trim(maxno);
SSetSaveDataCDSNew(ADOCmd,Tv1,Order_Sub,'Order_Sub',0);
Post;
end;
Order_Sub.Edit;
Order_Sub.FieldByName('SubId').Value:=Trim(maxno);
//Order_Sub.Post;
Next;
end;
end; }
ADOCmd.Connection.CommitTrans;
Result:=True;
except
Result:=False;
ADOCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmOrderInPutZP.TBSaveClick(Sender: TObject);
begin
OrderDate.SetFocus;
if Trim(OrderNo.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(WFBCodeName.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Trim(WFBCodeName.Hint)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>壡','<27><>ʾ',0);
Exit;
end;
{if Order_Sub.IsEmpty then
begin
Application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end; }
if CDS_DB.Locate('BSL',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if CDS_DB.Locate('JSL',null,[]) then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Order_SubZ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then
begin
Application.MessageBox('<27><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Order_SubF.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then
begin
Application.MessageBox('<27><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if Order_SubQ.Locate('YLKC;YCLYJKC;BZ',VarArrayOf([0,0,0]),[]) then
begin
Application.MessageBox('<27><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>','<27><>ʾ',0);
end;
end;
procedure TfrmOrderInPutZP.SELYCL(SCDS_Sub:TClientDataSet);
begin
try
frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application);
with frmGetPGJBInList do
begin
if ShowModal=1 then
begin
with ClientDataSet2 do
begin
First;
while not Eof do
begin
with SCDS_Sub do
begin
Append;
SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString);
SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString);
SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString);
//SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString);
//SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString);
SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString);
//CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString);
SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString);
SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString);
SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString);
//SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString);
//SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString);
//SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString);
//CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString);
Post;
end;
Next;
end;
end;
end;
end;
finally
frmGetPGJBInList.Free;
end;
end;
procedure TfrmOrderInPutZP.EditYCL(SCDS_Sub:TClientDataSet);
begin
try
frmGetPGJBInList:=TfrmGetPGJBInList.Create(Application);
with frmGetPGJBInList do
begin
if ShowModal=1 then
begin
with ClientDataSet2 do
begin
//First;
// while not Eof do
//begin
with SCDS_Sub do
begin
Edit;
SCDS_Sub.FieldByName('YCLCode').Value:=Trim(ClientDataSet2.fieldbyname('YCLCode').AsString);
SCDS_Sub.FieldByName('YCLName').Value:=Trim(ClientDataSet2.fieldbyname('YCLName').AsString);
SCDS_Sub.FieldByName('YCLSpec').Value:=Trim(ClientDataSet2.fieldbyname('YCLSpec').AsString);
//SCDS_Sub.FieldByName('GYSName').Value:=Trim(ClientDataSet2.fieldbyname('GYSName').AsString);
//SCDS_Sub.FieldByName('GYS').Value:=Trim(ClientDataSet2.fieldbyname('GYS').AsString);
SCDS_Sub.FieldByName('YLKC').Value:=Trim(ClientDataSet2.fieldbyname('QuantityKC').AsString);
//CDS_Sub.FieldByName('Qty').Value:=Trim(ClientDataSet2.fieldbyname('QtyKC').AsString);
SCDS_Sub.FieldByName('YLUnit').Value:=Trim(ClientDataSet2.fieldbyname('CRUnit').AsString);
SCDS_Sub.FieldByName('CRID').Value:=Trim(ClientDataSet2.fieldbyname('CRID').AsString);
SCDS_Sub.FieldByName('YCLYJKC').Value:=Trim(ClientDataSet2.fieldbyname('YJKC').AsString);
if SCDS_Sub.FieldByName('YLQty').Value-ClientDataSet2.fieldbyname('YJKC').Value>=0 then
SCDS_Sub.FieldByName('BZ').Value:=SCDS_Sub.FieldByName('YLQty').Value-
ClientDataSet2.fieldbyname('YJKC').Value
else
SCDS_Sub.FieldByName('BZ').Value:=null;
//SCDS_Sub.FieldByName('YCLType').Value:=Trim(ClientDataSet2.fieldbyname('YCLType').AsString);
//SCDS_Sub.FieldByName('YCLPrice').Value:=Trim(ClientDataSet2.fieldbyname('YCLPrice').AsString);
//SCDS_Sub.FieldByName('KCPlace').Value:=Trim(ClientDataSet2.fieldbyname('KCPlace').AsString);
//CDS_Sub.FieldByName('DepotShow').Value:=Trim(ClientDataSet2.fieldbyname('DepotShow').AsString);
//Post;
end;
// Next;
//end;
end;
end;
end;
finally
frmGetPGJBInList.Free;
end;
end;
procedure TfrmOrderInPutZP.ToolButton1Click(Sender: TObject);
begin
if MInt=1 then
begin
SELYCL(Order_SubZ);
end else
if MInt=2 then
begin
SELYCL(Order_SubF);
end else
if MInt=3 then
begin
SELYCL(Order_SubQ);
end;
end;
procedure TfrmOrderInPutZP.ToolButton2Click(Sender: TObject);
begin
if MInt=1 then
begin
DelOrderSub(Order_SubZ);
end else
if MInt=2 then
begin
DelOrderSub(Order_SubF);
end else
if MInt=3 then
begin
DelOrderSub(Order_SubQ);
end;
end;
procedure TfrmOrderInPutZP.DelOrderSub(FOrder_Sub:TClientDataSet);
begin
if FOrder_Sub.IsEmpty then Exit;
if Trim(FOrder_Sub.fieldbyname('PBID').AsString)<>'' then
begin
if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete WFBYCL_PB where PBID='''+Trim(FOrder_Sub.fieldbyname('PBID').AsString)+'''');
ExecSQL;
end;
end;
FOrder_Sub.Delete;
end;
procedure TfrmOrderInPutZP.CustomNoNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('CustomNoName');
flagname:='<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.FXS:=99;
CustomNoName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
CustomNoName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.CustomNoNamePropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(CustomNoName,'CustomNoName');
end;
procedure TfrmOrderInPutZP.ArrivalPortNamePropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('ArrivalPort');
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.FXS:=99;
ArrivalPortName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
ArrivalPortName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.SCXNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('SCXName');
flagname:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.FXS:=99;
SCXName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
SCXName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WJGNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('WJGName');
flagname:='<27><><EFBFBD>ṹ';
if ShowModal=1 then
begin
Self.FXS:=99;
WJGName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
WJGName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WFBCodeNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim(WFBCodeName.Name);
flagname:='<27><><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
Self.FXS:=99;
WFBCodeName.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
WFBCodeName.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WFBCodeNamePropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(WFBCodeName,Trim(WFBCodeName.Name));
end;
procedure TfrmOrderInPutZP.ArrivalPortNamePropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(ArrivalPortName,'ArrivalPort');
end;
procedure TfrmOrderInPutZP.SCXNamePropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(SCXName,Trim(SCXName.Name));
end;
procedure TfrmOrderInPutZP.WJGNamePropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(WJGName,Trim(WJGName.Name));
end;
procedure TfrmOrderInPutZP.N1Click(Sender: TObject);
begin
with CDS_DB do
begin
Append;
FieldByName('DBUnit').Value:='<27><>/<2F><>';
Post;
end;
end;
procedure TfrmOrderInPutZP.N2Click(Sender: TObject);
begin
if CDS_DB.IsEmpty then Exit;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete WFB_DB where DBID='''+Trim(CDS_DB.fieldbyname('DBID').AsString)+'''');
ExecSQL;
end;
CDS_DB.Delete;
end;
procedure TfrmOrderInPutZP.Day1Change(Sender: TObject);
var
DayL:string;
begin
if trim(Day1.Text)='' then DayL:='0'
else DayL:=Trim(Day1.Text);
ETDDate.DateTime:=ETADate.Date-strtoint(DayL);
end;
procedure TfrmOrderInPutZP.OrdQtyKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in['0'..'9','.',#8,#13]) then
begin
key:=#0;
end;
end;
procedure TfrmOrderInPutZP.Day2Change(Sender: TObject);
var
DayL:string;
begin
if trim(Day2.Text)='' then DayL:='0'
else DayL:=Trim(Day2.Text);
ZGDate.DateTime:=ETDDate.Date-strtoint(DayL);
end;
procedure TfrmOrderInPutZP.Day3Change(Sender: TObject);
var
DayL:string;
begin
if trim(Day3.Text)='' then DayL:='0'
else DayL:=Trim(Day3.Text);
BegSCDate.DateTime:=BegRKDate.Date-strtoint(DayL);
end;
procedure TfrmOrderInPutZP.ETADateChange(Sender: TObject);
begin
if Trim(Day1.Text)<>'' then
begin
ETDDate.DateTime:=ETADate.Date-strtoint(Day1.Text);
end;
if Trim(Day2.Text)<>'' then
begin
ZGDate.DateTime:=ETDDate.Date-strtoint(Day2.Text);
end;
end;
procedure TfrmOrderInPutZP.BegRKDateChange(Sender: TObject);
begin
if Trim(Day3.Text)<>'' then
begin
BegSCDate.DateTime:=BegRKDate.Date-strtoint(Day3.Text);
end;
end;
procedure TfrmOrderInPutZP.Tv1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MInt:=1;
Tv1.Bands[0].Caption:='<27><>Ҫԭ<D2AA>ϡ<EFBFBD>';
Tv2.Bands[0].Caption:='<27><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>';
Tv3.Bands[0].Caption:='<27><><EFBFBD><EFBFBD>';
Tv1.Bands[0].Styles.Header.TextColor:=clBlue;
Tv2.Bands[0].Styles.Header.TextColor:=clBlack;
Tv3.Bands[0].Styles.Header.TextColor:=clBlack;
end;
procedure TfrmOrderInPutZP.Tv2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MInt:=2;
Tv1.Bands[0].Caption:='<27><>Ҫԭ<D2AA><D4AD>';
Tv2.Bands[0].Caption:='<27><><EFBFBD><EFBFBD>ԭ<EFBFBD>ϡ<EFBFBD>';
Tv3.Bands[0].Caption:='<27><><EFBFBD><EFBFBD>';
Tv1.Bands[0].Styles.Header.TextColor:=clBlack;
Tv2.Bands[0].Styles.Header.TextColor:=clBlue;
Tv3.Bands[0].Styles.Header.TextColor:=clBlack;
end;
procedure TfrmOrderInPutZP.Tv3MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MInt:=3;
Tv1.Bands[0].Caption:='<27><>Ҫԭ<D2AA><D4AD>';
Tv2.Bands[0].Caption:='<27><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>';
Tv3.Bands[0].Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Tv1.Bands[0].Styles.Header.TextColor:=clBlack;
Tv2.Bands[0].Styles.Header.TextColor:=clBlack;
Tv3.Bands[0].Styles.Header.TextColor:=clBlue;
end;
procedure TfrmOrderInPutZP.v1Column2PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,YLSH,DHSL:Double;
begin
if Trim(OrdQty.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingValue; //<2F>K<EFBFBD>O
if Trim(OrdUnit.Text)='<27>K' then
begin
if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then
begin
YLSH:=0;
end else
YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString);
with Order_SubZ do
begin
Edit;
FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100);
if StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLPB').Value:=mvalue;
Post;
end;
end else
if Trim(OrdUnit.Text)='<27>O' then
begin
if Trim(WFBKZ.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
{if Trim(WFBfk.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;}
DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000;
if Trim(Order_SubZ.fieldbyname('YLSH').AsString)='' then
begin
YLSH:=0;
end else
YLSH:=StrToFloat(Order_SubZ.fieldbyname('YLSH').AsString);
with Order_SubZ do
begin
Edit;
FieldByName('YLQty').Value:=DHSL*mvalue/100*(1+YLSH/100);
if DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*mvalue/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLPB').Value:=mvalue;
Post;
end;
end;
end;
procedure TfrmOrderInPutZP.v1Column3PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,YLPB,DHSL:Double;
begin
if Trim(OrdQty.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingValue; //<2F>K<EFBFBD>O
if Trim(OrdUnit.Text)='<27>K' then
begin
if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then
begin
YLPB:=0;
end else
YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString);
with Order_SubZ do
begin
Edit;
FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100);
if StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLSH').Value:=mvalue;
Post;
end;
end else
begin
if Trim(WFBKZ.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
{if Trim(WFBfk.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;}
DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000;
if Trim(Order_SubZ.fieldbyname('YLPB').AsString)='' then
begin
YLPB:=0;
end else
YLPB:=StrToFloat(Order_SubZ.fieldbyname('YLPB').AsString);
with Order_SubZ do
begin
Edit;
FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+mvalue/100);
if DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*YLPB/100*(1+mvalue/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLSH').Value:=mvalue;
Post;
end;
end;
end;
procedure TfrmOrderInPutZP.v2Column2PropertiesEditValueChanged(
Sender: TObject);
var
mvalue,DHSL:Double;
begin
if Trim(OrdQty.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
mvalue:=TcxTextEdit(Sender).EditingValue; //<2F>K<EFBFBD>O
if Trim(OrdUnit.Text)='<27>K' then
begin
with Order_SubF do
begin
Edit;
FieldByName('YLQty').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000);
if StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=StrToFloat(OrdQty.Text)*(mvalue/1000)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLSHQ').Value:=mvalue;
Post;
end;
end else
begin
if Trim(WFBKZ.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>','<27><>ʾ',0);
Exit;
end;
DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000;
with Order_SubF do
begin
Edit;
FieldByName('YLQty').Value:=DHSL*(mvalue/1000);
if DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*(mvalue/1000)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
FieldByName('YLSHQ').Value:=mvalue;
Post;
end;
end;
end;
procedure TfrmOrderInPutZP.OrdQtyChange(Sender: TObject);
var
YLPB,YLSH,DHSL:Double;
begin
if Trim(OrdQty.Text)='' then Exit;
if Trim(OrdUnit.Text)='<27>K' then
DHSL:=StrToFloat(OrdQty.Text)
else
if Trim(OrdUnit.Text)='<27>O' then
begin
if Trim(WFBKZ.Text)='' then Exit;
DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000;
end;
if not Order_SubZ.IsEmpty then
begin
with Order_SubZ do
begin
Order_SubZ.DisableControls;
First;
while not Eof do
begin
Edit;
if Trim(fieldbyname('YLPB').AsString)='' then
YLPB:=0
else
YLPB:=StrToFloat(fieldbyname('YLPB').AsString);
if Trim(fieldbyname('YLSH').AsString)='' then
YLSH:=0
else
YLSH:=StrToFloat(fieldbyname('YLSH').AsString);
FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100);
if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
Post;
Next;
end;
Order_SubZ.EnableControls;
First;
end;
end;
if not Order_SubF.IsEmpty then
begin
with Order_SubF do
begin
Order_SubF.DisableControls;
First;
while not Eof do
begin
Edit;
if Trim(fieldbyname('YLSHQ').AsString)='' then
YLSH:=0
else
YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString);
FieldByName('YLQty').Value:=DHSL*(YLSH/1000);
if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
Post;
Next;
end;
Order_SubF.EnableControls;
First;
end;
end;
end;
procedure TfrmOrderInPutZP.v3Column4PropertiesEditValueChanged(
Sender: TObject);
var
mvalue:Double;
begin
mvalue:=TcxTextEdit(Sender).EditingValue;
with Order_SubQ do
begin
Edit;
FieldByName('YLQty').Value:=mvalue;
if mvalue-fieldbyname('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=mvalue-fieldbyname('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
Post;
end;
end;
procedure TfrmOrderInPutZP.TBPrintClick(Sender: TObject);
var
fPrintFile:String;
begin
with ADOQueryQG do
begin
Close;
sql.Clear;
sql.Add(' exec P_Print_SGD :OrderNo');
Parameters.ParamByName('OrderNo').Value:=Trim(OrderNo.Text);
Open;
end;
if ADOQueryQG.IsEmpty then Exit;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C><EFBFBD><EBB9BA>.rmf' ;
if FileExists(fPrintFile) then
begin
RM2.LoadFromFile(fPrintFile);
RMVariables['dyr']:=Trim(DName);
RM2.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C><EFBFBD><EBB9BA>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmOrderInPutZP.v1Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
EditYCL(Order_SubZ);
end;
procedure TfrmOrderInPutZP.v2Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
EditYCL(Order_SubF);
end;
procedure TfrmOrderInPutZP.v3Column1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
EditYCL(Order_SubQ);
end;
procedure TfrmOrderInPutZP.WFBBZUnit1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('WFBBZUnitD');
flagname:='<27><><EFBFBD><EFBFBD>װ';
if ShowModal=1 then
begin
Self.FXS:=99;
WFBBZUnit1.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
WFBBZUnit1.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WFBBZUnit2PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('WFBBZUnitZ');
flagname:='<27>а<EFBFBD>װ';
if ShowModal=1 then
begin
Self.FXS:=99;
WFBBZUnit2.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
WFBBZUnit2.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WFBBZUnit3PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('WFBBZUnitX');
flagname:='С<><D0A1>װ';
if ShowModal=1 then
begin
Self.FXS:=99;
WFBBZUnit3.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
WFBBZUnit3.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.WFBBZUnit1PropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(WFBBZUnit1,'WFBBZUnitD');
end;
procedure TfrmOrderInPutZP.WFBBZUnit2PropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(WFBBZUnit2,'WFBBZUnitZ');
end;
procedure TfrmOrderInPutZP.WFBBZUnit3PropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(WFBBZUnit3,'WFBBZUnitX');
end;
procedure TfrmOrderInPutZP.BZPropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:=Trim('BZ');
flagname:='<27><><EFBFBD>۵<EFBFBD>λ';
if ShowModal=1 then
begin
Self.FXS:=99;
BZ.Text:=Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
BZ.Hint:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderInPutZP.BZPropertiesChange(Sender: TObject);
begin
if FXS=99 then
begin
PanZDY.Visible:=False;
FXS:=0;
Exit;
end;
ZDYHelp(BZ,'BZ');
end;
procedure TfrmOrderInPutZP.WFBBZQty1Change(Sender: TObject);
var
FQty1,FQty2,FQty3,FFK1,FFK2,FKZ1,YLPB,YLSH,DHSL:Double;
begin
if Trim(WFBBZQty1.Text)<>'' then
begin
FQty1:=StrToFloat(WFBBZQty1.Text);
end else
begin
FQty1:=1;
end;
if Trim(WFBBZQty2.Text)<>'' then
begin
FQty2:=StrToFloat(WFBBZQty2.Text);
end else
begin
FQty2:=1;
end;
if Trim(WFBBZQty3.Text)<>'' then
begin
FQty3:=StrToFloat(WFBBZQty3.Text);
end else
begin
FQty3:=1;
end;
if Trim(WFBFK1.Text)<>'' then
begin
FFK1:=StrToFloat(WFBFK1.Text);
end else
begin
FFK1:=0;
end;
if Trim(WFBFK2.Text)<>'' then
begin
FFK2:=StrToFloat(WFBFK2.Text);
end else
begin
FFK2:=0;
end;
if Trim(WFBKZ.Text)<>'' then
begin
FKZ1:=StrToFloat(WFBKZ.Text);
end else
begin
FKZ1:=0;
end;
if Trim(WFBKZ.Text)='' then
begin
OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000);
OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('<27>O');
end else
begin
OrdQty.Text:=FloatToStr(FQty1*FQty2*FQty3*FFK1*FFK2/10000*FKZ1/1000);
OrdUnit.ItemIndex:=OrdUnit.Items.IndexOf('<27>K');
end;
if Trim(OrdQty.Text)='' then Exit;
if Trim(OrdUnit.Text)='<27>K' then
DHSL:=StrToFloat(OrdQty.Text)
else
if Trim(OrdUnit.Text)='<27>O' then
begin
if Trim(WFBKZ.Text)='' then Exit;
DHSL:=StrToFloat(OrdQty.Text)*strtofloat(WFBKZ.Text)/1000;
end;
if not Order_SubZ.IsEmpty then
begin
with Order_SubZ do
begin
Order_SubZ.DisableControls;
First;
while not Eof do
begin
Edit;
if Trim(fieldbyname('YLPB').AsString)='' then
YLPB:=0
else
YLPB:=StrToFloat(fieldbyname('YLPB').AsString);
if Trim(fieldbyname('YLSH').AsString)='' then
YLSH:=0
else
YLSH:=StrToFloat(fieldbyname('YLSH').AsString);
FieldByName('YLQty').Value:=DHSL*YLPB/100*(1+YLSH/100);
if DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*YLPB/100*(1+YLSH/100)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
Post;
Next;
end;
Order_SubZ.EnableControls;
First;
end;
end;
if not Order_SubF.IsEmpty then
begin
with Order_SubF do
begin
Order_SubF.DisableControls;
First;
while not Eof do
begin
Edit;
if Trim(fieldbyname('YLSHQ').AsString)='' then
YLSH:=0
else
YLSH:=StrToFloat(fieldbyname('YLSHQ').AsString);
FieldByName('YLQty').Value:=DHSL*(YLSH/1000);
if DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value>=0 then
FieldByName('BZ').Value:=DHSL*(YLSH/1000)-FieldByName('YCLYJKC').Value
else
FieldByName('BZ').Value:=null;
Post;
Next;
end;
Order_SubF.EnableControls;
First;
end;
end;
end;
end.