D10SZKaiXiYa/E03梭织坯布检验/U_ZKJL.pas
DESKTOP-E401PHE\Administrator 53e8f4820d 11
2025-03-01 10:55:52 +08:00

374 lines
13 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_ZKJL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxDateRanges,
dxBarBuiltInMenu, U_BaseList, dxScrollbarAnnotations, cxContainer,
cxProgressBar, FrameDateSel, Clipbrd;
type
TfrmZKJL = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
CDS_HZ: TClientDataSet;
PopupMenu1: TPopupMenu;
Label3: TLabel;
Label4: TLabel;
WBCID: TcxTextEdit;
Filler: TcxTextEdit;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
frmFrameDateSel1: TfrmFrameDateSel;
ToolButton1: TToolButton;
ToolButton3: TToolButton;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
TV1Column8: TcxGridDBColumn;
TV1Column9: TcxGridDBColumn;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
CDS_2: TClientDataSet;
DS_2: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
Tv2Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
Tv2Column3: TcxGridDBColumn;
Tv2Column4: TcxGridDBColumn;
Tv2Column5: TcxGridDBColumn;
Tv2Column6: TcxGridDBColumn;
TV1Column10: TcxGridDBColumn;
TV1Column11: TcxGridDBColumn;
TV1Column12: TcxGridDBColumn;
TV1Column13: TcxGridDBColumn;
TV1Column14: TcxGridDBColumn;
TV1Column15: TcxGridDBColumn;
TV1Column16: TcxGridDBColumn;
TV1Column17: TcxGridDBColumn;
TV1Column18: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure SXBatchNOChange(Sender: TObject);
procedure FromCoNameChange(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure FormCreate(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure FromCoNamePropertiesChange(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure TV1Column3CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
private
canshu1, FStkName, canshu3: string;
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmZKJL: TfrmZKJL;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint;
{$R *.dfm}
procedure TfrmZKJL.FormDestroy(Sender: TObject);
begin
inherited;
frmZKJL := nil;
end;
procedure TfrmZKJL.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmZKJL.FormCreate(Sender: TObject);
begin
inherited;
frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 30;
canshu1 := Trim(self.fParameters1);
FStkName := Trim(self.fParameters2);
canshu3 := Trim(self.fParameters3);
end;
procedure TfrmZKJL.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' Select A.RowNo,D.PMID ');
sql.Add(' ,case when (select count(*) from Tat_WB_Card_Yarn X where X.WBCNO =D.PMID and X.RowNo=A.RowNo) > 0 ');
sql.Add(' then (select BYIOID from Tat_WB_Card_Yarn X where X.WBCNO =D.PMID and X.RowNo=A.RowNo) ');
sql.Add(' else '' '' end as BYIOID ');
sql.Add(' ,case when (select count(*) from Tat_WB_Card_Yarn X where X.WBCNO =D.PMID and X.RowNo=A.RowNo) > 0 ');
sql.Add(' then (select PH from Tat_WB_Card_Yarn X where X.WBCNO =D.PMID and X.RowNo=A.RowNo) ');
sql.Add(' else '' '' end as PH ');
sql.Add(' ,A.Y_Name ');
sql.Add(' ,PCID =(select top 1 PCID from Tat_Plan_OutPut X where X.TaskId=D.PMID ORDER BY Filltime desc ) ');
sql.Add(' into #V_RWPH ');
sql.Add(' from Tat_Plan_Yarn A ');
sql.Add(' INNER JOIN Tat_Plan_Main B on A.MainId =B.MainId ');
sql.Add(' INNER JOIN Tat_Plan_Sub C on B.MainId =C.MainId ');
sql.Add(' INNER JOIN Tat_Plan_Mach D on B.OrderNo =D.OrderNo ');
sql.Add(' select AA.*,SL=round((1-1.00*JYQty/Qty)*100,2) from (');
sql.Add(' select A.WBCID,A.WB_Code,A.WB_Name,A.WB_YarnQty,D.C_Code,D.C_Name,C.OrderNo');
sql.Add(' ,B.Qty,B.Filler,B.Filltime');
sql.Add(' ,JYQty=(select Sum(Meter) from Tat_Cloth_Inspect X INNER JOIN Tat_Plan_Card Y on X.PCID =Y.PCID where Y.WBCID =A.WBCID) ');
sql.Add(' ,XBQty=(select Sum(ClothQty) from Tat_Plan_Card Y where Y.WBCID =A.WBCID) ');
sql.Add(' ,JTH=cast((SELECT DISTINCT Loom +'';'' from Tat_Plan_Card X where X.WBCID=A.WBCID FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' ,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(' ,JSGG=cast((SELECT DISTINCT Y_Name +'';'' from V_JSPH X where X.WBCID=A.WBCID and isnull(PH,'''') <> '''' FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' ,WSPH=cast((SELECT DISTINCT PH +'';'' from #V_RWPH X where X.PCID=A.WBCID and isnull(PH,'''') <> '''' FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' ,WSGG=cast((SELECT DISTINCT Y_Name +'';'' from #V_RWPH X where X.PCID=A.WBCID and isnull(PH,'''') <> '''' FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' ,WB_ProcessType=cast((SELECT DISTINCT WB_ProcessType +'''' from V_JSPH X where X.WBCID=A.WBCID FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' ,WBFtyName=cast((SELECT DISTINCT WBFtyName +'''' from V_JSPH X where X.WBCID=A.WBCID FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' from Tat_WB_Card A left JOIN Tat_Plan_Main C on A.OrderNo=C.OrderNo left JOIN Tat_Plan_Sub D on C.MainID=D.MainID ');
sql.Add(' left JOIN Tat_Plan_OutPut B on A.WBCID=PCID and GlideName=''<27><><EFBFBD><EFBFBD>'' ');
sql.add(' where A.Filltime>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''');
sql.Add(' and A.Filltime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''');
sql.Add(' )AA');
sql.Add(' drop table #V_RWPH');
// showmessage(Sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZKJL.TBRafreshClick(Sender: TObject);
begin
ToolBar1.SetFocus;
InitGrid();
end;
procedure TfrmZKJL.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmZKJL.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmZKJL.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(Self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
InitGrid();
frmFrameDateSel1.lbl1.caption := '<27><EFBFBD><E1BFA8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>';
end;
procedure TfrmZKJL.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmZKJL.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmZKJL.N1Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmZKJL.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmZKJL.N3Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmZKJL.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmZKJL.FromCoNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmZKJL.FromCoNamePropertiesChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmZKJL.ToolButton1Click(Sender: TObject);
var
WSql: string;
begin
if CDS_Main.IsEmpty then
Exit;
WSql := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while not Eof do
begin
if CDS_Main.fieldbyname('SSel').AsBoolean then
begin
if WSql <> '' then
begin
WSql := WSql + ',' + Trim(Trim(CDS_Main.fieldbyname('CIFID').AsString));
end
else
begin
WSql := Trim(Trim(CDS_Main.fieldbyname('CIFID').AsString));
end;
end;
Next;
end;
end;
CDS_Main.Locate('SSel', True, []);
CDS_Main.EnableControls;
// ShowMessage(WSql);
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TatInsp2';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end;
procedure TfrmZKJL.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmZKJL.ToolButton3Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmZKJL.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
procedure TfrmZKJL.TV1Column3CompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if ARow1.Values[TV1Column3.Index] = ARow2.Values[TV1Column3.Index] then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmZKJL.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQueryTemp do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select X.*,DCG=cast((SELECT knitter +'';'' from Tat_Cloth_knitter XX where knitter <> '''' and XX.CIID=X.CIID FOR XML PATH(''''))as VARCHAR(600) ) ');
sql.Add(' from Tat_Cloth_Inspect X INNER JOIN Tat_Plan_Card Y on X.PCID =Y.PCID where 1=1');
sql.Add(' and Y.WBCID=' + quotedstr(Trim(CDS_Main.FieldByName('WBCID').AsString)));
// ShowMessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryTemp, CDS_2);
SInitCDSData(ADOQueryTemp, CDS_2);
end;
end.