D7myYunxiang/生产计划单(DyeingFinishingPlan.dll)/U_OrderHCList.pas
DESKTOP-E401PHE\Administrator 19ebd6eb13 251013
2025-10-13 13:18:40 +08:00

485 lines
14 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_OrderHCList;
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, cxPC, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinDarkRoom,
dxSkinOffice2013White, dxSkinSharpPlus, dxSkinSpringTime,
dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSilver,
dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine,
dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue;
type
TfrmOrderHCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
MLOrderNo: TEdit;
TBExport: TToolButton;
Order_Main: TClientDataSet;
MLConNo: TEdit;
Label7: TLabel;
Label2: TLabel;
MLCodeName: TEdit;
Panel4: TPanel;
Label11: TLabel;
Panel10: TPanel;
Image2: TImage;
RichEdit1: TRichEdit;
v1MLOrderNo: TcxGridDBColumn;
v1GangNo: TcxGridDBColumn;
v1KHName: TcxGridDBColumn;
v1JYType: TcxGridDBColumn;
v1JYKG: TcxGridDBColumn;
v1JYLen: TcxGridDBColumn;
v1JYUnit: TcxGridDBColumn;
Label4: TLabel;
v1MLCodeName: TcxGridDBColumn;
v1RKType: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1JYNo: TcxGridDBColumn;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
MovePanel2: TMovePanel;
v1JYPZ: TcxGridDBColumn;
v1JYJZ: TcxGridDBColumn;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
KHNameJC: TEdit;
MLColor: TEdit;
v1Column31: TcxGridDBColumn;
v1MLConNo: TcxGridDBColumn;
Label22: TLabel;
ISHZ: TComboBox;
// RMllPDFExport1: TRMllPDFExport;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
v1MLColorNo: TcxGridDBColumn;
v1MLHX: TcxGridDBColumn;
IsJYTime: TCheckBox;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
ToolButton1: TToolButton;
Panel2: TPanel;
Label12: TLabel;
MDName: TBtnEditA;
Tv1Column1: TcxGridDBColumn;
ADOQueryCmd: TADOQuery;
Label1: TLabel;
MLHX: TEdit;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DS_2: TDataSource;
CDS_2: TClientDataSet;
ADOQuery1: TADOQuery;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure Image2Click(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 MLOrderNoKeyPress(Sender: TObject; var Key: Char);
procedure CheckBox2Click(Sender: TObject);
procedure gangNOKeyPress(Sender: TObject; var Key: Char);
procedure MLConNoKeyPress(Sender: TObject; var Key: Char);
procedure TCBNORChange(Sender: TObject);
procedure MLColorKeyPress(Sender: TObject; var Key: Char);
procedure BegDateChange(Sender: TObject);
procedure EndDateChange(Sender: TObject);
procedure JYTypeChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure MDNameBtnClick(Sender: TObject);
procedure TV2DblClick(Sender: TObject);
private
DQdate: TDateTime;
FLeft, FTop: Integer;
CurrentPage, RecordsNumber: Integer;
canshu1: string;
procedure InitGrid();
procedure InitForm();
procedure InitKH();
{ Private declarations }
public
FFInt: Integer;
{ Public declarations }
end;
var
frmOrderHCList: TfrmOrderHCList;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmOrderHCList.FormDestroy(Sender: TObject);
begin
frmOrderHCList := nil;
end;
procedure TfrmOrderHCList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmOrderHCList.FormCreate(Sender: TObject);
begin
cxgrid1.Align := alClient;
DQdate := SGetServerDate(ADOQueryTemp);
canshu1 := Trim(DParameters1);
end;
procedure TfrmOrderHCList.TBCloseClick(Sender: TObject);
begin
Close;
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>YX1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmOrderHCList.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 + ' and ' + trim(Pwhere);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('select ');
sql.Add(' B.MLOrderNo,B.MLConNo,B.MLCodeName,B.KHName,KM.KHNameJC,C.* ');
sql.Add(',KHConNo=(select TOP 1 X.KHConNo from ML_ConMain X where X.MLConID=B.ConMainId)');
// SQL.Add(',DBQty=C.DBQty + (select sum (MQTY) from ML_OrderSubidNew D where D.CDmainid=C.NewSubid and D.BPLX=''<27>ײ<EFBFBD>'') ');
// SQL.Add(',MBQty=C.MBQty + (select sum (MQTY) from ML_OrderSubidNew D where D.CDmainid=C.NewSubid and D.BPLX=''<27>沼'') ');
sql.Add('from ML_OrderMainNew B');
sql.Add('inner join ML_OrderSubidNew C on B.NewMLid=C.NewMLid ');
sql.Add('inner join KH_Main KM on B.KHNO=KM.KHNO ');
sql.Add(' where 1=1');
if IsJYTime.Checked then
begin
sql.Add('and B.FillTime>=''' + trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + '''');
sql.add(' and B.Filltime<''' + trim(FormatDateTime('yyyy-MM-dd', enddate.Date + 1)) + '''');
end;
sql.Add(fwhere);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
InitKH();
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmOrderHCList.InitKH();
var
fsj: string;
begin
with ADOQuery1 do
begin
Filtered := False;
Close;
sql.Clear;
sql.add(' select DISTINCT KM.KHNameJC AS Name');
sql.Add(' from ML_OrderMainNew A ');
sql.Add(' left join KH_Main KM on KM.KHNO=A.KHNO ');
sql.Add(' where OrdDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' and OrdDate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQuery1, CDS_2);
SInitCDSData20(ADOQuery1, CDS_2);
end;
procedure TfrmOrderHCList.InitForm();
var
fsj: string;
begin
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>YX1', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime := SGetServerDate10(ADOQueryTemp);
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
end;
procedure TfrmOrderHCList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
SelExportData(Tv1, ADOQueryMain, '<27><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>');
end;
procedure TfrmOrderHCList.TBRafreshClick(Sender: TObject);
begin
toolbar1.SetFocus;
InitGrid();
end;
procedure TfrmOrderHCList.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmOrderHCList.Panel10MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
TWinControl(Panel4).Perform(WM_SYSCOMMAND, $F012, 0);
end;
procedure TfrmOrderHCList.Image2Click(Sender: TObject);
begin
Panel4.Visible := False;
end;
procedure TfrmOrderHCList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FLeft := X;
FTop := Y;
end;
procedure TfrmOrderHCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
Panel4.Left := FLeft;
Panel4.Top := FTop + 110;
Panel4.Visible := True;
Panel4.Refresh;
Panel10.Caption := Trim(TV1.Controller.FocusedColumn.Caption);
RichEdit1.Text := Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString;
end;
procedure TfrmOrderHCList.MLOrderNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmOrderHCList.CheckBox2Click(Sender: TObject);
begin
SelOKNo(Order_Main, CheckBox2.Checked);
end;
procedure TfrmOrderHCList.gangNOKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmOrderHCList.MLConNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
InitGrid();
end;
end;
procedure TfrmOrderHCList.TCBNORChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderHCList.MLColorKeyPress(Sender: TObject; var Key: Char);
begin
InitGrid();
end;
procedure TfrmOrderHCList.BegDateChange(Sender: TObject);
begin
//InitGrid();
end;
procedure TfrmOrderHCList.EndDateChange(Sender: TObject);
begin
//InitGrid();
end;
procedure TfrmOrderHCList.JYTypeChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmOrderHCList.ToolButton1Click(Sender: TObject);
var
fPrintFile, FNewMLID, FNewSubid: string;
begin
if Order_Main.IsEmpty then
exit;
if Order_Main.Locate('ssel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TbForBatch where DName=' + quotedstr(Trim(DCode)));
SQL.Add('and MainType=' + quotedstr(<><D4A4><EFBFBD>뵥'));
ExecSQL;
end;
with Order_Main do
begin
while Order_Main.Locate('SSel', true, []) do
begin
if Trim(FNewMLID)='' then
begin
FNewMLID:=Trim(Order_Main.FieldByName('KHNameJC').AsString);
end else
begin
if Trim(Order_Main.FieldByName('KHNameJC').AsString) <> FNewMLID then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>!', '<27><>ʾ', 0);
Exit;
end
end;
with Self.ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' insert into TbForBatch(DName,MainType,Value1) ');
sql.Add(' values( ' + quotedstr(Trim(DCode)) + ',' + quotedstr(<><D4A4><EFBFBD>뵥') + ',' + quotedstr(Trim(Self.Order_Main.FieldByName('NewSubid').AsString)) + ')');
ExecSQL;
end;
Delete;
end;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.add('exec P_Print_CKMD5 ');
sql.add('@DName=' + quotedstr(Trim(DCode)));
// ShowMessage(SQL.text);
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_PRT);
SInitCDSData20(ADOQueryTemp, CDS_PRT);
RMXLSExport1 := TRMXLSExport.Create(RMXLSExport1);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Trim(MDName.Text) + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB5A5>.rmf'), '<27><>ʾ', 0);
end;
{with Order_Main do
begin
Order_Main.Locate('SSel', True, []);
FNewMLID := Trim(Order_Main.FieldByName('NewMLID').AsString);
while Order_Main.Locate('SSel', true, []) do
begin
if Trim(Order_Main.FieldByName('NewMLID').AsString) <> FNewMLID then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end
else
begin
with Self.ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' insert into TbForBatch(DName,MainType,Value1) ');
sql.Add(' values( ' + quotedstr(Trim(DCode)) + ',' + quotedstr('Ԥ<><D4A4><EFBFBD>뵥') + ',' + quotedstr(Trim(Self.Order_Main.FieldByName('NewSubid').AsString)) + ')');
ExecSQL;
end;
end;
Edit;
Order_Main.FieldByName('SSel').Value := false;
end;
end; }
end;
procedure TfrmOrderHCList.MDNameBtnClick(Sender: TObject);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'MDName';
flagname := '<27><EFBFBD><EBB5A5><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Self.MDName.Text := Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmOrderHCList.TV2DblClick(Sender: TObject);
begin
KHNameJC.Text := CDS_2.fieldbyname('Name').AsString;
InitGrid();
end;
end.