D10szXIANGYING/E03梭织坯布检验/U_TatClothInspHZList.pas
2025-12-13 17:34:42 +08:00

699 lines
29 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_TatClothInspHZList;
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, MovePanel, Math, Clipbrd,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxTextEdit, dxSkinsCore,
dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxPC,
System.StrUtils, dxScrollbarAnnotations, cxCurrencyEdit;
type
TfrmTatClothInspHZList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
GPM_1: TcxGridPopupMenu;
Label2: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CDS_1: TClientDataSet;
begtime: TDateTimePicker;
endTime: TDateTimePicker;
IsJYTime: TCheckBox;
ToolButton4: TToolButton;
Label5: TLabel;
C_Name: TEdit;
PM_1: TPopupMenu;
PM11: TMenuItem;
N1: TMenuItem;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column22: TcxGridDBColumn;
Tv1C_Name: TcxGridDBColumn;
Tv1DXMF: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1PCID: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Tv1dxmeter: TcxGridDBColumn;
Tv1Carno: TcxGridDBColumn;
Tv1qgSL: TcxGridDBColumn;
Tv1qgMeter: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
Tv1fbJS: TcxGridDBColumn;
Tv1fbqty: TcxGridDBColumn;
Tv1CIMachNo: TcxGridDBColumn;
Tv1BCIOID: TcxGridDBColumn;
Label1: TLabel;
C_width: TEdit;
Label3: TLabel;
pcid: TEdit;
Label4: TLabel;
C_GramWeight: TEdit;
Tv1Column15: TcxGridDBColumn;
Tv1Column23: TcxGridDBColumn;
Tv1YDpf: TcxGridDBColumn;
Tv1edpf: TcxGridDBColumn;
Tv1xjPF: TcxGridDBColumn;
Tv1cspf: TcxGridDBColumn;
Tv1fqPF: TcxGridDBColumn;
Tv1FBPF: TcxGridDBColumn;
Tv1issp: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure orderNoKeyPress(Sender: TObject; var Key: Char);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure JYTypeChange(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxPageControl1Change(Sender: TObject);
procedure CDS_1BeforeOpen(DataSet: TDataSet);
procedure Tv1DataControllerFilterBeforeChange(Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet; const AFilterText: string);
procedure Tv1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems6GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string);
procedure ToolButton4Click(Sender: TObject);
procedure PM11Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure IsJYTimeClick(Sender: TObject);
procedure C_NameKeyPress(Sender: TObject; var Key: Char);
procedure Tv1PCIDCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1C_NameCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1DXMFCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1dxmeterCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1CarnoCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1CIMachNoCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1BCIOIDCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1qgSLCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1qgMeterCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
procedure Tv1isspCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
private
CurrentPage, RecordsNumber: Integer;
lstCust: TStringList;
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
canshu1: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint;
{$R *.dfm}
procedure TfrmTatClothInspHZList.SetStatus();
begin
end;
procedure TfrmTatClothInspHZList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
FreeAndNil(lstCust);
Action := caFree;
end;
procedure TfrmTatClothInspHZList.FormCreate(Sender: TObject);
begin
inherited;
lstCust := TStringList.Create;
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 20;
end;
procedure TfrmTatClothInspHZList.InitGrid();
var
WSql, WSql1: string;
begin
WSql := SGetFilters(Panel1, 1, 2);
if Trim(WSql) <> '' then
WSql := ' and ' + WSql;
if IsJYTime.Checked then
begin
WSql1 := ' and A.FillTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
WSql1 := WSql1 + ' and A.FillTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('select * from ( ');
sql.Add('select A.C_NAME, A.C_width,A.C_GramWeight,A.pcid,A.Carno,A.dxmeter,A.issp ');
sql.Add(' ,maX(B.C_Width) AS DXMF,A.CIMachNo,A.BCIOID ');
// sql.Add(' ,CAST(isNull(A.dxmeter,''1'') AS DECIMAL(18,2)) ');
// SQL.Add(' ,qgMeter=sum(meter+SHMeter)/ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
sql.Add(' ,meterall=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>'<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
sql.Add(' ,C_Widthall= ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
SQL.Add(' ,qgMeter=(select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>'<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )/ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) ');
// SQL.Add(' ,qgSL = ROUND((select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.BCIOID = A.BCIOID and X.GRADE<>''ѭ<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )*100 ');
// sql.Add(' / ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1)/CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) , 2) ');
SQL.Add(' ,qgSL = ROUND((CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) - (select sum(meter+SHMeter) FROM Tat_Cloth_Inspect X WHERE X.pcid = A.pcid and X.GRADE<>'<><D1AD><EFBFBD><EFBFBD>'' and X.CIMachNo=A.CIMachNo )');
SQL.Add(' /ISNULL(NULLIF(MAX(ISNULL(B.C_WidthNum, 1)), 0), 1) )*100 ');
sql.Add(' /CAST(ISNULL(NULLIF(A.dxmeter, ''''), 1) AS DECIMAL(18,2)) , 3) ');
SQL.Add(',SHpf=SUM(CASE WHEN ISNUMERIC(A.SHMETER) = 1 AND ISNUMERIC(A.C_WIDTH) = 1 ');
SQL.Add(' THEN CAST(A.SHMETER AS DECIMAL(18,2))/100 * CAST(A.C_WIDTH AS DECIMAL(18,2)) ');
SQL.Add(' ELSE 0 END)');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END )AS YDJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN A.meter ELSE 0 END )AS Ydqty');
SQL.Add(',YDpf=SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END )AS edJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN A.meter ELSE 0 END )AS edqty');
SQL.Add(',edpf=SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
SQL.Add(',SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END )AS xjJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN A.meter ELSE 0 END )AS xjqty');
SQL.Add(',xjpf=SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
SQL.Add(',SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END )AS fbJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27>ϲ<EFBFBD>'' THEN A.meter ELSE 0 END )AS fbqty');
SQL.Add(',fbpf=SUM(CASE WHEN A.GRADE=''<27>ϲ<EFBFBD>'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END )AS fqJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN A.meter ELSE 0 END )AS fqqty');
SQL.Add(',fqpf=SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
// SQL.Add(',SUM(CASE WHEN A.GRADE=''ѭ<><D1AD><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END )AS xhJS');
// SQL.Add(',SUM(CASE WHEN A.GRADE=''ѭ<><D1AD><EFBFBD><EFBFBD>'' THEN A.meter ELSE 0 END )AS xhqty');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END )AS csJS');
SQL.Add(',SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN A.meter ELSE 0 END )AS csqty');
SQL.Add(',cspf=SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN A.meter ELSE 0 END )*A.C_Width/100 ');
// <20><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ֶ<EFBFBD> - <20>ŵȾ<C5B5><C8BE><EFBFBD>/(<28>ŵȾ<C5B5><C8BE><EFBFBD>+С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD>+<2B><><EFBFBD>Ծ<EFBFBD><D4BE><EFBFBD>+<2B><><EFBFBD>о<EFBFBD><D0BE><EFBFBD>+<2B>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>(<28>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>))
SQL.Add(',YDRate=CAST(');
SQL.Add(' CASE ');
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 '); // fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / '); // <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) '); // fbJS
SQL.Add(' END ');
SQL.Add('AS DECIMAL(18,4)) ');
// <20><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>ֶ<EFBFBD> - <20>ŵȾ<C5B5><C8BE><EFBFBD>/(<28>ŵȾ<C5B5><C8BE><EFBFBD>+С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD>+<2B><><EFBFBD>Ծ<EFBFBD><D4BE><EFBFBD>+<2B><><EFBFBD>о<EFBFBD><D0BE><EFBFBD>+<2B>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>(<28>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>))
SQL.Add(',FBRate=CAST(');
SQL.Add(' CASE ');
SQL.Add(' WHEN (SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) = 0 '); // fbJS<4A><53><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>
SQL.Add(' THEN 0 ');
SQL.Add(' ELSE ');
SQL.Add(' CAST(SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)*100 AS DECIMAL(18,4)) / '); // <20><><EFBFBD>ӣ<EFBFBD>YDJS
SQL.Add(' CAST((SUM(CASE WHEN A.GRADE=''<27>ŵ<EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // YDJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''С<><D0A1>'' THEN 1 ELSE 0 END) + '); // xjJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>Ʒ'' THEN 1 ELSE 0 END) + '); // edJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // csJS
SQL.Add(' SUM(CASE WHEN A.GRADE=''<27><><EFBFBD><EFBFBD>'' THEN 1 ELSE 0 END) + '); // fqJS
SQL.Add(' SUM(CASE WHEN (A.GRADE=''<27>ϲ<EFBFBD>'' and A.meter>0) THEN 1 ELSE 0 END)) AS DECIMAL(18,4)) '); // fbJS
SQL.Add(' END ');
SQL.Add('AS DECIMAL(18,4)) ');
SQL.Add('from Tat_Cloth_Inspect A ');
SQL.Add(' left join BS_Cloth_IO B on A.BCIOID = B.BCIOID ');
SQL.Add(' where (A.BEFOREC_WIDTH='''' OR A.BEFOREC_WIDTH is null) ');
SQL.Add(' and (NOT EXISTS (select * from BS_Cloth_IO_mx X WHERE X.BCIOID = A.BCIOID and X.C_MXSHWidth is not NULL)) ');
SQL.Add(' and A.GRADE<>'<><D1AD><EFBFBD><EFBFBD>'' ');
SQL.Add(' and A.Carno<>'''' and A.Carno is not NULL ');
SQL.Add(WSql1);
sql.Add(' group by A.C_NAME, A.C_width,A.C_GramWeight,A.pcid,A.Carno,A.dxmeter');
sql.Add(' ,A.CIMachNo,A.BCIOID,A.issp');
sql.add(' ) T where 1=1 ');
SQL.Add(WSql);
sql.Add(' Order By T.Carno,T.pcid,BCIOID');
// showmessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
end;
end;
procedure TfrmTatClothInspHZList.IsJYTimeClick(Sender: TObject);
begin
inherited;
InitGrid();
end;
procedure TfrmTatClothInspHZList.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList.CDS_1BeforeOpen(DataSet: TDataSet);
begin
lstCust.Clear;
end;
procedure TfrmTatClothInspHZList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmTatClothInspHZList.cxPageControl1Change(Sender: TObject);
begin
CurrentPage := 1;
SetStatus();
InitGrid();
end;
procedure TfrmTatClothInspHZList.C_NameKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmTatClothInspHZList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTatClothInspHZList.FormShow(Sender: TObject);
begin
inherited;
// ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>');
CurrentPage := 1;
RecordsNumber := 500;
canshu1 := Trim(Self.fParameters1);
SetStatus();
BegDate.DateTime := SGetServerDate(ADOQueryCmd);
EndDate.DateTime := BegDate.DateTime;
InitGrid();
end;
procedure TfrmTatClothInspHZList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(Self.Caption, cxGrid1);
end;
procedure TfrmTatClothInspHZList.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmTatClothInspHZList.PM11Click(Sender: TObject);
begin
SelOKNo(CDS_1, false);
end;
procedure TfrmTatClothInspHZList.Tv1PCIDCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1PCID.Index] = ARow2.Values[Tv1PCID.Index]) and (ARow1.Values[Tv1PCID.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1qgMeterCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1qgMeter.Index] = ARow2.Values[Tv1qgMeter.Index]) and (ARow1.Values[Tv1qgMeter.Index] <> NULL) and (ARow2.Values[Tv1qgMeter.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1qgSLCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1qgSL.Index] = ARow2.Values[Tv1qgSL.Index]) and (ARow1.Values[Tv1qgSL.Index] <> NULL) and (ARow2.Values[Tv1qgSL.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1DXMFCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1DXMF.Index] = ARow2.Values[Tv1DXMF.Index]) and (ARow1.Values[Tv1DXMF.Index] <> NULL) and (ARow2.Values[Tv1DXMF.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1isspCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
if (ARow1.Values[Tv1issp.Index] = ARow2.Values[Tv1issp.Index]) and (ARow1.Values[Tv1issp.Index] <> NULL) and (ARow2.Values[Tv1issp.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1BCIOIDCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1BCIOID.Index] = ARow2.Values[Tv1BCIOID.Index]) and (ARow1.Values[Tv1BCIOID.Index] <> NULL) and (ARow2.Values[Tv1BCIOID.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1CarnoCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1Carno.Index] = ARow2.Values[Tv1Carno.Index]) and (ARow1.Values[Tv1Carno.Index] <> NULL) and (ARow2.Values[Tv1Carno.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1CIMachNoCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1CIMachNo.Index] = ARow2.Values[Tv1CIMachNo.Index]) and (ARow1.Values[Tv1CIMachNo.Index] <> NULL) and (ARow2.Values[Tv1CIMachNo.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1C_NameCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1C_Name.Index] = ARow2.Values[Tv1C_Name.Index]) and (ARow1.Values[Tv1C_Name.Index] <> NULL) and (ARow2.Values[Tv1C_Name.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1DataControllerFilterBeforeChange(Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet; const AFilterText: string);
begin
lstCust.Clear;
end;
procedure TfrmTatClothInspHZList.Tv1dxmeterCompareRowValuesForCellMerging(Sender: TcxGridColumn; ARow1: TcxGridDataRow; AProperties1: TcxCustomEditProperties; const AValue1: Variant; ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties; const AValue2: Variant; var AAreEqual: Boolean);
begin
if (ARow1.Values[Tv1PCID.Index] <> ARow2.Values[Tv1PCID.Index]) or (ARow1.Values[Tv1PCID.Index] = NULL) or (ARow2.Values[Tv1PCID.Index] = NULL) then
begin
AAreEqual := False;
exit;
end;
// if (ARow1.Values[Tv1C_Name.Index] <> ARow2.Values[Tv1C_Name.Index]) or (ARow1.Values[Tv1C_Name.Index] = NULL) or (ARow2.Values[Tv1C_Name.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
// if (ARow1.Values[Tv1issp.Index] <> ARow2.Values[Tv1issp.Index]) or (ARow1.Values[Tv1issp.Index] = NULL) or (ARow2.Values[Tv1issp.Index] = NULL) then
// begin
// AAreEqual := False;
// exit;
// end;
if (ARow1.Values[Tv1dxmeter.Index] = ARow2.Values[Tv1dxmeter.Index]) and (ARow1.Values[Tv1dxmeter.Index] <> NULL) and (ARow2.Values[Tv1dxmeter.Index] <> NULL) then
AAreEqual := True
else
AAreEqual := False;
end;
procedure TfrmTatClothInspHZList.Tv1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems6GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string);
begin
if lstCust <> nil then
AText := IntToStr(lstCust.Count);
end;
procedure TfrmTatClothInspHZList.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList.TCBNORChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList.JYTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, true);
end;
procedure TfrmTatClothInspHZList.ToolButton2Click(Sender: TObject);
var
WSql: string;
begin
if CDS_1.IsEmpty then
Exit;
if not CDS_1.Locate('SSel', True, []) 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('CIID').AsString));
end
else
begin
WSql := QuotedStr(Trim(CDS_1.fieldbyname('CIID').AsString));
end;
end;
Next;
end;
end;
CDS_1.Locate('SSel', True, []);
CDS_1.EnableControls;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'TradeClothStk';
FFiltration1 := WSql;
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmTatClothInspHZList.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>');
end;
end.