1641 lines
48 KiB
ObjectPascal
1641 lines
48 KiB
ObjectPascal
unit U_ContractList;
|
||
|
||
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, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
|
||
dxBarBuiltInMenu, ComObj;
|
||
|
||
type
|
||
FdDy = record
|
||
inc: integer; //客户端套接字句柄
|
||
FDdys: string[32]; //客户端套接字
|
||
FdDysName: string[32]; //客户端套接字
|
||
end;
|
||
|
||
TfrmContractList = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
TBRafresh: TToolButton;
|
||
TBFind: TToolButton;
|
||
TBAdd: TToolButton;
|
||
TBEdit: TToolButton;
|
||
TBDel: TToolButton;
|
||
TBPrint: TToolButton;
|
||
TBClose: TToolButton;
|
||
Tv1: TcxGridDBTableView;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ADOQueryTemp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
TBExport: TToolButton;
|
||
v1OrdDate: TcxGridDBColumn;
|
||
v1DeliveryDate: TcxGridDBColumn;
|
||
v1OrdPerson1: TcxGridDBColumn;
|
||
v1ConNo: TcxGridDBColumn;
|
||
v1MPRTSpec: TcxGridDBColumn;
|
||
Order_Main: TClientDataSet;
|
||
RM1: TRMGridReport;
|
||
RMDBDataSet1: TRMDBDataSet;
|
||
RMXLSExport1: TRMXLSExport;
|
||
v1CustomerNoName: TcxGridDBColumn;
|
||
v1PRTOrderQty: TcxGridDBColumn;
|
||
PopupMenu1: TPopupMenu;
|
||
N2: TMenuItem;
|
||
ToolButton1: TToolButton;
|
||
v1OrdDefStr1: TcxGridDBColumn;
|
||
v1Column1: TcxGridDBColumn;
|
||
ToolButton2: TToolButton;
|
||
ADOQueryPrint: TADOQuery;
|
||
CDS_Print: TClientDataSet;
|
||
v1Column4: TcxGridDBColumn;
|
||
PopupMenu2: TPopupMenu;
|
||
N11: TMenuItem;
|
||
N21: TMenuItem;
|
||
N31: TMenuItem;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
Label4: TLabel;
|
||
Label5: TLabel;
|
||
Label8: TLabel;
|
||
Label9: TLabel;
|
||
Label12: TLabel;
|
||
Label13: TLabel;
|
||
BegDate: TDateTimePicker;
|
||
EndDate: TDateTimePicker;
|
||
CustomerNoName: TEdit;
|
||
ConPerson1: TEdit;
|
||
MPRTCodeName: TEdit;
|
||
ConNo: TEdit;
|
||
MPRTKZ: TEdit;
|
||
MPRTMF: TEdit;
|
||
v1Column2: TcxGridDBColumn;
|
||
ToolButton4: TToolButton;
|
||
Label2: TLabel;
|
||
v1Column3: TcxGridDBColumn;
|
||
cxTabControl1: TcxTabControl;
|
||
Tchk: TToolButton;
|
||
Tnochk: TToolButton;
|
||
cxSplitter1: TcxSplitter;
|
||
cxGrid2: TcxGrid;
|
||
TV2: TcxGridDBTableView;
|
||
v1Column5: TcxGridDBColumn;
|
||
v1Column6: TcxGridDBColumn;
|
||
v1PRTColor: TcxGridDBColumn;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
cxGridDBColumn2: TcxGridDBColumn;
|
||
v1Column7: TcxGridDBColumn;
|
||
v1Column8: TcxGridDBColumn;
|
||
cxGridDBColumn3: TcxGridDBColumn;
|
||
v1OrderUnit: TcxGridDBColumn;
|
||
v1PRTPrice: TcxGridDBColumn;
|
||
v1PriceUnit: TcxGridDBColumn;
|
||
cxGridDBColumn4: TcxGridDBColumn;
|
||
cxGridDBColumn5: TcxGridDBColumn;
|
||
cxGridLevel1: TcxGridLevel;
|
||
ADOQuerySub: TADOQuery;
|
||
DataSource2: TDataSource;
|
||
KHConNO: TEdit;
|
||
Label3: TLabel;
|
||
TQX: TToolButton;
|
||
TNOQX: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
v1Column9: TcxGridDBColumn;
|
||
Label6: TLabel;
|
||
v1ConMoney: TcxGridDBColumn;
|
||
ThreeColorBase: TcxStyleRepository;
|
||
SHuangSe: TcxStyle;
|
||
SkyBlue: TcxStyle;
|
||
Default: TcxStyle;
|
||
QHuangSe: TcxStyle;
|
||
Red: TcxStyle;
|
||
FontBlue: TcxStyle;
|
||
TextSHuangSe: TcxStyle;
|
||
FonePurple: TcxStyle;
|
||
FoneClMaroon: TcxStyle;
|
||
FoneRed: TcxStyle;
|
||
RowColor: TcxStyle;
|
||
handBlack: TcxStyle;
|
||
cxBlue: TcxStyle;
|
||
cxStyle1: TcxStyle;
|
||
v1Column10: TcxGridDBColumn;
|
||
V2Column1: TcxGridDBColumn;
|
||
V2Column3: TcxGridDBColumn;
|
||
V2Column4: TcxGridDBColumn;
|
||
V2Column2: TcxGridDBColumn;
|
||
V2Column5: TcxGridDBColumn;
|
||
ToolButton5: TToolButton;
|
||
OpenDialog1: TOpenDialog;
|
||
cxGrid3: TcxGrid;
|
||
TV3: TcxGridDBTableView;
|
||
TV3Column2: TcxGridDBColumn;
|
||
TV3Column1: TcxGridDBColumn;
|
||
cxGridDBColumn6: TcxGridDBColumn;
|
||
cxGridDBColumn7: TcxGridDBColumn;
|
||
cxGridDBColumn11: TcxGridDBColumn;
|
||
cxGridDBColumn13: TcxGridDBColumn;
|
||
cxGridLevel2: TcxGridLevel;
|
||
ToolButton6: TToolButton;
|
||
N1: TMenuItem;
|
||
ToolButton7: TToolButton;
|
||
TV2Column1: TcxGridDBColumn;
|
||
ToolButton8: TToolButton;
|
||
Order_sub: TClientDataSet;
|
||
Tv1Column1: TcxGridDBColumn;
|
||
ToolButton9: TToolButton;
|
||
TV3Column3: TcxGridDBColumn;
|
||
TV3Column4: TcxGridDBColumn;
|
||
cxGrid4: TcxGrid;
|
||
TV4: TcxGridDBTableView;
|
||
cxGridDBColumn8: TcxGridDBColumn;
|
||
cxGridDBColumn9: TcxGridDBColumn;
|
||
cxGridDBColumn10: TcxGridDBColumn;
|
||
cxGridDBColumn12: TcxGridDBColumn;
|
||
cxGridDBColumn14: TcxGridDBColumn;
|
||
cxGridDBColumn15: TcxGridDBColumn;
|
||
cxGridDBColumn16: TcxGridDBColumn;
|
||
cxGridDBColumn17: TcxGridDBColumn;
|
||
cxGridLevel3: TcxGridLevel;
|
||
Panel2: TPanel;
|
||
Label7: TLabel;
|
||
Button2: TButton;
|
||
Button3: TButton;
|
||
Edit1: TEdit;
|
||
ToolButton10: TToolButton;
|
||
Cds_Print1: TClientDataSet;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TBFindClick(Sender: TObject);
|
||
procedure TBEditClick(Sender: TObject);
|
||
procedure TBDelClick(Sender: TObject);
|
||
procedure TBExportClick(Sender: TObject);
|
||
procedure TBPrintClick(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure TBAddClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
procedure TBTPClick(Sender: TObject);
|
||
procedure CheckBox1Click(Sender: TObject);
|
||
procedure CheckBox2Click(Sender: TObject);
|
||
procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
procedure N1Click(Sender: TObject);
|
||
procedure N2Click(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure CustomerNoNameChange(Sender: TObject);
|
||
procedure ConNoKeyPress(Sender: TObject; var Key: Char);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure cxTabControl1Change(Sender: TObject);
|
||
procedure TchkClick(Sender: TObject);
|
||
procedure TnochkClick(Sender: TObject);
|
||
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
procedure TQXClick(Sender: TObject);
|
||
procedure TNOQXClick(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
procedure ToolButton5Click(Sender: TObject);
|
||
procedure ToolButton6Click(Sender: TObject);
|
||
procedure ToolButton7Click(Sender: TObject);
|
||
procedure ToolButton8Click(Sender: TObject);
|
||
procedure ToolButton9Click(Sender: TObject);
|
||
procedure Button2Click(Sender: TObject);
|
||
procedure Button3Click(Sender: TObject);
|
||
procedure ToolButton10Click(Sender: TObject);
|
||
private
|
||
DQdate: TDateTime;
|
||
fuserName: string;
|
||
procedure InitGrid();
|
||
procedure InitForm();
|
||
function DelData(): Boolean;
|
||
procedure InitGridFH();
|
||
procedure SetStatus();
|
||
procedure InitSub();
|
||
{ Private declarations }
|
||
public
|
||
FFInt, FCloth: Integer;
|
||
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmContractList: TfrmContractList;
|
||
dFdDy: array[0..120] of FdDy;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_ConInPut, U_Fun, U_ZDYHelp, U_FjList_RZ, U_LabelList,
|
||
U_LabelListts;
|
||
|
||
{$R *.dfm}
|
||
procedure TfrmContractList.InitSub();
|
||
begin
|
||
ADOQuerySub.Close;
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
with ADOQuerySub do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.*,IScZ=isnull((select count(MainID) from JYOrder_Sub X where X.Sorddefstr10=A.subID),0) from JYOrderCon_sub A ');
|
||
sql.Add('where mainID =' + quotedstr((Order_Main.fieldbyname('mainID').AsString)));
|
||
open;
|
||
end;
|
||
SCreateCDS20(ADOQuerySub, Order_sub);
|
||
SInitCDSData20(ADOQuerySub, Order_sub);
|
||
end;
|
||
|
||
procedure TfrmContractList.SetStatus();
|
||
begin
|
||
|
||
tchk.Visible := false;
|
||
tnochk.Visible := false;
|
||
tbedit.Visible := false;
|
||
tbdel.Visible := false;
|
||
Tqx.Visible := false;
|
||
TNoqx.Visible := false;
|
||
{ if Trim(DParameters1)<>'高权限' then
|
||
begin
|
||
case cxTabControl1.TabIndex of
|
||
0:begin
|
||
IF trim(DCode)<>'A2' then
|
||
begin
|
||
tbedit.Visible:=true;
|
||
tbdel.Visible:=true;
|
||
end;
|
||
Tqx.Visible:=true;
|
||
end;
|
||
1:begin
|
||
Tqx.Visible:=true;
|
||
end;
|
||
2:begin
|
||
TNoqx.Visible:=true;
|
||
end;
|
||
3:begin
|
||
end;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
case cxTabControl1.TabIndex of
|
||
0:begin
|
||
tchk.Visible:=true;
|
||
tbedit.Visible:=true;
|
||
tbdel.Visible:=true;
|
||
Tqx.Visible:=true;
|
||
end;
|
||
1:begin
|
||
tnochk.Visible:=true;
|
||
Tqx.Visible:=true;
|
||
end;
|
||
2:begin
|
||
TNoqx.Visible:=true;
|
||
end;
|
||
3:begin
|
||
// TNoqx.Visible:=true;
|
||
end;
|
||
end;
|
||
end; }
|
||
|
||
case cxTabControl1.TabIndex of
|
||
0:
|
||
begin
|
||
tchk.Visible := true;
|
||
tbedit.Visible := true;
|
||
tbdel.Visible := true;
|
||
//Tqx.Visible:=true;
|
||
end;
|
||
1:
|
||
begin
|
||
tnochk.Visible := true;
|
||
// Tqx.Visible:=true;
|
||
end;
|
||
2:
|
||
begin
|
||
// TNoqx.Visible:=true;
|
||
end;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmContractList.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmContractList := nil;
|
||
end;
|
||
|
||
procedure TfrmContractList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmContractList.FormCreate(Sender: TObject);
|
||
begin
|
||
cxgrid1.Align := alClient;
|
||
//BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
|
||
//EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
|
||
DQdate := SGetServerDate(ADOQueryTemp);
|
||
end;
|
||
|
||
procedure TfrmContractList.TBCloseClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
if FCloth <> 1 then
|
||
WriteCxGrid('订单合同列表', Tv1, '生产指示单管理1')
|
||
else
|
||
WriteCxGrid('订单合同列表选择', Tv1, '生产指示单管理1');
|
||
end;
|
||
|
||
procedure TfrmContractList.InitGrid();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered := False;
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select A.*,A.ConNo ConNoM ');
|
||
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''合同''),0)>0 then 1 else 0 end) as bit)');
|
||
sql.Add(' from JYOrderCon_Main A ');
|
||
// sql.Add(' left join Contract_Main B on B.conNO=A.conNo ');
|
||
SQL.Add('where A.OrdDate>=''' + FormatDateTime('yyyy-MM-dd', BegDate.DateTime) + '''');
|
||
SQL.Add('and A.OrdDate<''' + FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1) + '''');
|
||
sql.Add(' and A.MPRTType=''外销'' ');
|
||
if Trim(DParameters1) <> '高权限' then
|
||
begin
|
||
sql.Add('and A.Filler=''' + Trim(DName) + '''');
|
||
end;
|
||
if cxTabControl1.TabIndex < 2 then
|
||
begin
|
||
sql.Add(' and isnull(A.status,''0'')=''' + inttostr(cxTabControl1.TabIndex) + '''');
|
||
end;
|
||
// ShowMessage(SQL.text);
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.InitGridFH();
|
||
begin
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered := False;
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec Order_QryList :MainId,:WSql');
|
||
Parameters.ParamByName('WSql').Value := ' and FillTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''' + ' and FillTime<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''';
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.InitForm();
|
||
begin
|
||
|
||
if FCloth <> 1 then
|
||
ReadCxGrid('订单合同列表', Tv1, '生产指示单管理1')
|
||
else
|
||
ReadCxGrid('订单合同列表选择', Tv1, '生产指示单管理1');
|
||
|
||
// if FCloth = 1 then
|
||
// begin
|
||
// v1Column4.Visible := True;
|
||
// // v1PRTPrice.Visible:=False;
|
||
// // v1PRTPrice.Hidden:=True;
|
||
// end
|
||
// else
|
||
// begin
|
||
// v1Column4.Visible := False;
|
||
// // v1PRTPrice.Visible:=True;
|
||
// // v1PRTPrice.Hidden:=False;
|
||
// end;
|
||
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30;
|
||
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmContractList.TBFindClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active = False then
|
||
Exit;
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
end;
|
||
|
||
procedure TfrmContractList.TBEditClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
|
||
begin
|
||
Application.MessageBox('不能操作他人的数据!', '提示', 0);
|
||
Exit;
|
||
end;
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select mainID from JYOrder_main A where ConNo=' + quotedstr(trim(Order_Main.fieldbyname('conNO').AsString)));
|
||
open;
|
||
end;
|
||
|
||
try
|
||
frmConInPut := TfrmConInPut.Create(Application);
|
||
with frmConInPut do
|
||
begin
|
||
PState := 1;
|
||
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
|
||
|
||
if not ADOQueryTemp.IsEmpty then
|
||
begin
|
||
frmConInPut.ConNo.Enabled := False;
|
||
end;
|
||
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmConInPut.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.TBDelClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
if Trim(Order_Main.fieldbyname('Filler').AsString) <> Trim(DName) then
|
||
begin
|
||
Application.MessageBox('不能操作他人的数据!', '提示', 0);
|
||
Exit;
|
||
end;
|
||
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
|
||
Exit;
|
||
if DelData() then
|
||
begin
|
||
Order_Main.Delete;
|
||
end;
|
||
end;
|
||
|
||
function TfrmContractList.DelData(): Boolean;
|
||
begin
|
||
try
|
||
Result := false;
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete JYOrderCon_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
sql.Add('delete JYOrderCon_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
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('外销合同删除')));
|
||
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
|
||
sql.Add(',' + quotedstr(trim('成功')));
|
||
sql.Add(')');
|
||
ExecSQL;
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
Result := True;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Result := False;
|
||
Application.MessageBox('数据删除异常!', '提示', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.TBExportClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.IsEmpty then
|
||
Exit;
|
||
SelExportData(Tv1, ADOQueryMain, '生产指示单列表');
|
||
end;
|
||
|
||
procedure TfrmContractList.TBPrintClick(Sender: TObject);
|
||
var
|
||
fPrintFile: string;
|
||
EngMoney: string;
|
||
fRMXLSExport1: TRMXLSExport;
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
fRMXLSExport1 := TRMXLSExport.Create(self);
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\外销合同.rmf';
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
|
||
sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
|
||
sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
|
||
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
sql.Add(' where A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryPrint, CDS_Print);
|
||
SInitCDSData20(ADOQueryPrint, CDS_Print);
|
||
//
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)');
|
||
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
sql.Add(' where A.MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
||
Open;
|
||
end;
|
||
EngMoney := num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString);
|
||
EngMoney := UpperCase(EngMoney);
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['EngMoney'] := EngMoney;
|
||
// RM1.PreviewButtons:=[pbZoom,pbLoad,pbSave,pbPrint,pbFind,pbPageSetup,pbExit,pbSaveToXLS,pbExport,pbNavigator];
|
||
//RMVariables['enddate']:=enddate.DateTime;
|
||
//RMVariables['printtime']:=Now;
|
||
//RMVariables['printer']:=Trim(gUserName);
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\英文合同.rmf'), '提示', 0);
|
||
end;
|
||
fRMXLSExport1.Free;
|
||
end;
|
||
|
||
procedure TfrmContractList.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
if FFInt = 1 then
|
||
begin
|
||
InitGridFH();
|
||
end
|
||
else
|
||
InitGrid();
|
||
TBFind.Click;
|
||
end;
|
||
|
||
procedure TfrmContractList.TBAddClick(Sender: TObject);
|
||
var
|
||
maxno: string;
|
||
begin
|
||
try
|
||
frmConInPut := TfrmConInPut.Create(Application);
|
||
with frmConInPut do
|
||
begin
|
||
PState := 0;
|
||
FMainId := '';
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmConInPut.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.FormShow(Sender: TObject);
|
||
begin
|
||
|
||
InitForm();
|
||
SetStatus();
|
||
end;
|
||
|
||
procedure TfrmContractList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
if ToolButton1.Visible = False then
|
||
Exit;
|
||
ToolButton1.Click;
|
||
end;
|
||
|
||
procedure TfrmContractList.TBTPClick(Sender: TObject);
|
||
var
|
||
FQty, FQty1, FMxQty, FPQty, FMxQtyS, FPQtyS: string;
|
||
begin
|
||
end;
|
||
|
||
procedure TfrmContractList.CheckBox1Click(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmContractList.CheckBox2Click(Sender: TObject);
|
||
begin
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmContractList.Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
var
|
||
id, id10: Integer;
|
||
begin
|
||
{try
|
||
if Tv1.GroupedItemCount=0 then
|
||
begin
|
||
Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount;
|
||
Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount;
|
||
if Trim(VarToStr(ARecord.Values[id]))='' then Exit;
|
||
if Id<0 then Exit;
|
||
if ARecord.Values[id10]='完成' then exit;
|
||
if (ARecord.Values[id]-DQdate)>=4 then Exit;
|
||
if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then
|
||
AStyle:=DataLink_.QHuangSe
|
||
else
|
||
if ARecord.Values[id]-DQdate<0 then
|
||
begin
|
||
AStyle:=DataLink_OrderManage.FenHongS;
|
||
end;
|
||
end else
|
||
begin
|
||
|
||
end;
|
||
except
|
||
end; }
|
||
end;
|
||
|
||
procedure TfrmContractList.v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
begin
|
||
{ Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount;
|
||
Id10:=TV1.GetColumnByFieldName('SubStatus').Index;
|
||
if Id<0 then Exit;
|
||
if AViewInfo.GridRecord.Values[Id10]='完成' then Exit;
|
||
if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit;
|
||
if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then
|
||
ACanvas.Brush.Color:=clYellow
|
||
else
|
||
if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then
|
||
begin
|
||
ACanvas.Brush.Color:=clRed;
|
||
end;
|
||
begin
|
||
ACanvas.Brush.Color:=clRed;
|
||
end else
|
||
if AViewInfo.GridRecord.Values[Id]='Purple' then
|
||
begin
|
||
ACanvas.Brush.Color:=clPurple;
|
||
end else
|
||
if AViewInfo.GridRecord.Values[Id]='Olive' then
|
||
begin
|
||
ACanvas.Brush.Color:=clOlive;
|
||
end else
|
||
if AViewInfo.GridRecord.Values[Id]='Teal' then
|
||
begin
|
||
ACanvas.Brush.Color:=clTeal;
|
||
end else
|
||
if AViewInfo.GridRecord.Values[Id]='Background' then
|
||
begin
|
||
ACanvas.Brush.Color:=clBackground;
|
||
end; }
|
||
end;
|
||
|
||
procedure TfrmContractList.N1Click(Sender: TObject);
|
||
//var
|
||
// fPrintFile: string;
|
||
// Porderno: string;
|
||
begin
|
||
SelOKNo(Order_Main, False);
|
||
// if Order_Main.IsEmpty then
|
||
// Exit;
|
||
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单10.rmf';
|
||
// SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
|
||
// SCreateCDS20(ADOQueryMain, Order_Main);
|
||
// SInitCDSData20(ADOQueryMain, Order_Main);
|
||
// Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
|
||
// if FileExists(fPrintFile) then
|
||
// begin
|
||
// //RMVariables['begindate']:=begindate.DateTime;
|
||
// //RMVariables['enddate']:=enddate.DateTime;
|
||
// //RMVariables['printtime']:=Now;
|
||
// //RMVariables['printer']:=Trim(gUserName);
|
||
// RM1.LoadFromFile(fPrintFile);
|
||
// RM1.ShowReport;
|
||
// end
|
||
// else
|
||
// begin
|
||
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单10.rmf'), '提示', 0);
|
||
// end;
|
||
// SDofilter(ADOQueryMain, '');
|
||
// SCreateCDS20(ADOQueryMain, Order_Main);
|
||
// SInitCDSData20(ADOQueryMain, Order_Main);
|
||
// Order_Main.Locate('ordernoM', Porderno, []);
|
||
end;
|
||
|
||
procedure TfrmContractList.N2Click(Sender: TObject);
|
||
//var
|
||
// fPrintFile: string;
|
||
// Porderno: string;
|
||
begin
|
||
SelOKNo(Order_Main, True);
|
||
// if Order_Main.IsEmpty then
|
||
// Exit;
|
||
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf';
|
||
// SDofilter(ADOQueryMain, ' OrderNoM=''' + Trim(Order_Main.fieldbyname('OrderNoM').AsString) + '''');
|
||
// SCreateCDS20(ADOQueryMain, Order_Main);
|
||
// SInitCDSData20(ADOQueryMain, Order_Main);
|
||
// Porderno := Trim(Order_Main.fieldbyname('OrderNoM').AsString);
|
||
// if FileExists(fPrintFile) then
|
||
// begin
|
||
// //RMVariables['begindate']:=begindate.DateTime;
|
||
// //RMVariables['enddate']:=enddate.DateTime;
|
||
// //RMVariables['printtime']:=Now;
|
||
// //RMVariables['printer']:=Trim(gUserName);
|
||
// RM1.LoadFromFile(fPrintFile);
|
||
// RM1.ShowReport;
|
||
// end
|
||
// else
|
||
// begin
|
||
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 0);
|
||
// end;
|
||
// SDofilter(ADOQueryMain, '');
|
||
// SCreateCDS20(ADOQueryMain, Order_Main);
|
||
// SInitCDSData20(ADOQueryMain, Order_Main);
|
||
// Order_Main.Locate('ordernoM', Porderno, []);
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
try
|
||
frmConInPut := TfrmConInPut.Create(Application);
|
||
with frmConInPut do
|
||
begin
|
||
PState := 1;
|
||
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
|
||
ToolBar2.Visible := False;
|
||
TBSave.Visible := False;
|
||
ScrollBox1.Enabled := False;
|
||
Tv1.OptionsSelection.CellSelect := False;
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmConInPut.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
try
|
||
frmConInPut := TfrmConInPut.Create(Application);
|
||
with frmConInPut do
|
||
begin
|
||
PState := 1;
|
||
CopyInt := 99;
|
||
FMainId := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmConInPut.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.CustomerNoNameChange(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active = False then
|
||
Exit;
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
end;
|
||
|
||
procedure TfrmContractList.ConNoKeyPress(Sender: TObject; var Key: Char);
|
||
begin
|
||
if Key = #13 then
|
||
begin
|
||
if Length(Tedit(Sender).Text) < 1 then
|
||
Exit;
|
||
try
|
||
ADOQueryMain.DisableControls;
|
||
with ADOQueryMain do
|
||
begin
|
||
Filtered := False;
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select A.*,A.ConNo ConNoM ');
|
||
SQL.Add(',PRTOrderQty=(select Sum(PRTOrderQty) from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',ConMoney=(select Sum(PRTOrderQty*PRTPrice) from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',OrderUnit=(select top 1 OrderUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',PriceUnit=(select top 1 PriceUnit from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',PRTPrice=(select top 1 PRTPrice from JYOrderCon_Sub B where B.MainId=A.MainId)');
|
||
SQL.Add(',case when isnull((select top 1 X.conNO from Contract_Main X where X.conNo=A.conNO) ,'''')='''' then ''否'' else ''是'' end as IScg ');
|
||
sql.Add(',ISSC=cast((case when isnull((select count(WBID) from TP_File X where X.WBID=A.maiNID and X.TFType=''合同''),0)>0 then 1 else 0 end) as bit)');
|
||
sql.Add(' from JYOrderCon_Main A ');
|
||
SQL.Add('where OrdDate>=''' + '1899-01-01' + '''');
|
||
SQL.Add('and OrdDate<''' + '2050-01-01' + '''');
|
||
sql.Add(' and MPRTType=''外销'' ');
|
||
if Trim(DParameters1) <> '高权限' then
|
||
begin
|
||
sql.Add('and A.Filler=''' + Trim(DName) + '''');
|
||
end;
|
||
sql.Add(' and ' + Tedit(Sender).Name + ' like ' + quotedstr(trim('%' + trim(Tedit(Sender).Text) + '%')));
|
||
// sql.Add(' and ConNo like '''+'%'+Trim(ConNoM.Text)+'%'+'''');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryMain, Order_Main);
|
||
SInitCDSData20(ADOQueryMain, Order_Main);
|
||
finally
|
||
ADOQueryMain.EnableControls;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton4Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
||
with frmZDYHelp do
|
||
begin
|
||
flag := 'MPRTNameType';
|
||
flagname := '产品类别定义';
|
||
V1HelpType.Visible := True;
|
||
V1HelpType.Caption := '缩写名';
|
||
fnote := True;
|
||
V1Name.Caption := '中文';
|
||
V1Note.Caption := '英文';
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmZDYHelp.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.cxTabControl1Change(Sender: TObject);
|
||
begin
|
||
SetStatus();
|
||
TBRafresh.Click;
|
||
end;
|
||
|
||
procedure TfrmContractList.TchkClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('update JYOrdercon_Main SET status=''1'' ');
|
||
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString)));
|
||
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('外销合同审核')));
|
||
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
|
||
sql.Add(',' + quotedstr(trim('成功')));
|
||
sql.Add(')');
|
||
execsql;
|
||
end;
|
||
application.MessageBox('操作合同完成成功!', '提示信息');
|
||
TBRafresh.Click;
|
||
except
|
||
application.MessageBox('操作合同完成失败!', '提示信息', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.TnochkClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('update JYOrdercon_Main SET status=''0'' ');
|
||
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString)));
|
||
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('外销合同撤销审核')));
|
||
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
|
||
sql.Add(',' + quotedstr(trim('成功')));
|
||
sql.Add(')');
|
||
execsql;
|
||
end;
|
||
application.MessageBox('撤销合同完成成功!', '提示信息');
|
||
TBRafresh.Click;
|
||
except
|
||
application.MessageBox('撤销合同完成失败!', '提示信息', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
InitSub();
|
||
end;
|
||
|
||
procedure TfrmContractList.TQXClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('update JYOrdercon_Main SET status=''2'' ');
|
||
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString)));
|
||
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('外销合同取消')));
|
||
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
|
||
sql.Add(',' + quotedstr(trim('成功')));
|
||
sql.Add(')');
|
||
execsql;
|
||
end;
|
||
application.MessageBox('合同取消成功!', '提示信息');
|
||
TBRafresh.Click;
|
||
except
|
||
application.MessageBox('合同取消失败!', '提示信息', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.TNOQXClick(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
exit;
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('update JYOrdercon_Main SET status=''0'' ');
|
||
sql.Add('where mainID=' + quotedstr(trim(Order_Main.fieldbyname('mainID').AsString)));
|
||
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('外销合同撤销取消')));
|
||
sql.Add(',' + quotedstr(trim('合同号:' + trim(Order_Main.FieldByName('conNo').AsString))));
|
||
sql.Add(',' + quotedstr(trim('成功')));
|
||
sql.Add(')');
|
||
execsql;
|
||
end;
|
||
application.MessageBox('撤销合同取消成功!', '提示信息');
|
||
TBRafresh.Click;
|
||
except
|
||
application.MessageBox('撤销合同取消失败!', '提示信息', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
try
|
||
frmFjList_RZ := TfrmFjList_RZ.Create(Application);
|
||
with frmFjList_RZ do
|
||
begin
|
||
// PState:=1;
|
||
// if Trim(DParameters1)<>'高权限' then cxButton1.Visible:=false;
|
||
fkeyNO := Trim(Self.Order_Main.fieldbyname('MainId').AsString);
|
||
fType := '合同';
|
||
if ShowModal = 1 then
|
||
begin
|
||
|
||
end;
|
||
end;
|
||
finally
|
||
frmFjList_RZ.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.Tv1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
begin
|
||
if AViewInfo.GridRecord.Values[tv1.GetColumnByFieldName('status').Index] = '2' then
|
||
ACanvas.Brush.Color := clLime;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton5Click(Sender: TObject);
|
||
var
|
||
excelApp, WorkBook: Variant;
|
||
i, j, k, ExcelRowCount: integer;
|
||
maxId, M1, M2, M3: string;
|
||
FMessage: string;
|
||
begin
|
||
try
|
||
excelApp := CreateOleObject('Excel.Application');
|
||
openDialog1.Filter := '*.CSV;*.xls';
|
||
if opendialog1.Execute then
|
||
begin
|
||
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
|
||
end
|
||
else
|
||
exit;
|
||
excelApp.Visible := false;
|
||
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
|
||
except
|
||
application.MessageBox('加载EXCEL错误!', '错误信息', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
try
|
||
k := 0;
|
||
for i := 1 to 100 do
|
||
begin
|
||
//遍历界面绑定界面中显示的字段和名称
|
||
for j := 1 to Tv3.ColumnCount - 1 do
|
||
begin
|
||
if trim(Tv3.Columns[j].Caption) = '总成品数量' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '样品类型' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '选择' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '录入人' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '录入时间' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '修改人' then
|
||
continue;
|
||
if trim(Tv3.Columns[j].Caption) = '修改时间' then
|
||
continue;
|
||
if trim(excelApp.Cells[1, i].value) = trim(Tv3.Columns[j].Caption) then
|
||
begin
|
||
dFdDy[k].inc := i;
|
||
dFdDy[k].FDdys := trim(Tv3.Columns[j].DataBinding.FieldName);
|
||
dFdDy[k].FdDysName := trim(Tv3.Columns[j].Caption);
|
||
end;
|
||
end;
|
||
k := k + 1;
|
||
end;
|
||
except
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('delete jyorder_main_DR ');
|
||
execsql;
|
||
end;
|
||
// ShowMessage(IntToStr(k));
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
for i := 2 to ExcelRowCount do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from jyorder_main_DR where 1=2');
|
||
open;
|
||
end;
|
||
ADOQueryCmd.Append;
|
||
for j := 0 to k - 1 do
|
||
begin
|
||
if trim(dFdDy[j].FDdys) = '' then
|
||
continue;
|
||
M1 := dFdDy[j].FDdys; //字段名称
|
||
M2 := inttostr(dFdDy[j].inc); //当前列
|
||
M3 := excelApp.Cells[i, dFdDy[j].inc].Value; //当前单元格内容
|
||
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
|
||
end;
|
||
|
||
ADOQueryCmd.Post;
|
||
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Get_Con_DR_copy1 ''' + trim(DName) + ''' ');
|
||
ExecSQL;
|
||
end;
|
||
|
||
WorkBook.Close;
|
||
excelApp.Quit;
|
||
excelApp := Unassigned;
|
||
WorkBook := Unassigned;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
Application.MessageBox('导入成功!', '提示', 0);
|
||
InitGrid();
|
||
except
|
||
WorkBook.Close;
|
||
excelApp.Quit;
|
||
excelApp := Unassigned;
|
||
WorkBook := Unassigned;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton6Click(Sender: TObject);
|
||
var
|
||
fPrintFile: string;
|
||
EngMoney: string;
|
||
fRMXLSExport1: TRMXLSExport;
|
||
begin
|
||
|
||
if Order_Main.IsEmpty then
|
||
Exit;
|
||
if Order_Main.Locate('SSel', True, []) = False then
|
||
begin
|
||
Application.MessageBox('没有选择数据!', '提示', 0);
|
||
Exit;
|
||
end;
|
||
with ADOqueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOqueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select * FROM TBSubID where 1=2 ');
|
||
open;
|
||
end;
|
||
ADOqueryCmd.Connection.BeginTrans;
|
||
try
|
||
Order_Main.DisableControls;
|
||
with Order_Main do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if FieldByName('SSel').AsBoolean then
|
||
begin
|
||
ADOQueryCmd.append;
|
||
ADOQueryCmd.fieldbyname('SubId').Value := Trim(fieldbyname('Mainid').AsString);
|
||
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
|
||
ADOQueryCmd.post;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
Order_Main.EnableControls;
|
||
ADOqueryCmd.Connection.CommitTrans;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
|
||
fRMXLSExport1 := TRMXLSExport.Create(self);
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\合并合同.rmf';
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
|
||
sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
|
||
sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
|
||
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
sql.Add(' where EXISTS(select SubId from TBSubID X where X.SubId=A.Mainid and X.DName=''' + trim(DCode) + ''' )');
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryPrint, CDS_Print1);
|
||
SInitCDSData20(ADOQueryPrint, CDS_Print1);
|
||
//
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)');
|
||
sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
sql.Add(' where EXISTS(select SubId from TBSubID X where X.SubId=A.Mainid and X.DName=''' + trim(DCode) + ''')');
|
||
Open;
|
||
end;
|
||
EngMoney := num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString);
|
||
EngMoney := UpperCase(EngMoney);
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RMVariables['EngMoney'] := EngMoney;
|
||
// RM1.PreviewButtons:=[pbZoom,pbLoad,pbSave,pbPrint,pbFind,pbPageSetup,pbExit,pbSaveToXLS,pbExport,pbNavigator];
|
||
//RMVariables['enddate']:=enddate.DateTime;
|
||
//RMVariables['printtime']:=Now;
|
||
//RMVariables['printer']:=Trim(gUserName);
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.ShowReport;
|
||
end
|
||
else
|
||
begin
|
||
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\合并合同.rmf'), '提示', 0);
|
||
end;
|
||
fRMXLSExport1.Free;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton7Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelList := TfrmLabelList.Create(Application);
|
||
with frmLabelList do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update JYOrderCon_Main Set LBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + '''');
|
||
sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + '''');
|
||
ExecSQL;
|
||
end;
|
||
TBRafresh.Click;
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelList.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton8Click(Sender: TObject);
|
||
begin
|
||
// if Order_Main.Locate('SSel', True, []) = False then
|
||
// begin
|
||
// Application.MessageBox('没有选择数据!', '提示', 0);
|
||
// Exit;
|
||
// end;
|
||
// if Order_Main.IsEmpty then
|
||
// Exit;
|
||
//
|
||
if Trim(Order_Main.fieldbyname('LBName').AsString) = '' then
|
||
begin
|
||
Exit;
|
||
end;
|
||
panel2.Visible := True;
|
||
end;
|
||
|
||
|
||
//var
|
||
// fPrintFile: string;
|
||
// EngMoney: string;
|
||
// fRMXLSExport1: TRMXLSExport;
|
||
//begin
|
||
// if Order_Main.IsEmpty then
|
||
// Exit;
|
||
//
|
||
// if Trim(Order_Main.fieldbyname('LBName').AsString) = '' then
|
||
// begin
|
||
// Exit;
|
||
// end;
|
||
//
|
||
// fRMXLSExport1 := TRMXLSExport.Create(self);
|
||
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString + '.rmf';
|
||
// with ADOQueryPrint do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
|
||
// sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
|
||
// sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
|
||
// sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
// sql.Add(' where B.Subid=''' + Trim(Order_sub.fieldbyname('subid').AsString) + '''');
|
||
// Open;
|
||
// end;
|
||
// SCreateCDS20(ADOQueryPrint, CDS_Print);
|
||
// SInitCDSData20(ADOQueryPrint, CDS_Print);
|
||
//
|
||
// if FileExists(fPrintFile) then
|
||
// begin
|
||
// RM1.LoadFromFile(fPrintFile);
|
||
// RM1.DefaultCopies :=StrToInt(Order_sub.fieldbyname('PRTOrderQty').AsString) ;
|
||
// RM1.ShowReport;
|
||
// end
|
||
// else
|
||
// begin
|
||
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
|
||
// end;
|
||
// fRMXLSExport1.Free;
|
||
//end;
|
||
|
||
procedure TfrmContractList.ToolButton9Click(Sender: TObject);
|
||
var
|
||
excelApp, WorkBook: Variant;
|
||
i, j, k, ExcelRowCount: integer;
|
||
maxId, M1, M2, M3: string;
|
||
FMessage: string;
|
||
begin
|
||
try
|
||
excelApp := CreateOleObject('Excel.Application');
|
||
openDialog1.Filter := '*.CSV;*.xls';
|
||
if opendialog1.Execute then
|
||
begin
|
||
WorkBook := excelApp.WorkBooks.Open(OpenDialog1.FileName);
|
||
end
|
||
else
|
||
exit;
|
||
excelApp.Visible := false;
|
||
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
|
||
except
|
||
application.MessageBox('加载EXCEL错误!', '错误信息', MB_ICONERROR);
|
||
exit;
|
||
end;
|
||
try
|
||
k := 0;
|
||
for i := 1 to 100 do
|
||
begin
|
||
//遍历界面绑定界面中显示的字段和名称
|
||
for j := 1 to Tv4.ColumnCount - 1 do
|
||
begin
|
||
if trim(Tv4.Columns[j].Caption) = '总成品数量' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '样品类型' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '选择' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '录入人' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '录入时间' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '修改人' then
|
||
continue;
|
||
if trim(Tv4.Columns[j].Caption) = '修改时间' then
|
||
continue;
|
||
if trim(excelApp.Cells[1, i].value) = trim(Tv4.Columns[j].Caption) then
|
||
begin
|
||
dFdDy[k].inc := i;
|
||
dFdDy[k].FDdys := trim(Tv4.Columns[j].DataBinding.FieldName);
|
||
dFdDy[k].FdDysName := trim(Tv4.Columns[j].Caption);
|
||
end;
|
||
end;
|
||
k := k + 1;
|
||
end;
|
||
except
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('delete jyorder_main_DR ');
|
||
execsql;
|
||
end;
|
||
// ShowMessage(IntToStr(k));
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
try
|
||
for i := 2 to ExcelRowCount do
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from jyorder_main_DR where 1=2');
|
||
open;
|
||
end;
|
||
ADOQueryCmd.Append;
|
||
for j := 0 to k - 1 do
|
||
begin
|
||
if trim(dFdDy[j].FDdys) = '' then
|
||
continue;
|
||
M1 := dFdDy[j].FDdys; //字段名称
|
||
M2 := inttostr(dFdDy[j].inc); //当前列
|
||
M3 := excelApp.Cells[i, dFdDy[j].inc].Value; //当前单元格内容
|
||
ADOQueryCmd.fieldbyname(dFdDy[j].FDdys).Value := excelApp.Cells[i, dFdDy[j].inc].Value;
|
||
end;
|
||
|
||
ADOQueryCmd.Post;
|
||
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Get_Con_DR2_copy1 ''' + trim(DName) + ''' ');
|
||
ExecSQL;
|
||
end;
|
||
|
||
WorkBook.Close;
|
||
excelApp.Quit;
|
||
excelApp := Unassigned;
|
||
WorkBook := Unassigned;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
Application.MessageBox('导入成功!', '提示', 0);
|
||
InitGrid();
|
||
except
|
||
WorkBook.Close;
|
||
excelApp.Quit;
|
||
excelApp := Unassigned;
|
||
WorkBook := Unassigned;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmContractList.Button2Click(Sender: TObject);
|
||
var
|
||
FMainid: string;
|
||
fPrintFile: string;
|
||
Porderno: string;
|
||
i, j: Integer;
|
||
begin
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
|
||
ExecSQL;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('SELECT * FROM TBSubID where 1=2 ');
|
||
open;
|
||
end;
|
||
FMainid := '';
|
||
Order_Main.DisableControls;
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with Order_Main do
|
||
begin
|
||
First;
|
||
while not Eof do
|
||
begin
|
||
if Fieldbyname('Ssel').AsBoolean then
|
||
begin
|
||
if FMainid = '' then
|
||
begin
|
||
FMainid := Trim(Order_Main.fieldbyname('CustomerNoName').AsString);
|
||
end
|
||
else
|
||
begin
|
||
if Trim(Order_Main.fieldbyname('CustomerNoName').AsString) <> FMainid then
|
||
begin
|
||
application.MessageBox('选择的不是同一个客户,不能一起打印!', '提示信息', 0);
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
EnableControls;
|
||
exit;
|
||
end;
|
||
end;
|
||
ADOQueryCmd.append;
|
||
ADOQueryCmd.fieldbyname('SubId').Value := Trim(Order_Main.fieldbyname('Mainid').AsString);
|
||
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
|
||
ADOQueryCmd.post;
|
||
end;
|
||
Next;
|
||
end;
|
||
end;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
end;
|
||
order_main.EnableControls;
|
||
|
||
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf';
|
||
// fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString + '.rmf';
|
||
with ADOQueryPrint do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('exec P_Print_OrderBQdy ''' + trim(DCode) + '''');
|
||
sql.Add(',''' + trim(Edit1.Text) + ''' ');
|
||
// showmessage(sql.Text);
|
||
Open;
|
||
end;
|
||
SCreateCDS20(ADOQueryPrint, CDS_Print);
|
||
SCreateCDS20(ADOQueryPrint, CDS_Print1);
|
||
SInitCDSData20(ADOQueryPrint, CDS_Print);
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + CDS_Print.fieldbyname('LBName').AsString + '.rmf';
|
||
try
|
||
with CDS_Print do
|
||
begin
|
||
DisableControls;
|
||
first;
|
||
while not eof do
|
||
begin
|
||
CDS_Print1.EmptyDataSet;
|
||
CDS_Print1.Append;
|
||
for i := 0 to FieldCount - 1 do
|
||
begin
|
||
CDS_Print1.fields[i].value := CDS_Print.Fields[i].Value;
|
||
end;
|
||
CDS_Print1.Post;
|
||
|
||
if (trim(CDS_Print1.fieldbyname('subid').AsString) <> '') then
|
||
begin
|
||
if FileExists(fPrintFile) then
|
||
begin
|
||
RM1.LoadFromFile(fPrintFile);
|
||
RM1.DefaultCopies := StrToInt(CDS_Print1.fieldbyname('PRTOrderQty').AsString);
|
||
RM1.ShowReport;
|
||
// RM1.PrintReport;
|
||
end
|
||
else
|
||
begin
|
||
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 0);
|
||
Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
|
||
exit;
|
||
end;
|
||
|
||
end;
|
||
|
||
Next;
|
||
end;
|
||
EnableControls;
|
||
end;
|
||
|
||
finally
|
||
|
||
end;
|
||
// with ADOQueryPrint do
|
||
// begin
|
||
// Close;
|
||
// sql.Clear;
|
||
// sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:'' ');
|
||
// sql.Add(',Case when substring(PriceNote,1,3)=''FOB'' then '' ''+A.FromPlace else '' ''+A.ToPlace end as PriceNote10 ');
|
||
// sql.Add(',PrtImage=(select Top 1 FilesOther from TP_File X where X.WBID=B.PRTCode) ');
|
||
// sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
|
||
// sql.Add(' where B.Subid=''' + Trim(ADOQueryTemp.fieldbyname('subid').AsString) + '''');
|
||
// Open;
|
||
// end;
|
||
// SCreateCDS20(ADOQueryPrint, CDS_Print);
|
||
// SInitCDSData20(ADOQueryPrint, CDS_Print);
|
||
// if FileExists(fPrintFile) then
|
||
// begin
|
||
// RM1.LoadFromFile(fPrintFile);
|
||
// RM1.DefaultCopies := StrToInt(Order_sub.fieldbyname('PRTOrderQty').AsString);
|
||
// RM1.ShowReport;
|
||
// end
|
||
// else
|
||
// begin
|
||
//// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\生产指示单.rmf'), '提示', 0);
|
||
// Application.MessageBox(PChar('没有找' + ExtractFilePath(Application.ExeName) + 'Report\' + Order_Main.fieldbyname('LBName').AsString), '提示', 0);
|
||
// exit;
|
||
// end;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmContractList.Button3Click(Sender: TObject);
|
||
begin
|
||
Panel2.Visible := false;
|
||
end;
|
||
|
||
procedure TfrmContractList.ToolButton10Click(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelListts := TfrmLabelListts.Create(Application);
|
||
with frmLabelListts do
|
||
begin
|
||
if ShowModal = 1 then
|
||
begin
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
sql.Clear;
|
||
sql.Add('Update JYOrderCon_Main Set LBName=''' + Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString) + '''');
|
||
sql.Add(' where Mainid=''' + Trim(Order_Main.fieldbyname('Mainid').AsString) + '''');
|
||
ExecSQL;
|
||
end;
|
||
// TBRafresh.Click;
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelListts.Free;
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|