D7szYidui/经轴仓库(Warehouse.dll)/U_WarpRollerRk.pas
DESKTOP-E401PHE\Administrator ef99fc8b5e 移交
2025-07-19 09:32:10 +08:00

561 lines
16 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_WarpRollerRk;
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, cxTextEdit, BtnEdit,
cxCheckBox, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmWarpRollerRk = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
CRTime: TDateTimePicker;
Label2: TLabel;
CRType: TComboBox;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
ToolBar2: TToolBar;
ToolButton2: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
v1P_Code: TcxGridDBColumn;
JZRKNo: TEdit;
Label8: TLabel;
Label6: TLabel;
v1Column2: TcxGridDBColumn;
Label9: TLabel;
FactoryName: TBtnEditA;
Label3: TLabel;
fromFactoryName: TBtnEditA;
btn1: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure v1P_ColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1P_ColorPropertiesEditValueChanged(Sender: TObject);
procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
procedure v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure FactoryNameBtnClick(Sender: TObject);
procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure fromFactoryNameBtnClick(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
procedure InitGrid();
function savedate(): Boolean;
function CheckData(): Boolean;
{ Private declarations }
public
fkeyNO: string;
FType: integer;
{ Public declarations }
end;
var
frmWarpRollerRk: TfrmWarpRollerRk;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_ZdyAttachGYS,
U_ClothSCHZListSel, U_WarpBeamManageList;
{$R *.dfm}
function TfrmWarpRollerRk.CheckData(): Boolean;
begin
try
if Trim(CRType.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if Trim(fromFactoryName.Text) = '' then
// raise Exception.Create('<27><><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Trim(FactoryName.Text) = '' then
raise Exception.Create('<27><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.IsEmpty then
raise Exception.Create('<27><>Ʒ<EFBFBD><C6B7>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('WBCode', NULL, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if cds_main.Locate('WBCode', '', []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
function TfrmWarpRollerRk.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_WarpBeam_CR');
sql.Add('where JZRKID=' + quotedstr(Trim(CDS_Main.FieldByName('JZRKID').AsString)));
open;
end;
if ADOQueryCmd.IsEmpty then
begin
if GetLSNo(ADOQueryTmp, MaxNo, 'ZJR', 'CK_WarpBeam_CR', 4, 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('JZRKID').AsString);
ADOQueryCmd.Edit;
ADOQueryCmd.FieldByName('editer').Value := trim(dName);
ADOQueryCmd.FieldByName('editTime').Value := SGetServerDateTime(adoqueryTmp);
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ADOQueryCmd.FieldByName('JZRKNo').Value := trim(JZRKNo.Text);
ADOQueryCmd.FieldByName('FactoryName').Value := trim(FactoryName.Text);
ADOQueryCmd.FieldByName('fromFactoryName').Value := trim(fromFactoryName.Text);
ADOQueryCmd.FieldByName('JZRKID').Value := trim(MaxNo);
ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTIme.Date);
ADOQueryCmd.FieldByName('CRType').Value := trim(CRType.Text);
ADOQueryCmd.FieldByName('KCID').Value := trim(MaxNo);
ADOQueryCmd.FieldByName('CRFlag').Value := '<27><><EFBFBD><EFBFBD>';
ADOQueryCmd.FieldByName('CRQtyFlag').Value := 1;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Main, 'CK_WarpBeam_CR', 0);
ADOQueryCmd.Post;
// <20>жϿ<D0B6><CFBF><EFBFBD>
// with ADOQueryCmd do
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add('exec P_Up_WarpRoller ' + quotedstr(trim(CDS_Main.fieldbyname('KCID').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><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
// Exit;
// end;
CDS_Main.Edit;
CDS_Main.FieldByName('JZRKID').Value := Trim(MaxNo);
CDS_Main.Post;
Next;
end;
end;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
result := true;
except
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
end;
end;
procedure TfrmWarpRollerRk.InitGrid();
var
i: Integer;
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.* ');
SQL.Add(' from CK_WarpBeam_CR A');
if fType = 1 then
begin
sql.Add('where A.JZRKID ' + trim(fkeyNO));
end
else
sql.Add('where A.JZRKID =' + QuotedStr(Trim(fkeyNO)));
open;
end;
SCreateCDS20(adoqueryTmp, CDS_Main);
SInitCDSData20(adoqueryTmp, CDS_Main);
if not CDS_Main.IsEmpty then
begin
CRTime.Date := CDS_Main.fieldbyname('CRTime').AsDateTime;
CRType.ItemIndex := CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString));
JZRKNo.Text := CDS_Main.fieldbyname('JZRKNo').asstring;
FactoryName.Text := trim(CDS_Main.fieldbyname('FactoryName').AsString);
fromFactoryName.Text := trim(CDS_Main.fieldbyname('fromFactoryName').AsString);
end;
finally
end;
end;
procedure TfrmWarpRollerRk.FormDestroy(Sender: TObject);
begin
frmWarpRollerRk := nil;
end;
procedure TfrmWarpRollerRk.FormCreate(Sender: TObject);
begin
CRTime.Date := SGetServerDate10(ADOQueryTmp);
end;
procedure TfrmWarpRollerRk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmWarpRollerRk.FormShow(Sender: TObject);
begin
readCxGrid(trim(self.Caption), Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
if fType = 0 then
begin
if GetLSNo(ADOQueryCmd, fkeyNo, 'RK', 'CK_WarpBeam_CR', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
JZRKNo.Text := Trim(fkeyNo);
end;
end;
procedure TfrmWarpRollerRk.TBSaveClick(Sender: TObject);
begin
if CheckData() = false then
exit;
CRTime.SetFocus;
if savedate() then
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
ModalResult := 1;
end
else
begin
application.MessageBox('<27><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmWarpRollerRk.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
if Trim(CDS_Main.FieldByName('JZRKID').AsString) = '' then
begin
CDS_Main.Delete;
end
else
begin
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update CK_WarpBeam_CR set Valid=''N'' where JZRKID=' + quotedstr(Trim(CDS_Main.FieldByName('JZRKID').AsString)));
ExecSQL;
end;
// with ADOQueryCmd do
// begin
// Close;
// SQL.Clear;
// SQL.Add('exec P_Up_WarpRoller ' + quotedstr(Trim(CDS_Main.FieldByName('KCID').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;
procedure TfrmWarpRollerRk.TBCloseClick(Sender: TObject);
begin
writeCxGrid(trim(self.Caption), Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
close;
end;
procedure TfrmWarpRollerRk.v1P_ColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'OrdColor';
flagname := '<27><>ɫ';
V1Name.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
V1Note.Caption := <><D3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
MainType := Trim(DName);
fnote := True;
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('P_Color').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.CDS_Main.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
self.tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWarpRollerRk.v1P_CodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
FKuWei: string;
begin
// try
// frmZdyAttachCP20:=TfrmZdyAttachCP20.Create(Application);
// with frmZdyAttachCP20 do
// begin
// CKType.Text:='<27><><EFBFBD><EFBFBD>';
// if ShowModal=1 then
// begin
// Self.CDS_Main.Edit;
//// Self.CDS_Main.FieldByName('WLType').Value:=Trim(CDS_HZ.fieldbyname('WLType').AsString);
// Self.CDS_Main.FieldByName('P_Code').Value:=Trim(CDS_HZ.fieldbyname('ZdyCode').AsString);
// Self.CDS_Main.FieldByName('P_CodeName').Value:=Trim(CDS_HZ.fieldbyname('ZdyName').AsString);
// Self.CDS_Main.FieldByName('P_SPEC').Value:=Trim(CDS_HZ.fieldbyname('DEFstr1').AsString);
//// Self.CDS_Main.FieldByName('P_Color').Value:=Trim(CDS_HZ.fieldbyname('DEFstr1').AsString);
// Self.CDS_Main.FieldByName('P_MF').Value:=Trim(CDS_HZ.fieldbyname('DEFstr7').AsString);
// Self.CDS_Main.FieldByName('P_KZ').Value:=Trim(CDS_HZ.fieldbyname('DEFstr8').AsString);
// Self.CDS_Main.FieldByName('qtyUnit').Value:=Trim(CDS_HZ.fieldbyname('DEFstr4').AsString);
// end;
// end;
// finally
// frmZdyAttachCP20.Free;
// end;
// self.tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWarpRollerRk.v1P_ColorPropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
{ mvalue:=TcxTextEdit(Sender).EditingText;
IF trim(mvalue)='' then exit;
IF rightBstr(trim(mvalue),1)<>'#'THEN
BEGIn
mvalue:=trim(mvalue)+'#';
END;
with CDS_Main do
begin
Edit;
FieldByName('P_Color').Value:=Trim(mvalue);
Post;
end;
self.tv1.Controller.EditingController.ShowEdit(); }
end;
procedure TfrmWarpRollerRk.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 TfrmWarpRollerRk.v1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
frmWarpBeamManageList := TfrmWarpBeamManageList.Create(Application);
with frmWarpBeamManageList do
begin
if showmodal = 1 then
begin
CDS_Main.Edit;
CDS_Main.fieldbyname('WBId').Value := trim(CDS_HZ.fieldbyname('WBId').AsString);
CDS_Main.fieldbyname('WBCode').Value := trim(CDS_HZ.fieldbyname('WBCode').AsString);
CDS_Main.fieldbyname('WBName').Value := trim(CDS_HZ.fieldbyname('WBName').AsString);
CDS_Main.Post;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWarpRollerRk.v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'CPProperty';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('CPProperty').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmWarpRollerRk.FactoryNameBtnClick(Sender: TObject);
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal = 1 then
begin
FactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString);
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
procedure TfrmWarpRollerRk.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
FBounds := AViewInfo.Bounds;
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
InflateRect(FBounds, -1, -1);
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
procedure TfrmWarpRollerRk.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'kuwei';
flagname := '<27><>λ';
if ShowModal = 1 then
begin
Self.CDS_Main.Edit;
Self.CDS_Main.FieldByName('kuwei').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Self.CDS_Main.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
self.tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmWarpRollerRk.fromFactoryNameBtnClick(Sender: TObject);
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal = 1 then
begin
fromFactoryName.Text := Trim(CDS_HZ.fieldbyname('Name').AsString);
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end;
procedure TfrmWarpRollerRk.btn1Click(Sender: TObject);
var
MaxNo: string;
begin
frmWarpBeamManageList := TfrmWarpBeamManageList.Create(Application);
with frmWarpBeamManageList do
begin
if showmodal = 1 then
begin
while frmWarpBeamManageList.CDS_HZ.Locate('SSel', True, []) do
begin
with Self.CDS_Main do
begin
append;
fieldbyname('WBId').Value := trim(CDS_HZ.fieldbyname('WBId').AsString);
fieldbyname('WBCode').Value := trim(CDS_HZ.fieldbyname('WBCode').AsString);
fieldbyname('WBName').Value := trim(CDS_HZ.fieldbyname('WBName').AsString);
fieldbyname('Note').Value := '';
Post;
end;
frmWarpBeamManageList.CDS_HZ.Delete;
end;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
end.