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

256 lines
14 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.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
}
}