353 lines
10 KiB
ObjectPascal
353 lines
10 KiB
ObjectPascal
unit U_TCLIST;
|
||
|
||
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, cxTextEdit,
|
||
cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
|
||
cxDropDownEdit;
|
||
|
||
type
|
||
TfrmTCLIST = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBClose: TToolButton;
|
||
Panel1: TPanel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
Tv1: TcxGridDBTableView;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
Label3: TLabel;
|
||
OrderNo: TEdit;
|
||
v1OrderNo: TcxGridDBColumn;
|
||
v1OrdDate: TcxGridDBColumn;
|
||
v1ConNo: TcxGridDBColumn;
|
||
Order_Main: TClientDataSet;
|
||
RM1: TRMGridReport;
|
||
RMDBMain: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
v1CustomerNoName: TcxGridDBColumn;
|
||
Label4: TLabel;
|
||
CustomerNoName: TEdit;
|
||
PopupMenu1: TPopupMenu;
|
||
N2: TMenuItem;
|
||
Label8: TLabel;
|
||
MPRTCodeName: TEdit;
|
||
Label9: TLabel;
|
||
ConNo: TEdit;
|
||
Label10: TLabel;
|
||
MPRTSpec: TEdit;
|
||
Label11: TLabel;
|
||
MPRTCode: TEdit;
|
||
Label12: TLabel;
|
||
MPRTKZ: TEdit;
|
||
Label13: TLabel;
|
||
MPRTMF: TEdit;
|
||
ADOQueryPrint: TADOQuery;
|
||
CDS_Print: TClientDataSet;
|
||
v1Column1: TcxGridDBColumn;
|
||
Label2: TLabel;
|
||
v1Column9: TcxGridDBColumn;
|
||
v1Column10: TcxGridDBColumn;
|
||
v1Column14: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column4: TcxGridDBColumn;
|
||
RMDBsub: TRMDBDataSet;
|
||
CDS_sub: TClientDataSet;
|
||
v1ISFJ: TcxGridDBColumn;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column12: TcxGridDBColumn;
|
||
v1Column17: TcxGridDBColumn;
|
||
v1Column18: TcxGridDBColumn;
|
||
v1Column6: TcxGridDBColumn;
|
||
Label5: TLabel;
|
||
OrdPerson1: TEdit;
|
||
Tv1Column1: TcxGridDBColumn;
|
||
Tv1Column2: TcxGridDBColumn;
|
||
Tv1Column3: TcxGridDBColumn;
|
||
Tv1Column4: TcxGridDBColumn;
|
||
Tv1Column5: TcxGridDBColumn;
|
||
cxStyleRepository1: TcxStyleRepository;
|
||
cxStyle1: TcxStyle;
|
||
cxSplitter1: TcxSplitter;
|
||
cxGrid2: TcxGrid;
|
||
TV2: TcxGridDBTableView;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
v1PRTColor: TcxGridDBColumn;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
v1PRTOrderQty: TcxGridDBColumn;
|
||
v1OrderUnit: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
DataSource2: TDataSource;
|
||
ToolButton1: TToolButton;
|
||
cxTabControl1: TcxTabControl;
|
||
TV2Column1: TcxGridDBColumn;
|
||
TV2Column2: TcxGridDBColumn;
|
||
CheckBox1: TCheckBox;
|
||
TV2Column3: TcxGridDBColumn;
|
||
TV2Column4: TcxGridDBColumn;
|
||
Tv1Column6: TcxGridDBColumn;
|
||
Tv1Column7: 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 TBRafreshClick(Sender: TObject);
|
||
procedure OrderNoChange(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBTPClick(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure CheckBox2Click(Sender: TObject);
|
||
procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
private
|
||
DQdate: TDateTime;
|
||
procedure InitGrid();
|
||
procedure InitSub();
|
||
procedure InitForm();
|
||
function DelData(): Boolean;
|
||
|
||
{ Private declarations }
|
||
public
|
||
canshu1: string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmTCLIST: TfrmTCLIST;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmTCLIST.InitSub();
|
||
begin
|
||
ADOQueryCmd.Close;
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
ADOQueryCmd.DisableControls;
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select *,ZJYPS=(SELECT COUNT(MJID) FROM WFB_MJJY B WHERE A.SUBID=B.SUBID ) ');
|
||
SQL.Add(',FJYPS=ISNULL((SELECT SUM(PIQTY) FROM CK_SXPB_cR D WHERE D.OrdSubIdRK=A.SUBID AND SFJY=''<27><>''),0)');
|
||
SQL.Add('+ISNULL((SELECT COUNT(E.MJID) FROM CK_BanCP_CR D inner join CK_BanCP_kc e on d.mjid=e.mjid WHERE CRFLAG=''<27><><EFBFBD><EFBFBD>'' and e.c_code=a.prtcode and c_color=a.prtcolor AND RKOrdID=A.MAINID),0)');
|
||
SQL.Add(',FJYQTY=isnull((SELECT SUM(QTY) FROM CK_SXPB_cR D WHERE D.OrdSubIdRK=A.SUBID and SFJY=''<27><>''),0)');
|
||
SQL.Add('+ISNULL((SELECT sum(qty) FROM CK_BanCP_CR D inner join CK_BanCP_kc e on d.mjid=e.mjid WHERE CRFLAG=''<27><><EFBFBD><EFBFBD>'' and e.c_code=a.prtcode and c_color=a.prtcolor AND RKOrdID=A.MAINID),0)');
|
||
SQL.Add(',ZJYQTY=(CASE WHEN OrderUnit=''KG'' OR OrderUnit=''<27><><EFBFBD><EFBFBD>'' then (SELECT SUM(mjmaoz) FROM WFB_MJJY B WHERE A.SUBID=B.SUBID ) else (SELECT SUM(MJLEN) FROM WFB_MJJY B WHERE A.SUBID=B.SUBID )END )');
|
||
SQL.Add('from ORDER_TC_MX A');
|
||
sql.Add('where mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString)));
|
||
open;
|
||
end;
|
||
SCreateCDS20(ADOQueryCmd, CDS_sub);
|
||
SInitCDSData20(ADOQueryCmd, CDS_sub);
|
||
ADOQueryCmd.EnableControls;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmTCLIST := nil;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.FormCreate(Sender: TObject);
|
||
begin
|
||
cxgrid1.Align := alClient;
|
||
canshu1 := trim(DParameters1);
|
||
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
|
||
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
|
||
DQdate := SGetServerDate(ADOQueryTemp);
|
||
|
||
end;
|
||
|
||
procedure TfrmTCLIST.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
WriteCxGrid('<27>˻<EFBFBD>ѡ<EFBFBD><D1A1>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>');
|
||
|
||
end;
|
||
|
||
procedure TfrmTCLIST.InitGrid();
|
||
var
|
||
fwsql: string;
|
||
begin
|
||
fwsql := '';
|
||
|
||
fwsql := fwsql + ' and isnull(A.status,''0'')=''2'' ';
|
||
|
||
if cxTabControl1.TabIndex = 0 then
|
||
fwsql := fwsql + ' and not exists(select YFPZNO from YF_Money_CR_Sub X where X.YFPZNO=A.mainid ) '
|
||
else
|
||
fwsql := fwsql + ' and exists(select YFPZNO from YF_Money_CR_Sub X where X.YFPZNO=A.MAINID )';
|
||
|
||
|
||
|
||
|
||
|
||
// ShowMessage(fwsql);
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered := False;
|
||
Close;
|
||
sql.Clear;
|
||
sql.add('exec P_View_Order_TC :begdate,:enddate,:WSql');
|
||
if CheckBox1.Checked = True then
|
||
begin
|
||
Parameters.ParamByName('begdate').Value := FormatDateTime('yyyy-MM-dd', BegDate.DateTime);
|
||
Parameters.ParamByName('enddate').Value := FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1);
|
||
end
|
||
else
|
||
begin
|
||
Parameters.ParamByName('begdate').Value := FormatDateTime('2000-01-01', BegDate.DateTime);
|
||
Parameters.ParamByName('enddate').Value := FormatDateTime('2099-12-31', enddate.DateTime + 1);
|
||
end;
|
||
|
||
Parameters.ParamByName('WSql').Value := fwsql;
|
||
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.InitForm();
|
||
begin
|
||
ReadCxGrid('<27>˻<EFBFBD>ѡ<EFBFBD><D1A1>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>');
|
||
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7;
|
||
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
|
||
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmTCLIST.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 TfrmTCLIST.DelData(): Boolean;
|
||
begin
|
||
try
|
||
Result := false;
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete Order_TC where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
sql.Add('delete Order_TC_mx where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
|
||
sql.Add(' ' + quotedstr(trim(DName)));
|
||
sql.Add(',getdate() ');
|
||
sql.Add(',' + quotedstr(trim(self.Caption)));
|
||
sql.Add(',' + quotedstr(trim('<27>˻<EFBFBD><CBBB><EFBFBD>ɾ<EFBFBD><C9BE>')));
|
||
sql.Add(',' + quotedstr(trim('<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('OrderNO').AsString))));
|
||
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
|
||
sql.Add(')');
|
||
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 TfrmTCLIST.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmTCLIST.OrderNoChange(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 TfrmTCLIST.FormShow(Sender: TObject);
|
||
begin
|
||
InitForm();
|
||
end;
|
||
|
||
procedure TfrmTCLIST.TBTPClick(Sender: TObject);
|
||
var
|
||
FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string;
|
||
begin
|
||
end;
|
||
|
||
procedure TfrmTCLIST.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmTCLIST.CheckBox2Click(Sender: TObject);
|
||
begin
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
var
|
||
id, id10: Integer;
|
||
begin
|
||
end;
|
||
|
||
procedure TfrmTCLIST.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
InitSub();
|
||
end;
|
||
|
||
procedure TfrmTCLIST.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if cxTabControl1.TabIndex <> 0 then
|
||
exit;
|
||
ModalResult := 1;
|
||
end;
|
||
|
||
procedure TfrmTCLIST.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
end.
|
||
|