398 lines
19 KiB
C#
398 lines
19 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using CMB = SuperMap.RealEstate.Coop.Merchant.Business;
|
||
using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business;
|
||
using HZQR.Common;
|
||
|
||
namespace SuperMap.RealEstate.ExchangeData
|
||
{
|
||
/// <summary>
|
||
/// T_MACHINEUSEAG_机器配置表 的WebUserControl
|
||
/// <summary>
|
||
public partial class MACHINEUSEAG : UserControl<Business.MACHINEUSEAG>
|
||
{
|
||
protected string ConfigStaff = System.Configuration.ConfigurationManager.AppSettings["ConfigStaff"];
|
||
|
||
#region 方法 -> 页面加载
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
//初始化页面控件
|
||
InitialControl();
|
||
//绑定服务区、门店数据
|
||
SERVERPARTCODE.Clear();
|
||
SHOPCODE.Clear();
|
||
if (OWNERUNIT_ID.SelectedValue != "")
|
||
{
|
||
foreach (MSPB.OWNERSERVERPART _OWNERSERVERPART in new MSPB.OWNERSERVERPART(Transaction).FillCollection(
|
||
"WHERE OWNERUNIT_ID = " + OWNERUNIT_ID.SelectedValue + " ORDER BY SERVERPART_CODE"))
|
||
{
|
||
ListItemEx listItemEx = new ListItemEx();
|
||
listItemEx.Text = _OWNERSERVERPART.SERVERPART_NAME;
|
||
listItemEx.Value = _OWNERSERVERPART.SERVERPART_CODE;
|
||
SERVERPARTCODE.Items.Add(listItemEx);
|
||
|
||
if ((!string.IsNullOrWhiteSpace(CurrObject.SERVERPARTCODE) && listItemEx.Value == CurrObject.SERVERPARTCODE) ||
|
||
(_OWNERSERVERPART.PROVINCE_BUSINESSCODE + "|" + _OWNERSERVERPART.SERVERPART_ID).ToEncrypt() == Request["SERVERPART_ID"])
|
||
{
|
||
SERVERPARTCODE.SelectedValue = _OWNERSERVERPART.SERVERPART_CODE;
|
||
//查询服务区当前有效门店数据
|
||
List<MSPB.SERVERPARTSHOP> SERVERPARTSHOPList = new MSPB.SERVERPARTSHOP(Transaction).FillCollection(
|
||
"WHERE SHOPCODE IS NOT NULL AND ISVALID = 1 AND SHOPTRADE NOT IN ('9032','9999') AND PROVINCE_CODE = " +
|
||
_OWNERSERVERPART.PROVINCE_BUSINESSCODE + " AND SERVERPART_ID = " + _OWNERSERVERPART.SERVERPART_ID +
|
||
" ORDER BY SHOPREGION,SHOPTRADE,SHOPCODE");
|
||
foreach (MSPB.SERVERPARTSHOP _SERVERPARTSHOP in SERVERPARTSHOPList)
|
||
{
|
||
ListItemEx listItemExShop = new ListItemEx();
|
||
listItemExShop.Text = _SERVERPARTSHOP.SHOPNAME;
|
||
listItemExShop.Value = _SERVERPARTSHOP.SHOPCODE;
|
||
SHOPCODE.Items.Add(listItemExShop);
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(CurrObject.SHOPCODE))
|
||
{
|
||
if (!SERVERPARTSHOPList.Exists(o => o.SHOPCODE == CurrObject.SHOPCODE))
|
||
{
|
||
MSPB.SERVERPARTSHOP InValidShop = new MSPB.SERVERPARTSHOP(Transaction);
|
||
InValidShop.AddSearchParameter("PROVINCE_CODE", _OWNERSERVERPART.PROVINCE_BUSINESSCODE);
|
||
InValidShop.AddSearchParameter("SERVERPART_ID", _OWNERSERVERPART.SERVERPART_ID);
|
||
InValidShop.AddSearchParameter("SHOPCODE", CurrObject.SHOPCODE);
|
||
if (InValidShop.Search())
|
||
{
|
||
ListItemEx listItemExShop = new ListItemEx();
|
||
listItemExShop.Text = InValidShop.SHOPNAME;
|
||
listItemExShop.Value = InValidShop.SHOPCODE;
|
||
SHOPCODE.Items.Add(listItemExShop);
|
||
}
|
||
}
|
||
SHOPCODE.SelectedValue = CurrObject.SHOPCODE;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//绑定机器MAC地址信息
|
||
if (MACHINEBASEINFO_ID.Text != "")
|
||
{
|
||
Business.MACHINEBASEINFO _MACHINEBASEINFO = new Business.MACHINEBASEINFO(Transaction);
|
||
_MACHINEBASEINFO.MACHINEBASEINFO_ID_Encrypt = MACHINEBASEINFO_ID.Text.ToEncrypt();
|
||
if (_MACHINEBASEINFO.Select())
|
||
{
|
||
MACHINE_MACADDRESS.Text = _MACHINEBASEINFO.MACHINE_MACADDRESS; //机器MAC地址
|
||
if (!string.IsNullOrWhiteSpace(_MACHINEBASEINFO.MACHINE_MACADDRESS))
|
||
{
|
||
MACHINE_MACADDRESS.Enabled = false;
|
||
}
|
||
MACHINE_SERNO.Text = _MACHINEBASEINFO.MACHINE_SERNO; //机器序列号
|
||
}
|
||
|
||
DataTable dtUsageRecord = new Business.MACHINEUSEAGERECORD(Transaction).FillDataTable(
|
||
"WHERE MACHINEBASEINFO_ID = " + MACHINEBASEINFO_ID.Text);
|
||
if (dtUsageRecord.Rows.Count > 0)
|
||
{
|
||
DataRow drUsageRecord = dtUsageRecord.Select("", "RENT_DATE desc")[0];
|
||
|
||
string SQLString = @"SELECT A.SERVERPART_NAME,B.SHOPNAME,A.SERVERPART_CODE,B.SHOPCODE
|
||
FROM MOBILESERVICE_PLATFORM.T_SERVERPART A,MOBILESERVICE_PLATFORM.T_SERVERPARTSHOP B
|
||
WHERE A.PROVINCE_CODE = B.PROVINCE_CODE AND A.SERVERPART_ID = B.SERVERPART_ID AND
|
||
A.SERVERPART_CODE = '" + drUsageRecord["SERVERPARTCODE"] +
|
||
"' AND B.SHOPCODE = '" + drUsageRecord["SHOPCODE"] + "'";
|
||
DataTable dtServerpartShop = new MSPB.SERVERPARTSHOP(Transaction).ExecuteDataTable(SQLString);
|
||
if (dtServerpartShop.Rows.Count > 0)
|
||
{
|
||
SERVERPARTCODE_FB.Text = dtServerpartShop.Rows[0][0].ToString(); //服务区名称
|
||
SHOPCODE_FB.Text = dtServerpartShop.Rows[0][1].ToString(); //门店名称
|
||
}
|
||
else
|
||
{
|
||
//查询不到门店信息,则显示回传的服务区编码和门店编码
|
||
SERVERPARTCODE_FB.Text = drUsageRecord["SERVERPARTCODE"].ToString();
|
||
SHOPCODE_FB.Text = drUsageRecord["SHOPCODE"].ToString();
|
||
}
|
||
|
||
MACHINECODE_FB.Text = drUsageRecord["MACHINECODE"].ToString(); //机器编码
|
||
EXPIRYDATE.Text = drUsageRecord["EXPIRY_DATE"].ToString(); //软件到期时间
|
||
VERSION_NUM.Text = drUsageRecord["STAFF_NAME"].ToString(); //软件版本号
|
||
UPLOAD_DATE.Text = drUsageRecord["RENT_DATE"].ToString(); //上传时间
|
||
}
|
||
}
|
||
EXPIRYDATE.ValidType = ValidTypeEnum.NoSet;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 初始化页面控件
|
||
public void InitialControl()
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(ConfigStaff) && ConfigStaff.Contains("'" + Page.PassportInfo.UserName + "'"))
|
||
{
|
||
USING_TYPE.Enabled = true;
|
||
EXPIRY_DATE.Enabled = true;
|
||
EXPIRY_DAY.Enabled = true;
|
||
RENTPAY_STATE.Enabled = true;
|
||
}
|
||
else
|
||
{
|
||
EXPIRY_DATE.ValidType = ValidTypeEnum.NoSet;
|
||
}
|
||
|
||
if (MACHINEUSEAG_ID.Text != "")
|
||
{
|
||
fieldset_his.Visible = true;
|
||
//初始化并加载列表
|
||
GridViewEx1.SelectingWithInit<Business.MACHINEUSEAG>(ObjectDataSource1, null,
|
||
DictionaryHelper.GetDictionary(Transaction, "USING_TYPE"),
|
||
DictionaryHelper.GetDictionary(Transaction, "ISYES").AsNewKeys("RENTPAY_STATE"),
|
||
DictionaryHelper.GetDictionary(Transaction, "COMMODITYSTATE").AsNewKeys("MACHINEUSEAG_STATUS"));
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
//绑定业主单位
|
||
OWNERUNIT_ID.Clear();
|
||
CMB.OWNERUNIT.BindingOwnerUnitDDL(Transaction, OWNERUNIT_ID.Items, 0);
|
||
if (!string.IsNullOrWhiteSpace(Request["OWNERUNIT_ID"]))
|
||
{
|
||
OWNERUNIT_ID.SelectedValue = Request["OWNERUNIT_ID"].ToDecrypt();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 载入数据
|
||
public override bool LoadData()
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(Request["MACHINEBASEINFO_ID"]))
|
||
{
|
||
MACHINEBASEINFO_ID.Text = Request["MACHINEBASEINFO_ID"].ToDecrypt();
|
||
}
|
||
STAFF_ID.Text = Page.PassportInfo.ID.ToString();
|
||
STAFF_NAME.Text = Page.PassportInfo.Name;
|
||
OPERATE_DATE.Text = DateTime.Now.ToString();
|
||
|
||
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
|
||
if (!String.IsNullOrEmpty(Request["ID"]))
|
||
{
|
||
CurrObject.MACHINEUSEAG_ID_Encrypt = Request["ID"];
|
||
return this.Select();
|
||
}
|
||
//默认返回值,工作流组件返回True,功能模块返回False。
|
||
return (WorkFlowPage != null);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 页面保存事件
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.MACHINEUSEAG> e)
|
||
{
|
||
Business.MACHINEBASEINFO _MACHINEBASEINFO = new Business.MACHINEBASEINFO(Transaction);
|
||
if (MACHINEBASEINFO_ID.Text != "")
|
||
{
|
||
_MACHINEBASEINFO.MACHINEBASEINFO_ID_Encrypt = MACHINEBASEINFO_ID.Text.ToEncrypt();
|
||
if (_MACHINEBASEINFO.Select())
|
||
{
|
||
_MACHINEBASEINFO.MACHINE_SERNO = MACHINE_SERNO.Text; //MAC地址
|
||
_MACHINEBASEINFO.STAFF_ID = Page.PassportInfo.ID;
|
||
_MACHINEBASEINFO.STAFF_NAME = Page.PassportInfo.Name;
|
||
_MACHINEBASEINFO.OPERATE_DATE = DateTime.Now;
|
||
_MACHINEBASEINFO.Update();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (_MACHINEBASEINFO.GetCount("WHERE MACHINE_MACADDRESS = '" + MACHINE_MACADDRESS.Text + "'") > 0)
|
||
{
|
||
throw new Exception("当前MAC地址已录入系统,请确认信息后再保存数据!");
|
||
}
|
||
_MACHINEBASEINFO.MACHINE_MACADDRESS = MACHINE_MACADDRESS.Text; //MAC地址
|
||
_MACHINEBASEINFO.MACHINE_SERNO = MACHINE_SERNO.Text; //机器序列号
|
||
_MACHINEBASEINFO.STAFF_ID = Page.PassportInfo.ID;
|
||
_MACHINEBASEINFO.STAFF_NAME = Page.PassportInfo.Name;
|
||
_MACHINEBASEINFO.OPERATE_DATE = DateTime.Now;
|
||
_MACHINEBASEINFO.Insert();
|
||
//存储机器信息基础表内码
|
||
e.CurrObject.MACHINEBASEINFO_ID = _MACHINEBASEINFO.MACHINEBASEINFO_ID;
|
||
MACHINEBASEINFO_ID.Text = _MACHINEBASEINFO.KeyID;
|
||
}
|
||
|
||
e.CurrObject.STAFF_ID = Page.PassportInfo.ID; //操作人内码
|
||
e.CurrObject.STAFF_NAME = Page.PassportInfo.Name; //操作人员
|
||
e.CurrObject.OPERATE_DATE = DateTime.Now; //操作时间
|
||
e.CurrObject.SERVERPART_NAME = SERVERPARTCODE.SelectedItem.Text;
|
||
e.CurrObject.SERVERPARTSHOP_NAME = SHOPCODE.SelectedItem.Text;
|
||
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.MACHINEUSEAG> e)
|
||
{
|
||
//保存机器配置参数
|
||
SaveMachineConfig();
|
||
|
||
base.OnDataAction_AfterSave(e);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 业主单位下拉框变更事件
|
||
protected void OWNERUNIT_ID_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
SHOPCODE.Clear();
|
||
SERVERPARTCODE.Clear();
|
||
foreach (MSPB.OWNERSERVERPART _OWNERSERVERPART in new MSPB.OWNERSERVERPART(Transaction).FillCollection(
|
||
"WHERE OWNERUNIT_ID = " + e.Argument + " ORDER BY SERVERPART_CODE"))
|
||
{
|
||
ListItemEx listItemEx = new ListItemEx();
|
||
listItemEx.Text = _OWNERSERVERPART.SERVERPART_NAME;
|
||
listItemEx.Value = _OWNERSERVERPART.SERVERPART_CODE;
|
||
SERVERPARTCODE.Items.Add(listItemEx);
|
||
|
||
if (!string.IsNullOrWhiteSpace(SERVERPARTCODE.SelectedValue))
|
||
{
|
||
foreach (MSPB.SERVERPARTSHOP _SERVERPARTSHOP in new MSPB.SERVERPARTSHOP(Transaction).FillCollection(
|
||
"WHERE SHOPCODE IS NOT NULL AND ISVALID = 1 AND SHOPTRADE NOT IN ('9032','9999') AND PROVINCE_CODE = " +
|
||
_OWNERSERVERPART.PROVINCE_CODE + " AND SERVERPART_ID = " + _OWNERSERVERPART.SERVERPART_ID +
|
||
" ORDER BY SHOPREGION,SHOPTRADE,SHOPCODE"))
|
||
{
|
||
ListItemEx listItemExShop = new ListItemEx();
|
||
listItemExShop.Text = _SERVERPARTSHOP.SHOPNAME;
|
||
listItemExShop.Value = _SERVERPARTSHOP.SHOPCODE;
|
||
SHOPCODE.Items.Add(listItemExShop);
|
||
}
|
||
}
|
||
}
|
||
|
||
e.SetDropDownListEx(SERVERPARTCODE);
|
||
e.SetDropDownListEx(SHOPCODE);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 服务区下拉框变更事件
|
||
protected void SERVERPARTCODE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
SHOPCODE.Clear();
|
||
MSPB.OWNERSERVERPART _OWNERSERVERPART = new MSPB.OWNERSERVERPART(Transaction);
|
||
_OWNERSERVERPART.AddSearchParameter("OWNERUNIT_ID", OWNERUNIT_ID.SelectedValue);
|
||
_OWNERSERVERPART.AddSearchParameter("SERVERPART_CODE", e.Argument);
|
||
if (_OWNERSERVERPART.Search())
|
||
{
|
||
foreach (MSPB.SERVERPARTSHOP _SERVERPARTSHOP in new MSPB.SERVERPARTSHOP(Transaction).FillCollection(
|
||
"WHERE SHOPCODE IS NOT NULL AND ISVALID = 1 AND SHOPTRADE NOT IN ('9032','9999') AND PROVINCE_CODE = " +
|
||
_OWNERSERVERPART.PROVINCE_BUSINESSCODE + " AND SERVERPART_ID = " + _OWNERSERVERPART.SERVERPART_ID +
|
||
" ORDER BY SHOPREGION,SHOPTRADE,SHOPCODE"))
|
||
{
|
||
ListItemEx listItemExShop = new ListItemEx();
|
||
listItemExShop.Text = _SERVERPARTSHOP.SHOPNAME;
|
||
listItemExShop.Value = _SERVERPARTSHOP.SHOPCODE;
|
||
SHOPCODE.Items.Add(listItemExShop);
|
||
}
|
||
}
|
||
e.SetDropDownListEx(SHOPCODE);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 保存机器参数信息
|
||
public void SaveMachineConfig()
|
||
{
|
||
using (Business.MACHINECONFIGURATION _MACHINECONFIGURATION = new Business.MACHINECONFIGURATION(Transaction))
|
||
{
|
||
//使用模式
|
||
if (!string.IsNullOrWhiteSpace(USING_TYPE.SelectedValue))
|
||
{
|
||
_MACHINECONFIGURATION.ResetProperty();
|
||
SaveConfigurationModel(_MACHINECONFIGURATION, "USING_TYPE", USING_TYPE.SelectedValue);
|
||
}
|
||
//到期时间
|
||
if (!string.IsNullOrWhiteSpace(EXPIRY_DATE.Text))
|
||
{
|
||
_MACHINECONFIGURATION.ResetProperty();
|
||
SaveConfigurationModel(_MACHINECONFIGURATION, "expirydate", EXPIRY_DATE.Text);
|
||
}
|
||
//提醒天数
|
||
if (!string.IsNullOrWhiteSpace(EXPIRY_DAY.Text))
|
||
{
|
||
_MACHINECONFIGURATION.ResetProperty();
|
||
SaveConfigurationModel(_MACHINECONFIGURATION, "expiry_day", EXPIRY_DAY.Text);
|
||
}
|
||
}
|
||
}
|
||
|
||
private void SaveConfigurationModel(Business.MACHINECONFIGURATION _MACHINECONFIGURATION,
|
||
string _CONFIGURATION_NAME, string _CONFIGURATION_VALUES)
|
||
{
|
||
_MACHINECONFIGURATION.AddSearchParameter("MACHINE_MACADDRESS", MACHINE_MACADDRESS.Text);
|
||
_MACHINECONFIGURATION.AddSearchParameter("CONFIGURATION_NAME", _CONFIGURATION_NAME);
|
||
if (_MACHINECONFIGURATION.Search())
|
||
{
|
||
_MACHINECONFIGURATION.CONFIGURATION_VALUES = _CONFIGURATION_VALUES;
|
||
_MACHINECONFIGURATION.CONFIGURATION_DATE = DateTime.Now;
|
||
_MACHINECONFIGURATION.Update();
|
||
}
|
||
else
|
||
{
|
||
_MACHINECONFIGURATION.ResetProperty();
|
||
_MACHINECONFIGURATION.MACHINEBASEINFO_ID = MACHINEBASEINFO_ID.Text.TryParseToInt();
|
||
_MACHINECONFIGURATION.MACHINE_MACADDRESS = MACHINE_MACADDRESS.Text;
|
||
_MACHINECONFIGURATION.CONFIGURATION_NAME = _CONFIGURATION_NAME;
|
||
_MACHINECONFIGURATION.CONFIGURATION_VALUES = _CONFIGURATION_VALUES;
|
||
_MACHINECONFIGURATION.CONFIGURATION_DATE = DateTime.Now;
|
||
_MACHINECONFIGURATION.Insert();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 历史记录列表事件
|
||
//查询SQL设置
|
||
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
|
||
{
|
||
if (MACHINEUSEAG_ID.Text != "")
|
||
{
|
||
e.AddAndParams("MACHINEUSEAG_ID", MACHINEUSEAG_ID.Text);
|
||
}
|
||
else
|
||
{
|
||
e.AddAndParams("1", 2);
|
||
}
|
||
|
||
//排序
|
||
e.AddOrderByParams("OPERATE_DATE", true);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 历史记录行绑定事件
|
||
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
//解析服务区名称、门店名称
|
||
string SQLString = $@"SELECT A.SERVERPART_NAME,B.SHOPNAME,A.SERVERPART_CODE,B.SHOPCODE
|
||
FROM MOBILESERVICE_PLATFORM.T_SERVERPART A,MOBILESERVICE_PLATFORM.T_SERVERPARTSHOP B
|
||
WHERE A.PROVINCE_CODE = B.PROVINCE_CODE AND A.SERVERPART_ID = B.SERVERPART_ID AND
|
||
SERVERPART_CODE = '{ e.Row.Cells[2].Text }' AND SHOPCODE = '{ e.Row.Cells[3].Text }'";
|
||
DataTable dtServerpartShop = new MSPB.SERVERPARTSHOP(Transaction).ExecuteDataTable(SQLString);
|
||
if (dtServerpartShop.Rows.Count > 0)
|
||
{
|
||
e.Row.Cells[2].Text = dtServerpartShop.Rows[0][0].ToString();
|
||
e.Row.Cells[3].Text = dtServerpartShop.Rows[0][1].ToString();
|
||
}
|
||
//缩略显示操作备注
|
||
if (e.Row.Cells[1].Text.Length > 20)
|
||
{
|
||
e.Row.ToolTip = e.Row.Cells[1].Text;
|
||
e.Row.Cells[1].Text = e.Row.Cells[1].Text.Substring(0, 20) + "...";
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|