D7szChenfeng/经轴仓库(Warehouse.dll)/U_EmptyRollerCk.pas

456 lines
13 KiB
ObjectPascal
Raw Permalink Normal View History

2025-07-22 15:51:47 +08:00
unit U_EmptyRollerCk;
interface
uses
Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, MMSystem,
cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit,
DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit, cxContainer,
cxTextEdit, cxCurrencyEdit, cxCheckBox, Menus, RM_Common, RM_Class, RM_e_Xls,
RM_Dataset, RM_System, RM_GridReport, cxCalendar;
type
TfrmEmptyRollerCk = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
Panel3: TPanel;
ADOQueryMain: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Qty: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure TBCloseClick(Sender: TObject);
procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
procedure FHAddressBtnDnClick(Sender: TObject);
procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
procedure InitGrid();
function savedate(): Boolean;
function CheckData(): Boolean;
{ Private declarations }
public
fkeyNO: string;
FType: integer;
fCKName: string;
{ Public declarations }
end;
var
frmEmptyRollerCk: TfrmEmptyRollerCk;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_EmptyRollerkCList, U_ZdyAttachment,
U_ZDYHelpSel, U_ClothSCHZListSel, U_ZdyAttachGYS;
{$R *.dfm}
function TfrmEmptyRollerCk.CheckData(): Boolean;
begin
try
if cds_main.Locate('CRType', '', []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('CRType', NULL, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('CRType', '', []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('CRType', NULL, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('ToFactoryName', NULL, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('ToFactoryName', '', []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('Rollnum', NULL, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('Rollnum', 0, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>');
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
function TfrmEmptyRollerCk.savedate(): Boolean;
var
MaxNo: string;
begin
result := false;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_Main.DisableControls;
CDS_Main.First;
with CDS_Main do
begin
while not eof do
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('select * from CK_WarpRoller_CR');
sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString)));
open;
end;
if ADOQueryCmd.IsEmpty then
begin
if GetLSNo(ADOQueryTmp, MaxNo, 'WC', 'CK_WarpRoller_CR', 3, 1) = False then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
ADOQueryCmd.Append;
ADOQueryCmd.FieldByName('Filler').Value := trim(DName);
ADOQueryCmd.FieldByName('FillTime').Value := dateTimetostr(SGetServerDateTime(adoqueryTmp));
end
else
begin
MaxNo := Trim(CDS_Main.FieldByName('CRNO').AsString);
ADOQueryCmd.Edit;
ADOQueryCmd.FieldByName('editer').Value := trim(dName);
ADOQueryCmd.FieldByName('editTime').Value := SGetServerDateTime(adoqueryTmp);
end;
ADOQueryCmd.FieldByName('InoutNo').Value := trim(MaxNo);
ADOQueryCmd.FieldByName('CRNO').Value := trim(MaxNo);
ADOQueryCmd.FieldByName('CKName').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRQtyFlag').Value := -1;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Main, 'CK_WarpRoller_CR', 0);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
ADOQueryCmd.FieldByName('qty').Value := 0;
ADOQueryCmd.FieldByName('FromOrderNo').Value := trim(fieldbyname('FromOrderNo').AsString);
ADOQueryCmd.FieldByName('FrommainID').Value := trim(fieldbyname('FrommainID').AsString);
ADOQueryCmd.FieldByName('FromsubID').Value := trim(fieldbyname('FromsubID').AsString);
ADOQueryCmd.FieldByName('TomainID').Value := trim(fieldbyname('TomainID').AsString);
ADOQueryCmd.FieldByName('TosubID').Value := trim(fieldbyname('TosubID').AsString);
ADOQueryCmd.Post;
//<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add('exec P_Up_EmptyRoller ' + quotedstr(trim(MaxNo)));
// Open;
// end;
// if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>' then
// begin
// CDS_Main.EnableControls;
// ADOQueryCmd.Connection.RollbackTrans;
// Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
Edit;
FieldByName('InoutNo').Value := trim(MaxNo);
FieldByName('CRNO').Value := trim(MaxNo);
post;
next;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
result := true;
except
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmEmptyRollerCk.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* from CK_WarpRoller_CR A');
sql.Add('where A.CRNO=' + quotedstr(trim(fkeyNO)));
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
if not CDS_Main.IsEmpty then
begin
end;
finally
end;
end;
procedure TfrmEmptyRollerCk.FormDestroy(Sender: TObject);
begin
frmEmptyRollerCk := nil;
end;
procedure TfrmEmptyRollerCk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmEmptyRollerCk.FormShow(Sender: TObject);
var
fbhType, fInoutNo: string;
begin
readCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
end;
procedure TfrmEmptyRollerCk.TBSaveClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
if CheckData() = false then
exit;
if savedate() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end
else
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmEmptyRollerCk.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'Cloth';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.CDS_Main.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmEmptyRollerCk.TBCloseClick(Sender: TObject);
begin
writeCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
close;
end;
procedure TfrmEmptyRollerCk.v1QtyPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_Main do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
FieldbyName('Money').Value := format('%.2f', [FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat]);
Post;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmEmptyRollerCk.FHAddressBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmEmptyRollerCk.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
frmClothSCHZListSel := TfrmClothSCHZListSel.Create(Application);
with frmClothSCHZListSel do
begin
if showmodal = 1 then
begin
CDS_Main.Edit;
CDS_Main.fieldbyname('ToOrderNo').Value := trim(Order_Main.fieldbyname('OrderNo').AsString);
CDS_Main.fieldbyname('ToMainID').Value := trim(Order_Main.fieldbyname('MainID').AsString);
CDS_Main.fieldbyname('TosubID').Value := trim(Order_Main.fieldbyname('subID').AsString);
CDS_Main.Post;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmEmptyRollerCk.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'MLType';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
CDS_Main.Edit;
CDS_Main.FieldByName('P_Type').Value := Trim(ClientDataSet1.fieldbyname('zdyName').AsString);
CDS_Main.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmEmptyRollerCk.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmEmptyRollerCk.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmEmptyRollerCk.v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal = 1 then
begin
CDS_Main.Edit;
CDS_Main.fieldbyname('ToFactoryName').Value := Trim(CDS_HZ.fieldbyname('CoName').AsString);
CDS_Main.Post;
end;
end;
finally
frmZdyAttachGYS.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmEmptyRollerCk.ToolButton3Click(Sender: TObject);
var
FMJID: string;
begin
frmEmptyRollerkCList := TfrmEmptyRollerkCList.create(self);
with frmEmptyRollerkCList do
begin
canshu1 := 'ѡ<><D1A1>';
if showmodal = 1 then
begin
cds_main.DisableControls;
cds_main.First;
while not cds_main.Eof do
begin
if (cds_main.fieldbyname('ssel').AsBoolean) and (not self.cds_main.Locate('FactoryName', trim(cds_main.fieldbyname('FactoryName').AsString), [])) then
begin
self.cds_main.Append;
self.cds_main.FieldbyName('CRTime').Value := Now;
self.cds_main.fieldbyname('FactoryName').Value := trim(cds_main.fieldbyname('FactoryName').AsString);
// self.cds_main.fieldbyname('P_CodeName').Value := trim(cds_main.fieldbyname('P_CodeName').AsString);
self.cds_main.FieldByName('RollNum').Value := cds_main.fieldbyname('KCPS').AsFloat;
self.cds_main.Post;
end;
cds_main.Next;
end;
cds_main.EnableControls;
end;
free;
end;
end;
procedure TfrmEmptyRollerCk.ToolButton4Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if Trim(CDS_Main.FieldByName('CRNO').AsString) = '' then
begin
CDS_Main.Delete;
end
else
begin
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_WarpRoller_CR set Valid=''N'' where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString)));
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
SQL.Add('exec P_Up_EmptyRoller ' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString)));
Open;
end;
if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>' then
begin
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
end;
end;
end.