442 lines
19 KiB
C#
442 lines
19 KiB
C#
using System;
|
||
using System.Configuration;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.ServiceModel;
|
||
using SuperMap.RealEstate.Utility;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using HZQR.Common;
|
||
using SRCDB = SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
||
|
||
namespace SuperMap.RealEstate.HighWay.Storage
|
||
{
|
||
/// <summary>
|
||
/// T_SERVERPART_服务区站点 的WebUserControl
|
||
/// <summary>
|
||
public partial class SERVERPART : UserControl<Business.SERVERPART>
|
||
{
|
||
protected string _ServerpartPoint = ConfigurationManager.AppSettings["ServerpartPoint"].ToString();
|
||
protected string _PROVINCE_CODE = ConfigurationManager.AppSettings["PROVINCE_CODES"].ToString();
|
||
|
||
#region ServerPart_ID
|
||
public Business.SERVERPART CurrServerPart
|
||
{
|
||
//通过对应的内码
|
||
get
|
||
{
|
||
try
|
||
{
|
||
if (string.IsNullOrEmpty(Request["FIELDENUM_ID"]))
|
||
{
|
||
return null;
|
||
}
|
||
Business.SERVERPART _SERVERPART = new Business.SERVERPART(this.Transaction);
|
||
_SERVERPART.AddSearchParameter("FIELDENUM_ID", Request["FIELDENUM_ID"].ToDecrypt());
|
||
if (_SERVERPART.Search())
|
||
{
|
||
return _SERVERPART;
|
||
}
|
||
else
|
||
{
|
||
return null;
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
return null;
|
||
}
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region GetBaiduPointString
|
||
public string GetBaiduPointString()
|
||
{
|
||
if (CurrServerPart == null)
|
||
return string.Empty;
|
||
//获得对应的服务区坐标
|
||
DataTable _DataTable = new DataTable();
|
||
_DataTable.Columns.Add("MAPINFO");
|
||
_DataTable.Columns.Add("MAP_ADDRESS");
|
||
_DataTable.Columns.Add("MAP_TEL");
|
||
_DataTable.Columns.Add("MAP_OBJECTCODE");
|
||
_DataTable.Columns.Add("MAPX");
|
||
_DataTable.Columns.Add("MAPY");
|
||
DataRow _DataRow = _DataTable.NewRow();
|
||
_DataRow["MAPINFO"] = CurrServerPart.SERVERPART_NAME + " " + CurrServerPart.SERVERPART_INFO;
|
||
_DataRow["MAP_ADDRESS"] = CurrServerPart.SERVERPART_ADDRESS;
|
||
_DataRow["MAP_OBJECTCODE"] = CurrServerPart.SERVERPART_ID_Encrypt;
|
||
_DataRow["MAP_TEL"] = CurrServerPart.SERVERPART_TEL;
|
||
_DataRow["MAPX"] = CurrServerPart.SERVERPART_X;
|
||
_DataRow["MAPY"] = CurrServerPart.SERVERPART_Y;
|
||
_DataTable.Rows.Add(_DataRow);
|
||
string PointString = string.Empty;
|
||
PointString = BaiDuMapHelper.GetBaiduPointString(PointString, _DataTable);
|
||
return PointString;
|
||
}
|
||
|
||
public string GetPointX
|
||
{
|
||
get
|
||
{
|
||
try
|
||
{
|
||
if (this.CurrObject.SERVERPART_X == null)
|
||
{
|
||
return _ServerpartPoint.Split(',')[0];
|
||
}
|
||
else
|
||
{
|
||
return this.CurrObject.SERVERPART_X.ToString();
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
return _ServerpartPoint.Split(',')[0];
|
||
}
|
||
}
|
||
}
|
||
|
||
public string GetPointY
|
||
{
|
||
get
|
||
{
|
||
try
|
||
{
|
||
if (this.CurrObject.SERVERPART_Y == null)
|
||
{
|
||
return _ServerpartPoint.Split(',')[1];
|
||
}
|
||
else
|
||
{
|
||
return this.CurrObject.SERVERPART_Y.ToString();
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
return _ServerpartPoint.Split(',')[1];
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
if (CurrObject.SERVERPART_ID != null)
|
||
{
|
||
Business.RTSERVERPART _RTSERVERPART = new Business.RTSERVERPART(this.Transaction);
|
||
_RTSERVERPART.AddSearchParameter("SERVERPART_ID", CurrServerPart.SERVERPART_ID);
|
||
if (_RTSERVERPART.Search())
|
||
{
|
||
BindObjectToControl(_RTSERVERPART);
|
||
}
|
||
Business.SERVERPARTINFO _SERVERPARTINFO = new Business.SERVERPARTINFO(this.Transaction);
|
||
_SERVERPARTINFO.AddSearchParameter("SERVERPART_ID", CurrServerPart.SERVERPART_ID);
|
||
if (_SERVERPARTINFO.Search())
|
||
{
|
||
BindObjectToControl(_SERVERPARTINFO);
|
||
}
|
||
}
|
||
REGIONTYPE_ID.Clear();
|
||
if (CurrObject.FIELDENUM_ID != null)
|
||
{
|
||
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(this.Transaction).FillCollection(
|
||
"WHERE FIELDENUM_ID IN (SELECT A.FIELDENUM_ID FROM PLATFORM_DICTIONARY.T_FIELDENUM A," +
|
||
"PLATFORM_DICTIONARY.T_FIELDENUM B WHERE A.FIELDENUM_ID <> " + CurrObject.FIELDENUM_ID +
|
||
" AND A.FIELDENUM_PID = B.FIELDENUM_PID AND B.FIELDENUM_ID = " + CurrObject.FIELDENUM_ID +
|
||
") ORDER BY SERVERPART_INDEX,SERVERPART_CODE"))
|
||
{
|
||
REGIONTYPE_ID.Items.Add(new ListItemEx(_SERVERPART.SERVERPART_NAME, _SERVERPART.SERVERPART_ID.ToString()));
|
||
}
|
||
if (CurrObject.REGIONTYPE_ID != null)
|
||
{
|
||
REGIONTYPE_ID.SelectedValue = CurrObject.REGIONTYPE_ID.ToString();
|
||
}
|
||
}
|
||
|
||
//区域类型
|
||
SPREGIONTYPE_ID.Clear();
|
||
if (!string.IsNullOrWhiteSpace(Request["PROVINCE_CODE"]))
|
||
{
|
||
foreach (Business.SERVERPARTTYPE _SERVERPARTTYPE in new Business.SERVERPARTTYPE(Transaction).FillCollection(
|
||
"WHERE SERVERPARTSTATICTYPE_ID = 1000 AND TYPE_STATE = 1 AND PROVINCE_CODE = " +
|
||
Request["PROVINCE_CODE"].ToDecrypt() + " ORDER BY TYPE_PID,TYPE_INDEX,TYPE_NAME"))
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = "[" + _SERVERPARTTYPE.TYPE_INDEX + "]" + _SERVERPARTTYPE.TYPE_NAME;
|
||
_ListItemEx.Value = _SERVERPARTTYPE.SERVERPARTTYPE_ID.ToString();
|
||
SPREGIONTYPE_ID.Items.Add(_ListItemEx);
|
||
}
|
||
if (CurrObject.SPREGIONTYPE_ID != null)
|
||
{
|
||
SPREGIONTYPE_ID.SelectedValue = CurrObject.SPREGIONTYPE_ID.ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
//在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
PROVINCE_CODE.Items.Clear();
|
||
foreach (SRCDB.FieldEnum _FieldEnum in (new SRCDB.FieldEnum(this.Transaction)).FillCollection(
|
||
@"WHERE FieldExplain_ID IN (SELECT FieldExplain_ID FROM T_FieldExplain WHERE FieldExplain_Field = 'DIVISION_CODE') AND
|
||
FieldEnum_PID = -1 ORDER BY FIELDENUM_INDEX"))
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _FieldEnum.FieldEnum_Name;
|
||
_ListItemEx.Value = _FieldEnum.FieldEnum_ID.ToString();
|
||
_ListItemEx.Level = 0;
|
||
PROVINCE_CODE.Items.Add(_ListItemEx);
|
||
foreach (SRCDB.FieldEnum _ChildFieldEnum in new SRCDB.FieldEnum(Transaction).FillCollection(
|
||
@"WHERE FieldExplain_ID IN (SELECT FieldExplain_ID FROM T_FieldExplain WHERE FieldExplain_Field = 'DIVISION_CODE') AND
|
||
NOT EXISTS(SELECT 1 FROM HIGHWAY_STORAGE.T_SERVERPART WHERE FieldEnum_ID = T_FieldEnum.FieldEnum_ID) AND
|
||
FieldEnum_PID = " + _FieldEnum.FieldEnum_ID + " ORDER BY FIELDENUM_INDEX"))
|
||
{
|
||
_ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _ChildFieldEnum.FieldEnum_Name;
|
||
_ListItemEx.Value = _ChildFieldEnum.FieldEnum_ID.ToString();
|
||
_ListItemEx.Level = 1;
|
||
PROVINCE_CODE.Items.Add(_ListItemEx);
|
||
}
|
||
if (_FieldEnum.FieldEnum_Value == "330000")
|
||
{
|
||
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(Transaction).FillCollection(
|
||
"WHERE SERVERPART_CODE IN (" + _PROVINCE_CODE + ")"))
|
||
{
|
||
_ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _SERVERPART.SERVERPART_NAME;
|
||
_ListItemEx.Value = _SERVERPART.FIELDENUM_ID.ToString();
|
||
_ListItemEx.Level = 1;
|
||
PROVINCE_CODE.Items.Add(_ListItemEx);
|
||
}
|
||
}
|
||
}
|
||
//站点类型
|
||
STATISTICS_TYPE.Clear();
|
||
DictionaryHelper.BindingDropDownList("SERVERPARTSITE_TYPE", STATISTICS_TYPE.Items, this.Transaction);
|
||
//经营类型
|
||
SERVERPART_TYPE.Clear();
|
||
DictionaryHelper.BindingDropDownList("SERVERPART_TYPE", SERVERPART_TYPE.Items, this.Transaction);
|
||
//业态
|
||
BUSINESSTYPE.Clear();
|
||
DictionaryHelper.BindingDropDownList("BUSINESSTYPE", BUSINESSTYPE.Items, this.Transaction);
|
||
//母婴室是否有
|
||
HASMOTHER.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASMOTHER.Items, this.Transaction);
|
||
//儿童游乐场是否有
|
||
HASCHILD.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASCHILD.Items, this.Transaction);
|
||
//淋浴房
|
||
HASSHOWERROOM.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASSHOWERROOM.Items, this.Transaction);
|
||
//第三卫生间是否
|
||
HASTHIRDTOILETS.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASTHIRDTOILETS.Items, this.Transaction);
|
||
//开水间是否有
|
||
HASWATERROOM.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASWATERROOM.Items, this.Transaction);
|
||
//HASPILOTLOUNGE 驾驶员休息室
|
||
HASPILOTLOUNGE.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASPILOTLOUNGE.Items, this.Transaction);
|
||
//HASBACKGROUNDRADIO
|
||
HASBACKGROUNDRADIO.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASBACKGROUNDRADIO.Items, this.Transaction);
|
||
//Wifi是否有
|
||
HASWIFI.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASWIFI.Items, this.Transaction);
|
||
//
|
||
HASMESSAGESEARCH.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASMESSAGESEARCH.Items, this.Transaction);
|
||
//冷菜间
|
||
HASPANTRY.Clear();
|
||
DictionaryHelper.BindingDropDownList("ISYES", HASPANTRY.Items, this.Transaction);
|
||
}
|
||
|
||
//载入数据
|
||
public override bool LoadData()
|
||
{
|
||
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
|
||
if (CurrServerPart != null)
|
||
{
|
||
//SERVERPART_CODE.Visible = false;
|
||
|
||
CurrObject.SERVERPART_ID_Encrypt = CurrServerPart.SERVERPART_ID_Encrypt;
|
||
return this.Select();
|
||
}
|
||
if (!String.IsNullOrEmpty(Request["FIELDENUM_ID"]))
|
||
{
|
||
SRCDB.FieldEnum _FieldEnum = new SRCDB.FieldEnum(this.Transaction);
|
||
_FieldEnum.FieldEnum_ID_Encrypt = Request["FIELDENUM_ID"].ToString();
|
||
if (_FieldEnum.Select())
|
||
{
|
||
FIELDENUM_ID.Text = _FieldEnum.FieldEnum_ID.ToString();
|
||
SERVERPART_NAME.Text = _FieldEnum.FieldEnum_Name;
|
||
SERVERPART_CODE.Text = _FieldEnum.FieldEnum_Value;
|
||
PROVINCE_CODE.SelectedValue = _FieldEnum.FieldEnum_PID.ToString();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
PROVINCE_CODE.Enabled = true;
|
||
}
|
||
//默认返回值,工作流组件返回True,功能模块返回False。
|
||
return (WorkFlowPage != null);
|
||
}
|
||
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.SERVERPART> e)
|
||
{
|
||
if (Request.Params["editorValue"] != null)
|
||
{
|
||
e.CurrObject.SERVERPART_DESC = Request.Params["editorValue"].ToString();
|
||
}
|
||
e.CurrObject.STAFF_ID = Page.PassportInfo.ID;
|
||
e.CurrObject.STAFF_NAME = Page.PassportInfo.Name;
|
||
e.CurrObject.OPERATE_DATE = DateTime.Now;
|
||
|
||
PROVINCE_NAME.Text = PROVINCE_CODE.SelectedItem.Text;
|
||
if (!string.IsNullOrEmpty(REGIONTYPE_ID.SelectedValue))
|
||
{
|
||
REGIONTYPE_NAME.Text = REGIONTYPE_ID.SelectedItem.Text;
|
||
}
|
||
else
|
||
{
|
||
REGIONTYPE_NAME.Text = "";
|
||
}
|
||
if (!string.IsNullOrEmpty(SPREGIONTYPE_ID.SelectedValue))
|
||
{
|
||
SPREGIONTYPE_INDEX.Text = SPREGIONTYPE_ID.SelectedItem.Text.Split('[')[1].Split(']')[0];
|
||
SPREGIONTYPE_NAME.Text = SPREGIONTYPE_ID.SelectedItem.Text.Split(']')[1];
|
||
e.CurrObject.SPREGIONTYPE_INDEX = int.Parse(SPREGIONTYPE_INDEX.Text);
|
||
e.CurrObject.SPREGIONTYPE_NAME = SPREGIONTYPE_NAME.Text;
|
||
}
|
||
else
|
||
{
|
||
SPREGIONTYPE_INDEX.Text = "";
|
||
SPREGIONTYPE_NAME.Text = "";
|
||
e.CurrObject.SPREGIONTYPE_INDEX = null;
|
||
e.CurrObject.SPREGIONTYPE_NAME = SPREGIONTYPE_NAME.Text;
|
||
}
|
||
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.SERVERPART> e)
|
||
{
|
||
if (e.CurrObject.SPREGIONTYPE_ID != null)
|
||
{
|
||
Business.SPSTATICTYPE _SPSTATICTYPE = new Business.SPSTATICTYPE(Transaction);
|
||
if (_SPSTATICTYPE.GetCount("WHERE SERVERPART_ID = " + e.CurrObject.SERVERPART_ID) == 0)
|
||
{
|
||
_SPSTATICTYPE.SERVERPART_ID = e.CurrObject.SERVERPART_ID;
|
||
_SPSTATICTYPE.SERVERPARTTYPE_ID = e.CurrObject.SPREGIONTYPE_ID;
|
||
_SPSTATICTYPE.Insert();
|
||
}
|
||
else if (_SPSTATICTYPE.GetCount("WHERE SERVERPART_ID = " + e.CurrObject.SERVERPART_ID +
|
||
" AND SERVERPARTTYPE_ID = " + e.CurrObject.SPREGIONTYPE_ID) == 0)
|
||
{
|
||
_SPSTATICTYPE.ExecuteNonQuery("DELETE FROM HIGHWAY_STORAGE.T_SPSTATICTYPE WHERE SERVERPART_ID = " +
|
||
e.CurrObject.SERVERPART_ID, null);
|
||
|
||
_SPSTATICTYPE.SERVERPART_ID = e.CurrObject.SERVERPART_ID;
|
||
_SPSTATICTYPE.SERVERPARTTYPE_ID = e.CurrObject.SPREGIONTYPE_ID;
|
||
_SPSTATICTYPE.Insert();
|
||
}
|
||
}
|
||
//保存拓展信息
|
||
Business.SERVERPARTINFO _SERVERPARTINFO = new Business.SERVERPARTINFO(this.Transaction);
|
||
BindControlToObject(_SERVERPARTINFO);
|
||
if (string.IsNullOrEmpty(SERVERPARTINFO_ID.Text))
|
||
{
|
||
_SERVERPARTINFO.Insert();
|
||
SERVERPARTINFO_ID.Text = _SERVERPARTINFO.SERVERPARTINFO_ID.ToString();
|
||
}
|
||
else
|
||
{
|
||
_SERVERPARTINFO.Update();
|
||
}
|
||
Business.RTSERVERPART _RTSERVERPART = new Business.RTSERVERPART(this.Transaction);
|
||
BindControlToObject(_RTSERVERPART);
|
||
if (string.IsNullOrEmpty(RTSERVERPART_ID.Text))
|
||
{
|
||
_RTSERVERPART.Insert();
|
||
RTSERVERPART_ID.Text = _RTSERVERPART.RTSERVERPART_ID.ToString();
|
||
}
|
||
else
|
||
{
|
||
_RTSERVERPART.Update();
|
||
}
|
||
bool Changed = false;
|
||
SRCDB.FieldEnum _FieldEnum = new SRCDB.FieldEnum(this.Transaction);
|
||
_FieldEnum.FieldEnum_ID = CurrObject.FIELDENUM_ID == null ? 0 : CurrObject.FIELDENUM_ID;
|
||
if (_FieldEnum.Select())
|
||
{
|
||
if (_FieldEnum.FieldEnum_Name != SERVERPART_NAME.Text)
|
||
{
|
||
_FieldEnum.FieldEnum_Name = SERVERPART_NAME.Text;
|
||
Changed = true;
|
||
}
|
||
if (_FieldEnum.FieldEnum_Value != SERVERPART_CODE.Text)
|
||
{
|
||
_FieldEnum.FieldEnum_Value = SERVERPART_CODE.Text;
|
||
Changed = true;
|
||
}
|
||
if (_FieldEnum.FieldEnum_Index != int.Parse(SERVERPART_CODE.Text))
|
||
{
|
||
_FieldEnum.FieldEnum_Index = int.Parse(SERVERPART_CODE.Text);
|
||
Changed = true;
|
||
}
|
||
//if (_FieldEnum.FieldEnum_PID.ToString() != PROVINCE_CODE.SelectedValue)
|
||
//{
|
||
// _FieldEnum.FieldEnum_PID = int.Parse(PROVINCE_CODE.SelectedValue);
|
||
// Changed = true;
|
||
//}
|
||
if (Changed)
|
||
{
|
||
_FieldEnum.Update();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SRCDB.FieldEnum _FIELDENUM = new SRCDB.FieldEnum(this.Transaction);
|
||
_FIELDENUM.FieldExplain_ID = _FIELDENUM.FillCollection(
|
||
"WHERE FIELDENUM_ID = " + PROVINCE_CODE.SelectedValue)[0].FieldExplain_ID;
|
||
_FIELDENUM.FieldEnum_Name = SERVERPART_NAME.Text;
|
||
_FIELDENUM.FieldEnum_Value = SERVERPART_CODE.Text;
|
||
_FIELDENUM.FieldEnum_Index = int.Parse(SERVERPART_CODE.Text);
|
||
_FIELDENUM.FieldEnum_PID = int.Parse(PROVINCE_CODE.SelectedValue);
|
||
_FIELDENUM.Insert();
|
||
CurrObject.FIELDENUM_ID = _FIELDENUM.FieldEnum_ID;
|
||
CurrObject.Update();
|
||
}
|
||
base.OnDataAction_AfterSave(e);
|
||
}
|
||
|
||
protected void PROVINCE_CODE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
//区域类型
|
||
SPREGIONTYPE_ID.Clear();
|
||
foreach (Business.SERVERPARTTYPE _SERVERPARTTYPE in new Business.SERVERPARTTYPE(Transaction).FillCollection(
|
||
"WHERE SERVERPARTSTATICTYPE_ID = 1000 AND TYPE_STATE = 1 AND PROVINCE_CODE = " + Business.CommonHelper.GetProvinceCode(
|
||
PROVINCE_CODE.SelectedValue.TryParseToInt(), Transaction) + " ORDER BY TYPE_PID,TYPE_INDEX,TYPE_NAME"))
|
||
{
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = "[" + _SERVERPARTTYPE.TYPE_INDEX + "]" + _SERVERPARTTYPE.TYPE_NAME;
|
||
_ListItemEx.Value = _SERVERPARTTYPE.SERVERPARTTYPE_ID.ToString();
|
||
SPREGIONTYPE_ID.Items.Add(_ListItemEx);
|
||
}
|
||
e.SetDropDownListEx(SPREGIONTYPE_ID);
|
||
}
|
||
}
|
||
}
|