D7myzhenyong/样布仓库(染色)/U_SMPBKcHZList.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

485 lines
12 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_SMPBKcHZList;
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, cxCheckBox,
RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, MMSystem, Menus,
BtnEdit, U_SLT, jpeg, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
cxTextEdit;
type
TfrmSMPBKcHZList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label3: TLabel;
P_CodeName: TEdit;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
Label7: TLabel;
P_Color: TEdit;
Label8: TLabel;
Label9: TLabel;
kuwei: TEdit;
ADOQueryPrint: TADOQuery;
RMDB_Main: TRMDBDataSet;
RM1: TRMGridReport;
ADOQueryMain: TADOQuery;
Label13: TLabel;
P_Code: TEdit;
Label18: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton2: TToolButton;
GroupBox1: TGroupBox;
ScrollBox1: TScrollBox;
adoqueryPicture: TADOQuery;
CheckBox1: TCheckBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Ssel: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1P_CodeName: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1P_SPEC: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1QtyUnit: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TOkClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton3Click(Sender: TObject);
procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
procedure Tv1Column1PropertiesEditValueChanged(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
procedure v1NotePropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column3PropertiesEditValueChanged(Sender: TObject);
procedure Tv1Column4PropertiesEditValueChanged(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
procedure InitImage();
{ Private declarations }
public
fType: integer;
fCKName: string;
CANSHU1: string;
{ Public declarations }
end;
var
frmSMPBKcHZList: TfrmSMPBKcHZList;
var
Mach: array of TfrmSlt;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp;
{$R *.dfm}
procedure TfrmSMPBKcHZList.InitImage();
var
i, j: integer;
jpg: TJpegImage;
myStream: TADOBlobStream;
begin
j := length(Mach);
if j > 0 then
begin
for i := 0 to j - 1 do
begin
Mach[i].free;
end;
end;
SetLength(Mach, 0);
if CDS_Main.IsEmpty then
exit;
try
with adoqueryPicture do
begin
close;
sql.Clear;
sql.Add(' select A.TFID,A.WBID,A.FilesOther,B.FileName from TP_File A,XD_File B where A.TFID =B.XFID ');
if CDS_Main.IsEmpty = False then
begin
sql.Add('and A.WBID=' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString)));
end
else
begin
sql.add(' and 1=2');
end;
open;
end;
j := adoqueryPicture.RecordCount;
if j < 1 then
exit;
adoqueryPicture.DisableControls;
adoqueryPicture.First;
SetLength(Mach, j);
jpg := TJpegImage.Create();
for i := 0 to j - 1 do
begin
if triM(adoqueryPicture.fieldbyname('FilesOther').AsString) <> '' then
begin
myStream := tadoblobstream.Create(tblobfield(adoqueryPicture.fieldbyname('FilesOther')), bmread);
jpg.LoadFromStream(myStream);
Mach[i] := TfrmSlt.Create(Self);
Mach[i].Name := trim(adoqueryPicture.fieldbyname('TFID').AsString);
Mach[i].Parent := ScrollBox1;
Mach[i].Left := 0 + i * 165;
Mach[i].Init(adoqueryPicture.fieldbyname('TFID').AsString, adoqueryPicture.fieldbyname('FileName').AsString, jpg);
end;
adoqueryPicture.Next;
end;
adoqueryPicture.EnableControls;
finally
jpg.free;
application.ProcessMessages;
end;
end;
procedure TfrmSMPBKcHZList.SetStatus();
begin
v1Qty.Visible := False;
v1Qty.Hidden := True;
if Trim(CANSHU1) <> '<27>ͷ<EFBFBD>' then
begin
v1Qty.Visible := true;
v1Qty.Hidden := False;
end;
end;
procedure TfrmSMPBKcHZList.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(' from CK_Sample_CR A ');
sql.Add(' where A.kcQty<>0 and CKName=' + quotedstr(trim(fCKName)));
sql.ADD(' and A.Valid=''Y'' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' order by A.CRTime desc,A.CRNO desc');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
finally
end;
end;
procedure TfrmSMPBKcHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
if fType = 10 then
Action := cahide
else
Action := cafree;
end;
procedure TfrmSMPBKcHZList.FormDestroy(Sender: TObject);
begin
frmsmpbKcHZList := nil;
end;
procedure TfrmSMPBKcHZList.P_CodeNameChange(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmSMPBKcHZList.FormShow(Sender: TObject);
begin
readCxGrid(self.Caption + tv1.Name, Tv1, '<27><><EFBFBD>ϲֿ<CFB2>');
SetStatus();
TBRafresh.Click();
end;
procedure TfrmSMPBKcHZList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmSMPBKcHZList.TBRafreshClick(Sender: TObject);
begin
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select P_Code,P_CodeName,P_Color,p_CF,P_SPEC,P_KZ,kuwei,SUM(kcQty)kcQty,QtyUnit,cgpz,Note ');
SQL.Add(' from CK_Sample_CR A ');
sql.Add(' where A.kcQty<>0 and CKName=' + quotedstr(trim(fCKName)));
sql.ADD(' and A.Valid=''Y'' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add(' GROUP BY P_Code,P_CodeName,P_Color,p_CF,P_SPEC,P_KZ,kuwei,QtyUnit,cgpz,Note ');
SQL.Add('ORDER BY P_Code');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmSMPBKcHZList.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmSMPBKcHZList.TOkClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmSMPBKcHZList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, true);
end;
procedure TfrmSMPBKcHZList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, false);
end;
procedure TfrmSMPBKcHZList.ToolButton2Click(Sender: TObject);
begin
if adoqueryMain.Active = False then
Exit;
SDofilter(adoqueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
end;
procedure TfrmSMPBKcHZList.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
InitImage();
end;
procedure TfrmSMPBKcHZList.ToolButton3Click(Sender: TObject);
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('exec P_Up_SampleKcAll');
execsql;
end;
end;
procedure TfrmSMPBKcHZList.OrderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
TBRafresh.Click();
ToolButton2.Click();
end;
end;
procedure TfrmSMPBKcHZList.Tv1Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
if CANSHU1 = '<27>ͷ<EFBFBD>' then
Exit;
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set XSKCQTY=' + (Trim(mvalue)));
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmSMPBKcHZList.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked = True then
begin
P_Code.Tag := 1;
end
else
begin
P_Code.Tag := 2;
end;
initgrid();
ToolButton2.Click();
end;
procedure TfrmSMPBKcHZList.Tv1DblClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmSMPBKcHZList.v1QtyPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set kcQty=' + (Trim(mvalue)));
SQL.Add(',QTY=ISNULL((SELECT SUM(QTY) FROM CK_Sample_CR B WHERE B.MJID=CK_Sample_CR.MJID AND B.VALID=''Y'' and crflag=''<27><><EFBFBD><EFBFBD>'' ),0)+' + (Trim(mvalue)));
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmSMPBKcHZList.v1NotePropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
if CANSHU1 = '<27>ͷ<EFBFBD>' then
Exit;
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set Note=' + QuotedStr(Trim(mvalue)));
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
ExecSQL;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmSMPBKcHZList.Tv1Column3PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set CGPZ=' + quotedstr(Trim(mvalue)));
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmSMPBKcHZList.Tv1Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_Sample_CR set SJBDH=' + quotedstr(Trim(mvalue)));
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.fieldbyname('CRNO').AsString)));
ExecSQL;
end;
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := mvalue;
Post;
end;
Tv1.Controller.EditingController.ShowEdit();
end;
end.