321 lines
20 KiB
C#
321 lines
20 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 COMMODITYHelper
|
|
{
|
|
#region 获取商品信息列表
|
|
/// <summary>
|
|
/// 获取商品信息列表
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="ServerpartId">服务区内码</param>
|
|
/// <param name="TotalCount">记录总数量</param>
|
|
/// <param name="PageIndex">查询页码</param>
|
|
/// <param name="PageSize">每页显示行数</param>
|
|
/// <param name="keyword">模糊查询内容:商品名称、条码</param>
|
|
/// <param name="COMMODITY_TYPE">商品类别</param>
|
|
/// <param name="BUSINESSTYPE">商品业态</param>
|
|
/// <param name="COMMODITY_STATE">商品状态</param>
|
|
/// <param name="SortStr">排序字段</param>
|
|
/// <returns></returns>
|
|
public static List<Model.COMMODITYModel> GetCOMMODITYList(Transaction transaction,
|
|
int? ServerpartId, ref int TotalCount, int PageIndex = 1, int PageSize = 10, string keyword = "",
|
|
int? COMMODITY_TYPE = null, int? BUSINESSTYPE = null, int? COMMODITY_STATE = null, string SortStr = "")
|
|
{
|
|
List<Model.COMMODITYModel> COMMODITYList = new List<Model.COMMODITYModel>();
|
|
|
|
string WhereSQL = "", RowFilterSQL = "";
|
|
//查询服务区内码
|
|
if (ServerpartId != null)
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SERVERPART_ID = " + ServerpartId;
|
|
}
|
|
//查询商品类别
|
|
if (COMMODITY_TYPE != null)
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "COMMODITY_TYPE = '" + COMMODITY_TYPE + "'";
|
|
}
|
|
//查询商品业态
|
|
if (BUSINESSTYPE != null)
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "BUSINESSTYPE = " + BUSINESSTYPE;
|
|
}
|
|
//查询商品状态
|
|
if (COMMODITY_STATE != null)
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "COMMODITY_STATE = " + COMMODITY_STATE;
|
|
}
|
|
|
|
DataTable dtCOMMODITY = new Business.COMMODITY(transaction).FillDataTable(WhereSQL);
|
|
if (!string.IsNullOrWhiteSpace(keyword))
|
|
{
|
|
RowFilterSQL = string.Format("COMMODITY_NAME like '%{0}%' or COMMODITY_BARCODE like '%{0}%'", keyword);
|
|
}
|
|
if (RowFilterSQL != "")
|
|
{
|
|
dtCOMMODITY.DefaultView.RowFilter = RowFilterSQL;
|
|
}
|
|
//排序:
|
|
dtCOMMODITY.DefaultView.Sort = SortStr;
|
|
dtCOMMODITY = dtCOMMODITY.DefaultView.ToTable();
|
|
//获取查询结果总记录条数
|
|
TotalCount = dtCOMMODITY.Rows.Count;
|
|
//根据传入的页码和每页显示条数返回结果
|
|
dtCOMMODITY = CommonHelper.GetDataTableWithPageSize(dtCOMMODITY, PageSize, PageIndex);
|
|
|
|
DataTable dtCommodityType = new Business.COMMODITYTYPE(transaction).FillDataTable("");
|
|
|
|
foreach (DataRow drCOMMODITY in dtCOMMODITY.Rows)
|
|
{
|
|
Model.COMMODITYModel commodityModel = new Model.COMMODITYModel();
|
|
|
|
commodityModel.COMMODITY_ID = drCOMMODITY["COMMODITY_ID"].TryParseToInt(); //商品内码
|
|
commodityModel.COMMODITY_TYPE = drCOMMODITY["COMMODITY_TYPE"].TryParseToInt(); //商品类型
|
|
if (commodityModel.COMMODITY_TYPE != null && dtCommodityType.Select(
|
|
"COMMODITYTYPE_ID = " + commodityModel.COMMODITY_TYPE).Length > 0)
|
|
{
|
|
//商品类型名称
|
|
commodityModel.COMMODITY_TYPENAME = dtCommodityType.Select("COMMODITYTYPE_ID = " +
|
|
commodityModel.COMMODITY_TYPE)[0]["COMMODITYTYPE_NAME"].ToString();
|
|
}
|
|
commodityModel.COMMODITY_CODE = drCOMMODITY["COMMODITY_CODE"].ToString(); //商品编码
|
|
commodityModel.COMMODITY_NAME = drCOMMODITY["COMMODITY_NAME"].ToString(); //商品名称
|
|
commodityModel.COMMODITY_BARCODE = drCOMMODITY["COMMODITY_BARCODE"].ToString(); //商品条码
|
|
commodityModel.COMMODITY_SERVERCODE = drCOMMODITY["COMMODITY_SERVERCODE"].ToString(); //商品服务区编码
|
|
commodityModel.COMMODITY_ALLNAME = drCOMMODITY["COMMODITY_ALLNAME"].ToString(); //商品全名
|
|
commodityModel.COMMODITY_EN = drCOMMODITY["COMMODITY_EN"].ToString(); //商品英文缩写
|
|
commodityModel.COMMODITY_UNIT = drCOMMODITY["COMMODITY_UNIT"].ToString(); //商品单位
|
|
commodityModel.COMMODITY_RULE = drCOMMODITY["COMMODITY_RULE"].ToString(); //商品规格
|
|
commodityModel.COMMODITY_ORI = drCOMMODITY["COMMODITY_ORI"].ToString(); //商品产地
|
|
commodityModel.COMMODITY_GRADE = drCOMMODITY["COMMODITY_GRADE"].ToString(); //商品质量等级
|
|
commodityModel.COMMODITY_CURRPRICE = drCOMMODITY["COMMODITY_CURRPRICE"].TryParseToDouble(); //商品当前价格
|
|
commodityModel.COMMODITY_ORIPRICE = drCOMMODITY["COMMODITY_ORIPRICE"].TryParseToDouble(); //商品原价
|
|
commodityModel.COMMODITY_RETAILPRICE = drCOMMODITY["COMMODITY_RETAILPRICE"].TryParseToDouble(); //商品零售价
|
|
commodityModel.COMMODITY_MAXPRICE = drCOMMODITY["COMMODITY_MAXPRICE"].TryParseToDouble(); //商品最高价
|
|
commodityModel.COMMODITY_MINPRICE = drCOMMODITY["COMMODITY_MINPRICE"].TryParseToDouble(); //商品最低价
|
|
commodityModel.COMMODITY_PROMOTIONPRICE = drCOMMODITY["COMMODITY_PROMOTIONPRICE"].TryParseToDouble(); //商品促销价
|
|
commodityModel.COMMODITY_UNIFORMPRICE = drCOMMODITY["COMMODITY_UNIFORMPRICE"].TryParseToDouble(); //商品统一价
|
|
commodityModel.COMMODITY_GROUPPRICE = drCOMMODITY["COMMODITY_GROUPPRICE"].TryParseToDouble(); //商品团购价
|
|
commodityModel.COMMODITY_MEMBERPRICE = drCOMMODITY["COMMODITY_MEMBERPRICE"].TryParseToDouble(); //商品会员价
|
|
commodityModel.COMMODITY_PURCHASEPRICE = drCOMMODITY["COMMODITY_PURCHASEPRICE"].TryParseToDouble(); //商品进货价
|
|
commodityModel.COMMODITY_STATE = drCOMMODITY["COMMODITY_STATE"].TryParseToInt(); //商品状态
|
|
commodityModel.COMMODITY_DESC = drCOMMODITY["COMMODITY_DESC"].ToString(); //商品说明
|
|
commodityModel.SUPPLIER_ID = drCOMMODITY["SUPPLIER_ID"].TryParseToInt(); //商品供应商内码
|
|
commodityModel.COMMODITY_BRAND = drCOMMODITY["COMMODITY_BRAND"].ToString(); //品牌编码
|
|
commodityModel.DUTY_PARAGRAPH = drCOMMODITY["DUTY_PARAGRAPH"].TryParseToShort(); //进价税率
|
|
commodityModel.RETAIL_DUTY = drCOMMODITY["RETAIL_DUTY"].TryParseToShort(); //零售税率
|
|
commodityModel.COMMODITY_COUNT = drCOMMODITY["COMMODITY_COUNT"].TryParseToLong(); //货物剩余数量
|
|
commodityModel.COMMODITY_FROZENCOUNT = drCOMMODITY["COMMODITY_FROZENCOUNT"].TryParseToLong(); //货物冻结数量
|
|
commodityModel.ADDTIME = drCOMMODITY["ADDTIME"].TryParseToDateTime(); //添加时间
|
|
commodityModel.CANSALE = drCOMMODITY["CANSALE"].TryParseToInt(); //是否可售
|
|
commodityModel.SERVERPART_ID = drCOMMODITY["SERVERPART_ID"].TryParseToInt(); //服务区内码
|
|
commodityModel.PROVINCE_CODE = drCOMMODITY["PROVINCE_CODE"].TryParseToInt(); //省份编码
|
|
commodityModel.BUSINESSTYPE = drCOMMODITY["BUSINESSTYPE"].TryParseToInt(); //商品业态
|
|
commodityModel.ISBULK = drCOMMODITY["ISBULK"].TryParseToInt(); //是否散装
|
|
commodityModel.METERINGMETHOD = drCOMMODITY["METERINGMETHOD"].TryParseToInt(); //称重方式
|
|
commodityModel.OPERATE_DATE = drCOMMODITY["OPERATE_DATE"].TryParseToDateTime(); //修改时间
|
|
commodityModel.COMMODITY_SYMBOL = drCOMMODITY["COMMODITY_SYMBOL"].ToString(); //商品标识
|
|
commodityModel.COMMODITY_HOTKEY = drCOMMODITY["COMMODITY_HOTKEY"].ToString(); //商品快捷键
|
|
commodityModel.USERDEFINEDTYPE_ID = drCOMMODITY["USERDEFINEDTYPE_ID"].TryParseToInt(); //自定义类别内码
|
|
|
|
COMMODITYList.Add(commodityModel);
|
|
}
|
|
|
|
return COMMODITYList;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取商品管理明细
|
|
/// <summary>
|
|
/// 获取商品管理明细
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="COMMODITYId">商品内码</param>
|
|
/// <returns></returns>
|
|
public static Model.COMMODITYModel GetCOMMODITYDetail(Transaction transaction, int COMMODITYId)
|
|
{
|
|
Model.COMMODITYModel commodityModel = new Model.COMMODITYModel();
|
|
|
|
Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction);
|
|
_COMMODITY.COMMODITY_ID = COMMODITYId;
|
|
if (_COMMODITY.Select())
|
|
{
|
|
commodityModel.COMMODITY_HOTKEY = _COMMODITY.COMMODITY_HOTKEY; //商品快捷键
|
|
commodityModel.USERDEFINEDTYPE_ID = _COMMODITY.USERDEFINEDTYPE_ID; //自定义类别内码
|
|
commodityModel.COMMODITY_ID = _COMMODITY.COMMODITY_ID; //商品内码
|
|
commodityModel.COMMODITY_TYPE = _COMMODITY.COMMODITY_TYPE.TryParseToInt(); //商品类型
|
|
commodityModel.COMMODITY_CODE = _COMMODITY.COMMODITY_CODE; //商品编码
|
|
commodityModel.COMMODITY_NAME = _COMMODITY.COMMODITY_NAME; //商品名称
|
|
commodityModel.COMMODITY_BARCODE = _COMMODITY.COMMODITY_BARCODE; //商品条码
|
|
commodityModel.COMMODITY_SERVERCODE = _COMMODITY.COMMODITY_SERVERCODE; //商品服务区编码
|
|
commodityModel.COMMODITY_ALLNAME = _COMMODITY.COMMODITY_ALLNAME; //商品全名
|
|
commodityModel.COMMODITY_EN = _COMMODITY.COMMODITY_EN; //商品英文缩写
|
|
commodityModel.COMMODITY_UNIT = _COMMODITY.COMMODITY_UNIT; //商品单位
|
|
commodityModel.COMMODITY_RULE = _COMMODITY.COMMODITY_RULE; //商品规格
|
|
commodityModel.COMMODITY_ORI = _COMMODITY.COMMODITY_ORI; //商品产地
|
|
commodityModel.COMMODITY_GRADE = _COMMODITY.COMMODITY_GRADE; //商品质量等级
|
|
commodityModel.COMMODITY_CURRPRICE = _COMMODITY.COMMODITY_CURRPRICE; //商品当前价格
|
|
commodityModel.COMMODITY_ORIPRICE = _COMMODITY.COMMODITY_ORIPRICE; //商品原价
|
|
commodityModel.COMMODITY_RETAILPRICE = _COMMODITY.COMMODITY_RETAILPRICE; //商品零售价
|
|
commodityModel.COMMODITY_MAXPRICE = _COMMODITY.COMMODITY_MAXPRICE; //商品最高价
|
|
commodityModel.COMMODITY_MINPRICE = _COMMODITY.COMMODITY_MINPRICE; //商品最低价
|
|
commodityModel.COMMODITY_PROMOTIONPRICE = _COMMODITY.COMMODITY_PROMOTIONPRICE; //商品促销价
|
|
commodityModel.COMMODITY_UNIFORMPRICE = _COMMODITY.COMMODITY_UNIFORMPRICE; //商品统一价
|
|
commodityModel.COMMODITY_GROUPPRICE = _COMMODITY.COMMODITY_GROUPPRICE; //商品团购价
|
|
commodityModel.COMMODITY_MEMBERPRICE = _COMMODITY.COMMODITY_MEMBERPRICE; //商品会员价
|
|
commodityModel.COMMODITY_PURCHASEPRICE = _COMMODITY.COMMODITY_PURCHASEPRICE; //商品进货价
|
|
commodityModel.COMMODITY_STATE = _COMMODITY.COMMODITY_STATE; //商品状态
|
|
commodityModel.COMMODITY_DESC = _COMMODITY.COMMODITY_DESC; //商品说明
|
|
commodityModel.SUPPLIER_ID = _COMMODITY.SUPPLIER_ID; //商品供应商内码
|
|
commodityModel.COMMODITY_BRAND = _COMMODITY.COMMODITY_BRAND; //品牌编码
|
|
commodityModel.DUTY_PARAGRAPH = _COMMODITY.DUTY_PARAGRAPH; //进价税率
|
|
commodityModel.RETAIL_DUTY = _COMMODITY.RETAIL_DUTY; //零售税率
|
|
commodityModel.COMMODITY_COUNT = _COMMODITY.COMMODITY_COUNT; //货物剩余数量
|
|
commodityModel.COMMODITY_FROZENCOUNT = _COMMODITY.COMMODITY_FROZENCOUNT; //货物冻结数量
|
|
commodityModel.ADDTIME = _COMMODITY.ADDTIME; //添加时间
|
|
commodityModel.CANSALE = _COMMODITY.CANSALE; //是否可售
|
|
commodityModel.SERVERPART_ID = _COMMODITY.SERVERPART_ID; //服务区内码
|
|
commodityModel.PROVINCE_CODE = _COMMODITY.PROVINCE_CODE; //省份编码
|
|
commodityModel.BUSINESSTYPE = _COMMODITY.BUSINESSTYPE; //商品业态
|
|
commodityModel.ISBULK = _COMMODITY.ISBULK; //是否散装
|
|
commodityModel.METERINGMETHOD = _COMMODITY.METERINGMETHOD; //称重方式
|
|
commodityModel.OPERATE_DATE = _COMMODITY.OPERATE_DATE; //修改时间
|
|
commodityModel.COMMODITY_SYMBOL = _COMMODITY.COMMODITY_SYMBOL; //商品标识
|
|
}
|
|
|
|
return commodityModel;
|
|
}
|
|
#endregion
|
|
|
|
#region 同步商品信息
|
|
/// <summary>
|
|
/// 同步商品信息
|
|
/// </summary>
|
|
/// <param name="transaction"></param>
|
|
/// <param name="commodityModel"></param>
|
|
/// <returns></returns>
|
|
public static bool SynchroCOMMODITY(Transaction transaction, Model.COMMODITYModel commodityModel)
|
|
{
|
|
bool SynchroFlag = true;
|
|
if (commodityModel.SERVERPART_ID != null)
|
|
{
|
|
Business.SERVERPART _SERVERPART = new Business.SERVERPART(transaction);
|
|
_SERVERPART.SERVERPART_ID = commodityModel.SERVERPART_ID;
|
|
if (_SERVERPART.Select())
|
|
{
|
|
commodityModel.COMMODITY_SERVERCODE = _SERVERPART.SERVERPART_CODE;
|
|
}
|
|
}
|
|
|
|
Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction);
|
|
if (commodityModel.COMMODITY_ID != null)
|
|
{
|
|
_COMMODITY.COMMODITY_ID = commodityModel.COMMODITY_ID;
|
|
if (_COMMODITY.Select())
|
|
{
|
|
SynchroModelToObject(_COMMODITY, commodityModel);
|
|
_COMMODITY.Update();
|
|
}
|
|
else
|
|
{
|
|
SynchroFlag = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
SynchroModelToObject(_COMMODITY, commodityModel);
|
|
_COMMODITY.Insert();
|
|
}
|
|
|
|
return SynchroFlag;
|
|
}
|
|
|
|
#region 赋值商品管理数据对象
|
|
/// <summary>
|
|
/// 赋值商品管理数据对象
|
|
/// </summary>
|
|
/// <param name="_COMMODITY"></param>
|
|
/// <param name="commodityModel"></param>
|
|
public static void SynchroModelToObject(Business.COMMODITY _COMMODITY, Model.COMMODITYModel commodityModel)
|
|
{
|
|
_COMMODITY.COMMODITY_HOTKEY = commodityModel.COMMODITY_HOTKEY; //商品快捷键
|
|
_COMMODITY.USERDEFINEDTYPE_ID = commodityModel.USERDEFINEDTYPE_ID; //自定义类别内码
|
|
_COMMODITY.COMMODITY_TYPE = commodityModel.COMMODITY_TYPE.ToString(); //商品类型
|
|
_COMMODITY.COMMODITY_CODE = commodityModel.COMMODITY_CODE; //商品编码
|
|
_COMMODITY.COMMODITY_NAME = commodityModel.COMMODITY_NAME; //商品名称
|
|
_COMMODITY.COMMODITY_BARCODE = commodityModel.COMMODITY_BARCODE; //商品条码
|
|
_COMMODITY.COMMODITY_SERVERCODE = commodityModel.COMMODITY_SERVERCODE; //商品服务区编码
|
|
_COMMODITY.COMMODITY_ALLNAME = commodityModel.COMMODITY_ALLNAME; //商品全名
|
|
_COMMODITY.COMMODITY_EN = commodityModel.COMMODITY_EN; //商品英文缩写
|
|
_COMMODITY.COMMODITY_UNIT = commodityModel.COMMODITY_UNIT; //商品单位
|
|
_COMMODITY.COMMODITY_RULE = commodityModel.COMMODITY_RULE; //商品规格
|
|
_COMMODITY.COMMODITY_ORI = commodityModel.COMMODITY_ORI; //商品产地
|
|
_COMMODITY.COMMODITY_GRADE = commodityModel.COMMODITY_GRADE; //商品质量等级
|
|
_COMMODITY.COMMODITY_CURRPRICE = commodityModel.COMMODITY_CURRPRICE; //商品当前价格
|
|
_COMMODITY.COMMODITY_ORIPRICE = commodityModel.COMMODITY_ORIPRICE; //商品原价
|
|
_COMMODITY.COMMODITY_RETAILPRICE = commodityModel.COMMODITY_RETAILPRICE; //商品零售价
|
|
_COMMODITY.COMMODITY_MAXPRICE = commodityModel.COMMODITY_MAXPRICE; //商品最高价
|
|
_COMMODITY.COMMODITY_MINPRICE = commodityModel.COMMODITY_MINPRICE; //商品最低价
|
|
_COMMODITY.COMMODITY_PROMOTIONPRICE = commodityModel.COMMODITY_PROMOTIONPRICE; //商品促销价
|
|
_COMMODITY.COMMODITY_UNIFORMPRICE = commodityModel.COMMODITY_UNIFORMPRICE; //商品统一价
|
|
_COMMODITY.COMMODITY_GROUPPRICE = commodityModel.COMMODITY_GROUPPRICE; //商品团购价
|
|
_COMMODITY.COMMODITY_MEMBERPRICE = commodityModel.COMMODITY_MEMBERPRICE; //商品会员价
|
|
_COMMODITY.COMMODITY_PURCHASEPRICE = commodityModel.COMMODITY_PURCHASEPRICE; //商品进货价
|
|
_COMMODITY.COMMODITY_STATE = commodityModel.COMMODITY_STATE; //商品状态
|
|
_COMMODITY.COMMODITY_DESC = commodityModel.COMMODITY_DESC; //商品说明
|
|
_COMMODITY.SUPPLIER_ID = commodityModel.SUPPLIER_ID; //商品供应商内码
|
|
_COMMODITY.COMMODITY_BRAND = commodityModel.COMMODITY_BRAND; //品牌编码
|
|
_COMMODITY.DUTY_PARAGRAPH = commodityModel.DUTY_PARAGRAPH; //进价税率
|
|
_COMMODITY.RETAIL_DUTY = commodityModel.RETAIL_DUTY; //零售税率
|
|
_COMMODITY.COMMODITY_COUNT = commodityModel.COMMODITY_COUNT; //货物剩余数量
|
|
_COMMODITY.COMMODITY_FROZENCOUNT = commodityModel.COMMODITY_FROZENCOUNT; //货物冻结数量
|
|
_COMMODITY.ADDTIME = commodityModel.ADDTIME; //添加时间
|
|
_COMMODITY.CANSALE = commodityModel.CANSALE; //是否可售
|
|
_COMMODITY.SERVERPART_ID = commodityModel.SERVERPART_ID; //服务区内码
|
|
_COMMODITY.PROVINCE_CODE = commodityModel.PROVINCE_CODE; //省份编码
|
|
_COMMODITY.BUSINESSTYPE = commodityModel.BUSINESSTYPE; //商品业态
|
|
_COMMODITY.ISBULK = commodityModel.ISBULK; //是否散装
|
|
_COMMODITY.METERINGMETHOD = commodityModel.METERINGMETHOD; //称重方式
|
|
_COMMODITY.OPERATE_DATE = commodityModel.OPERATE_DATE; //修改时间
|
|
_COMMODITY.COMMODITY_SYMBOL = commodityModel.COMMODITY_SYMBOL; //商品标识
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region 删除商品信息
|
|
/// <summary>
|
|
/// 删除商品信息
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="COMMODITYId">商品内码</param>
|
|
/// <returns></returns>
|
|
public static bool DeleteCOMMODITY(Transaction transaction, int? COMMODITYId)
|
|
{
|
|
bool DeleteFlag = false;
|
|
|
|
if (COMMODITYId != null)
|
|
{
|
|
Business.COMMODITY _COMMODITY = new Business.COMMODITY(transaction);
|
|
_COMMODITY.COMMODITY_ID = COMMODITYId;
|
|
if (_COMMODITY.Select())
|
|
{
|
|
_COMMODITY.Delete();
|
|
DeleteFlag = true;
|
|
}
|
|
}
|
|
|
|
return DeleteFlag;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|