531 lines
14 KiB
ObjectPascal
531 lines
14 KiB
ObjectPascal
unit U_FinishedClothTJing;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
|
||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
|
||
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
|
||
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
||
cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter, RM_Dataset, RM_System,
|
||
RM_Common, RM_Class, RM_GridReport, RM_e_Xls, Menus, MovePanel, cxTextEdit,
|
||
cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic,
|
||
RM_e_Jpeg, RM_e_txt, RM_e_csv, RM_E_llPDF, Math, Clipbrd, cxPC, cxLookAndFeels,
|
||
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore,
|
||
dxSkinsDefaultPainters, dxSkinscxPCPainter;
|
||
|
||
type
|
||
TfrmFinishedClothTJing = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBClose: TToolButton;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DS_Main: TDataSource;
|
||
PopupMenu1: TPopupMenu;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
RM2: TRMGridReport;
|
||
RMDB_Main: TRMDBDataSet;
|
||
ADOQueryPrint: TADOQuery;
|
||
MovePanel2: TMovePanel;
|
||
RMXLSExport1: TRMXLSExport;
|
||
N3: TMenuItem;
|
||
X1: TMenuItem;
|
||
Order_Main: TClientDataSet;
|
||
Panel3: TPanel;
|
||
Panel2: TPanel;
|
||
Panel4: TPanel;
|
||
cxTabControl1: TcxTabControl;
|
||
Panel6: TPanel;
|
||
Label1: TLabel;
|
||
LBCPAP: TLabel;
|
||
BTLP: TButton;
|
||
BTNP: TButton;
|
||
TCBNOR: TComboBox;
|
||
Panel1: TPanel;
|
||
Label7: TLabel;
|
||
Label5: TLabel;
|
||
lab1: TLabel;
|
||
Label2: TLabel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
CPPERSON: TEdit;
|
||
P_Code: TEdit;
|
||
IsJYTime: TCheckBox;
|
||
P_CodeName: TEdit;
|
||
Label6: TLabel;
|
||
KHName: TEdit;
|
||
Label8: TLabel;
|
||
ConNo: TEdit;
|
||
ClType: TEdit;
|
||
ToolButton1: TToolButton;
|
||
cxGrid1: TcxGrid;
|
||
Tv1: TcxGridDBTableView;
|
||
v1Column3: TcxGridDBColumn;
|
||
v1Column4: TcxGridDBColumn;
|
||
v1Column1: TcxGridDBColumn;
|
||
v1Column10: TcxGridDBColumn;
|
||
v1Column6: TcxGridDBColumn;
|
||
v1Column12: TcxGridDBColumn;
|
||
v1Column19: TcxGridDBColumn;
|
||
v1Column9: TcxGridDBColumn;
|
||
v1Column2: TcxGridDBColumn;
|
||
v1Column32: TcxGridDBColumn;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column8: TcxGridDBColumn;
|
||
v1Column11: TcxGridDBColumn;
|
||
Tv1Column1: TcxGridDBColumn;
|
||
Tv1Column2: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
Label4: TLabel;
|
||
edtkano: TEdit;
|
||
Tv1Column3: TcxGridDBColumn;
|
||
Tv1Column4: TcxGridDBColumn;
|
||
Tv1Column5: TcxGridDBColumn;
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TBFindClick(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
procedure MJStr2Change(Sender: TObject);
|
||
procedure KHConNOKeyPress(Sender: TObject; var Key: Char);
|
||
procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure N3Click(Sender: TObject);
|
||
procedure X1Click(Sender: TObject);
|
||
procedure TCBNORChange(Sender: TObject);
|
||
procedure BTLPClick(Sender: TObject);
|
||
procedure BTNPClick(Sender: TObject);
|
||
procedure Tv1DblClick(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
procedure APIDKeyPress(Sender: TObject; var Key: Char);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
private
|
||
DQdate: TDateTime;
|
||
FLeft, FTop: Integer;
|
||
FDCheG, FPCode: string;
|
||
CurrentPage, RecordsNumber: Integer;
|
||
procedure InitGrid();
|
||
procedure InitForm();
|
||
function Savedata(): Boolean;
|
||
{ Private declarations }
|
||
public
|
||
FFInt: Integer;
|
||
canshu1: string;
|
||
procedure SetStatus();
|
||
{ Public declarations }
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_Fun, U_MJEdit, U_ZDYHelp, U_SysLogHelp;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmFinishedClothTJing.SetStatus();
|
||
var
|
||
i: Integer;
|
||
begin
|
||
|
||
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);
|
||
v1Column10.Visible := True;
|
||
v1Column1.Visible := True;
|
||
Tv1Column1.Visible := True;
|
||
Tv1Column3.Visible := True;
|
||
Tv1Column4.Visible := True;
|
||
Tv1Column5.Visible := True;
|
||
end;
|
||
|
||
1:
|
||
begin
|
||
for i := 0 to tv1.ColumnCount - 1 do
|
||
begin
|
||
tv1.Columns[i].Visible := True;
|
||
end;
|
||
v1Column1.Visible := False;
|
||
ClearOrHideControls(Panel1, '0', False, True);
|
||
ClearOrHideControls(Panel1, '1', False, True);
|
||
|
||
// Tv1Column4.Visible := false;
|
||
// Tv1Column5.Visible := false;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.FormCreate(Sender: TObject);
|
||
begin
|
||
cxgrid1.Align := alClient;
|
||
DQdate := SGetServerDate(ADOQueryTemp);
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.TBCloseClick(Sender: TObject);
|
||
begin
|
||
WriteCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Close;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.InitGrid();
|
||
var
|
||
fwhere, Pwhere: string;
|
||
begin
|
||
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
|
||
MovePanel2.Visible := True;
|
||
MovePanel2.Refresh;
|
||
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
|
||
Pwhere := SGetFilters(Panel1, 1, 2);
|
||
if trim(Pwhere) <> '' then
|
||
fwhere := fwhere + ' where ' + trim(Pwhere);
|
||
|
||
sql.Add('exec P_CK_Cloth_TJHZ ');
|
||
sql.add('@Begdate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime))));
|
||
sql.Add(',@enddate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1))));
|
||
sql.Add(',@WSql=' + QuotedStr(fwhere) + ' ');
|
||
end;
|
||
1: /////////////////////////<2F><>ϸ//////////////////////////////
|
||
begin
|
||
fwhere := ' where CRTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
|
||
fwhere := fwhere + ' and CRTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
|
||
// fwhere := fwhere + ' and ClType = ''ͣ<><CDA3>'' ';
|
||
|
||
Pwhere := SGetFilters(Panel1, 1, 2);
|
||
if trim(Pwhere) <> '' then
|
||
fwhere := fwhere + ' and ' + trim(Pwhere);
|
||
sql.Add('exec P_CK_Cloth_TJList ');
|
||
sql.Add('@pageIndex=' + inttostr(CurrentPage));
|
||
sql.Add(',@pageSize=' + inttostr(RecordsNumber));
|
||
sql.Add(',@criteria= ' + quotedstr(fwhere));
|
||
end;
|
||
end;
|
||
//ShowMessage(SQL.Text);
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
if cxTabControl1.TabIndex = 1 then
|
||
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
|
||
MovePanel2.Visible := false;
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
MovePanel2.Visible := false;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.InitForm();
|
||
var
|
||
fsj: string;
|
||
begin
|
||
ReadCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
|
||
BegDate.DateTime := EndDate.DateTime;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.TBFindClick(Sender: TObject);
|
||
var
|
||
fsj, fwhere: string;
|
||
begin
|
||
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
BegDate.SetFocus;
|
||
SetStatus();
|
||
InitGrid();
|
||
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.FormShow(Sender: TObject);
|
||
begin
|
||
CurrentPage := 1;
|
||
RecordsNumber := 500;
|
||
InitForm();
|
||
SetStatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
FLeft := X;
|
||
FTop := Y;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.N1Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(Order_Main, True);
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.N2Click(Sender: TObject);
|
||
begin
|
||
SelOKNo(Order_Main, False);
|
||
end;
|
||
|
||
function TfrmFinishedClothTJing.Savedata(): Boolean;
|
||
var
|
||
maxno, LLID: string;
|
||
HXPS: Integer;
|
||
HXQty, HXMQty: Double;
|
||
begin
|
||
HXPS := 0;
|
||
HXQty := 0;
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
|
||
sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + '''');
|
||
Open;
|
||
end;
|
||
LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString);
|
||
if Trim(LLID) = '' then
|
||
begin
|
||
Result := False;
|
||
Application.MessageBox('û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then
|
||
begin
|
||
Result := False;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>!', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
with Order_Main do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if Order_Main.FieldByName('SSel').AsBoolean = True then
|
||
begin
|
||
HXPS := HXPS + 1;
|
||
HXQty := HXQty + Order_Main.FieldByName('MJLen').Value;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('');
|
||
Open;
|
||
end;
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.MJIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
CurrentPage := 1;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
//Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.MJStr2Change(Sender: TObject);
|
||
begin
|
||
CurrentPage := 1;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.KHConNOKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
CurrentPage := 1;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.RKOrdIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
CurrentPage := 1;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.N3Click(Sender: TObject);
|
||
var
|
||
SSubId, SGangNo: string;
|
||
begin
|
||
|
||
with Order_Main do
|
||
begin
|
||
SSubId := trim(FieldByName('SubId').AsString);
|
||
Order_Main.DisableControls;
|
||
first;
|
||
while not eof do
|
||
begin
|
||
if SSubId = trim(FieldByName('SubId').AsString) then
|
||
begin
|
||
edit;
|
||
FieldByName('SSel').value := true;
|
||
Post;
|
||
end
|
||
else
|
||
begin
|
||
edit;
|
||
FieldByName('SSel').value := false;
|
||
Post;
|
||
end;
|
||
Next;
|
||
end;
|
||
Order_Main.Locate('SubId', VarArrayOf([SSubId]), []);
|
||
Order_Main.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.X1Click(Sender: TObject);
|
||
var
|
||
str, SSubId: string;
|
||
ZChiShu, DQChiShu: integer;
|
||
ISSel: boolean;
|
||
begin
|
||
ISSel := true;
|
||
SSubId := trim(Order_Main.FieldByName('SubId').AsString);
|
||
str := '';
|
||
if InputQuery('ѡ<><D1A1>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', str) then
|
||
begin
|
||
ZChiShu := strtointdef(str, 0);
|
||
if ZChiShu <= 0 then
|
||
exit;
|
||
|
||
with Order_Main do
|
||
begin
|
||
|
||
Order_Main.DisableControls;
|
||
first;
|
||
DQChiShu := 0;
|
||
while not eof do
|
||
begin
|
||
|
||
if SSubId = trim(FieldByName('SubId').AsString) then
|
||
begin
|
||
edit;
|
||
FieldByName('SSel').value := ISSel;
|
||
DQChiShu := DQChiShu + 1;
|
||
Post;
|
||
end
|
||
else
|
||
begin
|
||
edit;
|
||
FieldByName('SSel').value := false;
|
||
Post;
|
||
end;
|
||
if DQChiShu = ZChiShu then
|
||
ISSel := false;
|
||
Next;
|
||
end;
|
||
Order_Main.Locate('SubId', VarArrayOf([SSubId]), []);
|
||
Order_Main.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.TCBNORChange(Sender: TObject);
|
||
begin
|
||
RecordsNumber := StrToInt(TCBNOR.Text);
|
||
CurrentPage := 1;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.BTLPClick(Sender: TObject);
|
||
begin
|
||
if CurrentPage > 1 then
|
||
CurrentPage := CurrentPage - 1;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.BTNPClick(Sender: TObject);
|
||
begin
|
||
if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
|
||
CurrentPage := CurrentPage + 1;
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.Tv1DblClick(Sender: TObject);
|
||
var
|
||
Tabint: integer;
|
||
begin
|
||
Tabint := cxTabControl1.TabIndex;
|
||
case Tabint of
|
||
0:
|
||
begin
|
||
AssignmentControls(Panel1, Order_Main, '0');
|
||
cxTabControl1.TabIndex := 1;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
SetStatus();
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.APIDKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
if ADOQueryMain.Active = False then
|
||
Exit;
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmFinishedClothTJing.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then
|
||
exit;
|
||
TcxGridToExcel('ͣ<><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3>', cxGrid1);
|
||
end;
|
||
|
||
end.
|
||
|