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

351 lines
11 KiB
ObjectPascal
Raw Normal View History

2025-07-22 15:51:47 +08:00
unit U_WarpRollerCklist;
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, RM_Common,
RM_Class, RM_e_Xls, RM_GridReport, RM_System, RM_Dataset, cxTextEdit, cxPC,
cxCheckBox, Menus, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinValentine, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue;
type
TfrmWarpRollerCklist = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label2: TLabel;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOPrint: TADOQuery;
RMXLSExport1: TRMXLSExport;
JZRKNo: TEdit;
Label7: TLabel;
RMDB_Main: TRMDBDataSet;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle_gridRow: TcxStyle;
cxStyle_gridFoot: TcxStyle;
cxStyle_gridHead: TcxStyle;
cxStyle_gridGroupBox: TcxStyle;
cxStyle_yellow: TcxStyle;
cxStyle_Red: TcxStyle;
cxStyle_fontBlack: TcxStyle;
cxStyle_fontclFuchsia: TcxStyle;
cxStyle_fontclPurple: TcxStyle;
cxStyle_fontclGreen: TcxStyle;
cxStyle_fontclBlue: TcxStyle;
cxStyle_fontclTeal: TcxStyle;
cxStyle_fontclOlive: TcxStyle;
Label8: TLabel;
ToFactoryName: TEdit;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
PCID: TEdit;
Label14: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Ssel: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1CRTime: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Label3: TLabel;
Label4: TLabel;
P_CODE: TEdit;
edtKaNo: TEdit;
Tv1Column13: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure OrderNoChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure v1Column6CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
procedure InitGrid();
procedure InitForm();
{ Private declarations }
public
canshu1, canshu2: string;
{ Public declarations }
end;
var
frmWarpRollerCklist: TfrmWarpRollerCklist;
implementation
uses
U_DataLink, U_Fun10, U_ZDYHelp, U_WarpRollerCk;
{$R *.dfm}
procedure TfrmWarpRollerCklist.InitForm();
var
fsj: string;
begin
readCxGrid(self.Caption + 'TV1', Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
fsj := 'select distinct(CRType) name from CK_WarpBeam_CR where CRFlag=''<27><><EFBFBD><EFBFBD>'' ';
SInitComBoxBySql(ADOQueryCmd, CRType, False, fsj);
end;
procedure TfrmWarpRollerCklist.InitGrid();
begin
try
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' select A.* ,edtKaNo,C_TouWen,ZJPiLen,C_ShangPai,C_PiE,C_Len,APMachineNo ');
SQL.ADD(',CarNo2=(SELECT MACHNO FROM BS_Machine k where k.machid= (SELECT top 1 CARNO FROM CK_YgCl E WHERE E.MJID=A.PCID ANd CLTYPE=''<27><><EFBFBD><EFBFBD>''))');
SQL.Add(',P_CODE=(select TOP 1 P_CODE from PD_Plan_SUB e where e.SUBID=(select TOP 1 SUBID from PD_Plan_Card_MS f where f.pcid=A.pcid))');
SQL.Add(',P_codeNAME=(select TOP 1 P_codeNAME from PD_Plan_SUB e where e.SUBID=(select TOP 1 SUBID from PD_Plan_Card_MS f where f.pcid=A.pcid))');
SQL.Add('from CK_WarpBeam_CR A LEFT JOIN PD_PLAN_cARD B ON A.PCID=B.PCID ');
sql.Add(' where A.CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.CRTime>=' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
SQL.Add(' and A.CRTime<' + quotedstr(Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1))));
SQL.Add(' and A.Valid =''Y'' ');
open;
end;
SCreateCDS20(adoqueryMain, CDS_Main);
SInitCDSData20(adoqueryMain, CDS_Main);
finally
end;
end;
procedure TfrmWarpRollerCklist.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure TfrmWarpRollerCklist.FormDestroy(Sender: TObject);
begin
frmWarpRollerCklist := nil;
end;
procedure TfrmWarpRollerCklist.TBAddClick(Sender: TObject);
begin
frmWarpRollerCk := TfrmWarpRollerCk.create(self);
with frmWarpRollerCk do
begin
fkeyNo := '';
fType := 0;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('crNo', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmWarpRollerCklist.OrderNoChange(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 TfrmWarpRollerCklist.FormShow(Sender: TObject);
begin
InitForm();
InitGrid();
end;
procedure TfrmWarpRollerCklist.FormCreate(Sender: TObject);
begin
EndDate.Date := SGetServerDate10(ADOQueryTmp);
BegDate.Date := EndDate.Date;
cxGrid1.Align := alclient;
canshu1 := trim(DParameters1);
end;
procedure TfrmWarpRollerCklist.TBCloseClick(Sender: TObject);
begin
writeCxGrid(self.Caption + 'TV1', Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
close;
end;
procedure TfrmWarpRollerCklist.TBEditClick(Sender: TObject);
var
WSql: string;
begin
if cds_main.IsEmpty then
exit;
WSql := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
if WSql <> '' then
WSql := WSql + '' + ',' + QuotedStr(Trim(CDS_Main.fieldbyname('JZRKID').AsString))
else
WSql := ' in (' + QuotedStr(Trim(CDS_Main.fieldbyname('JZRKID').AsString));
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
WSql := WSql + ')';
frmWarpRollerCk := TfrmWarpRollerCk.create(self);
with frmWarpRollerCk do
begin
fkeyNo := WSql;
fType := 1;
JZRKNo.Enabled := false;
if showmodal = 1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('JZRKID', trim(fkeyNo), []);
end;
free;
end;
end;
procedure TfrmWarpRollerCklist.TBDelClick(Sender: TObject);
var
YFID, CRID, note: string;
begin
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
if Trim(CDS_Main.FieldByName('JZRKID').AsString) <> '' then
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)));
if Trim(CDS_Main.FieldByName('crtype').AsString) = <><D6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
sql.Add('DELETE CK_YGCL where MJID=' + quotedstr(Trim(CDS_Main.FieldByName('PCID').AsString)));
SQL.Add('AND CLTYPE=''<27><><EFBFBD><EFBFBD>'' ');
end;
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;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmWarpRollerCklist.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmWarpRollerCklist.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmWarpRollerCklist.v1Column6CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
var
colIdx0, colIdx1: integer;
begin
colIdx0 := tv1.GetColumnByFieldName('CRNO').Index;
if (ARow1.Values[colIdx0] = ARow2.Values[colIdx0]) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmWarpRollerCklist.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmWarpRollerCklist.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
end.