D7gmYushang/应收应付/U_TCLIST.pas

353 lines
10 KiB
ObjectPascal
Raw Permalink Normal View History

2025-09-24 13:13:14 +08:00
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.