D10SZKaiXiYa/E01梭织生产计划/U_XBCL.pas

337 lines
8.3 KiB
ObjectPascal
Raw Permalink Normal View History

2025-03-01 10:55:52 +08:00
unit U_XBCL;
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, cxCheckBox,
BtnEdit, RM_BarCode, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu,
U_BaseList, Vcl.Menus, dxScrollbarAnnotations, cxContainer, dxCore,
cxDateUtils, cxMaskEdit, cxDropDownEdit,
cxProgressBar;
type
TfrmXBCL = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
Label3: TLabel;
ConNo: TcxTextEdit;
ADOQueryPrint: TADOQuery;
Loom: TcxTextEdit;
Label1: TLabel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
v3Column1: TcxGridDBColumn;
v3Column2: TcxGridDBColumn;
Label2: TLabel;
C_Name: TcxTextEdit;
DS_1: TDataSource;
CDS_1: TClientDataSet;
Label4: TLabel;
C_Code: TcxTextEdit;
v3Column6: TcxGridDBColumn;
v3Column8: TcxGridDBColumn;
v3Column16: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Tv1Column1: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Label5: TLabel;
OrderNo: TcxTextEdit;
Tv1Column9: TcxGridDBColumn;
Label6: TLabel;
BatchNo: TcxTextEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton3: TToolButton;
Label7: TLabel;
PCID: TcxTextEdit;
ToolButton4: TToolButton;
Label8: TLabel;
Label10: TLabel;
BegDate: TcxDateEdit;
EndDate: TcxDateEdit;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Label9: TLabel;
YarnBatchNo: TcxTextEdit;
Label11: TLabel;
CLother: TcxTextEdit;
Tv1Column2: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
private
FInt, PFInt: Integer;
FFMainID, BPFlag: string;
procedure InitGrid();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint, U_TatCardInPut1;
{$R *.dfm}
procedure TfrmXBCL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
WriteCxGrid('DCG13', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmXBCL.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmXBCL.InitGrid();
begin
FFMainID := '';
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add(' select A.*,C.*,D.*,JSPH=cast((SELECT DISTINCT PH +'';'' from V_JSPH X where X.WBCID=A.WBCID and isnull(PH,'''') <> '''' FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' from Tat_Plan_Card A ');
sql.Add(' inner join Tat_Plan_Sub C on A.SubId=C.SubId');
sql.Add(' inner join Tat_Plan_Main D on A.MainId=D.MainId');
sql.Add(' where isnull(A.CLother,'''') <> '''' ');
sql.Add(' and A.ClothTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.Add(' and A.ClothTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + '''');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmXBCL.N1Click(Sender: TObject);
begin
SelOKNo(cds_1, true)
end;
procedure TfrmXBCL.N2Click(Sender: TObject);
begin
SelOKNo(cds_1, false);
end;
procedure TfrmXBCL.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmXBCL.ToolButton1Click(Sender: TObject);
var
WSql: string;
begin
if CDS_1.IsEmpty then
Exit;
Tv1.OnFocusedRecordChanged := nil;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
WSql := SelcdsKey(CDS_1, ['PCID'])[0];
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FPreviewPrint := False;
FLMType := 'TatPlanCard';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
Self.InitGrid();
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update Tat_Plan_Card ');
sql.Add('set PRTer=' + quotedstr(DName));
sql.Add(', PRTCount=PRTCount+1');
sql.Add(', PRTDate=getdate()');
sql.Add('where EXISTS(select X.RTValue from [dbo].[F_Tool_SplitString](' + QuotedStr(WSql) + ','','') X where Tat_Plan_Card.PCID=X.RTValue ) ');
ExecSQL;
end;
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmXBCL.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmXBCL.ToolButton3Click(Sender: TObject);
var
WSql: string;
begin
if CDS_1.IsEmpty then
Exit;
Tv1.OnFocusedRecordChanged := nil;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
WSql := '';
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not Eof do
begin
if CDS_1.fieldbyname('SSel').AsBoolean then
begin
if WSql <> '' then
begin
WSql := WSql + ',' + (Trim(CDS_1.fieldbyname('PCID').AsString));
end
else
begin
WSql := (Trim(CDS_1.fieldbyname('PCID').AsString));
end;
end;
Next;
end;
end;
CDS_1.Locate('SSel', True, []);
CDS_1.EnableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('exec P_Tat_Card_Del ');
Sql.Add('@PCIDS=' + quotedstr(Trim(WSql)));
Sql.Add(',@DCode=' + Quotedstr(DCode));
Sql.Add(',@DName=' + Quotedstr(DName));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
application.MessageBox(<><C9BE><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmXBCL.ToolButton4Click(Sender: TObject);
begin
try
frmTatCardInPut1 := TfrmTatCardInPut1.Create(Application);
with frmTatCardInPut1 do
begin
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmTatCardInPut1.Free;
end;
end;
procedure TfrmXBCL.ConNoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmXBCL.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption) + '1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
EndDate.Date := SGetServerDate(ADOQueryTemp);
BegDate.Date := EndDate.Date - 1;
InitGrid();
end;
procedure TfrmXBCL.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.