D7szChenfeng/成品仓库(FinishedClothWarehouse.dll)/U_FinishedClothKCList.pas

432 lines
12 KiB
ObjectPascal
Raw Permalink Normal View History

2025-07-22 15:51:47 +08:00
unit U_FinishedClothKCList;
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, MovePanel, Menus, cxCheckBox, Clipbrd, cxPC, Math,
cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter, 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, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue;
type
TfrmFinishedClothKCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
MovePanel2: TMovePanel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton1: TToolButton;
Panel1: TPanel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label12: TLabel;
Label14: TLabel;
Label9: TLabel;
Label13: TLabel;
P_Color: TEdit;
orderno: TEdit;
JYID: TEdit;
P_Code: TEdit;
KHName: TEdit;
JTH: TEdit;
BatchNo: TEdit;
Panel2: TPanel;
Panel3: TPanel;
cxTabControl1: TcxTabControl;
Panel6: TPanel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
Label1: TLabel;
LBCPAP: TLabel;
tbOK: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Sel: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
cxgrdPS: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxgrdMJLen: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
cxgrdConNoPS: TcxGridDBColumn;
cxgrdCKPS: TcxGridDBColumn;
cxgrdWFPS: TcxGridDBColumn;
Label11: TLabel;
JYType: TComboBox;
v1Column7: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Label2: TLabel;
conno: TEdit;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure tbOKClick(Sender: TObject);
procedure ordernoChange(Sender: TObject);
procedure ordernoKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure SetStatus();
{ Private declarations }
public
{ Public declarations }
FMainid, FSubId, FConNo, FColor, FCodeName: string;
canshu1: string;
end;
implementation
uses
U_DataLink, U_Fun, U_SysLogHelp;
{$R *.dfm}
procedure TfrmFinishedClothKCList.SetStatus();
var
i: Integer;
begin
Panel6.Visible := False;
case cxTabControl1.TabIndex of
0:
begin
ClearOrHideControls(Panel1, '0', True, True);
ClearOrHideControls(Panel1, '1', True, False);
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := false;
end;
IsVisibleTV(Panel1, TV1, '0', True);
cxgrdPS.Visible := True;
cxgrdMJLen.Visible := True;
cxgrdCKPS.Visible := True;
cxgrdConNoPS.Visible := True;
cxgrdWFPS.Visible := True;
Tv1Column9.Visible := True;
Tv1Column4.Visible := True;
Tv1Column10.Visible := True;
Tv1Column11.Visible := True;
Tv1Column13.Visible := True;
Tv1Column12.Visible := True;
// Tv1Column5.Visible := True;
// Tv1Column6.Visible := True;
end;
1:
begin
for i := 0 to tv1.ColumnCount - 1 do
begin
tv1.Columns[i].Visible := True;
end;
cxgrdPS.Visible := false;
cxgrdCKPS.Visible := false;
cxgrdConNoPS.Visible := false;
cxgrdWFPS.Visible := false;
Tv1Column9.Visible := false;
Tv1Column11.Visible := false;
ClearOrHideControls(Panel1, '0', False, True);
ClearOrHideControls(Panel1, '1', False, True);
Panel6.Visible := True;
end;
end;
end;
procedure TfrmFinishedClothKCList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFinishedClothKCList.InitGrid();
var
fwhere, Pwhere, fFSId: string;
Fwfps: Double;
begin
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' and ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
case cxTabControl1.TabIndex of
0: /////////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////////
begin
sql.Add('exec P_CPCK_Get_KCHZ ');
sql.Add('@WSql=' + quotedstr(fwhere));
end;
1: /////////////////////////<2F><>ϸ//////////////////////////////
begin
sql.Add('exec P_CPCK_Get_KC ');
sql.Add('@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(',@criteria= ' + quotedstr(fwhere));
end;
end;
// showmessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
if cxTabControl1.TabIndex = 1 then
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
if cxTabControl1.TabIndex = 0 then
begin
fFSId := CDS_Main.FieldByName('orderno').AsString;
with CDS_Main do
begin
CDS_Main.DisableControls;
First;
while not eof do
begin
if (FieldByName('CKPS').Value <> 0) or (FieldByName('PS').Value <> 0) then
begin
Edit;
Fwfps := FieldByName('ConNoPS').AsFloat - FieldByName('PS').AsFloat - FieldByName('CKPS').AsFloat;
Post;
end
else
begin
Edit;
FieldByName('CKPS').Value := 0;
Fwfps := FieldByName('ConNoPS').AsFloat;
Post;
end;
if Fwfps < 0 then
begin
Fwfps := 0;
end;
//ShowMessage(FloatToStr(Fwfsl));
Edit;
FieldByName('WFRKPS').Value := FloatToStr(Fwfps);
Post;
Next;
end;
end;
CDS_Main.EnableControls;
CDS_Main.Locate('orderno', fFSId, []);
end;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmFinishedClothKCList.TBRafreshClick(Sender: TObject);
begin
orderNo.SetFocus;
ToolBar1.SetFocus;
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmFinishedClothKCList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmFinishedClothKCList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmFinishedClothKCList.FormShow(Sender: TObject);
var
fsj: string;
begin
CurrentPage := 1;
RecordsNumber := 500;
fsj := 'select distinct Code=Null,Name=CRType from FinishedCloth_CR where CRFlag=''<27><><EFBFBD><EFBFBD>'' order by CRType ';
// SInitComBoxBySql(ADOQueryTemp, CRType, False, fsj);
ReadCxGrid(self.Caption, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmFinishedClothKCList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel('<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmFinishedClothKCList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmFinishedClothKCList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmFinishedClothKCList.ToolButton1Click(Sender: TObject);
begin
frmSysLogHelp := TfrmSysLogHelp.create(self);
with frmSysLogHelp do
begin
fModel := self.caption;
// facction:='<27><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE>ɾ<EFBFBD><C9BE>';
showmodal;
free;
end;
end;
procedure TfrmFinishedClothKCList.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmFinishedClothKCList.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmFinishedClothKCList.Tv1DblClick(Sender: TObject);
var
Tabint: integer;
begin
Tabint := cxTabControl1.TabIndex;
case Tabint of
0:
begin
AssignmentControls(Panel1, CDS_Main, '0');
cxTabControl1.TabIndex := 1;
end;
end;
end;
procedure TfrmFinishedClothKCList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmFinishedClothKCList.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
procedure TfrmFinishedClothKCList.tbOKClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
ModalResult := 1;
end;
procedure TfrmFinishedClothKCList.ordernoChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, cds_Main);
SInitCDSData20(ADOQueryMain, cds_Main);
end;
procedure TfrmFinishedClothKCList.ordernoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmFinishedClothKCList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
case cxTabControl1.TabIndex of
1:
begin
if (AViewInfo.GridRecord.Values[v1Column7.Index] = '<27><>Ʒ') then
begin
ACanvas.Brush.Color := $008080FF
end;
end;
end;
end;
end.