2025-03-28 09:49:56 +08:00

294 lines
15 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.Seller.Storage.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 商户商品管理相关方法
/// 2023/10/10 14:22:16自动生成
/// </summary>
public class SELLERCOMMODITYHelper
{
#region
/// <summary>
/// 获取商户商品管理列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.SELLERCOMMODITYModel> GetSELLERCOMMODITYList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.SELLERCOMMODITYModel> searchModel)
{
List<Model.SELLERCOMMODITYModel> SELLERCOMMODITYList = new List<Model.SELLERCOMMODITYModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.SELLERCOMMODITYModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"COMMODITY_STATES", "SELLERCOMMODITYTYPE_IDS");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询商品状态
if (searchModel.SearchParameter.COMMODITY_STATES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "COMMODITY_STATE IN (" + searchModel.SearchParameter.COMMODITY_STATES + ")";
}
//查询商品类型
if (searchModel.SearchParameter.SELLERCOMMODITYTYPE_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SELLERCOMMODITYTYPE_ID IN (" + searchModel.SearchParameter.SELLERCOMMODITYTYPE_IDS + ")";
}
}
DataTable dtSELLERCOMMODITY = new Business.SELLERPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_SELLERCOMMODITY" + 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 != "")
{
dtSELLERCOMMODITY.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtSELLERCOMMODITY.DefaultView.Sort = searchModel.SortStr;
dtSELLERCOMMODITY = dtSELLERCOMMODITY.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtSELLERCOMMODITY.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtSELLERCOMMODITY = CommonHelper.GetDataTableWithPageSize(dtSELLERCOMMODITY, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drSELLERCOMMODITY in dtSELLERCOMMODITY.Rows)
{
Model.SELLERCOMMODITYModel sellercommodityModel = new Model.SELLERCOMMODITYModel();
//绑定商户商品管理数据对象
BindDataRowToModel(drSELLERCOMMODITY, sellercommodityModel);
SELLERCOMMODITYList.Add(sellercommodityModel);
}
return SELLERCOMMODITYList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drSELLERCOMMODITY">datarow数据源</param>
/// <param name="sellercommodityModel">model对象</param>
public static void BindDataRowToModel(DataRow drSELLERCOMMODITY, Model.SELLERCOMMODITYModel sellercommodityModel)
{
if (drSELLERCOMMODITY["SELLERCOMMODITY_ID"].ToString() != "")
{
sellercommodityModel.SELLERCOMMODITY_ID = drSELLERCOMMODITY["SELLERCOMMODITY_ID"].TryParseToInt(); //商品内码
}
sellercommodityModel.COMMODITY_NAME = drSELLERCOMMODITY["COMMODITY_NAME"].ToString(); //商品名称
sellercommodityModel.COMMODITY_BARCODE = drSELLERCOMMODITY["COMMODITY_BARCODE"].ToString(); //商品销售编码
sellercommodityModel.COMMODITY_BOXCODE = drSELLERCOMMODITY["COMMODITY_BOXCODE"].ToString(); //商品箱条码
sellercommodityModel.COMMODITY_UNITCODE = drSELLERCOMMODITY["COMMODITY_UNITCODE"].ToString(); //中规格条码
sellercommodityModel.COMMODITY_ALLNAME = drSELLERCOMMODITY["COMMODITY_ALLNAME"].ToString(); //商品全名
sellercommodityModel.COMMODITY_EN = drSELLERCOMMODITY["COMMODITY_EN"].ToString(); //商品简称
sellercommodityModel.COMMODITY_UNIT = drSELLERCOMMODITY["COMMODITY_UNIT"].ToString(); //商品单位
sellercommodityModel.COMMODITY_RULE = drSELLERCOMMODITY["COMMODITY_RULE"].ToString(); //商品规格
sellercommodityModel.COMMODITY_ORI = drSELLERCOMMODITY["COMMODITY_ORI"].ToString(); //商品产地
sellercommodityModel.COMMODITY_GRADE = drSELLERCOMMODITY["COMMODITY_GRADE"].ToString(); //商品质量等级
if (drSELLERCOMMODITY["ISBULK"].ToString() != "")
{
sellercommodityModel.ISBULK = drSELLERCOMMODITY["ISBULK"].TryParseToInt(); //是否散装
}
if (drSELLERCOMMODITY["METERINGMETHOD"].ToString() != "")
{
sellercommodityModel.METERINGMETHOD = drSELLERCOMMODITY["METERINGMETHOD"].TryParseToInt(); //称重方式
}
if (drSELLERCOMMODITY["DELIVER_TYPE"].ToString() != "")
{
sellercommodityModel.DELIVER_TYPE = drSELLERCOMMODITY["DELIVER_TYPE"].TryParseToShort(); //配送类型1拆零配送0批发配送
}
if (drSELLERCOMMODITY["PURCHASE_STATE"].ToString() != "")
{
sellercommodityModel.PURCHASE_STATE = drSELLERCOMMODITY["PURCHASE_STATE"].TryParseToShort(); //采购状态1允许采购0不允许采购
}
if (drSELLERCOMMODITY["SELLERBUSINESSTYPE"].ToString() != "")
{
sellercommodityModel.SELLERBUSINESSTYPE = drSELLERCOMMODITY["SELLERBUSINESSTYPE"].TryParseToInt(); //业态
}
sellercommodityModel.COMMODITY_CODE = drSELLERCOMMODITY["COMMODITY_CODE"].ToString(); //商品编码
if (drSELLERCOMMODITY["COMMODITY_BOXSELLPRICE"].ToString() != "")
{
sellercommodityModel.COMMODITY_BOXSELLPRICE = drSELLERCOMMODITY["COMMODITY_BOXSELLPRICE"].TryParseToDouble(); //箱售价(含税)
}
if (drSELLERCOMMODITY["SELLPRICE"].ToString() != "")
{
sellercommodityModel.SELLPRICE = drSELLERCOMMODITY["SELLPRICE"].TryParseToDouble(); //零售价
}
if (drSELLERCOMMODITY["COMMODITY_SELLPRICE"].ToString() != "")
{
sellercommodityModel.COMMODITY_SELLPRICE = drSELLERCOMMODITY["COMMODITY_SELLPRICE"].TryParseToDouble(); //商品售价(不含税)
}
if (drSELLERCOMMODITY["SELLDUTY_PARAGRAPH"].ToString() != "")
{
sellercommodityModel.SELLDUTY_PARAGRAPH = drSELLERCOMMODITY["SELLDUTY_PARAGRAPH"].TryParseToInt(); //销售税率
}
if (drSELLERCOMMODITY["PURCHASE_BOXPRICE"].ToString() != "")
{
sellercommodityModel.PURCHASE_BOXPRICE = drSELLERCOMMODITY["PURCHASE_BOXPRICE"].TryParseToDouble(); //箱进价(含税)
}
if (drSELLERCOMMODITY["COMMODITY_CURRPRICE"].ToString() != "")
{
sellercommodityModel.COMMODITY_CURRPRICE = drSELLERCOMMODITY["COMMODITY_CURRPRICE"].TryParseToDouble(); //商品进价
}
if (drSELLERCOMMODITY["COMMODITY_PURCHASEPRICE"].ToString() != "")
{
sellercommodityModel.COMMODITY_PURCHASEPRICE = drSELLERCOMMODITY["COMMODITY_PURCHASEPRICE"].TryParseToDouble(); //商品进价(不含税)
}
if (drSELLERCOMMODITY["DUTY_PARAGRAPH"].ToString() != "")
{
sellercommodityModel.DUTY_PARAGRAPH = drSELLERCOMMODITY["DUTY_PARAGRAPH"].TryParseToInt(); //进价税率
}
if (drSELLERCOMMODITY["MOVING_AVERAGEPRICE"].ToString() != "")
{
sellercommodityModel.MOVING_AVERAGEPRICE = drSELLERCOMMODITY["MOVING_AVERAGEPRICE"].TryParseToDouble(); //含税移动平均价
}
if (drSELLERCOMMODITY["MOVING_PURCHASEPRICE"].ToString() != "")
{
sellercommodityModel.MOVING_PURCHASEPRICE = drSELLERCOMMODITY["MOVING_PURCHASEPRICE"].TryParseToDouble(); //除税移动平均价
}
if (drSELLERCOMMODITY["COMMODITY_STATE"].ToString() != "")
{
sellercommodityModel.COMMODITY_STATE = drSELLERCOMMODITY["COMMODITY_STATE"].TryParseToInt(); //商品状态
}
sellercommodityModel.COMMODITY_DESC = drSELLERCOMMODITY["COMMODITY_DESC"].ToString(); //商品说明
if (drSELLERCOMMODITY["ADDTIME"].ToString() != "")
{
sellercommodityModel.ADDTIME = drSELLERCOMMODITY["ADDTIME"].TryParseToDateTime(); //添加时间
}
if (drSELLERCOMMODITY["SELLER_ID"].ToString() != "")
{
sellercommodityModel.SELLER_ID = drSELLERCOMMODITY["SELLER_ID"].TryParseToInt(); //商户内码
}
if (drSELLERCOMMODITY["SELLERCOMMODITYTYPE_ID"].ToString() != "")
{
sellercommodityModel.SELLERCOMMODITYTYPE_ID = drSELLERCOMMODITY["SELLERCOMMODITYTYPE_ID"].TryParseToInt(); //商品类型
}
if (drSELLERCOMMODITY["BOXENTRY_COUNT"].ToString() != "")
{
sellercommodityModel.BOXENTRY_COUNT = drSELLERCOMMODITY["BOXENTRY_COUNT"].TryParseToDouble(); //箱入数
}
if (drSELLERCOMMODITY["SUPPLIER_ID"].ToString() != "")
{
sellercommodityModel.SUPPLIER_ID = drSELLERCOMMODITY["SUPPLIER_ID"].TryParseToInt(); //供应商内码
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取商户商品管理明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SELLERCOMMODITYId">商户商品管理内码</param>
public static Model.SELLERCOMMODITYModel GetSELLERCOMMODITYDetail(Transaction transaction, int SELLERCOMMODITYId)
{
Model.SELLERCOMMODITYModel sellercommodityModel = new Model.SELLERCOMMODITYModel();
string WhereSQL = "WHERE SELLERCOMMODITY_ID = " + SELLERCOMMODITYId;
//查询明细数据
DataTable dtSELLERCOMMODITY = new Business.SELLERPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_SELLERCOMMODITY " + WhereSQL);
if (dtSELLERCOMMODITY.Rows.Count > 0)
{
//绑定商户商品管理数据对象
BindDataRowToModel(dtSELLERCOMMODITY.Rows[0], sellercommodityModel);
}
return sellercommodityModel;
}
#endregion
#region
/// <summary>
/// 赋值商户商品管理数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="sellercommodityModel">商户商品管理数据对象</param>
public static bool SynchroSELLERCOMMODITY(Transaction transaction, Model.SELLERCOMMODITYModel sellercommodityModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "SELLER_STORAGE.T_SELLERCOMMODITY", keyField = "SELLERCOMMODITY_ID", seqName = "SEQ_SELLERCOMMODITY";
Business.SELLERPROINST _SELLERPROINST = new Business.SELLERPROINST(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("COMMODITY_STATES");
excludeField.Add("SELLERCOMMODITYTYPE_IDS");
#endregion
#region SQL语句中日期相关字段的执行语句
#endregion
if (sellercommodityModel.SELLERCOMMODITY_ID != null)
{
string WhereSQL = " WHERE SELLERCOMMODITY_ID = " + sellercommodityModel.SELLERCOMMODITY_ID;
DataTable dtSELLERCOMMODITY = _SELLERPROINST.ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_SELLERCOMMODITY" + WhereSQL);
if (dtSELLERCOMMODITY.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.SELLERCOMMODITYModel>.GetTableExcuteSQL(
sellercommodityModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtSELLERCOMMODITY = _SELLERPROINST.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
sellercommodityModel.SELLERCOMMODITY_ID = dtSELLERCOMMODITY.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.SELLERCOMMODITYModel>.GetTableExcuteSQL(
sellercommodityModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_SELLERPROINST.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除商户商品管理
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SELLERCOMMODITYId">商户商品管理内码</param>
public static bool DeleteSELLERCOMMODITY(Transaction transaction, int? SELLERCOMMODITYId)
{
bool DeleteFlag = false;
if (SELLERCOMMODITYId != null)
{
}
return DeleteFlag;
}
#endregion
}
}