D7FZaideng/应收应付/U_YSYGGJList.pas

452 lines
13 KiB
ObjectPascal
Raw Normal View History

2025-04-30 16:21:22 +08:00
unit U_YSYGGJList;
interface
2025-09-06 16:34:38 +08:00
2025-04-30 16:21:22 +08:00
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, MovePanel, cxButtonEdit, cxCalendar, cxPC, cxLookAndFeels,
2025-09-06 16:34:38 +08:00
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
2025-08-19 14:41:55 +08:00
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
2025-09-06 16:34:38 +08:00
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter;
2025-04-30 16:21:22 +08:00
type
2025-08-30 17:04:15 +08:00
TfrmYSYGGJList = class(TForm)
2025-04-30 16:21:22 +08:00
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBPrint: 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;
Label8: TLabel;
MPRTKZ: TEdit;
Label9: TLabel;
MPRTMF: TEdit;
Label7: TLabel;
CPType: TComboBox;
MovePanel2: TMovePanel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
YWY: TEdit;
OrdPerson1: TEdit;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column3: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
filler: TEdit;
Label5: TLabel;
Label13: TLabel;
GXNmae: TEdit;
v1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
Panel4: TPanel;
Label14: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1Column10: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
Label16: TLabel;
wangno: TEdit;
v1Column4: TcxGridDBColumn;
huaname: TEdit;
Label3: TLabel;
Label17: TLabel;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Label4: TLabel;
Prtcode: TEdit;
2025-08-19 14:41:55 +08:00
Tv1Column4: TcxGridDBColumn;
2025-09-06 16:34:38 +08:00
Tch: TToolButton;
tbdel: TToolButton;
Tnoch: TToolButton;
cxTabControl1: TcxTabControl;
Tv1Column5: TcxGridDBColumn;
2025-04-30 16:21:22 +08:00
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 MPRTCodeNameChange(Sender: TObject);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure PRTColorChange(Sender: TObject);
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure Image2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
2025-09-06 16:34:38 +08:00
procedure TchClick(Sender: TObject);
procedure TnochClick(Sender: TObject);
procedure tbdelClick(Sender: TObject);
2025-04-30 16:21:22 +08:00
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
2025-08-19 14:41:55 +08:00
var
2025-08-30 17:04:15 +08:00
frmYSYGGJList: TfrmYSYGGJList;
2025-04-30 16:21:22 +08:00
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.FormDestroy(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
2025-08-30 17:04:15 +08:00
frmYSYGGJList := nil;
2025-04-30 16:21:22 +08:00
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.FormClose(Sender: TObject; var Action: TCloseAction);
2025-04-30 16:21:22 +08:00
begin
Action := caFree;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.FormCreate(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
//cxGrid1.Align:=alClient;
2025-09-06 16:34:38 +08:00
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp) - 30;
2025-04-30 16:21:22 +08:00
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.InitGrid();
2025-04-30 16:21:22 +08:00
begin
try
2025-09-06 16:34:38 +08:00
ADOQueryMain.DisableControls;
2025-04-30 16:21:22 +08:00
with ADOQueryMain do
begin
2025-09-06 16:34:38 +08:00
Close;
2025-04-30 16:21:22 +08:00
sql.Clear;
Filtered := False;
2025-08-19 14:41:55 +08:00
sql.Add('select A.*,B.PRTCodeName,B.prtcode,B.PRTColor,B.SOrddefstr5,');
2025-04-30 16:21:22 +08:00
sql.Add('gxdj=case when A.qty<=30 then isnull((select (A.GxPrice)*2 from JyOrder_Yield B where A.CLID=B.clid ),0)');
SQL.Add('else isnull((A.GxPrice ),0) end, ');
sql.Add('gxmoney=case when A.qty<=30 then isnull((select ((A.GxPrice)*2)*B.qty from JyOrder_Yield B where A.CLID=B.clid ),0)');
SQL.Add(' else isnull(((A.GxPrice)*qty ),0) end ');
sql.Add('from JyOrder_Yield A ');
sql.Add('left join JYOrder_Sub B on A.mainid=B.mainid and A.subid=B.subid');
2025-09-06 16:34:38 +08:00
sql.Add('where A.filltime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
2025-04-30 16:21:22 +08:00
sql.Add(' and A.filltime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
2025-09-06 16:34:38 +08:00
if cxTabControl1.TabIndex < 2 then
sql.Add(' and isnull(A.status,0)=''' + inttostr(cxTabControl1.TabIndex) + ''' ');
2025-04-30 16:21:22 +08:00
// Sql.add('group by convert(char(10),A.FillTime,120),A.Filler,A.mainID,A.MjTypeOther,C.OrderNo,D.PRTCodeName,C.conNo,C.CustomerNoName,D.PrtColor');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.TBRafreshClick(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
//BegDate.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.ConNoMChange(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.TBCloseClick(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>1');
Close;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.FormShow(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>1');
if Trim(DParameters2) = '<27><><EFBFBD><EFBFBD>' then
begin
//v1Column5.Options.Focusing:=True;
end
else
begin
//v1Column5.Options.Focusing:=False;
end;
//InitGrid();
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.TBExportClick(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.TBFindClick(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.MPRTCodeNameChange(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
TBFind.Click;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
2025-04-30 16:21:22 +08:00
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'SOrdDefStr10';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵص<C5B5>';
if ShowModal = 1 then
begin
with CDS_Main do
begin
Edit;
FieldByName('SOrdDefStr10').Value := Trim(ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update JYOrder_Sub Set SOrdDefStr10=''' + Trim(ClientDataSet1.fieldbyname('ZdyName').AsString) + '''');
sql.Add(' where SubId=''' + Trim(Self.CDS_Main.fieldbyname('SubId').AsString) + '''');
ExecSQL;
end;
end;
end;
finally
frmZDYHelp.Free;
end;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.PRTColorChange(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
TBFind.Click;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2025-04-30 16:21:22 +08:00
begin
FLeft := X;
FTop := Y;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
2025-04-30 16:21:22 +08:00
begin
Panel4.Left := FLeft;
Panel4.Top := FTop + 110;
Panel4.Visible := True;
Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption);
RichEdit1.Text := CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString;
application.ProcessMessages;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.Image2Click(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
Panel4.Visible := False;
end;
2025-08-30 17:04:15 +08:00
procedure TfrmYSYGGJList.cxTabControl1Change(Sender: TObject);
2025-04-30 16:21:22 +08:00
begin
2025-09-06 16:34:38 +08:00
case cxTabControl1.TabIndex of
0:
begin
// tbedit.Visible := true;
tbdel.Visible := true;
Tch.Visible := true;
end;
1:
begin
Tnoch.Visible := true;
end;
end;
2025-04-30 16:21:22 +08:00
TBRafresh.Click;
end;
2025-09-06 16:34:38 +08:00
procedure TfrmYSYGGJList.TchClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JyOrder_Yield SET status=''1'' ');
sql.Add(',chker=' + quotedstr(trim(DName)));
sql.Add(',chkTime=getdate() ');
sql.Add('where CLID =' + quotedstr(trim(CDS_Main.fieldbyname('CLID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmYSYGGJList.TnochClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update JyOrder_Yield SET status=''0'' ');
sql.Add(',chker='''' ');
sql.Add(',chkTime='''' ');
sql.Add('where CLID =' + quotedstr(trim(CDS_Main.fieldbyname('CLID').AsString)));
execsql;
end;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmYSYGGJList.tbdelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if CDS_Main.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><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
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.add('insert into JyOrder_Yield_Del select * from WFB_MJJY where mjid=''' + trim(CDS_Main.fieldbyname('CLID').AsString) + ''' ');
sql.Add('update JyOrder_Yield_Del Set DelTime=Getdate(),Deler=''' + trim(DName) + ''' where CLID=''' + trim(CDS_Main.fieldbyname('CLID').AsString) + ''' ');
sql.Add('delete JyOrder_Yield where MJID=''' + Trim(CDS_Main.fieldbyname('CLID').AsString) + '''');
ExecSQL;
end;
CDS_Main.Delete;
end;
next;
end;
First;
EnableControls;
end;
InitGrid();
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
2025-04-30 16:21:22 +08:00
end.