330 lines
16 KiB
C#
330 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using SuperMap.RealEstate.ServiceModel;
|
|
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
|
using HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business;
|
|
using Newtonsoft.Json.Linq;
|
|
using HZQR.Common;
|
|
|
|
namespace ServerPartTransmission
|
|
{
|
|
/// <summary>
|
|
/// 服务区相关类
|
|
/// </summary>
|
|
public class Serverpart
|
|
{
|
|
#region WCF服务访问方式
|
|
|
|
#region 方法 -> 获取服务区门店列表
|
|
/// <summary>
|
|
/// 根据商户ID 或者 省份编号+门店ID获取服务区门店列表
|
|
/// </summary>
|
|
/// <param name="transaction">事务</param>
|
|
/// <param name="sellerId">商户Id</param>
|
|
/// <param name="provinceCode">省份编码</param>
|
|
/// <param name="serverPartId">服务区门店Id</param>
|
|
/// <returns></returns>
|
|
public static DataTable GetServerpartShopList(Transaction transaction, int? sellerId = null, string provinceCode = "", int? serverPartId = null)
|
|
{
|
|
List<Model.ServerpartShop> list = new List<Model.ServerpartShop>();
|
|
StringBuilder sqlWhere = new StringBuilder();
|
|
sqlWhere.Append("WHERE 1=1");
|
|
if (!string.IsNullOrEmpty(provinceCode) && serverPartId != null)
|
|
{
|
|
sqlWhere.AppendFormat(" AND PROVINCE_CODE = '{0}'", provinceCode);
|
|
sqlWhere.AppendFormat(" AND SERVERPART_ID = {0}", serverPartId);
|
|
}
|
|
if (sellerId != null)
|
|
{
|
|
sqlWhere.AppendFormat(" AND SELLER_ID = {0}", sellerId);
|
|
}
|
|
string sql = string.Format(@"
|
|
SELECT
|
|
SERVERPARTSHOP_ID,SHOPCODE,SHOPNAME,SERVERPART_ID,SHOPDIRECTION
|
|
FROM
|
|
MOBILESERVICE_PLATFORM.T_SERVERPARTSHOP {0}", sqlWhere);
|
|
DataTable dt = new MSPB.SERVERPARTSHOP(transaction).ExecuteDataTable(sql);
|
|
return dt;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取服务关联业主信息
|
|
/// <summary>
|
|
/// 获取所有服务区关联业主信息
|
|
/// </summary>
|
|
/// <param name="transaction">事务</param>
|
|
/// <returns></returns>
|
|
public static DataTable ServerpartOwnerList(Transaction transaction)
|
|
{
|
|
string sql = string.Format(@"
|
|
SELECT
|
|
A.PROVINCE_CODE,A.SERVERPART_ID,A.OWNERUNIT_ID,A.OWNERUNIT_NAME,B.OWNERUNIT_PID
|
|
FROM
|
|
MOBILESERVICE_PLATFORM.T_OWNERSERVERPART A,T_OWNERUNIT B
|
|
WHERE
|
|
A.OWNERUNIT_ID = B.OWNERUNIT_ID AND B.OWNERUNIT_NATURE = 1000");
|
|
DataTable dt = new MSPB.OWNERSERVERPART(transaction).ExecuteDataTable(sql);
|
|
return dt;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取服务区列表
|
|
/// <summary>
|
|
/// 获取服务区列表
|
|
/// </summary>
|
|
/// <param name="transaction">事务</param>
|
|
/// <param name="mapType">地图类型(默认腾讯地图)</param>
|
|
/// <param name="statisticsType">统计类型,可为空(区分服务区、测试服务区、企业部门)</param>
|
|
/// <param name="provinceCode">省份编码,可为空(仅查询某个省的服务区)</param>
|
|
/// <returns></returns>
|
|
public static DataTable ServerpartList(Transaction transaction, int mapType = 1000,
|
|
string statisticsType = "", int? provinceCode = null)
|
|
{
|
|
string sqlWhere = "AND A.SERVERPARTMAP_TYPE = " + mapType;
|
|
if (!string.IsNullOrEmpty(statisticsType))
|
|
{
|
|
sqlWhere += "AND B.STATISTICS_TYPE IN (" + statisticsType + ")";
|
|
}
|
|
if (provinceCode != null)
|
|
{
|
|
sqlWhere += " AND B.PROVINCE_CODE = " + provinceCode;
|
|
}
|
|
//查询服务区sql语句
|
|
string sql = string.Format(@"
|
|
SELECT
|
|
A.PROVINCE_CODE,A.SERVERPARTMAP_X,A.SERVERPARTMAP_Y,A.SERVERPART_ID,
|
|
B.SERVERPART_CODE,B.SERVERPART_INDEX,B.SERVERPART_TEL,B.SERVERPART_NAME
|
|
FROM
|
|
MOBILESERVICE_PLATFORM.T_SERVERPARTMAP A,MOBILESERVICE_PLATFORM.T_SERVERPART B
|
|
WHERE
|
|
A.SERVERPART_ID = B.SERVERPART_ID AND
|
|
A.PROVINCE_CODE = B.PROVINCE_CODE {0}", sqlWhere);
|
|
DataTable dt = new MSPB.SERVERPART(transaction).ExecuteDataTable(sql);
|
|
return dt;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取服务区详细信息
|
|
/// <summary>
|
|
/// 获取服务区详细信息
|
|
/// </summary>
|
|
/// <param name="transaction">事务</param>
|
|
/// <param name="provinceCode">省份编码</param>
|
|
/// <param name="serverpartId">服务区Id</param>
|
|
/// <returns></returns>
|
|
public static Model.ServerpartEx GetServerpartDetail(Transaction transaction, int provinceCode, int serverpartId)
|
|
{
|
|
//查询服务区详细信息
|
|
Model.ServerpartEx ServerpartDetail = null;
|
|
string sql = string.Format(@"
|
|
SELECT
|
|
A.SERVERPART_ID,A.SERVERPART_CODE,A.SERVERPART_NAME,A.SERVERPART_TEL,A.SERVERPART_DESC,
|
|
B.BUSINESSTYPE,B.DININGROOMCOUNT,B.DININGBXCOUNT,B.POINTCONTROLCOUNT,
|
|
B.TOILETCOUNT,B.HASCHARGINGPILE,B.HASMOTHER,B.HASWATERROOM,B.HASWIFI,
|
|
B.HASREPAIRSHOP,B.HASPANTRY,B.HASPILOTLOUNGE,B.HASTHIRDTOILETS,
|
|
B.HASMESSAGESEARCH,B.HASCHILD,B.HASSHOWERROOM
|
|
FROM
|
|
MOBILESERVICE_PLATFORM.T_SERVERPART A,
|
|
MOBILESERVICE_PLATFORM.T_SERVERPARTINFO B
|
|
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.PROVINCE_CODE = B.PROVINCE_CODE AND
|
|
A.SERVERPART_ID = {0} AND A.PROVINCE_CODE = {1}", serverpartId, provinceCode);
|
|
DataTable dt = new MSPB.SERVERPART(transaction).ExecuteDataTable(sql);
|
|
if (dt.Rows.Count > 0)
|
|
{
|
|
DataRow dr = dt.Rows[0];
|
|
ServerpartDetail = new Model.ServerpartEx();
|
|
ServerpartDetail.ServerpartId = dr["SERVERPART_ID"].TryParseToInt(); //服务区内码
|
|
ServerpartDetail.ServerpartCode = dr["SERVERPART_CODE"].TryParseToString(); //服务区编码
|
|
ServerpartDetail.ServerpartTel = dr["SERVERPART_TEL"].TryParseToString(); //服务区联系电话
|
|
ServerpartDetail.ServerpartName = dr["SERVERPART_NAME"].TryParseToString(); //服务区名称
|
|
ServerpartDetail.ServerpartDesc = dr["SERVERPART_DESC"].TryParseToString(); //服务区描述
|
|
ServerpartDetail.BusinessType = dr["BUSINESSTYPE"].TryParseToString(); //经营业态
|
|
ServerpartDetail.DiningRoomCount = dr["DININGROOMCOUNT"].TryParseToInt(); //餐厅定位
|
|
ServerpartDetail.DiningBxCount = dr["DININGBXCOUNT"].TryParseToInt(); //餐厅包厢
|
|
ServerpartDetail.PointControlCount = dr["POINTCONTROLCOUNT"].TryParseToInt(); //停车位
|
|
ServerpartDetail.ToiletCount = dr["TOILETCOUNT"].TryParseToInt(); //加油站
|
|
ServerpartDetail.HasChargingPile = dr["HASCHARGINGPILE"].TryParseToInt(); //充电桩
|
|
ServerpartDetail.HasMother = dr["HASMOTHER"].TryParseToInt(); //母婴室
|
|
ServerpartDetail.HasWaterRoom = dr["HASWATERROOM"].TryParseToInt(); //开水间
|
|
ServerpartDetail.HasWifi = dr["HASWIFI"].TryParseToInt(); //是否有wifi
|
|
ServerpartDetail.HasRepairShop = dr["HASREPAIRSHOP"].TryParseToInt(); //汽修站
|
|
ServerpartDetail.HasPantry = dr["HASPANTRY"].TryParseToInt(); //透明厨房
|
|
ServerpartDetail.HasPilotLounge = dr["HASPILOTLOUNGE"].TryParseToInt(); //司机之家
|
|
ServerpartDetail.HasThirdToilets = dr["HASTHIRDTOILETS"].TryParseToInt(); //卫生间
|
|
ServerpartDetail.HasMessageSearch = dr["HASMESSAGESEARCH"].TryParseToInt(); //服务台
|
|
ServerpartDetail.HasChild = dr["HASCHILD"].TryParseToInt(); //游乐场
|
|
ServerpartDetail.HasShowerRoom = dr["HASSHOWERROOM"].TryParseToInt(); //淋浴房
|
|
}
|
|
return ServerpartDetail;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取会员可以查看的服务区类型
|
|
/// <summary>
|
|
/// 根据会员类型查询不同的数据
|
|
/// </summary>
|
|
/// <param name="membershipType">区分会员类型(1000:普通会员;3000:企业会员;9999:测试会员)</param>
|
|
/// <param name="wechatAppAppId">小程序APPID</param>
|
|
/// <returns></returns>
|
|
public static string GetStatisticsType(int membershipType, string wechatAppAppId)
|
|
{
|
|
string statisticsType = "1000";//服务区
|
|
//企业会员展示企业内部门店
|
|
if (membershipType == 3000 && wechatAppAppId == "wxec57324d9d721cea")//高速驿网会员体系
|
|
{
|
|
statisticsType = "1000,3010";//1000:服务区;3010:企业部门(商业集团)
|
|
}
|
|
else if (membershipType == 9999)//9999:测试会员
|
|
{
|
|
if (wechatAppAppId == "wxec57324d9d721cea")//高速驿网会员体系
|
|
{
|
|
statisticsType = "1000,1002,3010";//1000:服务区;1002:测试服务区;3010:企业部门(商业集团)
|
|
}
|
|
else
|
|
{
|
|
//防止测试时下单到商业集团,驿付小程序上不显示商业集团
|
|
statisticsType = "1000,1002";//1000:服务区;1002:测试服务区;
|
|
}
|
|
}
|
|
return statisticsType;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据服务区ID获取服务区信息
|
|
/// <summary>
|
|
/// 根据服务区ID获取服务区信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ServerpartID">服务区内码</param>
|
|
/// <returns>服务区对象</returns>
|
|
public static HWSB.SERVERPART GetServerpartByID(Transaction _Transaction, int? ServerpartID)
|
|
{
|
|
//根据服务区ID查询服务区表
|
|
HWSB.SERVERPART _SERVERPART = new HWSB.SERVERPART(_Transaction);
|
|
_SERVERPART.SERVERPART_ID = ServerpartID;
|
|
_SERVERPART.Select();
|
|
|
|
return _SERVERPART;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据服务区编码获取服务区信息
|
|
/// <summary>
|
|
/// 根据服务区内码获取服务区信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ServerpartCode">服务区编码</param>
|
|
/// <returns>服务区对象</returns>
|
|
public static HWSB.SERVERPART GetServerpartByCode(Transaction _Transaction, string ServerpartCode)
|
|
{
|
|
//根据服务区编码查询服务区表
|
|
HWSB.SERVERPART _SERVERPART = new HWSB.SERVERPART(_Transaction);
|
|
_SERVERPART.AddSearchParameter("SERVERPART_CODE", ServerpartCode);
|
|
_SERVERPART.Search();
|
|
|
|
return _SERVERPART;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据服务区编码获取服务区门店列表
|
|
/// <summary>
|
|
/// 根据服务区内码获取服务区信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ServerpartCode">服务区编码</param>
|
|
/// <returns>服务区对象</returns>
|
|
public static DataTable GetServerpartShopByCode(Transaction _Transaction, string ServerpartCode)
|
|
{
|
|
DataTable dtServerpartShop = new HWSB.SERVERPARTSHOP(_Transaction).ExecuteDataTable(
|
|
@"SELECT A.SERVERPART_ID,A.SERVERPART_CODE,A.SERVERPART_NAME,B.SERVERPARTSHOP_ID,B.SHOPCODE,B.SHOPNAME
|
|
FROM HIGHWAY_STORAGE.T_SERVERPART A,HIGHWAY_STORAGE.T_SERVERPARTSHOP B
|
|
WHERE A.SERVERPART_ID = B.SERVERPART_ID AND A.SERVERPART_CODE IN (" + ServerpartCode + ")");
|
|
|
|
return dtServerpartShop;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取统一定价服务区
|
|
/// <summary>
|
|
/// 获取统一定价服务区
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ProvinceID">省份内码</param>
|
|
/// <returns>统一定价服务区对象</returns>
|
|
public static HWSB.SERVERPART GetUniformServerpart(Transaction _Transaction, int? ProvinceID)
|
|
{
|
|
//根据服务区编码查询服务区表
|
|
HWSB.SERVERPART _SERVERPART = new HWSB.SERVERPART(_Transaction);
|
|
_SERVERPART.AddSearchParameter("PROVINCE_CODE", ProvinceID);
|
|
_SERVERPART.AddSearchParameter("STATISTIC_TYPE", 4000); //4000代表统一定价服务区
|
|
_SERVERPART.Search();
|
|
|
|
return _SERVERPART;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据枚举内码获取枚举信息
|
|
/// <summary>
|
|
/// 根据枚举内码获取枚举信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="FieldEnumID">枚举内码</param>
|
|
/// <returns></returns>
|
|
public static FieldEnum GetFieldEnumByID(Transaction _Transaction, int? FieldEnumID)
|
|
{
|
|
//根据服务区编码查询服务区表
|
|
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
|
|
_FieldEnum.FieldEnum_ID = FieldEnumID; //4000代表统一定价服务区
|
|
_FieldEnum.Select();
|
|
|
|
return _FieldEnum;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据门店内码获取服务区门店信息
|
|
/// <summary>
|
|
/// 根据门店内码获取服务区门店信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ServerpartShopID">门店内码</param>
|
|
/// <returns></returns>
|
|
public static HWSB.SERVERPARTSHOP GetServerpartShopByID(Transaction _Transaction, int? ServerpartShopID)
|
|
{
|
|
//根据服务区门店ID查询服务区门店表
|
|
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(_Transaction);
|
|
_SERVERPARTSHOP.SERVERPARTSHOP_ID = ServerpartShopID;
|
|
_SERVERPARTSHOP.Select();
|
|
|
|
return _SERVERPARTSHOP;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 根据门店编码获取服务区门店信息
|
|
/// <summary>
|
|
/// 根据门店编码获取服务区门店信息
|
|
/// </summary>
|
|
/// <param name="_Transaction">事务管理器</param>
|
|
/// <param name="ServerpartID">服务区内码</param>
|
|
/// <param name="ServerpartShopCode">门店编码</param>
|
|
/// <returns></returns>
|
|
public static HWSB.SERVERPARTSHOP GetServerpartShopByCode(Transaction _Transaction, int? ServerpartID, string ServerpartShopCode)
|
|
{
|
|
//根据服务区ID + 门店编码查询服务区门店表
|
|
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(_Transaction);
|
|
_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", ServerpartID);
|
|
_SERVERPARTSHOP.AddSearchParameter("SHOPCODE", ServerpartShopCode);
|
|
_SERVERPARTSHOP.Search();
|
|
|
|
return _SERVERPARTSHOP;
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
}
|