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 { /// /// 卡口流水表相关方法 /// public class BAYONETHelper { #region 获取卡口流水表列表 /// /// 获取卡口流水表列表 /// /// 事务管理器 /// 查询结果总数 /// 查询条件对象 public static List GetBAYONETList(Transaction transaction, ref int TotalCount, Model.SearchModel searchModel) { List BAYONETList = new List(); string WhereSQL = "", RowFilterSQL = ""; if (searchModel.SearchParameter != null) { WhereSQL = OperationDataHelper.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(); //进出类别(0:出;1:进) 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 获取卡口流水表明细 /// /// 获取卡口流水表明细 /// /// 事务管理器 /// 卡口流水表内码 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; //进出类别(0:出;1:进) 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 同步卡口流水表 /// /// 赋值卡口流水表数据对象 /// /// 事务管理器 /// 卡口流水表数据对象 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 赋值卡口流水表数据对象 /// /// 赋值卡口流水表数据对象 /// /// /// 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; //进出类别(0:出;1:进) _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 删除卡口流水表 /// /// 删除卡口流水表 /// /// 事务管理器 /// 卡口流水表内码 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 } }