D10SZKaiXiYa/B03基础物料仓库/U_QryBSPrtDyeejOutList.pas

446 lines
13 KiB
ObjectPascal
Raw Permalink Normal View History

2025-03-01 10:55:52 +08:00
unit U_QryBSPrtDyeejOutList;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ToolWin, cxGraphics,
cxControls, cxLookAndFeels,
cxContainer, cxEdit, dxLayoutcxEditAdapters, dxBarBuiltInMenu, cxPC,
dxLayoutContainer, cxClasses, cxTextEdit, dxLayoutControl, cxStyles,
cxCustomData, cxFilter, cxData, cxDataStorage, cxNavigator, dxDateRanges,
dxScrollbarAnnotations, Data.DB, cxDBData, cxCalendar, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridCustomView,
cxGrid, U_BaseList, Data.Win.ADODB, cxGridCustomPopupMenu, cxGridPopupMenu,
Datasnap.DBClient, cxCheckBox, cxButtonEdit, cxSplitter, dxCore, cxDateUtils,
cxMaskEdit, cxDropDownEdit, cxProgressBar, Vcl.Menus,
RM_Common, RM_Class, RM_GridReport, RM_Dataset, cxLookAndFeelPainters,
Vcl.ExtCtrls, dxSkinsCore, dxSkinsDefaultPainters, dxLayoutControlAdapters,
FrameDateSel10, Vcl.StdCtrls, MovePanel, BtnEdit, cxCurrencyEdit, U_WindowFormdesign,
dxSkinWXI, RM_e_Xls;
type
TfrmQryBSPrtDyeejOutList = class(TfrmBaseList)
ToolBar3: TToolBar;
Trefresh: TToolButton;
TsaveGrid: TToolButton;
Tclose: TToolButton;
DataSource1: TDataSource;
ADOQueryList: TADOQuery;
cxGridPopupMenu1: TcxGridPopupMenu;
dxLayoutControl_query: TdxLayoutControl;
dxLayoutControl_queryGroup_Root: TdxLayoutGroup;
frmFrameDateSel1: TfrmFrameDateSel10;
CDS_List: TClientDataSet;
cxProgressBar1: TMovePanel;
ADOQueryCmd: TADOQuery;
TBADD: TToolButton;
TBdel: TToolButton;
TBedit: TToolButton;
TBexcpet: TToolButton;
TBprint: TToolButton;
TgridSet: TToolButton;
BPIOID: TcxTextEdit;
dxLayoutItem1: TdxLayoutItem;
P_name: TcxTextEdit;
dxLayoutItem2: TdxLayoutItem;
P_spec: TcxTextEdit;
dxLayoutItem4: TdxLayoutItem;
ADOQueryTemp: TADOQuery;
cxGrid2: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1Column4: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v2Column1: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
cxGrid1: TcxGrid;
cxGridDBTableView1: TcxGridDBTableView;
cxGridDBColumn1: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
cxGridDBColumn6: TcxGridDBColumn;
cxGridDBColumn7: TcxGridDBColumn;
cxGridDBColumn8: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
cxGridDBColumn10: TcxGridDBColumn;
cxGridDBColumn11: TcxGridDBColumn;
cxGridDBColumn12: TcxGridDBColumn;
cxGridDBColumn13: TcxGridDBColumn;
cxGridDBColumn14: TcxGridDBColumn;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridDBColumn20: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
RM1: TRMGridReport;
RMDBMain: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMDBHZ: TRMDBDataSet;
CDS_HZ: TClientDataSet;
CDS_PRT: TClientDataSet;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure TrefreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TcloseClick(Sender: TObject);
procedure TsaveGridClick(Sender: TObject);
procedure dxLayoutControl_queryDblClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TBADDClick(Sender: TObject);
procedure TBdelClick(Sender: TObject);
procedure TBeditClick(Sender: TObject);
procedure TBexcpetClick(Sender: TObject);
procedure TV1Column3PropertiesEditValueChanged(Sender: TObject);
procedure TBprintClick(Sender: TObject);
procedure TgridSetClick(Sender: TObject);
procedure cxButton4Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure cxButton5Click(Sender: TObject);
procedure BPIOIDKeyPress(Sender: TObject; var Key: Char);
private
fWindowDesign: TWindowFormdesign;
fDesignCode:string;
procedure initGrid();
procedure initForm();
protected
public
canshu1, FStkName, canshu3: string;
FFSPID: string;
end;
var
frmQryBSPrtDyeejOutList: TfrmQryBSPrtDyeejOutList;
implementation
uses
U_RTFun, U_globalVar, U_dataLink,U_FormLayOutDesign,
U_LabelPrint,U_cxGridCustomSet, U_ZDYHelp, U_QryBSPrtDyeejOutEdit;
{$R *.dfm}
procedure TfrmQryBSPrtDyeejOutList.TsaveGridClick(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, gDllFileCaption);
if gIsCanDesign then
begin
saveLayOut(application, dxLayoutControl_query, ADOQueryCmd,PWideChar( fDllFileName + '|' + Self.Name + '|' + dxLayoutControl_query.Name + '.ini'));
end;
end;
procedure TfrmQryBSPrtDyeejOutList.TV1Column3PropertiesEditValueChanged(
Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
with CDS_List do
begin
Edit;
FieldByName('PH').Value := Trim(mvalue);
Post;
end;
try
with AdoqueryCmd do
begin
close;
sql.Clear;
sql.Add('update Dye_Formula_Sample_Sub SET PH=''' + trim(mvalue) + ''' where DFSMID=''' + trim(CDS_List.fieldbyName('DFSMID').AsString) + '''');
sql.Add('and fsNo=''' + trim(CDS_List.fieldbyName('fsNo').AsString) + '''');
execsql;
end;
except
end;
self.tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmQryBSPrtDyeejOutList.TBADDClick(Sender: TObject);
begin
try
frmQryBSPrtDyeejOutEdit := TfrmQryBSPrtDyeejOutEdit.Create(Application);
with frmQryBSPrtDyeejOutEdit do
begin
FBCId := '';
FStkName := Self.FStkName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmQryBSPrtDyeejOutEdit.Free;
end;
end;
procedure TfrmQryBSPrtDyeejOutList.TBdelClick(Sender: TObject);
begin
if CDS_List.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_List.fieldbyname('BPIOID').AsString)));
sql.Add(','<><C9BE>'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(Trim(CDS_List.fieldbyname('BPIOID').AsString)));
sql.Add(') ');
Sql.Add('exec P_BS_Product_Out_Del ');
Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_List.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_List.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmQryBSPrtDyeejOutList.TBeditClick(Sender: TObject);
begin
if CDS_List.IsEmpty then
Exit;
with ADOQueryTemp do
begin
Close;
Sql.Clear;
Sql.Add('exec P_BS_Product_Out_Edit ');
Sql.Add(' @BPIOIDS=' + quotedstr(Trim(CDS_List.fieldbyname('BPIOID').AsString)));
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
Open;
end;
if ADOQueryTemp.FieldByName('intReturn').AsInteger = -1 then
begin
Application.MessageBox(PChar(ADOQueryTemp.fieldbyname('ShowMsg').AsString), '<27><>ʾ', 0);
exit;
end;
try
frmQryBSPrtDyeejOutEdit := TfrmQryBSPrtDyeejOutEdit.Create(Application);
with frmQryBSPrtDyeejOutEdit do
begin
FBCId := Trim(CDS_List.fieldbyname('BPIOID').AsString);
TBDel.Visible := False;
TBAdd.Visible := False;
FStkName := Self.FStkName;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmQryBSPrtDyeejOutEdit.Free;
end;
end;
procedure TfrmQryBSPrtDyeejOutList.TBexcpetClick(Sender: TObject);
begin
if ADOQueryList.IsEmpty then
exit;
TcxGridToExcel(FStkName + '<27><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>', cxGrid2);
end;
procedure TfrmQryBSPrtDyeejOutList.TBprintClick(Sender: TObject);
var
WSQL: string;
begin
inherited;
if CDS_List.IsEmpty then
Exit;
WSQL := CDS_List.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 TfrmQryBSPrtDyeejOutList.TcloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmQryBSPrtDyeejOutList.TgridSetClick(Sender: TObject);
begin
fWindowDesign.OpenGridDesignWin10(fDesignCode,'cxgrid2',tv1);
end;
procedure TfrmQryBSPrtDyeejOutList.TrefreshClick(Sender: TObject);
begin
inherited;
initGrid();
end;
procedure TfrmQryBSPrtDyeejOutList.BPIOIDKeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
if key = #13 then
begin
initGrid();
end;
end;
procedure TfrmQryBSPrtDyeejOutList.cxButton1Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton1Click(Sender);
initGrid;
end;
procedure TfrmQryBSPrtDyeejOutList.cxButton4Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton4Click(Sender);
initGrid;
end;
procedure TfrmQryBSPrtDyeejOutList.cxButton5Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton5Click(Sender);
initGrid;
end;
procedure TfrmQryBSPrtDyeejOutList.cxTabControl1Change(Sender: TObject);
begin
inherited;
initGrid();
end;
procedure TfrmQryBSPrtDyeejOutList.dxLayoutControl_queryDblClick(
Sender: TObject);
begin
layoutDesign(TdxLayoutControl(Sender),ADOQueryCmd,PWideChar(dcode));
end;
procedure TfrmQryBSPrtDyeejOutList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action:=cafree;
end;
procedure TfrmQryBSPrtDyeejOutList.FormCreate(Sender: TObject);
begin
inherited;
cxgrid2.Align:=alClient;
canshu1 := self.fParameters1;
frmFrameDateSel1.enddate.Date:=SGetServerDate(ADOQueryBaseTemp);
frmFrameDateSel1.begdate.Date:=frmFrameDateSel1.enddate.Date - 30;
end;
procedure TfrmQryBSPrtDyeejOutList.FormDestroy(Sender: TObject);
begin
inherited;
frmQryBSPrtDyeejOutList := nil;
end;
procedure TfrmQryBSPrtDyeejOutList.FormShow(Sender: TObject);
begin
inherited;
InitForm();
end;
procedure TfrmQryBSPrtDyeejOutList.InitForm();
begin
inherited;
addQryContionByLay(ADOQueryBaseTemp,fformId,'cxgrid2',dxLayoutControl_query,7);
ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, gDllFileCaption);
InitGrid();
end;
procedure TfrmQryBSPrtDyeejOutList.InitGrid();
var
mSqlWhere: string;
begin
mSqlWhere := SLGetFilters(dxLayoutControl_query, 1, 2);
if trim(mSqlWhere) <> '' then
begin
mSqlWhere := ' and ' + trim(mSqlWhere);
end;
try
ADOQueryList.DisableControls;
with ADOQueryList do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select A.* ');
SQL.Add(',CKPRICE=(SELECT PRICE FROM BS_Product_IO E WHERE A.STKID=E.BPIOID)');
SQL.Add(',CKMONEY=Qty*(SELECT PRICE FROM BS_Product_IO E WHERE A.STKID=E.BPIOID)');
SQL.Add(' ,p_type=(select p_type from Bs_Product_Info e where e.p_code=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(Trim(mSqlWhere));
sql.Add('order by FILLTIME desc');
Open;
end;
SCreateCDS(ADOQueryList, CDS_List);
SInitCDSData(ADOQueryList, CDS_List);
finally
ADOQueryList.EnableControls;
end;
end;
end.