D7myzhenyong/成品仓库(FinishedClothWarehouse.dll)/U_CKProductBCPKCListSel.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

408 lines
11 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_CKProductBCPKCListSel;
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, cxCheckBox, Menus, cxCalendar, RM_Common, RM_Class,
RM_GridReport, RM_System, RM_Dataset, BtnEdit, Math, Clipbrd, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator;
type
TfrmCKProductBCPKCListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
Tv1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
v2Column1: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
MovePanel2: TMovePanel;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ThreeColorBase: TcxStyleRepository;
SHuangSe: TcxStyle;
SkyBlue: TcxStyle;
Default: TcxStyle;
QHuangSe: TcxStyle;
Red: TcxStyle;
FontBlue: TcxStyle;
TextSHuangSe: TcxStyle;
FonePurple: TcxStyle;
FoneClMaroon: TcxStyle;
FoneRed: TcxStyle;
RowColor: TcxStyle;
handBlack: TcxStyle;
cxBlue: TcxStyle;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
RM2: TRMGridReport;
v1Column16: TcxGridDBColumn;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
RM3: TRMGridReport;
RMDBHZ: TRMDBDataSet;
RMDBPRT: TRMDBDataSet;
Panel6: TPanel;
Label31: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
TCBNOR: TComboBox;
v1Column18: TcxGridDBColumn;
Panel1: TPanel;
Label3: TLabel;
Label1: TLabel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label8: TLabel;
Label9: TLabel;
Label7: TLabel;
Label4: TLabel;
Label10: TLabel;
Label15: TLabel;
MPRTCodeName: TEdit;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
orderNo: TEdit;
MJID: TEdit;
PRThx: TEdit;
MPRTMF: TEdit;
CPType: TComboBox;
RKplace: TEdit;
PRTColor: TEdit;
v1Column5: TcxGridDBColumn;
GANGHAO: TEdit;
v1Column10: TcxGridDBColumn;
Label11: TLabel;
ConNo: TEdit;
Label12: TLabel;
RKOrdID: TEdit;
Label13: TLabel;
KuangHao: TEdit;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Label14: TLabel;
CustomerNoName: TEdit;
ToolButton1: TToolButton;
Label16: TLabel;
MPRTCode: TEdit;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
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 Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure BTLPClick(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
procedure MPRTCodeNameKeyPress(Sender: TObject; var Key: Char);
procedure CPTypeKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton1Click(Sender: TObject);
procedure CPTypeChange(Sender: TObject);
private
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
{ Private declarations }
public
issel: integer;
FCRTYPE, FSHDW, FCKORDNO, FNOTE: string;
FCRTIME: TDateTime;
{ Public declarations }
end;
var
frmCKProductBCPKCListSel: TfrmCKProductBCPKCListSel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmCKProductBCPKCListSel.FormDestroy(Sender: TObject);
begin
frmCKProductBCPKCListSel := nil;
end;
procedure TfrmCKProductBCPKCListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caHide;
end;
procedure TfrmCKProductBCPKCListSel.FormCreate(Sender: TObject);
begin
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmCKProductBCPKCListSel.InitGrid();
var
fwhere, Pwhere: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
Pwhere := SGetFilters(Panel1, 1, 2);
if trim(Pwhere) <> '' then
fwhere := fwhere + ' where ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('exec P_Page_FinishClothKC ');
sql.Add('@pageIndex=' + inttostr(CurrentPage));
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
sql.Add(',@criteria= ' + quotedstr(fwhere));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmCKProductBCPKCListSel.TBRafreshClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmCKProductBCPKCListSel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
Close;
end;
procedure TfrmCKProductBCPKCListSel.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
ReadCxGrid(trim(self.Caption), Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmCKProductBCPKCListSel.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmCKProductBCPKCListSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmCKProductBCPKCListSel.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmCKProductBCPKCListSel.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmCKProductBCPKCListSel.BTNPClick(Sender: TObject);
begin
if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.TCBNORChange(Sender: TObject);
begin
RecordsNumber := StrToInt(TCBNOR.Text);
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.MPRTCodeNameKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmCKProductBCPKCListSel.CPTypeKeyPress(Sender: TObject; var Key: Char);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmCKProductBCPKCListSel.ToolButton1Click(Sender: TObject);
var
FFMainId, FPrice, strsql, WSql, WLog: string;
begin
if CDS_Main.IsEmpty then
Exit;
if CDS_Main.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
WSql := '';
WLog := '';
MovePanel2.Visible := True;
MovePanel2.Refresh;
CDS_Main.DisableControls;
with CDS_Main do
begin
while CDS_Main.Locate('SSel', True, []) = True do
begin
begin
if WSql = '' then
WSql := quotedstr(Trim(CDS_Main.fieldbyname('mjid').AsString))
else
WSql := WSql + ',' + quotedstr(Trim(CDS_Main.fieldbyname('mjid').AsString));
CDS_Main.Delete;
end;
end;
end;
CDS_Main.EnableControls;
if WSql = '' then
begin
MovePanel2.Visible := False;
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE CK_BanCP_CKList Set CKDate=' + quotedstr(FormatDateTime('yyyy-MM-dd', FCRTIME)));
sql.Add(',KHNmae= ' + Quotedstr(FSHDW));
sql.Add(',CKType= ' + Quotedstr(FCRTYPE));
sql.Add('where CKOrdNo=' + Quotedstr(FCKOrdNo));
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE CK_BanCP_CR Set ');
sql.add(' CRTime=' + quotedstr(FormatDateTime('yyyy-MM-dd', FCRTIME)) + ',CRType=' + quotedstr(FCRTYPE) + ',CRFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.add(',CKOrdNo=' + Quotedstr(FCKOrdNo));
// sql.add(',RKOrdID=' + Quotedstr(FRKOrdID));
sql.Add(',CDDanwei= ' + Quotedstr(FSHDW));
sql.Add(',CRNote= ' + Quotedstr(FNOTE));
sql.Add(',filler= ' + Quotedstr(trim(DName)));
sql.Add(' where CK_BanCP_CR.MJID in (' + WSql + ')');
sql.Add('and CK_BanCP_CR.CRFlag=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE CK_BanCP_KC Set ');
sql.add(' KCValid=''N'' ');
sql.Add(' where CK_BanCP_KC.MJID in (' + WSql + ')');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPDATE WFB_MJJY Set MJStr2=''<27>ѳ<EFBFBD><D1B3><EFBFBD>'' ');
sql.Add(' where WFB_MJJY.MJID in (' + WSql + ')');
SQL.Add(' and WFB_MJJY.MJStr2=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
MovePanel2.Visible := False;
ModalResult := 1;
Exit;
except
MovePanel2.Visible := False;
CDS_Main.EnableControls;
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmCKProductBCPKCListSel.CPTypeChange(Sender: TObject);
begin
InitGrid();
end;
end.