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

204 lines
9.4 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 SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.HighWay.SellData.Business;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 卡口流水表相关方法
/// </summary>
public class BAYONETHelper
{
#region
/// <summary>
/// 获取卡口流水表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.BAYONETModel> GetBAYONETList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.BAYONETModel> searchModel)
{
List<Model.BAYONETModel> BAYONETList = new List<Model.BAYONETModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.BAYONETModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = "WHERE " + WhereSQL;
}
}
DataTable dtBAYONET = new Business.BAYONET(transaction).FillDataTable(WhereSQL);
//增加组合查询条件
if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key))
{
foreach (string KeyName in searchModel.keyWord.Key.Split(','))
{
RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") +
KeyName + " like '%" + searchModel.keyWord.Value + "%'";
}
}
if (RowFilterSQL != "")
{
dtBAYONET.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtBAYONET.DefaultView.Sort = searchModel.SortStr;
dtBAYONET = dtBAYONET.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtBAYONET.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtBAYONET = CommonHelper.GetDataTableWithPageSize(dtBAYONET, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drBAYONET in dtBAYONET.Rows)
{
Model.BAYONETModel bayonetModel = new Model.BAYONETModel();
bayonetModel.BAYONET_ID = drBAYONET["BAYONET_ID"].TryParseToInt(); //卡口流水内码
bayonetModel.SERVERPART_ID = drBAYONET["SERVERPART_ID"].TryParseToInt(); //服务区内码
bayonetModel.SERVERPART_NAME = drBAYONET["SERVERPART_NAME"].ToString(); //服务区名称
bayonetModel.SERVERPART_REGION = drBAYONET["SERVERPART_REGION"].ToString(); //服务区方位
bayonetModel.INOUT_TYPE = (short)drBAYONET["INOUT_TYPE"].TryParseToInt(); //进出类别01
bayonetModel.INOUT_TIME = drBAYONET["INOUT_TIME"].TryParseToLong(); //车辆进出时间
bayonetModel.VEHICLE_TYPE = drBAYONET["VEHICLE_TYPE"].ToString(); //车辆类型
bayonetModel.LICENSE_PLATE = drBAYONET["LICENSE_PLATE"].ToString(); //车牌号
bayonetModel.VEHICLE_SPEED = drBAYONET["VEHICLE_SPEED"].TryParseToDouble(); //车速km/h
bayonetModel.STAY_TIMES = drBAYONET["STAY_TIMES"].TryParseToInt(); //停留时长
bayonetModel.STATISTICS_DATE = drBAYONET["STATISTICS_DATE"].TryParseToLong(); //统计时间
bayonetModel.OPERATE_DATE = drBAYONET["OPERATE_DATE"].TryParseToLong(); //更新时间
bayonetModel.BAYONET_STATUS = (short)drBAYONET["BAYONET_STATUS"].TryParseToInt(); //有效状态0无效1有效
bayonetModel.BAYONET_DESC = drBAYONET["BAYONET_DESC"].ToString(); //备注说明
BAYONETList.Add(bayonetModel);
}
return BAYONETList;
}
#endregion
#region
/// <summary>
/// 获取卡口流水表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BAYONETId">卡口流水表内码</param>
public static Model.BAYONETModel GetBAYONETDetail(Transaction transaction, int BAYONETId)
{
Model.BAYONETModel bayonetModel = new Model.BAYONETModel();
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
_BAYONET.BAYONET_ID = BAYONETId;
if (_BAYONET.Select())
{
bayonetModel.BAYONET_ID = _BAYONET.BAYONET_ID; //卡口流水内码
bayonetModel.SERVERPART_ID = _BAYONET.SERVERPART_ID; //服务区内码
bayonetModel.SERVERPART_NAME = _BAYONET.SERVERPART_NAME; //服务区名称
bayonetModel.SERVERPART_REGION = _BAYONET.SERVERPART_REGION; //服务区方位
bayonetModel.INOUT_TYPE = _BAYONET.INOUT_TYPE; //进出类别01
bayonetModel.INOUT_TIME = _BAYONET.INOUT_TIME; //车辆进出时间
bayonetModel.VEHICLE_TYPE = _BAYONET.VEHICLE_TYPE; //车辆类型
bayonetModel.LICENSE_PLATE = _BAYONET.LICENSE_PLATE; //车牌号
bayonetModel.VEHICLE_SPEED = _BAYONET.VEHICLE_SPEED; //车速km/h
bayonetModel.STAY_TIMES = _BAYONET.STAY_TIMES; //停留时长
bayonetModel.STATISTICS_DATE = _BAYONET.STATISTICS_DATE; //统计时间
bayonetModel.OPERATE_DATE = _BAYONET.OPERATE_DATE; //更新时间
bayonetModel.BAYONET_STATUS = _BAYONET.BAYONET_STATUS; //有效状态0无效1有效
bayonetModel.BAYONET_DESC = _BAYONET.BAYONET_DESC; //备注说明
}
return bayonetModel;
}
#endregion
#region
/// <summary>
/// 赋值卡口流水表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="bayonetModel">卡口流水表数据对象</param>
public static bool SynchroBAYONET(Transaction transaction, Model.BAYONETModel bayonetModel)
{
bool SynchroFlag = true;
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
if (bayonetModel.BAYONET_ID != null)
{
_BAYONET.BAYONET_ID = bayonetModel.BAYONET_ID;
if (_BAYONET.Select())
{
SynchroModelToObject(_BAYONET, bayonetModel);
_BAYONET.Update();
}
else
{
SynchroFlag = false;
}
}
else
{
SynchroModelToObject(_BAYONET, bayonetModel);
_BAYONET.Insert();
}
return SynchroFlag;
}
#region
/// <summary>
/// 赋值卡口流水表数据对象
/// </summary>
/// <param name="_BAYONET"></param>
/// <param name="bayonetModel"></param>
public static void SynchroModelToObject(Business.BAYONET _BAYONET, Model.BAYONETModel bayonetModel)
{
_BAYONET.SERVERPART_ID = bayonetModel.SERVERPART_ID; //服务区内码
_BAYONET.SERVERPART_NAME = bayonetModel.SERVERPART_NAME; //服务区名称
_BAYONET.SERVERPART_REGION = bayonetModel.SERVERPART_REGION; //服务区方位
_BAYONET.INOUT_TYPE = bayonetModel.INOUT_TYPE; //进出类别01
_BAYONET.INOUT_TIME = bayonetModel.INOUT_TIME; //车辆进出时间
_BAYONET.VEHICLE_TYPE = bayonetModel.VEHICLE_TYPE; //车辆类型
_BAYONET.LICENSE_PLATE = bayonetModel.LICENSE_PLATE; //车牌号
_BAYONET.VEHICLE_SPEED = bayonetModel.VEHICLE_SPEED; //车速km/h
_BAYONET.STAY_TIMES = bayonetModel.STAY_TIMES; //停留时长
_BAYONET.STATISTICS_DATE = bayonetModel.STATISTICS_DATE; //统计时间
_BAYONET.OPERATE_DATE = bayonetModel.OPERATE_DATE; //更新时间
_BAYONET.BAYONET_STATUS = bayonetModel.BAYONET_STATUS; //有效状态0无效1有效
_BAYONET.BAYONET_DESC = bayonetModel.BAYONET_DESC; //备注说明
}
#endregion
#endregion
#region
/// <summary>
/// 删除卡口流水表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="BAYONETId">卡口流水表内码</param>
public static bool DeleteBAYONET(Transaction transaction, int? BAYONETId)
{
bool DeleteFlag = false;
if (BAYONETId != null)
{
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
_BAYONET.BAYONET_ID = BAYONETId;
if (_BAYONET.Select())
{
_BAYONET.BAYONET_STATE = 0;
DeleteFlag = _BAYONET.Update();
}
}
return DeleteFlag;
}
#endregion
}
}