using System;
using System.Collections.Generic;
using System.Data;
using SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.ReportDataAnalysis.Business;
using GSYWApi.Helper;
namespace GSYWApi.GeneralMethod
{
///
/// 收银员交班表相关方法
///
public class PERSONSELLHelper
{
#region 获取收银员交班表列表
///
/// 获取收银员交班表列表
///
/// 事务管理器
/// 查询结果总数
/// 查询条件对象
public static List GetPERSONSELLList(Transaction transaction,
ref int TotalCount, Models.SearchModel searchModel)
{
List PERSONSELLList = new List();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper.GetWhereSQL(
searchModel.SearchParameter, searchModel.QueryType, "", "SELL_ENDDATE", "SELL_STARTDATE");
if (WhereSQL != "")
{
WhereSQL = "WHERE " + WhereSQL;
}
//查询开始时间
if (searchModel.SearchParameter.SELL_STARTDATE != null)
{
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SELL_ENDDATE >= TO_DATE('" +
searchModel.SearchParameter.SELL_STARTDATE.ToString().Split(' ')[0] + "','YYYY/MM/DD')";
}
//查询结束时间
if (searchModel.SearchParameter.SELL_ENDDATE != null)
{
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SELL_ENDDATE < TO_DATE('" +
searchModel.SearchParameter.SELL_ENDDATE.ToString().Split(' ')[0] + "','YYYY/MM/DD') + 1";
}
}
DataTable dtPERSONSELL = new Business.PERSONSELL(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 != "")
{
dtPERSONSELL.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtPERSONSELL.DefaultView.Sort = searchModel.SortStr;
dtPERSONSELL = dtPERSONSELL.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtPERSONSELL.Rows.Count;
//根据传入的页码和每页显示条数返回结果
if (searchModel.PageSize > 0)
{
dtPERSONSELL = CommonHelper.GetDataTableWithPageSize(dtPERSONSELL, searchModel.PageSize, searchModel.PageIndex);
}
else
{
searchModel.PageSize = TotalCount;
if (searchModel.PageIndex == 0)
{
searchModel.PageIndex = 1;
}
}
foreach (DataRow drPERSONSELL in dtPERSONSELL.Rows)
{
Model.PERSONSELLModel personsellModel = new Model.PERSONSELLModel();
personsellModel.PERSONSELL_ID = drPERSONSELL["PERSONSELL_ID"].TryParseToInt(); //内码
personsellModel.SERVERPART_ID = drPERSONSELL["SERVERPART_ID"].TryParseToInt(); //服务区内码
personsellModel.SERVERPARTCODE = drPERSONSELL["SERVERPARTCODE"].ToString(); //服务区编码
personsellModel.SERVERPART_NAME = drPERSONSELL["SERVERPART_NAME"].ToString(); //服务区名称
personsellModel.PROVINCE_CODE = drPERSONSELL["PROVINCE_CODE"].TryParseToInt(); //省份编码
personsellModel.SELL_ENDDATE = drPERSONSELL["SELL_ENDDATE"].TryParseToDateTime(); //交班时间
personsellModel.SELL_STARTDATE = drPERSONSELL["SELL_STARTDATE"].TryParseToDateTime(); //销售开始时间
personsellModel.SHOPCODE = drPERSONSELL["SHOPCODE"].ToString(); //门店编码
personsellModel.SHOPNAME = drPERSONSELL["SHOPNAME"].ToString(); //门店名称
personsellModel.MACHINECODE = drPERSONSELL["MACHINECODE"].ToString(); //机器名
personsellModel.CASHWORKER_CODE = drPERSONSELL["CASHWORKER_CODE"].ToString(); //员工编码
personsellModel.CASHIER_NAME = drPERSONSELL["CASHIER_NAME"].ToString(); //员工名称
personsellModel.TICKETCOUNT = drPERSONSELL["TICKETCOUNT"].TryParseToDouble(); //TICKETCOUNT
personsellModel.TOTALCOUNT = drPERSONSELL["TOTALCOUNT"].TryParseToDouble(); //TOTALCOUNT
personsellModel.TOTALSELLAMOUNT = drPERSONSELL["TOTALSELLAMOUNT"].TryParseToDouble(); //销售金额
personsellModel.TOTALOFFAMOUNT = drPERSONSELL["TOTALOFFAMOUNT"].TryParseToDouble(); //TOTALOFFAMOUNT
personsellModel.CASH = drPERSONSELL["CASH"].TryParseToDouble(); //CASH
personsellModel.CREDITCARD = drPERSONSELL["CREDITCARD"].TryParseToDouble(); //CREDITCARD
personsellModel.TICKETBILL = drPERSONSELL["TICKETBILL"].TryParseToDouble(); //TICKETBILL
personsellModel.VIPPERSON = drPERSONSELL["VIPPERSON"].TryParseToDouble(); //VIPPERSON
personsellModel.COSTBILL = drPERSONSELL["COSTBILL"].TryParseToDouble(); //COSTBILL
personsellModel.OTHERPAY = drPERSONSELL["OTHERPAY"].TryParseToDouble(); //OTHERPAY
personsellModel.CASHPAY = drPERSONSELL["CASHPAY"].TryParseToDouble(); //缴款金额
personsellModel.DIFFERENT_PRICE = drPERSONSELL["DIFFERENT_PRICE"].TryParseToDouble(); //长短款
personsellModel.DOWNLOAD_DATE = drPERSONSELL["DOWNLOAD_DATE"].TryParseToDateTime(); //DOWNLOAD_DATE
personsellModel.VALID = drPERSONSELL["VALID"].TryParseToShort(); //VALID
personsellModel.PERSONSELL_DESC = drPERSONSELL["PERSONSELL_DESC"].ToString(); //PERSONSELL_DESC
personsellModel.OPERATE_TYPE = drPERSONSELL["OPERATE_TYPE"].TryParseToShort(); //OPERATE_TYPE
personsellModel.ACTUAL_CASHPAY = drPERSONSELL["ACTUAL_CASHPAY"].TryParseToDouble(); //ACTUAL_CASHPAY
personsellModel.CORRECT_PRICE = drPERSONSELL["CORRECT_PRICE"].TryParseToDouble(); //CORRECT_PRICE
PERSONSELLList.Add(personsellModel);
}
return PERSONSELLList;
}
#endregion
#region 获取收银员交班表明细
///
/// 获取收银员交班表明细
///
/// 事务管理器
/// 收银员交班表内码
public static Model.PERSONSELLModel GetPERSONSELLDetail(Transaction transaction, int PERSONSELLId)
{
Model.PERSONSELLModel personsellModel = new Model.PERSONSELLModel();
Business.PERSONSELL _PERSONSELL = new Business.PERSONSELL(transaction);
_PERSONSELL.PERSONSELL_ID = PERSONSELLId;
if (_PERSONSELL.Select())
{
personsellModel.PERSONSELL_ID = _PERSONSELL.PERSONSELL_ID; //内码
personsellModel.SERVERPART_ID = _PERSONSELL.SERVERPART_ID; //服务区内码
personsellModel.SERVERPARTCODE = _PERSONSELL.SERVERPARTCODE; //服务区编码
personsellModel.SERVERPART_NAME = _PERSONSELL.SERVERPART_NAME; //服务区名称
personsellModel.PROVINCE_CODE = _PERSONSELL.PROVINCE_CODE; //省份编码
personsellModel.SELL_ENDDATE = _PERSONSELL.SELL_ENDDATE; //交班时间
personsellModel.SELL_STARTDATE = _PERSONSELL.SELL_STARTDATE; //销售开始时间
personsellModel.SHOPCODE = _PERSONSELL.SHOPCODE; //门店编码
personsellModel.SHOPNAME = _PERSONSELL.SHOPNAME; //门店名称
personsellModel.MACHINECODE = _PERSONSELL.MACHINECODE; //机器名
personsellModel.CASHWORKER_CODE = _PERSONSELL.CASHWORKER_CODE; //员工编码
personsellModel.CASHIER_NAME = _PERSONSELL.CASHIER_NAME; //员工名称
personsellModel.TICKETCOUNT = _PERSONSELL.TICKETCOUNT; //TICKETCOUNT
personsellModel.TOTALCOUNT = _PERSONSELL.TOTALCOUNT; //TOTALCOUNT
personsellModel.TOTALSELLAMOUNT = _PERSONSELL.TOTALSELLAMOUNT; //销售金额
personsellModel.TOTALOFFAMOUNT = _PERSONSELL.TOTALOFFAMOUNT; //TOTALOFFAMOUNT
personsellModel.CASH = _PERSONSELL.CASH; //CASH
personsellModel.CREDITCARD = _PERSONSELL.CREDITCARD; //CREDITCARD
personsellModel.TICKETBILL = _PERSONSELL.TICKETBILL; //TICKETBILL
personsellModel.VIPPERSON = _PERSONSELL.VIPPERSON; //VIPPERSON
personsellModel.COSTBILL = _PERSONSELL.COSTBILL; //COSTBILL
personsellModel.OTHERPAY = _PERSONSELL.OTHERPAY; //OTHERPAY
personsellModel.CASHPAY = _PERSONSELL.CASHPAY; //缴款金额
personsellModel.DIFFERENT_PRICE = _PERSONSELL.DIFFERENT_PRICE; //长短款
personsellModel.DOWNLOAD_DATE = _PERSONSELL.DOWNLOAD_DATE; //DOWNLOAD_DATE
personsellModel.VALID = _PERSONSELL.VALID; //VALID
personsellModel.PERSONSELL_DESC = _PERSONSELL.PERSONSELL_DESC; //PERSONSELL_DESC
personsellModel.OPERATE_TYPE = _PERSONSELL.OPERATE_TYPE; //OPERATE_TYPE
personsellModel.ACTUAL_CASHPAY = _PERSONSELL.ACTUAL_CASHPAY; //ACTUAL_CASHPAY
personsellModel.CORRECT_PRICE = _PERSONSELL.CORRECT_PRICE; //CORRECT_PRICE
}
return personsellModel;
}
#endregion
#region 同步收银员交班表
///
/// 赋值收银员交班表数据对象
///
/// 事务管理器
/// 收银员交班表数据对象
public static bool SynchroPERSONSELL(Transaction transaction, Model.PERSONSELLModel personsellModel)
{
bool SynchroFlag = true;
Business.PERSONSELL _PERSONSELL = new Business.PERSONSELL(transaction);
if (personsellModel.PERSONSELL_ID != null)
{
_PERSONSELL.PERSONSELL_ID = personsellModel.PERSONSELL_ID;
if (_PERSONSELL.Select())
{
SynchroModelToObject(_PERSONSELL, personsellModel);
_PERSONSELL.Update();
}
else
{
SynchroFlag = false;
}
}
else
{
SynchroModelToObject(_PERSONSELL, personsellModel);
_PERSONSELL.Insert();
}
return SynchroFlag;
}
#region 赋值收银员交班表数据对象
///
/// 赋值收银员交班表数据对象
///
///
///
public static void SynchroModelToObject(Business.PERSONSELL _PERSONSELL, Model.PERSONSELLModel personsellModel)
{
_PERSONSELL.SERVERPART_ID = personsellModel.SERVERPART_ID; //服务区内码
_PERSONSELL.SERVERPARTCODE = personsellModel.SERVERPARTCODE; //服务区编码
_PERSONSELL.SERVERPART_NAME = personsellModel.SERVERPART_NAME; //服务区名称
_PERSONSELL.PROVINCE_CODE = personsellModel.PROVINCE_CODE; //省份编码
_PERSONSELL.SELL_ENDDATE = personsellModel.SELL_ENDDATE; //交班时间
_PERSONSELL.SELL_STARTDATE = personsellModel.SELL_STARTDATE; //销售开始时间
_PERSONSELL.SHOPCODE = personsellModel.SHOPCODE; //门店编码
_PERSONSELL.SHOPNAME = personsellModel.SHOPNAME; //门店名称
_PERSONSELL.MACHINECODE = personsellModel.MACHINECODE; //机器名
_PERSONSELL.CASHWORKER_CODE = personsellModel.CASHWORKER_CODE; //员工编码
_PERSONSELL.CASHIER_NAME = personsellModel.CASHIER_NAME; //员工名称
_PERSONSELL.TICKETCOUNT = personsellModel.TICKETCOUNT; //TICKETCOUNT
_PERSONSELL.TOTALCOUNT = personsellModel.TOTALCOUNT; //TOTALCOUNT
_PERSONSELL.TOTALSELLAMOUNT = personsellModel.TOTALSELLAMOUNT; //销售金额
_PERSONSELL.TOTALOFFAMOUNT = personsellModel.TOTALOFFAMOUNT; //TOTALOFFAMOUNT
_PERSONSELL.CASH = personsellModel.CASH; //CASH
_PERSONSELL.CREDITCARD = personsellModel.CREDITCARD; //CREDITCARD
_PERSONSELL.TICKETBILL = personsellModel.TICKETBILL; //TICKETBILL
_PERSONSELL.VIPPERSON = personsellModel.VIPPERSON; //VIPPERSON
_PERSONSELL.COSTBILL = personsellModel.COSTBILL; //COSTBILL
_PERSONSELL.OTHERPAY = personsellModel.OTHERPAY; //OTHERPAY
_PERSONSELL.CASHPAY = personsellModel.CASHPAY; //缴款金额
_PERSONSELL.DIFFERENT_PRICE = personsellModel.DIFFERENT_PRICE; //长短款
_PERSONSELL.DOWNLOAD_DATE = personsellModel.DOWNLOAD_DATE; //DOWNLOAD_DATE
_PERSONSELL.VALID = personsellModel.VALID; //VALID
_PERSONSELL.PERSONSELL_DESC = personsellModel.PERSONSELL_DESC; //PERSONSELL_DESC
_PERSONSELL.OPERATE_TYPE = personsellModel.OPERATE_TYPE; //OPERATE_TYPE
_PERSONSELL.ACTUAL_CASHPAY = personsellModel.ACTUAL_CASHPAY; //ACTUAL_CASHPAY
_PERSONSELL.CORRECT_PRICE = personsellModel.CORRECT_PRICE; //CORRECT_PRICE
}
#endregion
#endregion
#region 删除收银员交班表
///
/// 删除收银员交班表
///
/// 事务管理器
/// 收银员交班表内码
public static bool DeletePERSONSELL(Transaction transaction, int? PERSONSELLId)
{
bool DeleteFlag = false;
if (PERSONSELLId != null)
{
Business.PERSONSELL _PERSONSELL = new Business.PERSONSELL(transaction);
_PERSONSELL.PERSONSELL_ID = PERSONSELLId;
if (_PERSONSELL.Select())
{
_PERSONSELL.VALID = 0;
DeleteFlag = _PERSONSELL.Update();
}
}
return DeleteFlag;
}
#endregion
}
}