2025-03-27 15:05:14 +08:00

398 lines
19 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}