D7gmYushang/坯布码单待检(PBMDDJ.dll)/U_WZJList.pas
DESKTOP-E401PHE\Administrator 1d94a89439 0
2025-09-24 13:13:14 +08:00

571 lines
14 KiB
ObjectPascal
Raw Permalink 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_WZJList;
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,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, BtnEdit, shellapi;
type
TfrmWZJList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
Panel4: TPanel;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
YWNOTE: TEdit;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
Label10: TLabel;
wjname: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1note: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Panel2: TPanel;
Label2: TLabel;
Edit1: TEdit;
Button3: TButton;
Button4: TButton;
ToolButton3: TToolButton;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
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 TBFindClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure SPIDKeyPress(Sender: TObject; var Key: Char);
procedure FactoryNameChange(Sender: TObject);
procedure SPCodeKeyPress(Sender: TObject; var Key: Char);
procedure CRTypeChange(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure wjnameKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton3Click(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure TV2DblClick(Sender: TObject);
private
canshu2, canshu3: string;
procedure InitGrid();
procedure Initsub();
function SaveCKData(): Boolean;
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
var
frmWZJList: TfrmWZJList;
implementation
uses
U_DataLink, U_RTFun, U_FjList_RZ2, U_CompressionFun;
{$R *.dfm}
function TfrmWZJList.SaveCKData(): Boolean;
var
Maxno: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
cds_main.DisableControls;
with cds_main do
begin
if GetLSNo(ADOQueryCmd, Maxno, 'WZJ', 'WZJ', 3, 1) = False then
begin
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from WZJ where 1<>1');
Open;
end;
// ShowMessage(Maxno);
with ADOQueryCmd do
begin
Append;
FieldByName('WJID').Value := Trim(Maxno);
FieldByName('WJName').Value := Trim(Edit1.Text);
FieldByName('Filler').Value := Trim(DName);
Post;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmWZJList.FormDestroy(Sender: TObject);
begin
frmwzjList := nil;
end;
procedure TfrmWZJList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmWZJList.FormCreate(Sender: TObject);
begin
//cxGrid1.Align:=alClient;
// canshu1 := Trim(DParameters1);
canshu2 := Trim(DParameters2);
canshu3 := Trim(DParameters3);
end;
procedure TfrmWZJList.InitGrid();
var
pwhere: string;
begin
// if trim(factoryName.Text) = '' then
// begin
// application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>߲<EFBFBD>ѯ<EFBFBD>ٶȣ<D9B6>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
// exit;
// end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select * from wzj ');
if wjname.Text <> '' then
begin
sql.Add('WHERE wjname like ' + QuotedStr(Trim('%' + Trim(wjname.Text) + '%')));
end;
// ShowMessage(SQL.Text);
Open;
//ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmWZJList.Initsub();
var
ListItem: TListItem;
Flag: Cardinal;
info: SHFILEINFOA;
Icon: TIcon;
begin
try
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from TP_File ');
sql.Add('where WBID=' + quotedstr(trim(CDS_Main.fieldbyname('wjid').AsString)));
open;
end;
except
end;
end;
procedure TfrmWZJList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWZJList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmWZJList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Self.Caption, Tv1, '<27><><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ѯ');
Close;
end;
procedure TfrmWZJList.FormShow(Sender: TObject);
var
fsj: string;
begin
ReadCxGrid(Self.Caption, Tv1, '<27><><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ѯ');
// fsj := ' select distinct name= FactoryName from ( select distinct FactoryName=ToFactoryName from CK_SXPB_CR A where A.CRType<>''<27><><EFBFBD>۳<EFBFBD><DBB3><EFBFBD>'' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and ckname=''<27><><EFBFBD><EFBFBD>'' ';
// fsj := fsj + ' union all select distinct FactoryName from CK_SXPB_CR A where A.crtype in (''<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>'',''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'') and ckname=''<27><><EFBFBD>첼''';
// fsj := fsj + ' union all select distinct CustomerNoName from FHSQ_Main A where CRType=''<27><><EFBFBD>޳<EFBFBD><DEB3><EFBFBD>'' and fhpshz>0 ) aa order by FactoryName';
// SInitComBoxBySql(ADOQueryCmd, FactoryName, False, fsj);
if canshu1 = '<27><>ѯ' then
begin
ToolButton2.Visible := False;
ToolButton3.Visible := False;
ToolButton1.Visible := False;
end;
InitGrid();
end;
procedure TfrmWZJList.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 TfrmWZJList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmWZJList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmWZJList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if trim(CDS_Main.FieldByName('Filler').AsString) <> Trim(DName) then
begin
Application.MessageBox('<27><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Trim(CDS_Main.fieldbyname('SPID').AsString) <> '' then
begin
if Trim(CDS_Main.fieldbyname('CRType').AsString) = 'ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
Application.MessageBox('ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CK_SXPB_CR where FZSPID=''' + Trim(CDS_Main.fieldbyname('SPID').AsString) + '''');
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;
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) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end
else
begin
CDS_Main.Delete;
end;
end;
procedure TfrmWZJList.SPIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmWZJList.FactoryNameChange(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmWZJList.SPCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmWZJList.CRTypeChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWZJList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmWZJList.ToolButton1Click(Sender: TObject);
var
maxno: string;
begin
if CDS_Main.IsEmpty then
Exit;
try
frmFjList_RZ2 := TfrmFjList_RZ2.Create(Application);
with frmFjList_RZ2 do
begin
fkeyNO := Trim(CDS_Main.fieldbyname('WJid').AsString);
fType := '<27><><EFBFBD>ʼ<EFBFBD>';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList_RZ2.Free;
end;
end;
procedure TfrmWZJList.Button2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmWZJList.Button1Click(Sender: TObject);
begin
if Application.MessageBox('<27>޸ı<DEB8><C4B1>Ż<EFBFBD>ͬʱ<CDAC>޸ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if trim(YWNOTE.Text) = '' then
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
try
CDS_Main.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_Main do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update CK_SXPB_CR Set spcode=''' + trim(YWNOTE.Text) + ''' ');
sql.Add('where FZSPID=''' + Trim(CDS_Main.fieldbyname('spid').AsString) + '''');
ExecSQL;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Panel4.Visible := false;
TBRafresh.Click;
exit;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_Main.EnableControls;
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWZJList.TV1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
// if (AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('keyNO').Index]) mod 2 = 0 then
// begin
// ACanvas.Brush.Color := $EEF5FF;
// end
// else
// begin
// ACanvas.Brush.Color := $FFF8F0;
// end;
end;
procedure TfrmWZJList.Button3Click(Sender: TObject);
begin
if Edit1.Text = '' then
Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from WZJ where WJNAME=' + QuotedStr(Trim(Edit1.Text)));
Open;
end;
if ADOQueryTemp.IsEmpty = False then
begin
application.MessageBox('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ѵ<EFBFBD><D1B4>ڣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
exit;
end;
if SaveCKData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
Edit1.Text := '';
Exit;
end;
end;
procedure TfrmWZJList.Button4Click(Sender: TObject);
begin
Panel2.Visible := False;
end;
procedure TfrmWZJList.ToolButton2Click(Sender: TObject);
begin
Panel2.Visible := True;
end;
procedure TfrmWZJList.wjnameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmWZJList.ToolButton3Click(Sender: TObject);
begin
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' delete WZJ where WJID=''' + Trim(CDS_Main.fieldbyname('WJID').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C9BE><EFBFBD>쳣!', '<27><>ʾ', 0);
end;
end;
procedure TfrmWZJList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
if CDS_Main.IsEmpty = True then
Exit;
initsub();
end;
procedure TfrmWZJList.TV2DblClick(Sender: TObject);
var
sFieldName: string;
fileName: string;
ff: TADOBlobStream;
FJStream: TMemoryStream;
begin
if ADOQuery1.IsEmpty then
exit;
sFieldName := 'D:\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName), nil);
fileName := ADOQuery1.fieldbyname('FileName').AsString;
sFieldName := sFieldName + '\' + trim(fileName);
try
ff := TADOBlobstream.Create(ADOQuery1.fieldByName('FilesOther') as TblobField, bmRead);
FJStream := TMemoryStream.Create;
ff.SaveToStream(FJStream);
UnCompressionStream(FJStream);
FJStream.SaveToFile(sFieldName);
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
finally
FJStream.free;
ff.Free;
end;
end;
end.