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

400 lines
12 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_LCKQuery;
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
TfrmLCKQuery = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
Label3: TLabel;
LCKID: TEdit;
ADOQueryPrint: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
Label5: TLabel;
OrderNo: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxgrdbclmnTv3Column8: TcxGridDBColumn;
cxgrdbclmnTv3Column1: TcxGridDBColumn;
cxgrdbclmnTv3Column2: TcxGridDBColumn;
cxgrdbclmnTv3Column9: TcxGridDBColumn;
cxgrdbclmnTv3Column4: TcxGridDBColumn;
cxgrdbclmnTv3Column5: TcxGridDBColumn;
cxgrdbclmnTv3Column3: TcxGridDBColumn;
cxgrdbclmnTv3Column7: TcxGridDBColumn;
cxgrdbclmnTv3Column6: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
lbl1: TLabel;
lbl2: TLabel;
cxgrdbclmnTv1Column1: TcxGridDBColumn;
cxgrdbclmnTv1Column2: TcxGridDBColumn;
cxgrdbclmnTv1Column3: TcxGridDBColumn;
cxgrdbclmnTv1Column4: TcxGridDBColumn;
cxgrdbclmnTv1Column5: TcxGridDBColumn;
pnl1: TPanel;
lbl3: TLabel;
edt1: TEdit;
btn1: TButton;
btn2: TButton;
btn3: TToolButton;
cxgrdbclmnTv1Column6: TcxGridDBColumn;
btn4: TToolButton;
cxgrdbclmnTv1Column7: TcxGridDBColumn;
cxgrdbclmnTv1Column8: TcxGridDBColumn;
cxgrdbclmnTv1Column9: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure LCKIDChange(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 btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure btn4Click(Sender: TObject);
private
FInt, PFInt: Integer;
FFMainID, BPFlag, FFPCID, FLCKID: string;
procedure InitGrid();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint;
{$R *.dfm}
procedure TfrmLCKQuery.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
WriteCxGrid('DCG13', Tv1, '<27><><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ѯ');
end;
procedure TfrmLCKQuery.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmLCKQuery.InitGrid();
begin
FFMainID := '';
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
sql.Clear;
sql.Add('select count(I.PCID) IONumber,count(H.PCID) InspectNumber,OutNumber=(select count(C.LCKID) OutNumber from PB_LCK C inner join PB_CK_LCK B on C.LCKID=B.LCKID where B.LCKID = A.LCKID),A.LCKID,A.MainID,A.C_Code ');
sql.Add(',A.C_Name,A.KKDate,A.KKPS,A.HCLNote,A.CraFt,A.CarNumber,A.IFBL,E.C_Color,E.C_Width,E.C_GramWeight,F.CarNo');
sql.Add(' from PB_LCK A INNER JOIN PB_CK_LCK G on A.LCKID = G.LCKID ');
sql.Add(' INNER JOIN knit_Plan_Main D on A.MainId = D.Mainid ');
sql.Add(' INNER JOIN Knit_Plan_Sub E on D.MainId = E.MainId ');
sql.Add(' INNER JOIN Knit_Plan_Card F on F.PCID = G.PCID ');
sql.Add(' left JOIN Trade_Cloth_Inspect H on H.MainId = A.MainID and H.PCID = G.PCID ');
sql.add(' left JOIN V_Trade_Cloth_Io I on H.MainId = A.MainID and I.PCID = G.PCID and I.IOFlag = '''+'<27><><EFBFBD><EFBFBD>''');
sql.Add(' where A.KKDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and A.KKDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''');
sql.Add(' GROUP BY A.LCKID,A.MainID,A.C_Code,A.C_Name,A.KKDate,A.KKPS,A.HCLNote,A.CraFt,A.CarNumber,A.IFBL,E.C_Color,E.C_Width,E.C_GramWeight,F.CarNo');
//ShowMessage(sql.text);
Open;
end;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmLCKQuery.N1Click(Sender: TObject);
begin
SelOKNo(cds_1, true)
end;
procedure TfrmLCKQuery.N2Click(Sender: TObject);
begin
SelOKNo(cds_1, false);
end;
procedure TfrmLCKQuery.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmLCKQuery.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('LCKID').AsString));
end
else
begin
WSql := QuotedStr(Trim(CDS_1.fieldbyname('LCKID').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 := 'LCKQuery';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
// Self.InitGrid();
with ADOQueryCmd do
begin
end;
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmLCKQuery.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ѯ');
end;
procedure TfrmLCKQuery.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 TfrmLCKQuery.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('IFBL').Index] = '<27><>' then
begin
//<2F><><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ɫ
if AViewInfo.Item.Index = 14 then
begin
// <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ɫ
ACanvas.Brush.Color := clYellow;
end;
end;
end;
procedure TfrmLCKQuery.LCKIDChange(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 TfrmLCKQuery.FormShow(Sender: TObject);
begin
ReadCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ѯ');
BegDate.DateTime := SGetServerDate(ADOQueryTemp);
EndDate.DateTime := SGetServerDate(ADOQueryTemp);
InitGrid();
end;
procedure TfrmLCKQuery.btn1Click(Sender: TObject);
begin
with ADOQueryCmd do
begin
Close;
Sql.Clear;
Sql.Add('update PB_LCK set CarNumber = ' + quotedstr(trim(edt1.text)));
Sql.Add(' where LCKID = ' + quotedstr(trim(FLCKID)));
//showmessage(sql.Text);
ExecSQL;
end;
edt1.Text := '';
pnl1.Visible := false;
cxGrid1.Enabled := true;
InitGrid();
end;
procedure TfrmLCKQuery.btn2Click(Sender: TObject);
begin
pnl1.Visible := false;
cxGrid1.Enabled := true;
edt1.Text := '';
end;
procedure TfrmLCKQuery.btn3Click(Sender: TObject);
begin
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
FLCKID := Trim(CDS_1.fieldbyname('LCKID').AsString);
edt1.Text := Trim(CDS_1.fieldbyname('CarNumber').AsString);
pnl1.Visible := true;
cxGrid1.Enabled := false;
edt1.SetFocus;
end;
procedure TfrmLCKQuery.btn4Click(Sender: TObject);
begin
if not CDS_1.Locate('SSel', True, []) then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
Exit;
end;
FLCKID := Trim(CDS_1.fieldbyname('LCKID').AsString);
with ADOQueryCmd do
begin
Close;
Sql.Clear;
if (CDS_1.fieldbyname('IFBL').AsString = '<27><>') or (CDS_1.fieldbyname('IFBL').AsString = '') or (CDS_1.fieldbyname('IFBL').AsString = null) then
begin
Sql.Add('update PB_LCK set IFBL = ' + quotedstr('<27><>'));
end
else
begin
Sql.Add('update PB_LCK set IFBL = ' + quotedstr('<27><>'));
end;
Sql.Add(' where LCKID = ' + quotedstr(trim(FLCKID)));
//showmessage(sql.Text);
ExecSQL;
end;
TBRafresh.Click;
end;
procedure TfrmLCKQuery.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.