D10gmBitao/D01针织生产计划/U_KnitPlanCard.pas
DESKTOP-E401PHE\Administrator 630f9184a2 12345
2025-04-11 10:54:54 +08:00

440 lines
12 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_KnitPlanCard;
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,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,
U_BaseList, Vcl.Menus, dxSkinBasic, 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, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint, dxSkinWXI,
dxSkinXmas2008Blue, dxScrollbarAnnotations;
type
TfrmKnitPlanCard = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
Label3: TLabel;
ConNo: TEdit;
ADOQueryPrint: TADOQuery;
CarNo: TEdit;
Label1: TLabel;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
v3Column1: TcxGridDBColumn;
v3Column2: TcxGridDBColumn;
Label2: TLabel;
C_Name: TEdit;
DS_1: TDataSource;
CDS_1: TClientDataSet;
Label4: TLabel;
C_Code: TEdit;
v3Column6: TcxGridDBColumn;
v3Column8: TcxGridDBColumn;
v3Column14: TcxGridDBColumn;
v3Column15: TcxGridDBColumn;
v3Column16: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Label5: TLabel;
OrderNo: TEdit;
Tv1Column9: TcxGridDBColumn;
Label6: TLabel;
BatchNo: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton3: TToolButton;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
IsOffMachine: TComboBox;
Label7: TLabel;
ToolButton4: TToolButton;
Panel3: TPanel;
Label8: TLabel;
JTH: TComboBox;
Button1: TButton;
Button2: TButton;
Tv1Column19: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: 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);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
FInt, PFInt: Integer;
FFMainID, BPFlag, FFPCID: string;
procedure InitGrid();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint;
{$R *.dfm}
procedure TfrmKnitPlanCard.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
WriteCxGrid('DCG13', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2');
end;
procedure TfrmKnitPlanCard.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmKnitPlanCard.InitGrid();
begin
FFMainID := '';
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select isnull(IsOffMachine,''<27><>'') AS IsOffMachine ');
sql.Add(' ,A.*,C.*,D.*,ISJY=cast(A.Status AS bit)');
sql.Add(' from Knit_Plan_Card A ');
sql.Add(' inner join knit_Plan_Sub C on A.SubId=C.SubId');
sql.Add(' inner join knit_Plan_Main D on A.MainId=D.MainId');
sql.Add(' where A.Status = ''0'' ');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(' and PRTCount=0');
sql.Add(' Order by A.Filltime Desc');
end;
1:
begin
sql.Add(' and PRTCount>0');
sql.Add(' Order by A.PRTDate Desc');
end;
2:
begin
sql.Add(' Order by A.PRTDate Desc,A.Filltime Desc');
end;
end;
// ShowMessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmKnitPlanCard.N1Click(Sender: TObject);
begin
SelOKNo(cds_1, true)
end;
procedure TfrmKnitPlanCard.N2Click(Sender: TObject);
begin
SelOKNo(cds_1, false);
end;
procedure TfrmKnitPlanCard.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmKnitPlanCard.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 := '';
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 + ',' + QuotedStr(Trim(CDS_1.fieldbyname('PCID').AsString));
end
else
begin
WSql := QuotedStr(Trim(CDS_1.fieldbyname('PCID').AsString));
end;
end;
Next;
end;
end;
CDS_1.Locate('SSel', True, []);
CDS_1.EnableControls;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FPreviewPrint := False;
FLMType := 'KnitPlanCard';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
// Self.InitGrid();
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('update Knit_Plan_Card ');
sql.Add('set PRTer=' + quotedstr(DName));
sql.Add(', PRTCount=PRTCount+1');
sql.Add(', PRTDate=getdate()');
sql.Add(' where PCID in (' + WSql + ')');
ExecSQL;
end;
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmKnitPlanCard.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2');
end;
procedure TfrmKnitPlanCard.ToolButton3Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while CDS_1.Locate('SSel', True, []) do
begin
while CDS_1.FieldByName('SSel').AsBoolean = True do
begin
if Trim(CDS_1.fieldbyname('IsOffMachine').AsString) <> '<27><>' then
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update knit_Plan_Card set Status =''-1'' ');
sql.Add(' ,DelId =''' + trim(DCode) + '''');
sql.Add(' ,Deler =''' + trim(DName) + '''');
sql.Add(' ,Deltime =getdate() ');
sql.Add(' where PCID=''' + Trim(CDS_1.fieldbyname('PCID').AsString) + '''');
sql.Add(' and Status =''0'' ');
ExecSQL;
end;
end;
CDS_1.Delete;
end;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_1.EnableControls;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
end;
procedure TfrmKnitPlanCard.ToolButton4Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if CDS_1.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
panel3.Visible := True;
FFPCID := Trim(CDS_1.fieldbyname('PCID').AsString);
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select MCNO as name from BS_Machine order by [dbo].[getNum](MCNO)');
Open;
end;
JTH.Items.Clear; //<2F><><EFBFBD><EFBFBD>
while not ADOQueryCmd.eof do
begin
JTH.Items.Add(ADOQueryCmd.fieldbyname('name').AsString);
ADOQueryCmd.next;
end;
end;
procedure TfrmKnitPlanCard.Button1Click(Sender: TObject);
begin
if trim(JTH.text) = '' then
begin
Application.MessageBox('<27><>̨<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD>޸Ļ<DEB8>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while CDS_1.Locate('SSel', True, []) do
begin
while CDS_1.FieldByName('SSel').AsBoolean = True do
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' update knit_Plan_Card set XGer =''' + trim(DName) + '''');
sql.Add(' ,XGTime =getdate() ');
sql.Add(' ,YuanCarNo =CarNo');
sql.Add(' ,CarNo =''' + trim(JTH.Text) + '''');
sql.Add(' where PCID=''' + Trim(CDS_1.fieldbyname('PCID').AsString) + '''');
sql.Add(' and Status =''0'' ');
// ShowMessage(sql.text);
ExecSQL;
end;
Edit;
CDS_1.FieldByName('CarNo').Value := trim(JTH.Text);
CDS_1.FieldByName('SSel').Value := false;
end;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_1.EnableControls;
Application.MessageBox('<27>޸<EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
Exit;
end;
panel3.Visible := false;
CDS_1.Locate('PCID', FFPCID, []);
end;
procedure TfrmKnitPlanCard.Button2Click(Sender: TObject);
begin
panel3.Visible := false;
end;
procedure TfrmKnitPlanCard.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 TfrmKnitPlanCard.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2');
// fsj := 'select distinct Code=Null,Name=MCCJ from Machine Group by MCCJ ';
// SInitComBoxBySql(ADOQueryTemp, CheJian, False, fsj);
InitGrid();
end;
procedure TfrmKnitPlanCard.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.