D10xhGemei/T02贸易汇总仓库/U_ClothPurchaseEnterList.pas
DESKTOP-E401PHE\Administrator 5cc9996a3c 回仓调整
2025-03-08 10:45:47 +08:00

417 lines
12 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_ClothPurchaseEnterList;
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, cxPC, cxButtonEdit,
cxTextEdit, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, U_BaseList, RM_e_Graphic, RM_e_Jpeg,
RM_E_llPDF, Vcl.Clipbrd, dxScrollbarAnnotations, FrameDateSel, cxContainer,
cxProgressBar, dxSkinsCore, dxSkinsDefaultPainters;
type
TfrmClothPurchaseEnterList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
GPM_1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DS_1: TDataSource;
Panel1: TPanel;
Label4: TLabel;
Label9: TLabel;
BuyName: TcxTextEdit;
PurNo: TcxTextEdit;
cxTabControl1: TcxTabControl;
CDS_1: TClientDataSet;
Label3: TLabel;
SellName: TcxTextEdit;
pm1: TPopupMenu;
ADOQueryImage: TADOQuery;
ToolButton7: TToolButton;
N3: TMenuItem;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
VC_SCSCode: TcxGridDBColumn;
cxGridDBColumn2: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridDBColumn5: TcxGridDBColumn;
v1PRTOrderQty: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
v1PRTPrice: TcxGridDBColumn;
cxGridDBColumn9: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
N5: TMenuItem;
N6: TMenuItem;
frmFrameDateSel1: TfrmFrameDateSel;
TV1Column1: TcxGridDBColumn;
TV1Column2: TcxGridDBColumn;
TV1Column3: TcxGridDBColumn;
TV1Column4: TcxGridDBColumn;
TV1Column7: TcxGridDBColumn;
TV1Column8: TcxGridDBColumn;
TV1Column5: TcxGridDBColumn;
TV1Column6: TcxGridDBColumn;
TV1Column9: TcxGridDBColumn;
Label1: TLabel;
C_Name: TcxTextEdit;
Panel2: TPanel;
cxSplitter1: TcxSplitter;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
TV2Column1: TcxGridDBColumn;
TV2Column2: TcxGridDBColumn;
TV2Column3: TcxGridDBColumn;
TV2Column4: TcxGridDBColumn;
ADO_2: TADOQuery;
GPM_2: TcxGridPopupMenu;
DS_2: TDataSource;
ToolBar2: TToolBar;
ToolButton5: TToolButton;
ToolButton1: TToolButton;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure BuyNameChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure PurNoPropertiesChange(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure cxButton4Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure cxButton5Click(Sender: TObject);
procedure cxButton2Click(Sender: TObject);
procedure cxButton3Click(Sender: TObject);
procedure PurNoKeyPress(Sender: TObject; var Key: Char);
procedure TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton1Click(Sender: TObject);
private
fFlileFlag: string;
procedure InitGrid();
procedure SetStatus();
procedure InitGrid2();
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses
U_DataLink, U_RTFun, U_LabelPrint, U_PurClothEnterInput,
U_ClothPurchaseQtyInPut;
{$R *.dfm}
procedure TfrmClothPurchaseEnterList.InitGrid2();
var
SqlStr: string;
begin
if CDS_1.IsEmpty then
EXIT;
SqlStr := 'select A.BCIONO,IOTime=convert(varchar(10),A.IOTime,120) ,Qty=sum(A.Qty) ,Piece=sum(A.Piece) ';
SqlStr := SqlStr + 'from BS_Cloth_IO A ';
SqlStr := SqlStr + 'where A.IOType=''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and A.FromPurSId=' + quotedstr(trim(CDS_1.fieldbyname('PurSId').asstring));
SqlStr := SqlStr + 'group by A.BCIONO,convert(varchar(10),A.IOTime,120) ';
InitAdoData(ADO_2, Tv2, SqlStr, '', '');
end;
procedure TfrmClothPurchaseEnterList.N1Click(Sender: TObject);
begin
SelOKNoFiler(Tv1, True); //ȫѡ
end;
procedure TfrmClothPurchaseEnterList.N2Click(Sender: TObject);
begin
SelOKNoFiler(Tv1, False); //ȫ<><C8AB>
end;
procedure TfrmClothPurchaseEnterList.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(CDS_1.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmClothPurchaseEnterList.N5Click(Sender: TObject);
begin
SelOKNo(CDS_1, True);
end;
procedure TfrmClothPurchaseEnterList.N6Click(Sender: TObject);
begin
SelOKNo(CDS_1, False);
end;
procedure TfrmClothPurchaseEnterList.PurNoKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.PurNoPropertiesChange(Sender: TObject);
begin
if Length(Trim(TcxTextEdit(Sender).Text)) < 4 then
Exit;
TBFind.Click;
end;
procedure TfrmClothPurchaseEnterList.SetStatus();
begin
end;
procedure TfrmClothPurchaseEnterList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmClothPurchaseEnterList.FormCreate(Sender: TObject);
begin
inherited;
frmFrameDateSel1.EndDate.Date := SGetServerDate(ADOQueryTemp);
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 90;
end;
procedure TfrmClothPurchaseEnterList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmClothPurchaseEnterList.InitGrid();
var
SqlStr: string;
begin
SqlStr := ' select A.*,B.*';
SqlStr := SqlStr + ',LJHCPiece= (select SUM(X.Piece) from BS_Cloth_IO X where X.FromPurSId = B.PurSId and X.IOType =''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and STKName='<>ײ<EFBFBD>ƥ'')';
SqlStr := SqlStr + ',LJHCQty= (select SUM(X.Qty) from BS_Cloth_IO X where X.FromPurSId = B.PurSId and X.IOType =''<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>'' and STKName='<>ײ<EFBFBD>ƥ'')';
SqlStr := SqlStr + ' from Pur_ClothPlan_Main A inner join Pur_ClothPlan_sub B on A.PurMId=B.PurMId ';
SqlStr := SqlStr + 'where 1=1 ';
case cxTabControl1.TabIndex of
0:
begin
SqlStr := SqlStr + ' and isnull(A.status,''0'')=''9''';
end;
1:
begin
SqlStr := SqlStr + ' and isnull(A.status,''0'')=''10''';
SqlStr := SqlStr + ' and A.PurDate>=''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.BegDate.Date)) + '''';
SqlStr := SqlStr + ' and A.PurDate<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''';
end;
end;
InitCDSData(ADOQueryMain, CDS_1, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), 'PurNo');
end;
procedure TfrmClothPurchaseEnterList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmClothPurchaseEnterList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.FormShow(Sender: TObject);
begin
inherited;
fFlileFlag := UserDataFlag + 'HX';
readCxGrid(trim(Self.Caption) + 'tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>');
readCxGrid(trim(Self.Caption) + 'tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.CheckBox1Click(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.CheckBox2Click(Sender: TObject);
begin
TBRafresh.Click;
end;
procedure TfrmClothPurchaseEnterList.BuyNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmClothPurchaseEnterList.cxButton1Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton1Click(Sender);
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.cxButton2Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton2Click(Sender);
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.cxButton3Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton3Click(Sender);
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.cxButton4Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton4Click(Sender);
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.cxButton5Click(Sender: TObject);
begin
inherited;
frmFrameDateSel1.cxButton5Click(Sender);
InitGrid();
end;
procedure TfrmClothPurchaseEnterList.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
TBRafresh.Click;
end;
procedure TfrmClothPurchaseEnterList.ToolButton1Click(Sender: TObject);
begin
if ADO_2.IsEmpty then
Exit;
try
frmClothPurchaseQtyInPut := TfrmClothPurchaseQtyInPut.Create(Application);
with frmClothPurchaseQtyInPut do
begin
FBCIONO := Trim(ADO_2.fieldbyname('BCIONO').AsString);
FQtyUnit := Trim(CDS_1.fieldbyname('QtyUnit').AsString);
FPurMId := Trim(CDS_1.fieldbyname('PurMId').AsString);
FPurSId := Trim(CDS_1.fieldbyname('PurSId').AsString);
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmClothPurchaseQtyInPut.Free;
end;
end;
procedure TfrmClothPurchaseEnterList.ToolButton5Click(Sender: TObject);
begin
try
frmClothPurchaseQtyInPut := TfrmClothPurchaseQtyInPut.Create(Application);
with frmClothPurchaseQtyInPut do
begin
FBCIONO := '';
FQtyUnit := Trim(CDS_1.fieldbyname('QtyUnit').AsString);
FPurMId := Trim(CDS_1.fieldbyname('PurMId').AsString);
FPurSId := Trim(CDS_1.fieldbyname('PurSId').AsString);
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmClothPurchaseQtyInPut.Free;
end;
end;
procedure TfrmClothPurchaseEnterList.ToolButton6Click(Sender: TObject);
var
MPurMIdS: string;
begin
if CDS_1.IsEmpty then
exit;
MPurMIdS := MPurMIdS + trim(CDS_1.fieldbyname('PurMId').AsString) + ',';
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' exec P_Pur_ClothPlan_SetStatus ');
sql.Add(' @PurMIdS=' + QuotedStr(MPurMIdS));
sql.Add(',@Operation=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
Sql.Add(',@DName=' + quotedstr(Trim(DName)));
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD><C9B9>ƻ<EFBFBD>ID<49><44>' + trim(MPurMIdS))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳɹ<C9B3>', '<27><>ʾ');
InitGrid();
except
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
InitGrid();
end;
end;
procedure TfrmClothPurchaseEnterList.ToolButton7Click(Sender: TObject);
begin
writeCxGrid(trim(Self.Caption) + 'tv1', Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>');
writeCxGrid(trim(Self.Caption) + 'tv2', Tv2, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmClothPurchaseEnterList.TV1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitGrid2();
end;
end.