256 lines
14 KiB
C#
256 lines
14 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using SuperMap.RealEstate.ServiceModel;
|
||
using Business = SuperMap.RealEstate.BasicArchives.Storage.Business;
|
||
|
||
namespace GSYWApi.Helper
|
||
{
|
||
/// <summary>
|
||
/// 库存操作记录表相关方法
|
||
/// </summary>
|
||
public class STOCKLOGHelper
|
||
{
|
||
#region 获取库存操作记录表列表
|
||
public static List<Model.STOCKLOGModel> GetSTOCKLOGList(Transaction transaction,
|
||
ref int TotalCount, int PageIndex = 1, int PageSize = 10, string SortStr = "")
|
||
{
|
||
List<Model.STOCKLOGModel> STOCKLOGList = new List<Model.STOCKLOGModel>();
|
||
|
||
string WhereSQL = "", RowFilterSQL = "";
|
||
|
||
DataTable dtSTOCKLOG = new Business.STOCKLOG(transaction).FillDataTable(WhereSQL);
|
||
if (RowFilterSQL != "")
|
||
{
|
||
dtSTOCKLOG.DefaultView.RowFilter = RowFilterSQL;
|
||
}
|
||
//排序:
|
||
dtSTOCKLOG.DefaultView.Sort = SortStr;
|
||
dtSTOCKLOG = dtSTOCKLOG.DefaultView.ToTable();
|
||
//获取查询结果总记录条数
|
||
TotalCount = dtSTOCKLOG.Rows.Count;
|
||
//根据传入的页码和每页显示条数返回结果
|
||
dtSTOCKLOG = CommonHelper.GetDataTableWithPageSize(dtSTOCKLOG, PageSize, PageIndex);
|
||
|
||
foreach (DataRow drSTOCKLOG in dtSTOCKLOG.Rows)
|
||
{
|
||
Model.STOCKLOGModel stocklogModel = new Model.STOCKLOGModel();
|
||
|
||
stocklogModel.STOCKLOG_ID = drSTOCKLOG["STOCKLOG_ID"].TryParseToInt(); //内码
|
||
stocklogModel.BUSINESS_ID = drSTOCKLOG["BUSINESS_ID"].TryParseToInt(); //业务记录内码
|
||
stocklogModel.SERVERPARTSHOP_ID = drSTOCKLOG["SERVERPARTSHOP_ID"].TryParseToInt(); //门店内码
|
||
stocklogModel.COMMODITY_ID = drSTOCKLOG["COMMODITY_ID"].TryParseToInt(); //商品内码
|
||
stocklogModel.COMMODITY_NAME = drSTOCKLOG["COMMODITY_NAME"].ToString(); //商品名称
|
||
stocklogModel.COMMODITY_BARCODE = drSTOCKLOG["COMMODITY_BARCODE"].ToString(); //商品条码
|
||
stocklogModel.OPERATE_TYPE = drSTOCKLOG["OPERATE_TYPE"].TryParseToInt(); //业务类型(0:商品进价、商品售价;1000:入库业务;2000:调拨业务;3000:退货业务;4000:领用业务;5000:单品销售;6000:盘点结存;6001:盘点损溢)
|
||
stocklogModel.OPERATE_COUNT = drSTOCKLOG["OPERATE_COUNT"].TryParseToDouble(); //操作数量
|
||
stocklogModel.ORIGIN_STOCK = drSTOCKLOG["ORIGIN_STOCK"].TryParseToDouble(); //原库存数
|
||
stocklogModel.CURRENT_STOCK = drSTOCKLOG["CURRENT_STOCK"].TryParseToDouble(); //剩余库存
|
||
stocklogModel.OPERATE_TAXAMOUNT = drSTOCKLOG["OPERATE_TAXAMOUNT"].TryParseToDouble(); //含税金额
|
||
stocklogModel.OPERATE_AMOUNT = drSTOCKLOG["OPERATE_AMOUNT"].TryParseToDouble(); //除税金额
|
||
stocklogModel.OPERATE_DATE = drSTOCKLOG["OPERATE_DATE"].TryParseToDateTime(); //业务发生时间
|
||
stocklogModel.RECORD_DATE = drSTOCKLOG["RECORD_DATE"].TryParseToDateTime(); //记录产生时间
|
||
stocklogModel.PURCHASE_TAXPRICE = drSTOCKLOG["PURCHASE_TAXPRICE"].TryParseToDouble(); //含税进价
|
||
stocklogModel.PURCHASE_PRICE = drSTOCKLOG["PURCHASE_PRICE"].TryParseToDouble(); //除税进价
|
||
stocklogModel.SALE_TAXPRICE = drSTOCKLOG["SALE_TAXPRICE"].TryParseToDouble(); //含税售价
|
||
stocklogModel.SALE_PRICE = drSTOCKLOG["SALE_PRICE"].TryParseToDouble(); //除税售价
|
||
|
||
STOCKLOGList.Add(stocklogModel);
|
||
}
|
||
|
||
return STOCKLOGList;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取库存操作记录表列表
|
||
/// <summary>
|
||
/// 获取库存操作记录表列表
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="TotalCount">查询结果总数</param>
|
||
/// <param name="searchModel">查询条件对象</param>
|
||
public static List<Model.STOCKLOGModel> GetSTOCKLOGList(Transaction transaction,
|
||
ref int TotalCount, Models.SearchModel<Model.STOCKLOGModel> searchModel)
|
||
{
|
||
List<Model.STOCKLOGModel> STOCKLOGList = new List<Model.STOCKLOGModel>();
|
||
|
||
string WhereSQL = "", RowFilterSQL = "";
|
||
if (searchModel.SearchParameter != null)
|
||
{
|
||
WhereSQL = OperationDataHelper<Model.STOCKLOGModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
|
||
if (WhereSQL != "")
|
||
{
|
||
WhereSQL = "WHERE " + WhereSQL;
|
||
}
|
||
}
|
||
|
||
DataTable dtSTOCKLOG = new Business.STOCKLOG(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 != "")
|
||
{
|
||
dtSTOCKLOG.DefaultView.RowFilter = RowFilterSQL;
|
||
}
|
||
//排序:
|
||
dtSTOCKLOG.DefaultView.Sort = searchModel.SortStr;
|
||
dtSTOCKLOG = dtSTOCKLOG.DefaultView.ToTable();
|
||
//获取查询结果总记录条数
|
||
TotalCount = dtSTOCKLOG.Rows.Count;
|
||
//根据传入的页码和每页显示条数返回结果
|
||
dtSTOCKLOG = CommonHelper.GetDataTableWithPageSize(dtSTOCKLOG, searchModel.PageSize, searchModel.PageIndex);
|
||
|
||
foreach (DataRow drSTOCKLOG in dtSTOCKLOG.Rows)
|
||
{
|
||
Model.STOCKLOGModel stocklogModel = new Model.STOCKLOGModel();
|
||
|
||
stocklogModel.STOCKLOG_ID = drSTOCKLOG["STOCKLOG_ID"].TryParseToInt(); //内码
|
||
stocklogModel.BUSINESS_ID = drSTOCKLOG["BUSINESS_ID"].TryParseToInt(); //业务记录内码
|
||
stocklogModel.SERVERPARTSHOP_ID = drSTOCKLOG["SERVERPARTSHOP_ID"].TryParseToInt(); //门店内码
|
||
stocklogModel.COMMODITY_ID = drSTOCKLOG["COMMODITY_ID"].TryParseToInt(); //商品内码
|
||
stocklogModel.COMMODITY_NAME = drSTOCKLOG["COMMODITY_NAME"].ToString(); //商品名称
|
||
stocklogModel.COMMODITY_BARCODE = drSTOCKLOG["COMMODITY_BARCODE"].ToString(); //商品条码
|
||
stocklogModel.OPERATE_TYPE = drSTOCKLOG["OPERATE_TYPE"].TryParseToInt(); //业务类型(0:商品进价、商品售价;1000:入库业务;2000:调拨业务;3000:退货业务;4000:领用业务;5000:单品销售;6000:盘点结存;6001:盘点损溢)
|
||
stocklogModel.OPERATE_COUNT = drSTOCKLOG["OPERATE_COUNT"].TryParseToDouble(); //操作数量
|
||
stocklogModel.ORIGIN_STOCK = drSTOCKLOG["ORIGIN_STOCK"].TryParseToDouble(); //原库存数
|
||
stocklogModel.CURRENT_STOCK = drSTOCKLOG["CURRENT_STOCK"].TryParseToDouble(); //剩余库存
|
||
stocklogModel.OPERATE_TAXAMOUNT = drSTOCKLOG["OPERATE_TAXAMOUNT"].TryParseToDouble(); //含税金额
|
||
stocklogModel.OPERATE_AMOUNT = drSTOCKLOG["OPERATE_AMOUNT"].TryParseToDouble(); //除税金额
|
||
stocklogModel.OPERATE_DATE = drSTOCKLOG["OPERATE_DATE"].TryParseToDateTime(); //业务发生时间
|
||
stocklogModel.RECORD_DATE = drSTOCKLOG["RECORD_DATE"].TryParseToDateTime(); //记录产生时间
|
||
stocklogModel.PURCHASE_TAXPRICE = drSTOCKLOG["PURCHASE_TAXPRICE"].TryParseToDouble(); //含税进价
|
||
stocklogModel.PURCHASE_PRICE = drSTOCKLOG["PURCHASE_PRICE"].TryParseToDouble(); //除税进价
|
||
stocklogModel.SALE_TAXPRICE = drSTOCKLOG["SALE_TAXPRICE"].TryParseToDouble(); //含税售价
|
||
stocklogModel.SALE_PRICE = drSTOCKLOG["SALE_PRICE"].TryParseToDouble(); //除税售价
|
||
|
||
STOCKLOGList.Add(stocklogModel);
|
||
}
|
||
|
||
return STOCKLOGList;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取库存操作记录表明细
|
||
public static Model.STOCKLOGModel GetSTOCKLOGDetail(Transaction transaction, int STOCKLOGId)
|
||
{
|
||
Model.STOCKLOGModel stocklogModel = new Model.STOCKLOGModel();
|
||
|
||
Business.STOCKLOG _STOCKLOG = new Business.STOCKLOG(transaction);
|
||
_STOCKLOG.STOCKLOG_ID = STOCKLOGId;
|
||
if (_STOCKLOG.Select())
|
||
{
|
||
stocklogModel.STOCKLOG_ID = _STOCKLOG.STOCKLOG_ID; //内码
|
||
stocklogModel.BUSINESS_ID = _STOCKLOG.BUSINESS_ID; //业务记录内码
|
||
stocklogModel.SERVERPARTSHOP_ID = _STOCKLOG.SERVERPARTSHOP_ID; //门店内码
|
||
stocklogModel.COMMODITY_ID = _STOCKLOG.COMMODITY_ID; //商品内码
|
||
stocklogModel.COMMODITY_NAME = _STOCKLOG.COMMODITY_NAME; //商品名称
|
||
stocklogModel.COMMODITY_BARCODE = _STOCKLOG.COMMODITY_BARCODE; //商品条码
|
||
stocklogModel.OPERATE_TYPE = _STOCKLOG.OPERATE_TYPE; //业务类型(0:商品进价、商品售价;1000:入库业务;2000:调拨业务;3000:退货业务;4000:领用业务;5000:单品销售;6000:盘点结存;6001:盘点损溢)
|
||
stocklogModel.OPERATE_COUNT = _STOCKLOG.OPERATE_COUNT; //操作数量
|
||
stocklogModel.ORIGIN_STOCK = _STOCKLOG.ORIGIN_STOCK; //原库存数
|
||
stocklogModel.CURRENT_STOCK = _STOCKLOG.CURRENT_STOCK; //剩余库存
|
||
stocklogModel.OPERATE_TAXAMOUNT = _STOCKLOG.OPERATE_TAXAMOUNT; //含税金额
|
||
stocklogModel.OPERATE_AMOUNT = _STOCKLOG.OPERATE_AMOUNT; //除税金额
|
||
stocklogModel.OPERATE_DATE = _STOCKLOG.OPERATE_DATE; //业务发生时间
|
||
stocklogModel.RECORD_DATE = _STOCKLOG.RECORD_DATE; //记录产生时间
|
||
stocklogModel.PURCHASE_TAXPRICE = _STOCKLOG.PURCHASE_TAXPRICE; //含税进价
|
||
stocklogModel.PURCHASE_PRICE = _STOCKLOG.PURCHASE_PRICE; //除税进价
|
||
stocklogModel.SALE_TAXPRICE = _STOCKLOG.SALE_TAXPRICE; //含税售价
|
||
stocklogModel.SALE_PRICE = _STOCKLOG.SALE_PRICE; //除税售价
|
||
}
|
||
|
||
return stocklogModel;
|
||
}
|
||
#endregion
|
||
|
||
#region 同步库存操作记录表
|
||
/// <summary>
|
||
/// 赋值库存操作记录表数据对象
|
||
/// </summary>
|
||
/// <param name="transaction">事务管理器</param>
|
||
/// <param name="stocklogModel">库存操作记录表数据对象</param>
|
||
public static bool SynchroSTOCKLOG(Transaction transaction, Model.STOCKLOGModel stocklogModel)
|
||
{
|
||
bool SynchroFlag = true;
|
||
|
||
Business.STOCKLOG _STOCKLOG = new Business.STOCKLOG(transaction);
|
||
if (stocklogModel.STOCKLOG_ID != null)
|
||
{
|
||
_STOCKLOG.STOCKLOG_ID = stocklogModel.STOCKLOG_ID;
|
||
if (_STOCKLOG.Select())
|
||
{
|
||
SynchroModelToObject(_STOCKLOG, stocklogModel);
|
||
_STOCKLOG.Update();
|
||
}
|
||
else
|
||
{
|
||
SynchroFlag = false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SynchroModelToObject(_STOCKLOG, stocklogModel);
|
||
_STOCKLOG.Insert();
|
||
}
|
||
|
||
return SynchroFlag;
|
||
}
|
||
|
||
#region 赋值库存操作记录表数据对象
|
||
/// <summary>
|
||
/// 赋值库存操作记录表数据对象
|
||
/// </summary>
|
||
/// <param name="_STOCKLOG"></param>
|
||
/// <param name="stocklogModel"></param>
|
||
public static void SynchroModelToObject(Business.STOCKLOG _STOCKLOG, Model.STOCKLOGModel stocklogModel)
|
||
{
|
||
_STOCKLOG.BUSINESS_ID = stocklogModel.BUSINESS_ID; //业务记录内码
|
||
_STOCKLOG.SERVERPARTSHOP_ID = stocklogModel.SERVERPARTSHOP_ID; //门店内码
|
||
_STOCKLOG.COMMODITY_ID = stocklogModel.COMMODITY_ID; //商品内码
|
||
_STOCKLOG.COMMODITY_NAME = stocklogModel.COMMODITY_NAME; //商品名称
|
||
_STOCKLOG.COMMODITY_BARCODE = stocklogModel.COMMODITY_BARCODE; //商品条码
|
||
_STOCKLOG.OPERATE_TYPE = stocklogModel.OPERATE_TYPE; //业务类型(0:商品进价、商品售价;1000:入库业务;2000:调拨业务;3000:退货业务;4000:领用业务;5000:单品销售;6000:盘点结存;6001:盘点损溢)
|
||
_STOCKLOG.OPERATE_COUNT = stocklogModel.OPERATE_COUNT; //操作数量
|
||
_STOCKLOG.ORIGIN_STOCK = stocklogModel.ORIGIN_STOCK; //原库存数
|
||
_STOCKLOG.CURRENT_STOCK = stocklogModel.CURRENT_STOCK; //剩余库存
|
||
_STOCKLOG.OPERATE_TAXAMOUNT = stocklogModel.OPERATE_TAXAMOUNT; //含税金额
|
||
_STOCKLOG.OPERATE_AMOUNT = stocklogModel.OPERATE_AMOUNT; //除税金额
|
||
_STOCKLOG.OPERATE_DATE = stocklogModel.OPERATE_DATE; //业务发生时间
|
||
_STOCKLOG.RECORD_DATE = stocklogModel.RECORD_DATE; //记录产生时间
|
||
_STOCKLOG.PURCHASE_TAXPRICE = stocklogModel.PURCHASE_TAXPRICE; //含税进价
|
||
_STOCKLOG.PURCHASE_PRICE = stocklogModel.PURCHASE_PRICE; //除税进价
|
||
_STOCKLOG.SALE_TAXPRICE = stocklogModel.SALE_TAXPRICE; //含税售价
|
||
_STOCKLOG.SALE_PRICE = stocklogModel.SALE_PRICE; //除税售价
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
#region 删除库存操作记录表
|
||
public static bool DeleteSTOCKLOG(Transaction transaction, int? STOCKLOGId)
|
||
{
|
||
bool DeleteFlag = false;
|
||
|
||
if (STOCKLOGId != null)
|
||
{
|
||
Business.STOCKLOG _STOCKLOG = new Business.STOCKLOG(transaction);
|
||
_STOCKLOG.STOCKLOG_ID = STOCKLOGId;
|
||
if (_STOCKLOG.Select())
|
||
{
|
||
_STOCKLOG.Delete();
|
||
DeleteFlag = true;
|
||
}
|
||
}
|
||
|
||
return DeleteFlag;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|