D7szChenfeng/经轴仓库(Warehouse.dll)/U_WarpRollerCk.pas
DESKTOP-E401PHE\Administrator ccdaa90a0f 移交
2025-07-22 15:51:47 +08:00

486 lines
14 KiB
ObjectPascal
Raw 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_WarpRollerCk;
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, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle,
dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary,
dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin,
dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter;
type
TfrmWarpRollerCk = class(TForm)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
CRTime: TDateTimePicker;
Label2: TLabel;
CRType: TComboBox;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
Label8: TLabel;
JZRKNo: TEdit;
Label9: TLabel;
ToFactoryName: TBtnEditA;
Panel3: TPanel;
ADOQueryMain: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column3: TcxGridDBColumn;
v1P_Code: TcxGridDBColumn;
v1P_CodeName: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure ToFactoryNameBtnClick(Sender: TObject);
procedure v1QtyPropertiesEditValueChanged(Sender: TObject);
procedure FHAddressBtnDnClick(Sender: TObject);
procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure ToolButton2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
procedure InitGrid();
function savedate(): Boolean;
function CheckData(): Boolean;
{ Private declarations }
public
fkeyNO: string;
FType: integer;
fCKName: string;
{ Public declarations }
end;
var
frmWarpRollerCk: TfrmWarpRollerCk;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_WarpRollerkCList, U_ZdyAttachment,
U_ZDYHelpSel, U_ClothSCHZListSel, U_ZdyAttachGYS;
{$R *.dfm}
function TfrmWarpRollerCk.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(CRType.Text) <> '<27><><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>' then
begin
if trim(ToFactoryName.Text) = '' then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
end;
// if cds_main.Locate('QtyUnit', '', []) then
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if cds_main.Locate('QtyUnit', NULL, []) then
// raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
function TfrmWarpRollerCk.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, 'ZJC', '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;
ADOQueryCmd.FieldByName('JZRKNo').Value := trim(JZRKNo.Text);
ADOQueryCmd.FieldByName('JZRKID').Value := trim(MaxNo);
ADOQueryCmd.FieldByName('ToFactoryName').Value := trim(ToFactoryName.Text);
ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTIme.Date);
ADOQueryCmd.FieldByName('CRType').Value := trim(CRType.Text);
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);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
ADOQueryCmd.FieldByName('WBId').Value := trim(fieldbyname('WBId').AsString);
ADOQueryCmd.FieldByName('KCID').Value := trim(fieldbyname('KCID').AsString);
ADOQueryCmd.Post;
// <20><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>
// 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;
Edit;
FieldByName('JZRKID').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 TfrmWarpRollerCk.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add('select A.* 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(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, 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 := trim(CDS_Main.fieldbyname('JZRKNo').AsString);
ToFactoryName.Text := trim(CDS_Main.fieldbyname('ToFactoryName').AsString);
end;
finally
end;
end;
procedure TfrmWarpRollerCk.FormDestroy(Sender: TObject);
begin
frmWarpRollerCk := nil;
end;
procedure TfrmWarpRollerCk.FormCreate(Sender: TObject);
begin
CRTime.Date := SGetServerDate10(ADOQueryTmp);
end;
procedure TfrmWarpRollerCk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmWarpRollerCk.FormShow(Sender: TObject);
var
fbhType, fInoutNo: string;
begin
readCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
InitGrid();
if fType = 0 then
begin
if GetLSNo(ADOQueryCmd, fkeyNo, 'CK', '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 TfrmWarpRollerCk.TBSaveClick(Sender: TObject);
begin
if cds_main.IsEmpty then
exit;
CRTime.SetFocus;
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 TfrmWarpRollerCk.ToolButton1Click(Sender: TObject);
var
FMJID: string;
begin
frmWarpRollerkCList := TfrmWarpRollerkCList.create(self);
with frmWarpRollerkCList do
begin
fType :=10;
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('KCID', trim(cds_main.fieldbyname('KCID').AsString), [])) then
begin
self.cds_main.Append;
self.cds_main.FieldByName('WBId').Value := trim(cds_main.fieldbyname('WBId').AsString);
self.cds_main.FieldByName('WBCode').Value := trim(cds_main.fieldbyname('WBCode').AsString);
self.cds_main.FieldByName('WBName').Value := trim(cds_main.fieldbyname('WBName').AsString);
self.cds_main.fieldbyname('fromFactoryName').Value := trim(cds_main.fieldbyname('fromFactoryName').AsString);
self.cds_main.fieldbyname('FactoryName').Value := trim(cds_main.fieldbyname('FactoryName').AsString);
self.cds_main.FieldByName('KCID').Value := trim(cds_main.fieldbyname('KCID').AsString);
self.cds_main.Post;
end;
cds_main.Next;
end;
cds_main.EnableControls;
end;
free;
end;
end;
procedure TfrmWarpRollerCk.TBCloseClick(Sender: TObject);
begin
writeCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
close;
end;
procedure TfrmWarpRollerCk.ToFactoryNameBtnClick(Sender: TObject);
begin
if (trim(CRType.Text) = '<27>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>') or (trim(CRType.Text) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>') or (trim(CRType.Text) = '<27>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>') then
begin
try
frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application);
with frmZdyAttachGYS do
begin
if ShowModal = 1 then
begin
ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('Name').AsString);
end;
end;
finally
frmZdyAttachGYS.Free;
end;
end
else
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
if ShowModal = 1 then
begin
ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('Name').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
end;
procedure TfrmWarpRollerCk.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 TfrmWarpRollerCk.FHAddressBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmWarpRollerCk.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 TfrmWarpRollerCk.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 TfrmWarpRollerCk.ToolButton2Click(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_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 TfrmWarpRollerCk.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmWarpRollerCk.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
end.