584 lines
26 KiB
C#
584 lines
26 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using GThinking.N_MODEL.Page;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using GThinking.N_MISPRO.Data;
|
||
using GThinking.N_WORKFLOW;
|
||
using GThinking.N_PUBLIC;
|
||
using GThinking.N_MODEL.Dialog;
|
||
using GThinking.N_CONTROL;
|
||
using System.Text;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
|
||
namespace GThinking.U20261363_N_XLXSBJ
|
||
{
|
||
public partial class XLBJDQuery : SingleQueryBase
|
||
{
|
||
XLBJD_M queryentity = new XLBJD_M();
|
||
|
||
#region 页面初始化
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860174;
|
||
this.UMName = "查询";
|
||
this.CurMaster = Master;
|
||
this.CurQueryTable = QueryTalbe;
|
||
this.CurQueryEntity = queryentity;
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
InitControl();
|
||
}
|
||
|
||
base.InitPage();
|
||
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 私有函数
|
||
|
||
private void InitControl()
|
||
{
|
||
WorkFlowUtils.SetCombox_WFSW(this.UMID, tSession, cbxSW);
|
||
TRYXX.SetComboBox_GH(cbxDCLR, "", true, true);
|
||
WorkFlowUtils.SetCheckedDropDownList_WFPROC("XLXSBJ_BJD", cbxWFState);
|
||
|
||
string sSQL = string.Format("select XLXSBJFL_BJFLID,case isnull(XLXSBJFL_TYBZ,' ') when 'Y' then rtrim(XLXSBJFL_BJFLMC)||'(停用)' else XLXSBJFL_BJFLMC end as Name from XLXSBJFL where 1 = 1 ");
|
||
if (!string.IsNullOrEmpty(GetOption(100860000,"BJU012").Trim()))
|
||
{
|
||
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", GetOption(100860000,"BJU012").Trim());
|
||
sSQL += " or isnull(XLXSBJFL_BJFLID, ' ') = ' ')";
|
||
}
|
||
sSQL += " order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ";
|
||
TComboBox.SetComboBox("DBERP", cbxBJFLID, sSQL, true);
|
||
|
||
cbxPXFS.ClearItems();
|
||
cbxPXFS.Items.Add(new ListItem("报价单号倒序↓", "报价单号倒序↓"));
|
||
cbxPXFS.Items.Add(new ListItem("报价单号正序↑", "报价单号正序↑"));
|
||
cbxPXFS.Items.Add(new ListItem("报价日期倒序↓", "报价日期倒序↓"));
|
||
cbxPXFS.Items.Add(new ListItem("报价日期正序↑", "报价日期正序↑"));
|
||
cbxFKJG.ClearItems();
|
||
cbxFKJG.Items.Add(new ListItem("全部中标", "Y"));
|
||
cbxFKJG.Items.Add(new ListItem("部分中标", "P"));
|
||
cbxFKJG.Items.Add(new ListItem("未中标", "N"));
|
||
cbxFKJG.Items.Add(new ListItem("废标", "F"));
|
||
cbxFKJG.Items.Add(new ListItem("弃标", "Q"));
|
||
cbxFKJG.ShowValue = false;
|
||
|
||
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
sql.Add("select XSY_TXY,XSY_ZJM from XSY where 1=1 order by XSY_ZJM");
|
||
DataSet ds = dberp.OpenDataSet(sql);
|
||
cbxTXY.ClearItems();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
cbxTXY.Items.Add(new ListItem("", ""));
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sTXY = ds.Tables[0].Rows[i][0].ToString().Trim();
|
||
string sZJM = ds.Tables[0].Rows[i][1].ToString().Trim();
|
||
if (sZJM.Equals(""))
|
||
sZJM = CMISproConvert.ConvertZJM(sTXY).Trim();
|
||
cbxTXY.Items.Add(new ListItem(sZJM + "|" + sTXY, sTXY));
|
||
}
|
||
}
|
||
|
||
sql.Clear();
|
||
ds.Clear();
|
||
sql.Add(" SELECT BM_BMID,BM_MC FROM BM where 1=1 ");
|
||
if (!string.IsNullOrEmpty(GetOption(100860000,"HJU006").Trim()))
|
||
{
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("BM_BMID", GetOption(100860000,"HJU006").Trim()));
|
||
}
|
||
sql.Add(" order by BM_BMID ");
|
||
ds = dberp.OpenDataSet(sql);
|
||
cbxXSBM.ClearItems();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sID = ds.Tables[0].Rows[i]["BM_BMID"].ToString().Trim();
|
||
string sName = ds.Tables[0].Rows[i]["BM_MC"].ToString().Trim();
|
||
cbxXSBM.Items.Add(new ListItem(sName, sID));
|
||
}
|
||
|
||
sql.Clear();
|
||
sql.Add(@"select distinct XLXSBJD_SQRGH,XLXSBJD_SQR,isnull(RSRYJBXX_PYBM,' ') as PYBM from XLXSBJD
|
||
left join RSRYJBXX on RSRYJBXX_RYID=XLXSBJD_SQRID
|
||
order by XLXSBJD_SQRGH");
|
||
ds = dberp.OpenDataSet(sql);
|
||
cbxSQR.ClearItems();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sSQRGH = ds.Tables[0].Rows[i]["XLXSBJD_SQRGH"].ToString().Trim();
|
||
string sSQR = ds.Tables[0].Rows[i]["XLXSBJD_SQR"].ToString().Trim();
|
||
string sZJM = ds.Tables[0].Rows[i]["PYBM"].ToString().Trim();
|
||
if(sZJM.Equals(""))
|
||
sZJM = CMISproConvert.ConvertZJM(sSQR).Trim();
|
||
cbxSQR.Items.Add(new ListItem(sZJM + "|" + sSQR + "|" + sSQRGH, sSQRGH));
|
||
}
|
||
}
|
||
chkZDFXYQR.Visible = false;
|
||
if (CheckModule("100860068"))
|
||
chkZDFXYQR.Visible = true;
|
||
LoadKZXXFZ();
|
||
}
|
||
|
||
private void LoadKZXXFZ()
|
||
{
|
||
|
||
string sZDM = "";//使用字段
|
||
string sMC = "";//附加信息名称
|
||
string sSRFS = "";//输入方式
|
||
string sMJLB = "";//枚举列表
|
||
string sMJSQL = "";//SQL命令
|
||
DataSet ds = XLBJDUtils.GetKZXX();
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_ZWCXTJ"].ToString().Trim() != "Y")
|
||
continue;
|
||
sZDM = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
||
sMC = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim();
|
||
sSRFS = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim();
|
||
sMJLB = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJLB"].ToString().Trim();
|
||
sMJSQL = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJSQL"].ToString().Trim();
|
||
//数值型
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("A"))
|
||
{
|
||
switch (sZDM)
|
||
{
|
||
case "KZSZ01":
|
||
KZSZ01.Visible = true;
|
||
lblKZSZ01.Text = sMC + ":";
|
||
break;
|
||
case "KZSZ02":
|
||
KZSZ02.Visible = true;
|
||
lblKZSZ02.Text = sMC + ":";
|
||
break;
|
||
case "KZSZ03":
|
||
KZSZ03.Visible = true;
|
||
lblKZSZ03.Text = sMC + ":";
|
||
break;
|
||
case "KZSZ04":
|
||
KZSZ04.Visible = true;
|
||
lblKZSZ04.Text = sMC + ":";
|
||
break;
|
||
case "KZSZ05":
|
||
KZSZ05.Visible = true;
|
||
lblKZSZ05.Text = sMC + ":";
|
||
break;
|
||
}
|
||
}
|
||
//日期型
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("C"))
|
||
{
|
||
switch (sZDM)
|
||
{
|
||
case "KZRQ01":
|
||
KZRQ01S.Visible = true;
|
||
KZRQ01Z.Visible = true;
|
||
lblKZRQ01S.Text = sMC + "始:";
|
||
lblKZRQ01Z.Text = sMC + "止:";
|
||
break;
|
||
case "KZRQ02":
|
||
KZRQ02S.Visible = true;
|
||
KZRQ02Z.Visible = true;
|
||
lblKZRQ02S.Text = sMC + "始:";
|
||
lblKZRQ02Z.Text = sMC + "止:";
|
||
break;
|
||
case "KZRQ03":
|
||
KZRQ03S.Visible = true;
|
||
KZRQ03Z.Visible = true;
|
||
lblKZRQ03S.Text = sMC + "始:";
|
||
lblKZRQ03Z.Text = sMC + "止:";
|
||
break;
|
||
case "KZRQ04":
|
||
KZRQ04S.Visible = true;
|
||
KZRQ04Z.Visible = true;
|
||
lblKZRQ04S.Text = sMC + "始:";
|
||
lblKZRQ04Z.Text = sMC + "止:";
|
||
break;
|
||
case "KZRQ05":
|
||
KZRQ05S.Visible = true;
|
||
KZRQ05Z.Visible = true;
|
||
lblKZRQ05S.Text = sMC + "始:";
|
||
lblKZRQ05Z.Text = sMC + "止:";
|
||
break;
|
||
|
||
}
|
||
}
|
||
//字符型
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("B"))
|
||
{
|
||
switch (sZDM)
|
||
{
|
||
case "KZZF01":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF012.Visible = false;
|
||
KZZF011.Visible = true;
|
||
lblKZZF011.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF012.Visible = true;
|
||
KZZF011.Visible = false;
|
||
lblKZZF012.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF01, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF01.ClearItems();
|
||
cbxKZZF01.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF01.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF01.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF02":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF022.Visible = false;
|
||
KZZF021.Visible = true;
|
||
lblKZZF021.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF022.Visible = true;
|
||
KZZF021.Visible = false;
|
||
lblKZZF022.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF02, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF02.ClearItems();
|
||
cbxKZZF02.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF02.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF02.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF03":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF032.Visible = false;
|
||
KZZF031.Visible = true;
|
||
lblKZZF031.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF032.Visible = true;
|
||
KZZF031.Visible = false;
|
||
lblKZZF032.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF03, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF03.ClearItems();
|
||
cbxKZZF03.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF03.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF03.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF04":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF042.Visible = false;
|
||
KZZF041.Visible = true;
|
||
lblKZZF041.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF042.Visible = true;
|
||
KZZF041.Visible = false;
|
||
lblKZZF042.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF04, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF04.ClearItems();
|
||
cbxKZZF04.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF04.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF04.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF05":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF052.Visible = false;
|
||
KZZF051.Visible = true;
|
||
lblKZZF051.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF052.Visible = true;
|
||
KZZF051.Visible = false;
|
||
lblKZZF052.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF05, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF05.ClearItems();
|
||
cbxKZZF05.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF05.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF05.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF06":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF062.Visible = false;
|
||
KZZF061.Visible = true;
|
||
lblKZZF061.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF062.Visible = true;
|
||
KZZF061.Visible = false;
|
||
lblKZZF062.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF06, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF06.ClearItems();
|
||
cbxKZZF06.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF06.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF06.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF07":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF072.Visible = false;
|
||
KZZF071.Visible = true;
|
||
lblKZZF071.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF072.Visible = true;
|
||
KZZF071.Visible = false;
|
||
lblKZZF072.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF07, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF07.ClearItems();
|
||
cbxKZZF07.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF07.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF07.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF08":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF082.Visible = false;
|
||
KZZF081.Visible = true;
|
||
lblKZZF081.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF082.Visible = true;
|
||
KZZF081.Visible = false;
|
||
lblKZZF082.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF08, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF08.ClearItems();
|
||
cbxKZZF08.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF08.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF08.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF09":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF092.Visible = false;
|
||
KZZF091.Visible = true;
|
||
lblKZZF091.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF092.Visible = true;
|
||
KZZF091.Visible = false;
|
||
lblKZZF092.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF09, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF09.ClearItems();
|
||
cbxKZZF09.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF09.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF09.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
case "KZZF10":
|
||
if (sSRFS.Trim().Equals("A"))
|
||
{
|
||
KZZF102.Visible = false;
|
||
KZZF101.Visible = true;
|
||
lblKZZF101.Text = sMC + ":";
|
||
}
|
||
else
|
||
{
|
||
KZZF102.Visible = true;
|
||
KZZF101.Visible = false;
|
||
lblKZZF102.Text = sMC + ":";
|
||
if (sMJLB.Trim().Equals(""))
|
||
{
|
||
TComboBox.SetComboBox("DBERP", cbxKZZF10, sMJSQL, true);
|
||
}
|
||
else
|
||
{
|
||
cbxKZZF10.ClearItems();
|
||
cbxKZZF10.Items.Add(new ListItem("", ""));
|
||
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
|
||
foreach (string sValue in array)
|
||
{
|
||
cbxKZZF10.Items.Add(new ListItem(sValue, sValue));
|
||
}
|
||
cbxKZZF10.ShowValue = false;
|
||
}
|
||
}
|
||
break;
|
||
|
||
}
|
||
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("D"))
|
||
{
|
||
switch (sZDM)
|
||
{
|
||
case "KZWB01":
|
||
KZWB01.Visible = true;
|
||
lblKZWB01.Text = sMC + ":";
|
||
|
||
break;
|
||
case "KZWB02":
|
||
KZWB02.Visible = true;
|
||
lblKZWB02.Text = sMC + ":";
|
||
break;
|
||
case "KZWB03":
|
||
KZWB03.Visible = true;
|
||
lblKZWB03.Text = sMC + ":";
|
||
break;
|
||
case "KZWB04":
|
||
KZWB04.Visible = true;
|
||
lblKZWB04.Text = sMC + ":";
|
||
break;
|
||
case "KZWB05":
|
||
KZWB05.Visible = true;
|
||
lblKZWB05.Text = sMC + ":";
|
||
break;
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
//判断模块是否存在并且是否有权限
|
||
private bool CheckModule(string sUMID)
|
||
{
|
||
int iUMID = CMISproConvert.StrToInt(sUMID);
|
||
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
|
||
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 控件事件
|
||
|
||
protected void cbxSW_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack)
|
||
{
|
||
if (cbxSW.SelectedValue.Trim().Equals("A"))
|
||
{
|
||
datBJRQS.Text = DateTime.Now.Year.ToString().Trim() + "-" + DateTime.Now.Month.ToString().Trim().PadLeft(2, '0') + "-01";
|
||
datBJRQZ.Text = DateTime.Now.ToShortDateString().Trim();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#endregion
|
||
}
|
||
}
|