D7szChenfeng/纱线仓库/U_ShaKCList.pas
DESKTOP-E401PHE\Administrator ccdaa90a0f 移交
2025-07-22 15:51:47 +08:00

375 lines
9.9 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_ShaKCList;
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, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit,Math,
MovePanel, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter;
type
TfrmShaKCList = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
ToolButton1: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
Y_CodeName: TEdit;
FactoryName: TEdit;
Y_Spec: TEdit;
Label1: TLabel;
ToFactoryName: TEdit;
ToolButton2: TToolButton;
v1Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
Label2: TLabel;
BatchNo: TEdit;
Label10: TLabel;
Note: TEdit;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyleRepository2: TcxStyleRepository;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxStyle4: TcxStyle;
ToolButton3: TToolButton;
RM1: TRMGridReport;
CDS_Print: TClientDataSet;
RMDBPrint: TRMDBDataSet;
v1Column2: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
CheckBox1: TMenuItem;
CheckBox2: TMenuItem;
v1Column4: TcxGridDBColumn;
MovePanel2: TMovePanel;
OldBuy: TMenuItem;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
cxStyleRepository3: TcxStyleRepository;
cxStyle5: TcxStyle;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure MPRTCodeNameChange(Sender: TObject);
procedure OldBuyClick(Sender: TObject);
procedure SXBatchNOChange(Sender: TObject);
procedure FactoryNameChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure TCBNORChange(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
FDYFlag: string;
{ Public declarations }
end;
var
frmShaKCList: TfrmShaKCList;
implementation
uses
U_DataLink, U_RTFun, U_ShaOutList,U_Fun,U_OldShaRKList;
{$R *.dfm}
procedure TfrmShaKCList.FormDestroy(Sender: TObject);
begin
frmShaKCList := nil;
end;
procedure TfrmShaKCList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmShaKCList.InitGrid();
var
fFSId : 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;
sql.Add('exec P_View_SXKuC ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
MovePanel2.Visible := false;
finally
ADOQueryMain.EnableControls;
MovePanel2.Visible := false;
end;
end;
procedure TfrmShaKCList.TBRafreshClick(Sender: TObject);
begin
Panel1.SetFocus;
InitGrid();
end;
procedure TfrmShaKCList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmShaKCList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>б<EFBFBD>123', Tv1, <>ֿ߲<DFB2>');
Close;
end;
procedure TfrmShaKCList.FormShow(Sender: TObject);
var
fsj: string;
begin
ReadCxGrid(<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>б<EFBFBD>123', Tv1, <>ֿ߲<DFB2>');
if FDYFlag = '99' then
begin
InitGrid();
TBFind.Click;
end;
//InitGrid();
end;
procedure TfrmShaKCList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_Main);
SInitCDSData20(ADOQueryMain, CDS_Main);
end;
end;
procedure TfrmShaKCList.MPRTCodeNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCList.OldBuyClick(Sender: TObject);
begin
try
frmOldShaRKList:= TfrmOldShaRKList.Create(Application);
with frmOldShaRKList do
begin
FY_CodeName := Trim(Self.CDS_Main.fieldbyname('Y_CodeName').AsString);
FY_Spec := Trim(Self.CDS_Main.fieldbyname('Y_Spec').AsString);
FFactoryName := Trim(Self.CDS_Main.fieldbyname('FactoryName').AsString);
FY_CF := Trim(Self.CDS_Main.fieldbyname('Y_CF').AsString);
Fvalue:='KC';
if ShowModal = 1 then
begin
end;
end;
finally
frmOldShaRKList.Free;
end;
end;
procedure TfrmShaKCList.SXBatchNOChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCList.FactoryNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmShaKCList.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmShaKCList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
{ try
frmShaOutList:=TfrmShaOutList.Create(Application);
with frmShaOutList do
begin
FFY_ID:=Trim(Self.CDS_Main.fieldbyname('Y_ID').AsString);
if ShowModal=1 then
begin
end;
end;
finally
frmShaOutList.Free;
end;}
end;
procedure TfrmShaKCList.ToolButton2Click(Sender: TObject);
begin
if CDS_Main.IsEmpty then
exit;
TcxGridToExcel(<>߿<EFBFBD><DFBF><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmShaKCList.ToolButton3Click(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath,CNSql,FNSql,BNSql,CTSql: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
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;
CNSql := '';
BNSql := '';
FNSql := '';
CTSql := '';
CDS_Main.DisableControls;
with CDS_Main do
begin
First;
while CDS_Main.Locate('SSel', True, []) do
begin
if CNSql <> '' then
CNSql := CNSql +''+','+'' + QuotedStr(Trim(CDS_Main.fieldbyname('Y_CodeName').AsString))
else
CNSql :='and isnull(A.Y_CodeName,'''') in (' + QuotedStr(Trim(CDS_Main.fieldbyname('Y_CodeName').AsString));
if FNSql <> '' then
FNSql := FNSql +''+','+'' + QuotedStr(Trim(CDS_Main.fieldbyname('FactoryName').AsString))
else
FNSql :='and isnull(A.FactoryName,'''') in (' + QuotedStr(Trim(CDS_Main.fieldbyname('FactoryName').AsString));
if BNSql <> '' then
BNSql := BNSql +''+','+'' + QuotedStr(Trim(CDS_Main.fieldbyname('BatchNo').AsString))
else
BNSql :='and isnull(A.BatchNo,'''') in (' + QuotedStr(Trim(CDS_Main.fieldbyname('BatchNo').AsString));
// if CTSql <> '' then
// CTSql := CTSql +''+','+'' + QuotedStr(Trim(CDS_Main.fieldbyname('CRType').AsString))
// else
// CTSql :='and A.CRType in (' + QuotedStr(Trim(CDS_Main.fieldbyname('CRType').AsString));
Edit;
FieldByName('SSel').Value := False;
Post;
end;
end;
CDS_Main.EnableControls;
CNSql := CNSql+')';
FNSql := FNSql+')';
BNSql := BNSql+')';
// CTSql := CTSql+')';
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add(' select A.Y_CodeName,A.FactoryName,SUM(A.MXKCQty) MXKCQty,SUM (A.MXKCPiQty) MXKCPiQty ');
sql.Add(' from CK_Yarn_CR A where isnull(CKName,'''')='<><C9B4>'' ');
SQL.Add(' and A.CRFlag=''<27><><EFBFBD><EFBFBD>'' and MXKCQty>0 ');
SQL.Add(CNSql);
SQL.Add(FNSql);
SQL.Add(BNSql);
// SQL.Add(CTSql);
SQL.Add(' GROUP BY A.CRType,A.Y_CodeName,A.ConNo,A.Y_Spec,Y_CF,A.FactoryName,A.Price,A.BatchNO,A.Note,A.QtyUnit');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryCmd, CDS_Print);
SInitCDSData20(ADOQueryCmd, CDS_Print);
if ADOQueryCmd.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
ExportFtErpFile(<>߿<EFBFBD><DFBF><EFBFBD><E6B1A8>.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\ɴ<>߿<EFBFBD><DFBF><EFBFBD><E6B1A8>.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
// RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
end;
procedure TfrmShaKCList.CheckBox1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmShaKCList.CheckBox2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmShaKCList.TCBNORChange(Sender: TObject);
begin
Panel1.SetFocus;
InitGrid();
end;
end.