D7snShanfengT/山峰贸易管理/U_JGSXCKOutList_DJ.pas

446 lines
12 KiB
ObjectPascal
Raw Normal View History

2026-02-26 09:41:35 +08:00
unit U_JGSXCKOutList_DJ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView,
cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView,
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu,
cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, cxCheckBox, RM_Common,
RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, Menus,
cxCalendar, cxButtonEdit, cxTextEdit;
type
TfrmJGSXCKOutList_DJ = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label1: TLabel;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Label3: TLabel;
Label4: TLabel;
Label12: TLabel;
BNo: TEdit;
OrderNo: TEdit;
CRType: TComboBox;
TADD: TToolButton;
TEdit: TToolButton;
TDel: TToolButton;
Label6: TLabel;
GCName: TEdit;
Label8: TLabel;
BTNo: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column2: TcxGridDBColumn;
v1CRType: TcxGridDBColumn;
v1BNo: TcxGridDBColumn;
v1BTNo: TcxGridDBColumn;
v2Qty1: TcxGridDBColumn;
v1FLQty: TcxGridDBColumn;
v2Qty2: TcxGridDBColumn;
v2Qty3: TcxGridDBColumn;
v2Qty4: TcxGridDBColumn;
v2Qty5: TcxGridDBColumn;
v2Qty6: TcxGridDBColumn;
v2Qty7: TcxGridDBColumn;
v2Qty8: TcxGridDBColumn;
v2Qty9: TcxGridDBColumn;
v2Qty10: TcxGridDBColumn;
v1ZXJQty: TcxGridDBColumn;
v1NTQty: TcxGridDBColumn;
v1WLQty: TcxGridDBColumn;
v1WJJQty1: TcxGridDBColumn;
v1WJJQty2: TcxGridDBColumn;
v1WJJQty3: TcxGridDBColumn;
v1SXQty: TcxGridDBColumn;
v1SZQty: TcxGridDBColumn;
v1XSQty: TcxGridDBColumn;
v1HSQty2: TcxGridDBColumn;
v1dunwei: TcxGridDBColumn;
v1CKNote: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure SPNameChange(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure SPSpecChange(Sender: TObject);
procedure TADDClick(Sender: TObject);
procedure TEditClick(Sender: TObject);
procedure TDelClick(Sender: TObject);
private
canshu1,canshu2:string;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmJGSXCKOutList_DJ: TfrmJGSXCKOutList_DJ;
implementation
uses
U_DataLink,U_RTFun,U_SXCKOutPut,U_SXCKTHPut, U_JGSXCKOutPut,U_JGSXCKInPut_YLCK;
{$R *.dfm}
procedure TfrmJGSXCKOutList_DJ.FormDestroy(Sender: TObject);
begin
frmJGSXCKOutList_DJ:=nil;
end;
procedure TfrmJGSXCKOutList_DJ.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmJGSXCKOutList_DJ.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
canshu1:=Trim(DParameters1);
canshu2:=Trim(DParameters2);
EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
BegDate.DateTime:=EndDate.DateTime-30;
end;
procedure TfrmJGSXCKOutList_DJ.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_SXPB_CK A');
sql.Add(' where A.CRTime>='''+Trim(FormatDateTime('yyyy-MM-dd',BegDate.Date))+''' ');
sql.add(' and A.CRTime<'''+Trim(FormatDateTime('yyyy-MM-dd',enddate.Date+1))+'''');
SQL.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and isnull(A.CKName,'''')='<><D4AD>'' ');
SQL.Add(' order by A.CRTime desc');
Open;
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally;
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmJGSXCKOutList_DJ.TBRafreshClick(Sender: TObject);
begin
Toolbar1.SetFocus;
InitGrid();
end;
procedure TfrmJGSXCKOutList_DJ.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
end;
end;
procedure TfrmJGSXCKOutList_DJ.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD>б<EFBFBD>qw1',Tv1,<>ϲֿ<CFB2>');
Close;
end;
procedure TfrmJGSXCKOutList_DJ.FormShow(Sender: TObject);
begin
ReadCxGrid(<>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD>б<EFBFBD>qw1',Tv1,<>ϲֿ<CFB2>');
//InitGrid();
end;
procedure TfrmJGSXCKOutList_DJ.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then exit;
TcxGridToExcel(<>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD>б<EFBFBD>',cxGrid2);
end;
procedure TfrmJGSXCKOutList_DJ.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
end;
end;
procedure TfrmJGSXCKOutList_DJ.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJGSXCKOutList_DJ.ConNoChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJGSXCKOutList_DJ.ConNoKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
{if Length(Trim(SPID.Text))<4 then Exit;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered:=False;
Close;
sql.Clear;
sql.Add(' select A.* ');
sql.Add(' from CK_SXPB_CR A');
sql.add(' where SPID like :SXID');
Parameters.ParamByName('SXID').Value:='%'+Trim(SPID.Text)+'%';
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain,CDS_Main);
SInitCDSData20(ADOQueryMain,CDS_Main);
finally
ADOQueryMain.EnableControls;
end; }
end;
end;
procedure TfrmJGSXCKOutList_DJ.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main,True);
end;
procedure TfrmJGSXCKOutList_DJ.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main,False);
end;
procedure TfrmJGSXCKOutList_DJ.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Trim(CDS_Main.fieldbyname('SPID').AsString)<>'' then
begin
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where Mainid='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!','<27><>ʾ',0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete CK_SXPB_CR where SPID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' Update CK_SXPB_CR Set MXKCKgQty=(select sum(isnull(KGQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.add(',MXKCQty=(select sum(isnull(Qty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(',MXKCPiQty=(select sum(isnull(PiQty,0)*CRQtyFlag) from CK_SXPB_CR A where A.FZSPID=CK_SXPB_CR.SPID)');
sql.Add(' where SPID='''+Trim(CDS_Main.fieldbyname('FZSPID').AsString)+'''');
if Trim(CDS_Main.fieldbyname('CRType').AsString)='ƽ<>Ƴ<EFBFBD><C6B3><EFBFBD>' then
begin
sql.Add(' delete CK_SXPB_CR where isnull(PYID,'''')='''+Trim(CDS_Main.fieldbyname('PYID').AsString)+'''');
end;
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!','<27><>ʾ',0);
end;
end;
CDS_Main.Delete;
end;
procedure TfrmJGSXCKOutList_DJ.TBAddClick(Sender: TObject);
begin
try
frmJGSXCKOutPut:=TfrmJGSXCKOutPut.Create(Application);
with frmJGSXCKOutPut do
begin
FBCId:='';
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmJGSXCKOutPut.Free;
end;
end;
procedure TfrmJGSXCKOutList_DJ.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=');
sql.Add('(select SPID from CK_SXPB_CR where PYID='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
sql.Add(' and isnull(CRType,'''')=''ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'')');
sql.Add(' and CRQtyFlag=-1');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27><><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from YF_Money_CR where Mainid='''+Trim(CDS_Main.fieldbyname('SPID').AsString)+'''');
Open;
end;
if ADOQueryTemp.IsEmpty=False then
begin
Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>!','<27><>ʾ',0);
Exit;
end;
try
frmJGSXCKOutPut:=TfrmJGSXCKOutPut.Create(Application);
with frmJGSXCKOutPut do
begin
FBCId:=Trim(CDS_Main.fieldbyname('SPID').AsString);
TBDel.Visible:=False;
TBAdd.Visible:=False;
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmJGSXCKOutPut.Free;
end;
end;
procedure TfrmJGSXCKOutList_DJ.SPSpecChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmJGSXCKOutList_DJ.TADDClick(Sender: TObject);
begin
frmJGSXCKInPut_YLCK:=TfrmJGSXCKInPut_YLCK.create(self);
with frmJGSXCKInPut_YLCK do
begin
FBCId:='';
if ShowModal=1 then
begin
end;
free;
end;
end;
procedure TfrmJGSXCKOutList_DJ.TEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
try
frmJGSXCKInPut_YLCK:=TfrmJGSXCKInPut_YLCK.Create(Application);
with frmJGSXCKInPut_YLCK do
begin
FBCId:=Trim(CDS_Main.fieldbyname('CKID').AsString);
if ShowModal=1 then
begin
Self.InitGrid();
end;
end;
finally
frmJGSXCKInPut_YLCK.Free;
end;
end;
procedure TfrmJGSXCKOutList_DJ.TDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete from CK_SXPB_CK where CKID='''+Trim(CDS_Main.fieldbyname('CKID').AsString)+'''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!','<27><>ʾ',0);
end;
CDS_Main.Delete;
end;
end.