D7gmYongjin/纱线加弹管理(YarnTexturing.dll)/U_ShuttleLSSCList.pas

557 lines
15 KiB
ObjectPascal
Raw Permalink Normal View History

2026-03-04 09:51:44 +08:00
unit U_ShuttleLSSCList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC, cxCheckBox,
Menus, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, 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
TfrmShuttleLSSCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBClose: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_Main: TDataSource;
TBExport: TToolButton;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
TBCopy: TToolButton;
TBView: TToolButton;
RMDB_Main: TRMDBDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column18: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column19: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxTabControl1: TcxTabControl;
v1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
Panel1: TPanel;
v1Column4: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure LSNOChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBViewClick(Sender: TObject);
procedure TBCopyClick(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure machnoChange(Sender: TObject);
procedure v1Column4PropertiesEditValueChanged(Sender: TObject);
procedure v1Column11PropertiesEditValueChanged(Sender: TObject);
procedure v1Column17PropertiesEditValueChanged(Sender: TObject);
procedure Y_TypeChange(Sender: TObject);
procedure machstatusChange(Sender: TObject);
procedure v1Column18PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
private
FInt, PFInt: Integer;
procedure InitGrid();
procedure SetStatus();
procedure InitForm();
function DelData(): Boolean;
procedure InitButton();
{ Private declarations }
public
canshu1, FCheJian: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ShuttleLSSCInPut, U_JTSel;
{$R *.dfm}
procedure TfrmShuttleLSSCList.SetStatus();
begin
end;
procedure TfrmShuttleLSSCList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmShuttleLSSCList.InitButton();
begin
TBAdd.Visible := True;
TBCopy.Visible := True;
TBEdit.Visible := True;
TBDel.Visible := True;
TBView.Visible := True;
if Trim(canshu1) = '<27><>ѯ' then
begin
TBAdd.Visible := False;
TBCopy.Visible := False;
TBEdit.Visible := False;
TBDel.Visible := False;
end;
end;
procedure TfrmShuttleLSSCList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27>ӵ<EFBFBD>˿');
Close;
end;
procedure TfrmShuttleLSSCList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
Sql.Add(' ,ZGYSHZ=CAST((select distinct(RName) + '' '' from YT_Plan_Rule X where X.MainID=A.MainID and RType=''<27><>ɫ'' and isnull(RName,'''')<>'''' for xml path('''') ) AS VARCHAR(100))');
Sql.Add(' ,SCJTHZ=CAST((select distinct(RName) + '' '' from YT_Plan_Rule X where X.MainID=A.MainID and RType=''<27><>̨'' and isnull(RName,'''')<>'''' for xml path('''') ) AS VARCHAR(100))');
sql.Add(' from YT_Plan_Main A');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' where isnull(Status,''0'')=''0'' ');
end;
1:
begin
sql.Add(' where isnull(Status,''0'')=''1'' ');
end;
end;
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmShuttleLSSCList.InitForm();
begin
InitButton();
ReadCxGrid('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', Tv1, '<27>ӵ<EFBFBD>˿');
InitGrid();
end;
procedure TfrmShuttleLSSCList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmShuttleLSSCList.TBEditClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmShuttleLSSCInPut := TfrmShuttleLSSCInPut.Create(Application);
with frmShuttleLSSCInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
// FSubId := Trim(Self.Order_Main.fieldbyname('SubId').AsString);
if ShowModal = 1 then
begin
InitGrid();
Self.Order_Main.Locate('MainId', frmShuttleLSSCInPut.FMainId, []);
end;
end;
finally
frmShuttleLSSCInPut.Free;
end;
end;
procedure TfrmShuttleLSSCList.TBDelClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if DelData() then
begin
// Order_Main.Delete;
initgrid();
end;
end;
function TfrmShuttleLSSCList.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete YT_Plan_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmShuttleLSSCList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel('<27><>˿<EFBFBD><CBBF>', cxGrid1);
end;
procedure TfrmShuttleLSSCList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmShuttleLSSCList.TBAddClick(Sender: TObject);
begin
try
frmShuttleLSSCInPut := TfrmShuttleLSSCInPut.Create(Application);
with frmShuttleLSSCInPut do
begin
PState := 0;
FMainId := '';
FSubId := '';
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmShuttleLSSCInPut.Free;
end;
end;
procedure TfrmShuttleLSSCList.LSNOChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmShuttleLSSCList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmShuttleLSSCList.TBViewClick(Sender: TObject);
begin
try
frmShuttleLSSCInPut := TfrmShuttleLSSCInPut.Create(Application);
with frmShuttleLSSCInPut do
begin
PState := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
// FSubId := Trim(Self.Order_Main.fieldbyname('SubId').AsString);
TBSave.Visible := False;
ScrollBox1.Enabled := False;
if ShowModal = 1 then
begin
end;
end;
finally
frmShuttleLSSCInPut.Free;
end;
end;
procedure TfrmShuttleLSSCList.TBCopyClick(Sender: TObject);
begin
if Order_Main.IsEmpty then
Exit;
try
frmShuttleLSSCInPut := TfrmShuttleLSSCInPut.Create(Application);
with frmShuttleLSSCInPut do
begin
PState := 1;
FCopyInt := 1;
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmShuttleLSSCInPut.Free;
end;
end;
procedure TfrmShuttleLSSCList.cxPageControl1Change(Sender: TObject);
begin
InitButton();
end;
procedure TfrmShuttleLSSCList.machnoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmShuttleLSSCList.v1Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalues, yjdate: string;
begin
mvalues := TCXTextEdit(Sender).Text;
with order_main do
begin
edit;
fieldbyname('MachSpeed').Value := mvalues;
post;
end;
tv1.Controller.EditingController.ShowEdit();
if (order_main.FieldByName('SCQty').AsString <> '') and (order_main.FieldByName('machspeed').AsString <> '') then
begin
yjdate := format('%.1f', [(order_main.FieldByName('SCQty').AsFloat * 10000) / order_main.FieldByName('machspeed').AsFloat / 60 / 24]);
with order_main do
begin
edit;
fieldbyname('YJDate').Value := yjdate;
post;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YN_Plan_Mach Set MachSpeed=''' + trim(mvalues) + ''', YJDate=''' + trim(yjdate) + ''' ');
sql.Add('where PMID=''' + Trim(order_main.fieldbyname('pmid').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmShuttleLSSCList.v1Column11PropertiesEditValueChanged(Sender: TObject);
var
mvalues: string;
begin
mvalues := TCXTextEdit(Sender).Text;
with Order_Main do
begin
edit;
fieldbyname('Machstatus').Value := mvalues;
post;
end;
tv1.Controller.EditingController.ShowEdit();
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YN_Plan_Mach Set Machstatus=''' + trim(mvalues) + ''' ');
sql.Add('where PMID=''' + Trim(Order_Main.fieldbyname('pmid').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmShuttleLSSCList.v1Column17PropertiesEditValueChanged(Sender: TObject);
var
mvalues, YJDate: string;
begin
mvalues := TCXTextEdit(Sender).Text;
with order_main do
begin
edit;
fieldbyname('SCQty').Value := mvalues;
post;
end;
tv1.Controller.EditingController.ShowEdit();
if (order_main.FieldByName('SCQty').AsString <> '') and (order_main.FieldByName('machspeed').AsString <> '') then
begin
YJDate := format('%.1f', [(order_main.FieldByName('SCQty').AsFloat * 10000) / order_main.FieldByName('machspeed').AsFloat / 60 / 24]);
with order_main do
begin
edit;
fieldbyname('YJDate').Value := YJDate;
post;
end;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YN_Plan_Mach Set SCQty=''' + trim(mvalues) + ''' , YJDate=''' + trim(YJDate) + ''' ');
sql.Add('where PMID=''' + Trim(order_main.fieldbyname('pmid').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmShuttleLSSCList.Y_TypeChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmShuttleLSSCList.machstatusChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmShuttleLSSCList.v1Column18PropertiesEditValueChanged(Sender: TObject);
var
mvalues: string;
begin
mvalues := TCXTextEdit(Sender).Text;
with order_main do
begin
edit;
fieldbyname('Y_PC').Value := mvalues;
post;
end;
tv1.Controller.EditingController.ShowEdit();
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update YN_Plan_Mach Set Y_PC=''' + trim(mvalues) + ''' ');
sql.Add('where PMID=''' + Trim(order_main.fieldbyname('pmid').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmShuttleLSSCList.ToolButton1Click(Sender: TObject);
begin
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YT_Plan_Main set Status=''1'' where MainId=' + quotedstr(Trim(Order_Main.fieldbyname('MainId').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('BatchNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Order_Main.Delete
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmShuttleLSSCList.ToolButton2Click(Sender: TObject);
begin
try
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.Add('update YT_Plan_Main set Status=''0'' where MainId=' + quotedstr(Trim(Order_Main.fieldbyname('MainId').AsString)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27>ӵ<EFBFBD><D3B5><EFBFBD>ֹͣ<CDA3><D6B9>')));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>ţ<EFBFBD>' + trim(Order_Main.FieldByName('BatchNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
Order_Main.Delete
except
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmShuttleLSSCList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
end.