D7myzhenyong/染整计划(DyeingFinishingPlan.dll)/U_ProductPBCGList.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

617 lines
16 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_ProductPBCGList;
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
TfrmPBCGLIST = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
ZORDERNO: TEdit;
TBExport: TToolButton;
Order_Main: TClientDataSet;
orderno: TEdit;
v1Column1: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
Label5: TLabel;
MPRTCodeName: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
ADOQueryPrint: TADOQuery;
MovePanel2: TMovePanel;
CDS_CD: TClientDataSet;
RMCD: TRMGridReport;
RMDBCD: TRMDBDataSet;
CDS_LS: TClientDataSet;
RM3: TRMGridReport;
v1Column31: TcxGridDBColumn;
v1Column34: TcxGridDBColumn;
v1Column36: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
CDS_HZ: TClientDataSet;
RMDBHZ: TRMDBDataSet;
RMDBPRT: TRMDBDataSet;
CDS_PRT: TClientDataSet;
v1Column16: TcxGridDBColumn;
Label1: TLabel;
MPRTCODE: TEdit;
N3: TMenuItem;
X1: TMenuItem;
Label11: TLabel;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
v1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBExportClick(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 ZORDERNOKeyPress(Sender: TObject; var Key: Char);
procedure v1Column15PropertiesEditValueChanged(Sender: TObject);
procedure MJIDKeyPress(Sender: TObject; var Key: Char);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure JordernoKeyPress(Sender: TObject; var Key: Char);
procedure MJStr2Change(Sender: TObject);
procedure MJTypeChange(Sender: TObject);
procedure KHConNOKeyPress(Sender: TObject; var Key: Char);
procedure MPRTCODEKeyPress(Sender: TObject; var Key: Char);
procedure N3Click(Sender: TObject);
procedure X1Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ZORDERNOChange(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v1Column4PropertiesEditValueChanged(Sender: TObject);
private
DQdate: TDateTime;
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure InitForm();
function Savedata(): Boolean;
procedure GetCDSData();
procedure SetStatus();
procedure PrintCKMDG(MRKOrdID: string);
{ Private declarations }
public
FFInt: Integer;
canshu1: string;
{ Public declarations }
end;
var
frmPBCGLIST: TfrmPBCGLIST;
implementation
uses
U_DataLink, U_OrderInPut, U_Fun, U_MJEdit, U_ZDYHelp, U_ProductOrderListSel,
U_SysLogHelp;
{$R *.dfm}
procedure TfrmPBCGLIST.SetStatus();
begin
// TBManage.Visible := False;
// TBZF.Visible := False;
// v1Column15.Options.Focusing := False;
// ToolButton1.Visible := False;
// TBSH.Visible := False;
// TBHH.Visible := False;
// if Trim(canshu1) = '<27><><EFBFBD><EFBFBD>' then
// begin
// TBManage.Visible := True;
// TBZF.Visible := True;
// v1Column15.Options.Focusing := True;
// ToolButton1.Visible := true;
// end;
// if Trim(canshu1) = '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>' then
// begin
// TBSH.Visible := True;
// TBHH.Visible := True;
// end;
// case cxTabControl1.TabIndex of
// 0:
// begin
// ToolButton8.Visible := true;
// ToolButton4.Visible := false;
// end;
// 1:
// begin
// ToolButton8.Visible := false;
// ToolButton4.Visible := true;
// end;
// 2:
// begin
// ToolButton8.Visible := false;
// ToolButton4.Visible := true;
// end;
// end;
end;
procedure TfrmPBCGLIST.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmPBCGLIST.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
DQdate := SGetServerDate(ADOQueryTemp);
end;
procedure TfrmPBCGLIST.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(Self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmPBCGLIST.PrintCKMDG(MRKOrdID: string);
begin
end;
procedure TfrmPBCGLIST.InitGrid();
var
fwhere, Pwhere: string;
begin
MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
MovePanel2.Visible := True;
MovePanel2.Refresh;
// if IsJYTime.Checked then
// begin
// fwhere := ' where Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
// fwhere := fwhere + ' and 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 MAINID,OrderNo,ZOrderNo,OrdDate,MPRTCode,MPRTCodeName,MPRTMF,MPRTKZ,MPRTSpec,PBFactoryName,pbprice from JYOrder_Main');
sql.add(' where OrdDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and OrdDate<=''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
sql.add('order by orddate desc');
// sql.Add(',@criteria= ' + quotedstr(fwhere));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
// LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmPBCGLIST.InitForm();
var
fsj: string;
begin
ReadCxGrid(Self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
// fsj := 'select distinct(Filler) name from WFB_MJJY ';
// SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj);
// Filler.ItemIndex := Filler.Items.IndexOf(trim(DName));
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
BegDate.DateTime := EndDate.DateTime - 14;
//InitGrid();
end;
procedure TfrmPBCGLIST.TBFindClick(Sender: TObject);
var
fsj, fwhere: string;
begin
end;
procedure TfrmPBCGLIST.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD><E9B1A8>');
end;
procedure TfrmPBCGLIST.TBRafreshClick(Sender: TObject);
begin
OrderNo.SetFocus;
InitGrid();
end;
procedure TfrmPBCGLIST.FormShow(Sender: TObject);
begin
CurrentPage := 1;
RecordsNumber := 500;
InitForm();
SetStatus();
end;
procedure TfrmPBCGLIST.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmPBCGLIST.N1Click(Sender: TObject);
begin
SelOKNo(Order_Main, True);
end;
procedure TfrmPBCGLIST.N2Click(Sender: TObject);
begin
SelOKNo(Order_Main, False);
end;
function TfrmPBCGLIST.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 TfrmPBCGLIST.ZORDERNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
// if Length(OrderNo.Text) < 4 then
// Exit;
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmPBCGLIST.GetCDSData();
begin
CDS_CD.FieldByName('MJXH').Value := CDS_LS.fieldbyname('MJXH').Value;
CDS_CD.FieldByName('GangNo').Value := CDS_LS.fieldbyname('Aorddefstr1').Value;
CDS_CD.FieldByName('PRTColor').Value := CDS_LS.fieldbyname('PRTColor').Value;
CDS_CD.FieldByName('PRTEColor').Value := CDS_LS.fieldbyname('SOrddefstr4').Value;
CDS_CD.FieldByName('MJLen').Value := CDS_LS.fieldbyname('MJLen').Value;
CDS_CD.FieldByName('MJJZ').Value := CDS_LS.fieldbyname('MJQty4').Value;
CDS_CD.FieldByName('MJMZ').Value := CDS_LS.fieldbyname('MJMaoZ').Value;
CDS_CD.FieldByName('MJFK').Value := CDS_LS.fieldbyname('MJFK').Value;
CDS_CD.FieldByName('KFQtyHZ').Value := CDS_LS.fieldbyname('KFQtyHZ').Value;
CDS_CD.FieldByName('DengJi').Value := CDS_LS.fieldbyname('DengJi').Value;
CDS_CD.FieldByName('PanDing').Value := CDS_LS.fieldbyname('PanDing').Value;
CDS_CD.FieldByName('MJID').Value := CDS_LS.fieldbyname('MJID').Value;
end;
procedure TfrmPBCGLIST.v1Column15PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with Order_Main do
begin
Edit;
FieldByName('PanDing').Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate WFB_MJJY Set PanDing=''' + Trim(mvalue) + '''');
SQL.Add(' where MJID=''' + Trim(Order_Main.fieldbyname('MJID').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmPBCGLIST.MJIDKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
// if Length(MJID.Text) < 4 then
// Exit;
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmPBCGLIST.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 TfrmPBCGLIST.JordernoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmPBCGLIST.MJStr2Change(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmPBCGLIST.MJTypeChange(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmPBCGLIST.KHConNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmPBCGLIST.MPRTCODEKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmPBCGLIST.N3Click(Sender: TObject);
var
SSubId, SGangNo: string;
begin
with Order_Main do
begin
SSubId := trim(FieldByName('SubId').AsString);
SGangNo := trim(FieldByName('Mjstr4').AsString);
Order_Main.DisableControls;
first;
while not eof do
begin
if ((SSubId = trim(FieldByName('SubId').AsString)) and (SGangNo = trim(FieldByName('Mjstr4').AsString))) then
begin
edit;
FieldByName('SSel').value := true;
end
else
begin
edit;
FieldByName('SSel').value := false;
end;
Next;
end;
Order_Main.Locate('SubId;Mjstr4', VarArrayOf([SSubId, SGangNo]), []);
Order_Main.EnableControls;
end;
end;
procedure TfrmPBCGLIST.X1Click(Sender: TObject);
var
str, SSubId, SGangNo: string;
ZChiShu, DQChiShu: integer;
ISSel: boolean;
begin
ISSel := true;
SSubId := trim(Order_Main.FieldByName('SubId').AsString);
SGangNo := trim(Order_Main.FieldByName('Mjstr4').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)) and (SGangNo = trim(FieldByName('Mjstr4').AsString))) then
begin
edit;
FieldByName('SSel').value := ISSel;
DQChiShu := DQChiShu + 1;
end
else
begin
edit;
FieldByName('SSel').value := false;
end;
if DQChiShu = ZChiShu then
ISSel := false;
Next;
end;
Order_Main.Locate('SubId;Mjstr4', VarArrayOf([SSubId, SGangNo]), []);
Order_Main.EnableControls;
end;
end;
end;
procedure TfrmPBCGLIST.cxTabControl1Change(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
SetStatus();
end;
procedure TfrmPBCGLIST.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmPBCGLIST.ZORDERNOChange(Sender: TObject);
begin
ToolButton1.Click();
end;
procedure TfrmPBCGLIST.ToolButton2Click(Sender: TObject);
var
fPrintFile: string;
Porderno, LBName, SYRName: string;
i, j: Integer;
OrderKg: Double;
begin
if Order_Main.IsEmpty then
Exit;
LBName := '<27>ܼƻ<DCBC><C6BB><EFBFBD>';
ExportFtErpFile(Trim(LBName) + '.rmf', ADOQueryTemp);
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add('exec P_Print_ZOrder');
sql.add('@ZOrderNo=' + quotedstr(trim(Order_Main.fieldbyname('ZOrderNo').AsString)));
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_PRT);
SInitCDSData20(ADOQueryPrint, CDS_PRT);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RMVariables['SYRName'] := Trim(SYRName);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\' + Trim(LBName) + '.rmf'), '<27><>ʾ', 0);
end;
// Panel4.Visible := false;
end;
procedure TfrmPBCGLIST.v1Column4PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with ORDER_MAIN do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate JYOrder_Main ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' where MAINID=' + QuotedStr(ORDER_MAIN.fieldbyname('MAINID').AsString));
// ShowMessage(SQL.Text);
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
end
end;
end.