354 lines
10 KiB
ObjectPascal
354 lines
10 KiB
ObjectPascal
![]() |
unit U_TCLIST2;
|
|||
|
|
|||
|
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
|
|||
|
TfrmTCLIST2 = 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;
|
|||
|
Tv1Column8: 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
|
|||
|
frmTCLIST2: TfrmTCLIST2;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses
|
|||
|
U_DataLink, U_Fun;
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
procedure TfrmTCLIST2.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 TfrmTCLIST2.FormDestroy(Sender: TObject);
|
|||
|
begin
|
|||
|
frmTCLIST2 := nil;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
begin
|
|||
|
Action := caFree;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.FormCreate(Sender: TObject);
|
|||
|
begin
|
|||
|
cxgrid1.Align := alClient;
|
|||
|
canshu1 := trim(DParameters1);
|
|||
|
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
|
|||
|
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
|
|||
|
DQdate := SGetServerDate(ADOQueryTemp);
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.TBCloseClick(Sender: TObject);
|
|||
|
begin
|
|||
|
|
|||
|
WriteCxGrid('<27>˻<EFBFBD>ѡ<EFBFBD><D1A1>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>2');
|
|||
|
Close;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.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 CW_FY_MX X where X.YFPZNO=A.mainid )'
|
|||
|
else
|
|||
|
fwsql := fwsql + ' and exists(select YFPZNO from CW_FY_MX 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 TfrmTCLIST2.InitForm();
|
|||
|
begin
|
|||
|
ReadCxGrid('<27>˻<EFBFBD>ѡ<EFBFBD><D1A1>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>2');
|
|||
|
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7;
|
|||
|
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
|
|||
|
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.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 TfrmTCLIST2.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 TfrmTCLIST2.TBRafreshClick(Sender: TObject);
|
|||
|
begin
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.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 TfrmTCLIST2.FormShow(Sender: TObject);
|
|||
|
begin
|
|||
|
InitForm();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.TBTPClick(Sender: TObject);
|
|||
|
var
|
|||
|
FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string;
|
|||
|
begin
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.CheckBox1Click(Sender: TObject);
|
|||
|
begin
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.CheckBox2Click(Sender: TObject);
|
|||
|
begin
|
|||
|
TBRafresh.Click;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|||
|
var
|
|||
|
id, id10: Integer;
|
|||
|
begin
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
|||
|
begin
|
|||
|
InitSub();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.ToolButton1Click(Sender: TObject);
|
|||
|
begin
|
|||
|
if cxTabControl1.TabIndex <> 0 then
|
|||
|
exit;
|
|||
|
ModalResult := 1;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmTCLIST2.cxTabControl1Change(Sender: TObject);
|
|||
|
begin
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
end.
|
|||
|
|