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 { /// /// T_MACHINEUSEAG_机器配置表 的WebUserControl /// public partial class MACHINEUSEAG : UserControl { 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 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(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 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 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 } }