D7XHshengfang/盛纺贸易管理/U_OrderSubSel.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

308 lines
8.5 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_OrderSubSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxDropDownEdit,
cxGridCustomPopupMenu, cxGridPopupMenu, DBClient, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin, cxCheckBox,
ADODB, StdCtrls, BtnEdit, ExtCtrls, cxCalendar, Menus;
type
TfrmOrderSubSel = class(TForm)
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
Order_Sub: TClientDataSet;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQuery1: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
PFTPPS: TEdit;
Label2: TLabel;
PFTPQty: TEdit;
Label3: TLabel;
FactoryName: TBtnEditA;
PFTPUnit: TComboBox;
cxGrid3: TcxGrid;
Tv3: TcxGridDBTableView;
cxGridDBColumn3: TcxGridDBColumn;
v3Column1: TcxGridDBColumn;
Tv3Column1: TcxGridDBColumn;
v3Column2: TcxGridDBColumn;
v3Column3: TcxGridDBColumn;
v3Column5: TcxGridDBColumn;
v3Column6: TcxGridDBColumn;
v3Column7: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Label4: TLabel;
Label5: TLabel;
PFDlyDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
v1Column1: TcxGridDBColumn;
ClientDataSet1: TClientDataSet;
DataSource2: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
Panel2: TPanel;
Button1: TButton;
v3Column4: TcxGridDBColumn;
v3Column8: TcxGridDBColumn;
PFGenDanPerson: TBtnEditA;
v1Column2: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FactoryNameBtnClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Tv3CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure PFGenDanPersonBtnClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FFFMainId:String;
end;
var
frmOrderSubSel: TfrmOrderSubSel;
implementation
uses
U_DataLink,U_ZDYHelp,U_Fun,U_GYSList;
{$R *.dfm}
procedure TfrmOrderSubSel.FormDestroy(Sender: TObject);
begin
//frmOrderSubSel:=nil;
end;
procedure TfrmOrderSubSel.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmOrderSubSel.FormShow(Sender: TObject);
begin
PFDlyDate.Date:=SGetServerDate(ADOQuery1);
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸѡ<CFB8><D1A1>');
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸѡ<CFB8><D1A1>');
try
ADOQuery1.DisableControls;
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.*,APFlag=Cast(0 as bit) from JYOrder_Sub A Where MainId='''+Trim(FFFMainId)+'''');
Open;
end;
SCreateCDS20(ADOQuery1,Order_Sub);
SInitCDSData20(ADOQuery1,Order_Sub);
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select A.*,B.PRTHX,PRTColor=isnull(B.PRTColorNo,'''')+'' ''+isnull(B.PRTColorEng,'''')+'' ''+isnull(B.PRTColor,''''), ');
sql.Add(' B.PRTOrderQty,B.OrderUnit from JYOrder_PCS_Sub A');
sql.Add(' left join JYOrder_Sub B on A.SubId=B.SubId');
sql.Add('where 1<>1');
Open;
end;
SCreateCDS20(ADOQuery1,ClientDataSet1);
SInitCDSData20(ADOQuery1,ClientDataSet1);
finally
ADOQuery1.EnableControls;
end;
end;
procedure TfrmOrderSubSel.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸѡ<CFB8><D1A1>');
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ',Tv1,'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸѡ<CFB8><D1A1>');
Close;
end;
procedure TfrmOrderSubSel.ToolButton1Click(Sender: TObject);
begin
{if Order_Sub.Locate('SSel',True,[])=False then
begin
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
ModalResult:=1;
end;
procedure TfrmOrderSubSel.FactoryNameBtnClick(Sender: TObject);
begin
try
frmGYSList:=TfrmGYSList.Create(Application);
with frmGYSList do
begin
if ShowModal=1 then
begin
FactoryName.TxtCode:=Trim(frmGYSList.CDS_HZ.fieldbyname('ATID').AsString) ;
FactoryName.Text:=Trim(frmGYSList.CDS_HZ.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmGYSList.Free;
end;
end;
procedure TfrmOrderSubSel.Button1Click(Sender: TObject);
var
FReal:Double;
begin
if Order_Sub.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Trim(FactoryName.Text)='' then
begin
Application.MessageBox('<27><>Ӧ<EFBFBD>̲<EFBFBD><CCB2><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
if Trim(PFGenDanPerson.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end;
{if Trim(PFTPPS.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end else
if TryStrToFloat(PFTPPS.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end; }
if Trim(PFTPPS.Text)<>'' then
begin
if TryStrToFloat(PFTPPS.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
if Trim(PFTPQty.Text)='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>!','<27><>ʾ',0);
Exit;
end else
if TryStrToFloat(PFTPQty.Text,FReal)=False then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
Order_Sub.DisableControls;
with Order_Sub do
begin
First;
while not Eof do
begin
if Order_Sub.FieldByName('SSel').AsBoolean=true then
begin
with ClientDataSet1 do
begin
Append;
FieldByName('SubId').Value:=Order_Sub.fieldbyname('SubId').Value;
FieldByName('PRTHX').Value:=Order_Sub.fieldbyname('PRTHX').Value;
FieldByName('PRTColor').Value:=Trim(Order_Sub.fieldbyname('PRTColorNo').AsString)+' '+
Trim(Order_Sub.fieldbyname('PRTColorEng').AsString)+' '+
Trim(Order_Sub.fieldbyname('PRTColor').AsString);
FieldByName('FactoryName').Value:=Trim(FactoryName.Text);
FieldByName('FactoryNo').Value:=Trim(FactoryName.TxtCode);
FieldByName('PFGenDanPerson').Value:=Trim(PFGenDanPerson.Text);
FieldByName('PFDlyDate').Value:=PFDlyDate.Date;
if Trim(PFTPPS.Text)<>'' then
begin
FieldByName('PFTPPS').Value:=Trim(PFTPPS.Text);
end else
begin
FieldByName('PFTPPS').Value:=Null;
end;
FieldByName('PFTPQty').Value:=Trim(PFTPQty.Text);
FieldByName('PFTPUnit').Value:=Trim(PFTPUnit.Text);
FieldByName('PRTOrderQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').Value;
FieldByName('OrderUnit').Value:=Order_Sub.fieldbyname('OrderUnit').Value;
Post;
end;
Edit;
FieldByName('APFlag').Value:=True;
FieldByName('SSel').Value:=False;
Post;
end;
Next;
end;
end;
Order_Sub.EnableControls;
end;
procedure TfrmOrderSubSel.Tv3CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if ClientDataSet1.IsEmpty then Exit;
ClientDataSet1.Delete;
end;
procedure TfrmOrderSubSel.PFGenDanPersonBtnClick(Sender: TObject);
begin
try
frmZDYHelp:=TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag:='PFGenDanPerson';
flagname:='<27><><EFBFBD><EFBFBD>Ա';
fnote:=True;
V1Note.Caption:='<27>绰';
if ShowModal=1 then
begin
PFGenDanPerson.Text:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderSubSel.N1Click(Sender: TObject);
begin
SelOKNo(Order_Sub,True);
end;
procedure TfrmOrderSubSel.N2Click(Sender: TObject);
begin
SelOKNo(Order_Sub,False);
end;
end.