D10szXIANGYING/E03梭织坯布检验/U_TatClothInspHZList2.pas
2026-01-14 17:31:53 +08:00

867 lines
38 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_TatClothInspHZList2;
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,
U_BaseInput, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxTextEdit,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,
U_BaseList, cxPC, System.StrUtils, dxScrollbarAnnotations, cxCurrencyEdit,
System.ImageList, Vcl.ImgList;
type
TfrmTatClothInspHZList2 = class(TfrmBaseInput)
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;
N2: TMenuItem;
N3: TMenuItem;
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);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
private
CurrentPage, RecordsNumber: Integer;
lstCust: TStringList;
procedure InitGrid();
procedure SetStatus();
procedure CopyColumnSummaryToClipboard(AColumn: TcxGridColumn);
{ Private declarations }
public
fC_Name, fissp, fCarno, fpcid: string;
fEndDateTime,fBegDateTime : TDateTime;
{ Public declarations }
end;
var
frmTatClothInspHZList2: TfrmTatClothInspHZList2;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint, U_TatInspSHHZ;
{$R *.dfm}
procedure TfrmTatClothInspHZList2.SetStatus();
begin
end;
procedure TfrmTatClothInspHZList2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
FreeAndNil(lstCust);
Action := caFree;
end;
procedure TfrmTatClothInspHZList2.FormCreate(Sender: TObject);
begin
inherited;
lstCust := TStringList.Create;
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 20;
end;
procedure TfrmTatClothInspHZList2.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,issp=isnull(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,isnull(A.issp,'''')');
//
// sql.add(' ) T where 1=1 ');
// SQL.Add(WSql);
// sql.Add(' Order By T.Carno,T.pcid,ISNULL(CAST(NULLIF(dxmeter, '''') AS DECIMAL), 0),BCIOID ');
//// showmessage(sql.text);
// Open;
// end;
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,issp=isnull(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.C_Name= ' + QuotedStr(Trim(fC_Name)));
SQL.Add(' and A.Carno= ' + QuotedStr(Trim(fCarno)));
SQL.Add(' and A.pcid= ' + QuotedStr(Trim(fpcid)));
SQL.Add(' and isnull(A.issp,'''') = ' + QuotedStr(Trim(fissp)));
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,isnull(A.issp,'''')');
sql.add(' ) T where 1=1 ');
SQL.Add(WSql);
sql.Add(' Order By T.Carno,T.pcid,ISNULL(CAST(NULLIF(dxmeter, '''') AS DECIMAL), 0),BCIOID ');
// showmessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
TV1.DataController.Filter.Clear;
end;
end;
procedure TfrmTatClothInspHZList2.IsJYTimeClick(Sender: TObject);
begin
inherited;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.CDS_1BeforeOpen(DataSet: TDataSet);
begin
lstCust.Clear;
end;
procedure TfrmTatClothInspHZList2.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmTatClothInspHZList2.cxPageControl1Change(Sender: TObject);
begin
CurrentPage := 1;
SetStatus();
InitGrid();
end;
procedure TfrmTatClothInspHZList2.C_NameKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmTatClothInspHZList2.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTatClothInspHZList2.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>2');
CurrentPage := 1;
RecordsNumber := 500;
SetStatus();
BegDate.DateTime := fBegDateTime;
EndDate.DateTime := fEndDateTime;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
with CDS_1 do
begin
Filtered := false;
Filter := ' ssel = 1';
Filtered := true;
end;
TcxGridToExcel(Self.Caption, cxGrid1);
InitGrid();
end;
procedure TfrmTatClothInspHZList2.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmTatClothInspHZList2.PM11Click(Sender: TObject);
begin
SelOKNo(CDS_1, false);
end;
procedure TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.Tv1DataControllerFilterBeforeChange(Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet; const AFilterText: string);
begin
lstCust.Clear;
end;
procedure TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.Tv1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems6GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string);
begin
if lstCust <> nil then
AText := IntToStr(lstCust.Count);
end;
procedure TfrmTatClothInspHZList2.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.TCBNORChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.JYTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmTatClothInspHZList2.N1Click(Sender: TObject);
begin
SelOKNo(CDS_1, true);
end;
procedure TfrmTatClothInspHZList2.N2Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmTatClothInspHZList2.N3Click(Sender: TObject);
begin
CopyColumnSummaryToClipboard(TV1.Controller.FocusedColumn);
end;
procedure TfrmTatClothInspHZList2.CopyColumnSummaryToClipboard(AColumn: TcxGridColumn);
var
AView: TcxGridDBTableView;
SummaryIndex: Integer;
SummaryText: string;
begin
AView := Tv1;
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>еĻ<D0B5><C4BB><EFBFBD><EFBFBD><EFBFBD>
SummaryIndex := AView.DataController.Summary.FooterSummaryItems.IndexOfItemLink(AColumn);
if SummaryIndex <> -1 then
begin
SummaryText := AView.DataController.Summary.FooterSummaryTexts[SummaryIndex];
Clipboard.AsText := SummaryText;
end
else
ShowMessage(<>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>еĻ<D0B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmTatClothInspHZList2.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 TfrmTatClothInspHZList2.ToolButton4Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>2');
end;
end.