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

549 lines
14 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_JYOrderZJList; //78
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter,
RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
Menus, cxButtonEdit, cxDropDownEdit, cxPC;
type
TfrmJYOrderZJList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
ToolButton1: TToolButton;
Panel1: TPanel;
Label9: TLabel;
OrderNo: TEdit;
v1Column2: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
Label2: TLabel;
FactoryName: TEdit;
v1Column1: TcxGridDBColumn;
Label34: TLabel;
v1Column7: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
ZJName: TEdit;
v1Column4: TcxGridDBColumn;
Label1: TLabel;
v1Column5: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
Label3: TLabel;
Label4: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
ZJStatus: TComboBox;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
cxTabControl1: TcxTabControl;
ToolButton4: TToolButton;
v1Column3: TcxGridDBColumn;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport2: TRMXLSExport;
CDS_PRT: TClientDataSet;
ToolButton5: TToolButton;
v1Column8: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CustomerNoNameChange(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ZJStatusChange(Sender: TObject);
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
canshu1:string;
DQdate:TDateTime;
procedure InitGrid();
procedure InitForm();
function DelData():Boolean;
{ Private declarations }
public
FFInt,FCloth:Integer;
{ Public declarations }
end;
var
frmJYOrderZJList: TfrmJYOrderZJList;
implementation
uses
U_DataLink,U_RTFun, U_ZJInPut,U_FjList_RZ;
{$R *.dfm}
procedure TfrmJYOrderZJList.FormDestroy(Sender: TObject);
begin
frmJYOrderZJList:=nil;
end;
procedure TfrmJYOrderZJList.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmJYOrderZJList.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
end;
procedure TfrmJYOrderZJList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27>ʼ<EFBFBD><CABC><EFBFBD>¼',Tv1,ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmJYOrderZJList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.ZJID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag');
sql.Add(' from JYOrder_ZhiJian A ');
sql.Add(' where 1=1 ');
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(SChker,'''')='''' ');
end else
begin
sql.Add(' and ZJDate>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+'''');
sql.Add(' and ZJDate<'''+Trim(FormatDateTime('yyyy-MM-dd',EndDate.Date+1))+'''');
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(SChker,'''')<>'''' and isnull(Chker,'''')='''' ');
end else
if cxTabControl1.TabIndex=2 then
begin
sql.Add(' and isnull(Chker,'''')<>'''' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJYOrderZJList.InitForm();
begin
BegDate.Date:=SGetServerDateMBeg(ADOQueryTemp);
EndDate.Date:=SGetServerDate(ADOQueryTemp);
ReadCxGrid('<27>ʼ<EFBFBD><CABC><EFBFBD>¼',Tv1,ʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmJYOrderZJList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmJYOrderZJList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
try
frmZJInPut:=TfrmZJInPut.Create(Application);
with frmZJInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmZJInPut.Free;
end;
end;
procedure TfrmJYOrderZJList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
if DelData() then
begin
//Order_Main.Delete;
end;
end;
function TfrmJYOrderZJList.DelData():Boolean;
begin
try
Result:=false;
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Order_Main.Locate('SSel',True,[]) do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Delete JYOrder_ZhiJian where ZJId='''+Trim(Order_Main.fieldbyname('ZJId').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result:=True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result:=False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>','<27><>ʾ',0);
end;
end;
procedure TfrmJYOrderZJList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then Exit;
TcxGridToExcel('<27>ʼ<EFBFBD><CABC><EFBFBD>Ϣ<EFBFBD>б<EFBFBD>',cxGrid1);
end;
procedure TfrmJYOrderZJList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJYOrderZJList.TBAddClick(Sender: TObject);
var
maxno:string;
begin
try
frmZJInPut:=TfrmZJInPut.Create(Application);
with frmZJInPut do
begin
PState:=0;
FMainId:='';
if ShowModal=1 then
begin
end;
end;
finally
frmZJInPut.Free;
end;
end;
procedure TfrmJYOrderZJList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmJYOrderZJList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJYOrderZJList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmJYOrderZJList.ToolButton1Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
try
frmZJInPut:=TfrmZJInPut.Create(Application);
with frmZJInPut do
begin
PState:=1;
FMainId:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString);
TBSave.Visible:=False;
if ShowModal=1 then
begin
end;
end;
finally
frmZJInPut.Free;
end;
end;
procedure TfrmJYOrderZJList.CustomerNoNameChange(Sender: TObject);
begin
if ADOQueryMain.Active=False then Exit;
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
end;
procedure TfrmJYOrderZJList.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main,True);
end;
procedure TfrmJYOrderZJList.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main,False);
end;
procedure TfrmJYOrderZJList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmJYOrderZJList.ZJStatusChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJYOrderZJList.OrderNoKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
if Trim(OrderNo.Text)='' then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',Case when isnull((select count(*) from TP_File where WBID=A.ZJID),0)>0 then Cast(1 as bit) else Cast(0 as bit) end as FJFlag');
sql.Add(' from JYOrder_ZhiJian A ');
sql.Add(' where orderNo like '''+'%'+Trim(OrderNo.Text)+'%'+'''');
if cxTabControl1.TabIndex=0 then
begin
sql.Add(' and isnull(SChker,'''')='''' ');
end else
begin
if cxTabControl1.TabIndex=1 then
begin
sql.Add(' and isnull(SChker,'''')<>'''' and isnull(Chker,'''')='''' ');
end else
if cxTabControl1.TabIndex=2 then
begin
sql.Add(' and isnull(Chker,'''')<>'''' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain,Order_Main);
SInitCDSData20(ADOQueryMain,Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
end;
procedure TfrmJYOrderZJList.ToolButton3Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>0 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Locate('SSel',True,[])=True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JYOrder_ZhiJian Set Status=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',SChktime=getdate(),SChker='''+Trim(DName)+'''');
sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmJYOrderZJList.ToolButton2Click(Sender: TObject);
begin
if Order_Main.IsEmpty then Exit;
if cxTabControl1.TabIndex<>1 then Exit;
if Order_Main.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while not Eof do
begin
if Order_Main.FieldByName('SSel').AsBoolean=True then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrder_ZhiJian');
sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+'''');
Open;
end;
if Trim(ADOQueryTemp.fieldbyname('Chker').AsString)<>'' then
begin
Order_Main.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܳ<EFBFBD><DCB3><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
end;
Next;
end;
end;
Order_Main.EnableControls;
if Application.MessageBox(<><C8B7>Ҫִ<D2AA>д˲<D0B4><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
Order_Main.DisableControls;
with Order_Main do
begin
First;
while Locate('SSel',True,[])=True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JYOrder_ZhiJian Set Status=Null,SChktime=Null,SChker=Null');
sql.Add(' where ZJID='''+Trim(Order_Main.fieldbyname('ZJID').AsString)+'''');
ExecSQL;
end;
Order_Main.Delete;
end;
end;
Order_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
Order_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
procedure TfrmJYOrderZJList.ToolButton4Click(Sender: TObject);
var
fPrintFile:string;
begin
if Order_Main.IsEmpty then Exit;
fPrintFile:=ExtractFilePath(Application.ExeName)+'Report\<5C>ʼ<CABC><ECB1A8>.rmf';
RMXLSExport2:= TRMXLSExport.Create(RMXLSExport2);
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from JYOrder_ZhiJian where ZJId='''+Trim(Order_Main.fieldbyname('ZJId').AsString)+'''');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_PRT);
SInitCDSData20(ADOQueryTemp,CDS_PRT);
if FileExists(fPrintFile) then
begin
//RMVariables['OrderUnit']:=Order_Main.fieldbyname('OrderUnit').Value;
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\<5C>ʼ<CABC><ECB1A8>.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmJYOrderZJList.ToolButton5Click(Sender: TObject);
begin
{if Order_Main.IsEmpty then Exit;
try
frmFjList_RZ:=TfrmFjList_RZ.Create(Application);
with frmFjList_RZ do
begin
fkeyNO:=Trim(Self.Order_Main.fieldbyname('ZJId').AsString);
fType:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal=1 then
begin
end;
end;
finally
frmFjList_RZ.Free;
end; }
end;
end.