D7szYidui/布匹检验(FabricInspection.dll)/U_FinishedClothStatistical.pas

376 lines
8.8 KiB
ObjectPascal
Raw Normal View History

2025-07-19 09:32:10 +08:00
unit U_FinishedClothStatistical;
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;
type
TfrmFinishedClothStatistical = class(TForm)
ToolBar1: TToolBar;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_Main: TDataSource;
Label8: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
RM2: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
MovePanel2: TMovePanel;
RMXLSExport1: TRMXLSExport;
IsJYTime: TCheckBox;
N3: TMenuItem;
X1: TMenuItem;
Order_Main: TClientDataSet;
DCheG: TEdit;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure MJIDKeyPress(Sender: TObject; var Key: Char);
procedure conNOKeyPress(Sender: TObject; var Key: Char);
procedure MJStr2Change(Sender: TObject);
procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char);
procedure N3Click(Sender: TObject);
procedure X1Click(Sender: TObject);
procedure DCheGClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
DQdate: TDateTime;
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure InitForm();
function Savedata(): Boolean;
{ Private declarations }
public
FFInt: Integer;
canshu1: string;
{ Public declarations }
end;
var frmFinishedClothStatistical : TfrmFinishedClothStatistical;
implementation
uses
U_DataLink, U_Fun, U_MJEdit, U_ZDYHelp, U_SysLogHelp, U_SCPerson;
{$R *.dfm}
procedure TfrmFinishedClothStatistical.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFinishedClothStatistical.FormCreate(Sender: TObject);
begin
DQdate := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmFinishedClothStatistical.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmFinishedClothStatistical.InitGrid();
var
FEndTime,FBegTime: string;
begin
if IsJYTime.Checked then
begin
FBegTime := quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
FEndTime := quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
end
else
begin
FBegTime := '';
FEndTime := '';
end;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add('exec P_CK_Cloth_DCG');
sql.Add('@DCheG='+QuotedStr(Trim(DCheG.Text)));
sql.Add(',@FBegTime='+FBegTime);
sql.Add(',@FEndTime='+FEndTime);
ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
Label6.Caption:=Trim(Order_Main.fieldbyname('LenHZ').AsString)+'<27><>';
Label7.Caption:=Trim(Order_Main.fieldbyname('PS').AsString)+'<27><>';
//MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
//MovePanel2.Visible := false;
end;
end;
procedure TfrmFinishedClothStatistical.InitForm();
var
fsj: string;
begin
BegDate.DateTime := SGetServerDateTime(ADOQueryTemp);
EndDate.DateTime := SGetServerDateTime(ADOQueryTemp)
end;
procedure TfrmFinishedClothStatistical.TBFindClick(Sender: TObject);
var
fsj, fwhere: string;
begin
end;
procedure TfrmFinishedClothStatistical.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmFinishedClothStatistical.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main, True);
end;
procedure TfrmFinishedClothStatistical.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main, False);
end;
function TfrmFinishedClothStatistical.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 TfrmFinishedClothStatistical.MJIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmFinishedClothStatistical.conNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmFinishedClothStatistical.MJStr2Change(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmFinishedClothStatistical.RKOrdIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmFinishedClothStatistical.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 TfrmFinishedClothStatistical.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 TfrmFinishedClothStatistical.DCheGClick(Sender: TObject);
begin
try
frmSCPerson := TfrmSCPerson.Create(self);
with frmSCPerson do
begin
FlagStr := 'SCPerson';
if ShowModal = 1 then
begin
DCheG.Text := frmSCPerson.FSDPerson;
end;
end;
finally
frmSCPerson.Free;
end;
end;
procedure TfrmFinishedClothStatistical.Button1Click(Sender: TObject);
begin
if DCheG.Text ='' then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD>񵲳<EFBFBD><F1B5B2B3><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',0);
Exit;
end;
InitGrid();
end;
end.