D7gmYushang/应收应付/U_WDBLIST.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

360 lines
9.3 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_WDBLIST;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxPC,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
cxCalendar, cxCheckBox;
type
TfrmWDBLIST = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1P_MF: TcxGridDBColumn;
v1P_KZ: TcxGridDBColumn;
v1RollNum: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRType: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
YWZB: TEdit;
P_Code: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
v1CPType: TcxGridDBColumn;
ckName: TComboBox;
Label6: TLabel;
v1P_Color: TcxGridDBColumn;
v1P_Code: TcxGridDBColumn;
v1INoutNo: TcxGridDBColumn;
Label7: TLabel;
ywy: TEdit;
v1ywy: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
kuwei: TEdit;
Label8: TLabel;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
v1editer: TcxGridDBColumn;
v1editTime: TcxGridDBColumn;
v1DefStr6: TcxGridDBColumn;
Label9: TLabel;
factoryName: TEdit;
v1Column9: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
CheckBox1: TCheckBox;
Tv1Column2: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure YWZBChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TchkClick(Sender: TObject);
procedure TnochkClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
procedure InitGrid();
procedure SetComboBox();
// procedure Setstatus();
{ Private declarations }
public
fCKName: string;
canshu1: string;
{ Public declarations }
end;
var
frmWDBLIST: TfrmWDBLIST;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp;
{$R *.dfm}
procedure TfrmWDBLIST.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCK'' ');
if trim(fCKName) <> '' then
sql.Add('and zdyName=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count > 0 then
ckName.ItemIndex := 0;
CRType.Items.Clear;
CRType.Items.Add('');
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPRKTYPE''');
if trim(fCKName) <> '' then
sql.Add('and note=' + quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count > 0 then
CRType.ItemIndex := 0;
end;
procedure TfrmWDBLIST.InitGrid();
begin
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select A.*');
SQL.Add(',HRNAME=ISNULL((SELECT TOP 1 ISNULL(COHRNAME,CONAME) FROM COMPANY B WHERE A.FactoryName=B.CONAME AND VALID=''Y'' and cotype=''<27><>Ӧ<EFBFBD><D3A6>''),FACTORYNAME)');
SQL.Add(' from YP_InOut A where 1=1 ');
if CheckBox1.Checked = True then
begin
sql.Add('and CRTime>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add('and CRTime<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
end;
// sql.Add('and CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('and valid=''Y'' ');
if cxTabControl1.TabIndex = 0 then
begin
SQL.Add(' and not exists(select YFPZNO from CW_FY_mx X where X.YFPZNO=A.CRID ) ');
// sql.Add('and ((crtype in (''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'',''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'') and STATUS=0) or crtype= ''<27><>Ӧ<EFBFBD><D3A6><EFBFBD>˻<EFBFBD>'')');
end
else
begin
SQL.Add(' and exists(select YFPZNO from CW_FY_mx X where X.YFPZNO=A.CRID )');
end;
// ShowMessage(sql.Text);
open;
end;
SCreateCDS20(ADOQueryCmd, CDS_Main);
SInitCDSData20(ADOQueryCmd, CDS_Main);
finally
end;
end;
procedure TfrmWDBLIST.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Action := cafree;
end;
procedure TfrmWDBLIST.FormDestroy(Sender: TObject);
begin
frmWDBLIST := nil;
end;
procedure TfrmWDBLIST.YWZBChange(Sender: TObject);
begin
if ADOQueryCmd.Active = False then
Exit;
SDofilter(ADOQueryCmd, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryCmd, CDS_Main);
SInitCDSData20(ADOQueryCmd, CDS_Main);
end;
procedure TfrmWDBLIST.FormShow(Sender: TObject);
var
FSJ: string;
begin
readCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
FSJ := 'select DISTINCT CRTYPE AS NAME from YP_InOut ORDER BY CRTYPE ';
SInitComBoxBySql(ADOQueryCmd, CRType, False, FSJ);
// SetComboBox();
Enddate.DateTime := SGetServerDate(ADOQueryTmp);
begdate.DateTime := Enddate.DateTime - 30;
InitGrid();
end;
procedure TfrmWDBLIST.FormCreate(Sender: TObject);
begin
BegDate.Date := DServerDate - 30;
EndDate.Date := DServerDate;
cxGrid1.Align := alclient;
end;
procedure TfrmWDBLIST.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
close;
end;
procedure TfrmWDBLIST.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
// with ADOQueryTmp do
// begin
// Close;
// sql.Clear;
// sql.Add('select sum(Qty*CRQtyFlag)as Qty from YP_InOut A');
// SQL.Add('where A.P_Code=''' + Trim(CDS_Main.fieldbyname('P_Code').AsString) + ''' ');
// sQL.Add('and A.valid=''Y''');
// Open;
// end;
//
// if ADOQueryTmp.FieldByName('Qty').AsInteger > 0 then
// begin
// Application.MessageBox('<27>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<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
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update YP_InOut SET valid=''N'' ');
sql.Add(',editer=' + quotedstr(trim(DName)));
sql.Add(',edittime=getdate()');
SQL.Add('where CRID=''' + Trim(CDS_Main.fieldbyname('CRID').AsString) + ''' ');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWDBLIST.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmWDBLIST.TBPrintClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmWDBLIST.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmWDBLIST.cxTabControl1Change(Sender: TObject);
begin
initGrid();
end;
procedure TfrmWDBLIST.TchkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''1'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWDBLIST.TnochkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YP_InOut SET status=''0'' ');
sql.Add('where CRNO=' + quotedstr(trim(CDS_Main.fieldbyname('CRNO').AsString)));
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
TBRafresh.Click;
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWDBLIST.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmWDBLIST.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWDBLIST.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[Tv1Column1.Index] = true then
ACanvas.FONT.Color := CLRED;
end;
end.