D10SZKaiXiYa/B03基础物料仓库/U_BSPrtDyeEJOutList.pas
DESKTOP-E401PHE\Administrator 53e8f4820d 11
2025-03-01 10:55:52 +08:00

354 lines
9.7 KiB
ObjectPascal
Raw 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_BSPrtDyeEJOutList;
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, cxPC,
cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList,
dxScrollbarAnnotations, cxContainer, cxProgressBar, FrameDateSel, dxSkinsCore,
dxSkinsDefaultPainters, dxSkinWXI;
type
TfrmBSPrtDyeEJOutList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
CDS_Main: TClientDataSet;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
TBDel: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
TBAdd: TToolButton;
TBEdit: TToolButton;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
Label3: TLabel;
Label5: TLabel;
Label8: TLabel;
P_Name: TcxTextEdit;
BPIOID: TcxTextEdit;
P_spec: TcxTextEdit;
v1Column20: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column1: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
ToolButton2: TToolButton;
Tv1Column5: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
frmFrameDateSel1: TfrmFrameDateSel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ConNoMChange(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure SPNameChange(Sender: TObject);
procedure BPIOIDChange(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure P_specChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
procedure InitGrid();
{ Private declarations }
public
canshu1, FStkName, canshu3: string;
FFSPID: string;
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_BSPrtDyeejOutEdit, U_LabelPrint;
{$R *.dfm}
procedure TfrmBSPrtDyeEJOutList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmBSPrtDyeEJOutList.FormCreate(Sender: TObject);
begin
inherited;
canshu1 := Trim(self.fParameters1);
FStkName := Trim(self.fParameters2);
canshu3 := Trim(self.fParameters3);
frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date;
end;
procedure TfrmBSPrtDyeEJOutList.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.*,qtykg=qty/1000 ');
SQL.Add(' ,p_type=(select p_type from Bs_Product_Info e where e.C_SCcode=a.p_code)');
sql.Add(' from BS_Product_IO A');
sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''');
sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.EndDate.Date + 1)) + '''');
sql.Add(' and isnull(StkName,'''')=''' + Trim(FStkName) + '''');
SQL.Add(' and ioFlag=''<27><><EFBFBD><EFBFBD>'' ');
sql.Add('order by FILLTIME desc');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_Main);
SInitCDSData(ADOQueryMain, CDS_Main);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmBSPrtDyeEJOutList.TBRafreshClick(Sender: TObject);
begin
toolbar1.SetFocus;
InitGrid();
end;
procedure TfrmBSPrtDyeEJOutList.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(trim(Self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
end;
procedure TfrmBSPrtDyeEJOutList.ToolButton2Click(Sender: TObject);
var
WSQL: string;
begin
inherited;
if CDS_MAIN.IsEmpty then
Exit;
WSQL := CDS_MAIN.fieldbyname('ZIONO').AsString;
try
frmLabelPrint := TfrmLabelPrint.Create(Application);
with frmLabelPrint do
begin
FLMType := 'RHLCK';
FFiltration1 := WSQL;
if ShowModal = 1 then
begin
end;
end;
finally
frmLabelPrint.Free;
end;
end;
procedure TfrmBSPrtDyeEJOutList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmBSPrtDyeEJOutList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmBSPrtDyeEJOutList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(Self.Caption), Tv1, 'Ⱦɫ<C8BE><C9AB><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>');
InitGrid();
end;
procedure TfrmBSPrtDyeEJOutList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
TcxGridToExcel(FStkName + '<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmBSPrtDyeEJOutList.TBFindClick(Sender: TObject);
begin
CDSDataFilter(ADOQueryMain, CDS_Main, Tv1, '{"FilterStr":"' + CommonFiltersByContainer(Panel1, ' {"EquTag": 1,"LikeTag": 2,"Fields": ""}') + '" }');
end;
procedure TfrmBSPrtDyeEJOutList.SPNameChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmBSPrtDyeEJOutList.BPIOIDChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmBSPrtDyeEJOutList.N1Click(Sender: TObject);
begin
SelOKNo(CDS_Main, True);
end;
procedure TfrmBSPrtDyeEJOutList.N2Click(Sender: TObject);
begin
SelOKNo(CDS_Main, False);
end;
procedure TfrmBSPrtDyeEJOutList.TBDelClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''<27><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD>'' ');
sql.Add(',' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString)));
sql.Add(','<><C9BE>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString)));
sql.Add(') ');
Sql.Add('exec P_BS_Product_Out_Del ');
Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
ADOQueryCmd.Connection.CommitTrans;
CDS_Main.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmBSPrtDyeEJOutList.TBAddClick(Sender: TObject);
begin
try
frmBSPrtDyeOutEJEdit := TfrmBSPrtDyeOutEJEdit.Create(Application);
with frmBSPrtDyeOutEJEdit do
begin
FBCId := '';
FStkName := Self.FStkName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmBSPrtDyeOutEJEdit.Free;
end;
end;
procedure TfrmBSPrtDyeEJOutList.TBEditClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Product_Out_Edit ');
Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_Main.fieldbyname('BPIOID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
// ShowMessage(sql.Text);
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
frmBSPrtDyeOutEJEdit := tfrmBSPrtDyeOutEJEdit.Create(Application);
with frmBSPrtDyeOutEJEdit do
begin
FBCId := Trim(CDS_Main.fieldbyname('BPIOID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
FStkName := Self.FStkName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmBSPrtDyeOutEJEdit.Free;
end;
end;
procedure TfrmBSPrtDyeEJOutList.P_specChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmBSPrtDyeEJOutList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.