310 lines
8.3 KiB
ObjectPascal
310 lines
8.3 KiB
ObjectPascal
unit U_YGYPZZChkList_BGYPKC;
|
||
|
||
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, ActnMan, ActnColorMaps;
|
||
|
||
type
|
||
TfrmYGYPZZChkList_BGYPKC = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBClose: TToolButton;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
TBExport: TToolButton;
|
||
Order_Main: TClientDataSet;
|
||
Panel1: TPanel;
|
||
PopupMenu1: TPopupMenu;
|
||
N2: TMenuItem;
|
||
N1: TMenuItem;
|
||
DataSource2: TDataSource;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1KCName: TcxGridDBColumn;
|
||
v1KCPlace: TcxGridDBColumn;
|
||
v1SumKCQty: TcxGridDBColumn;
|
||
v1KCUnit: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
TSsel: TToolButton;
|
||
v1Ssel: TcxGridDBColumn;
|
||
Label1: TLabel;
|
||
KCName: TEdit;
|
||
Label2: TLabel;
|
||
KCPlace: TEdit;
|
||
cxStyle2: TcxStyle;
|
||
v1SumRKQty: TcxGridDBColumn;
|
||
v1SumCKQty: TcxGridDBColumn;
|
||
cxStyle3: TcxStyle;
|
||
v1DeptType: TcxGridDBColumn;
|
||
Label3: TLabel;
|
||
DeptType: TEdit;
|
||
ADOQuery1: TADOQuery;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TBFindClick(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure CheckBox2Click(Sender: TObject);
|
||
procedure CustomerNoNameChange(Sender: TObject);
|
||
procedure TSselClick(Sender: TObject);
|
||
procedure KCNameChange(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure N1Click(Sender: TObject);
|
||
private
|
||
canshu1:string;
|
||
DQdate:TDateTime;
|
||
procedure InitGrid();
|
||
procedure InitForm();
|
||
function DelData():Boolean;
|
||
procedure setstatus();
|
||
{ Private declarations }
|
||
public
|
||
FFInt,FCloth:Integer;
|
||
Fformid: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmYGYPZZChkList_BGYPKC: TfrmYGYPZZChkList_BGYPKC;
|
||
|
||
implementation
|
||
uses
|
||
U_DataLink,U_RTFun,U_ZDYHelp, U_YGYPInPut,
|
||
U_ZDYHelpSel,U_YGYPInput_BGYPKCDJ;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.setstatus();
|
||
begin
|
||
Tssel.Visible:=False;
|
||
v1Ssel.Visible:=False;
|
||
if trim(Fformid)='1' then
|
||
begin
|
||
Tssel.Visible:=True;
|
||
v1Ssel.Visible:=True;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmYGYPZZChkList_BGYPKC:=nil;
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
Action:=caFree;
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.FormCreate(Sender: TObject);
|
||
begin
|
||
canshu1:=Trim(DParameters1);
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
WriteCxGrid('Ա<><D4B1><EFBFBD>칫<EFBFBD><ECB9AB><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.InitGrid();
|
||
var FKCPlace: string;
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered:=False;
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select AA.*,SumKCQty=AA.SumRKQty-AA.SumCKQty from ');
|
||
sql.add('(select KCPlace=(select Top 1 KCPlace from OA_YG_DangAN_BGYPKC B where B.KCName=A.KCName and B.DeptType=A.DeptType and B.KCUnit=A.KCUnit order by B.KCID desc), ');
|
||
sql.add('A.KCName,A.DeptTYpe,A.KCUnit,Sum(A.KCQty) SumRKQty, ');
|
||
sql.add('SumCKQty=(select isnull(Sum(B.CKQty),0) from OA_YG_DangAN_BGYPCK B where ');
|
||
sql.add('B.CKName=A.KCName And B.CKUnit=A.KCUnit and B.DeptType=A.DeptType) ');
|
||
sql.add('from OA_YG_DangAN_BGYPKC A ');
|
||
sql.add(' where A.DeptType=''<27>ܾ<EFBFBD><DCBE><EFBFBD>'' ');
|
||
sql.add('group by A.KCName,A.DeptTYpe,A.KCUnit) AA');
|
||
if trim(Fformid)='1' then
|
||
sql.add('where (AA.SumRKQty-AA.SumCKQty)<>0');
|
||
sql.add(' order by AA.KCName');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain,Order_Main);
|
||
SInitCDSData20(ADOQueryMain,Order_Main);
|
||
{with Order_Main do
|
||
begin
|
||
first;
|
||
while not eof do
|
||
begin
|
||
FKCPlace:='';
|
||
with ADOQuery1 do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add(' select distinct KCPlace from OA_YG_DangAN_BGYPKC ');
|
||
sql.add(' where KCName='''+trim(Order_Main.fieldbyname('KCName').AsString)+''' ');
|
||
Open;
|
||
end;
|
||
if ADOQuery1.RecordCount>1 then
|
||
begin
|
||
with ADOQuery1 do
|
||
begin
|
||
first;
|
||
while not eof do
|
||
begin
|
||
if trim(FKCPlace)='' then
|
||
FKCPlace:=fieldbyname('KCPlace').AsString
|
||
else
|
||
FKCPlace:=FKCPlace+','+fieldbyname('KCPlace').AsString;
|
||
next;
|
||
end;
|
||
end;
|
||
end
|
||
else
|
||
FKCPlace:=Order_Main.fieldbyname('KCPlace').AsString;
|
||
with Order_Main do
|
||
begin
|
||
edit;
|
||
fieldbyname('KCPlace').AsString:=trim(FKCPlace);
|
||
end;
|
||
next;
|
||
end;
|
||
end;}
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.InitForm();
|
||
begin
|
||
//EndDate.Date:=SGetServerDate(ADOQueryCmd);
|
||
//BegDate.Date:=EndDate.Date-7;
|
||
ReadCxGrid('Ա<><D4B1><EFBFBD>칫<EFBFBD><ECB9AB><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',Tv1,'OA<4F><41><EFBFBD><EFBFBD>');
|
||
setstatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.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;
|
||
|
||
function TfrmYGYPZZChkList_BGYPKC.DelData():Boolean;
|
||
begin
|
||
try
|
||
Result:=false;
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Delete OA_YG_DangAn where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Delete OA_YG_DangAn_Other where YGId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Delete TP_File where WBId='''+Trim(Order_Main.fieldbyname('YGId').AsString)+'''');
|
||
sql.Add(' and TFType=''YG'' ');
|
||
ExecSQL;
|
||
end;
|
||
|
||
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 TfrmYGYPZZChkList_BGYPKC.TBExportClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then Exit;
|
||
TcxGridToExcel('Ա<><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid1);
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.FormShow(Sender: TObject);
|
||
begin
|
||
InitForm();
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.CheckBox2Click(Sender: TObject);
|
||
begin
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.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 TfrmYGYPZZChkList_BGYPKC.TSselClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then exit;
|
||
Modalresult:=1;
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.KCNameChange(Sender: TObject);
|
||
begin
|
||
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
|
||
SCreateCDS20(ADOQueryMain,Order_Main);
|
||
SInitCDSData20(ADOQueryMain,Order_Main);
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(Order_Main,True);
|
||
end;
|
||
|
||
procedure TfrmYGYPZZChkList_BGYPKC.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(Order_Main,False);
|
||
end;
|
||
|
||
end.
|