315 lines
15 KiB
C#
315 lines
15 KiB
C#
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/3/9 16:12:33自动生成
|
|
/// </summary>
|
|
public class GOODSDELIVERHelper
|
|
{
|
|
#region 获取商品配送表列表
|
|
/// <summary>
|
|
/// 获取商品配送表列表
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="TotalCount">查询结果总数</param>
|
|
/// <param name="searchModel">查询条件对象</param>
|
|
public static List<Model.GOODSDELIVERModel> GetGOODSDELIVERList(Transaction transaction,
|
|
ref int TotalCount, Model.SearchModel<Model.GOODSDELIVERModel> searchModel)
|
|
{
|
|
List<Model.GOODSDELIVERModel> GOODSDELIVERList = new List<Model.GOODSDELIVERModel>();
|
|
|
|
string WhereSQL = "", RowFilterSQL = "";
|
|
if (searchModel.SearchParameter != null)
|
|
{
|
|
WhereSQL = OperationDataHelper<Model.GOODSDELIVERModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
|
|
"DELIVER_DATE_Start", "DELIVER_DATE_End", "DELIVER_STATES");
|
|
if (WhereSQL != "")
|
|
{
|
|
WhereSQL = " WHERE " + WhereSQL;
|
|
}
|
|
//查询配送日期
|
|
if (searchModel.SearchParameter.DELIVER_DATE_Start.TryParseToString() != "")
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "DELIVER_DATE >= TO_DATE('" +
|
|
searchModel.SearchParameter.DELIVER_DATE_Start.Split(' ')[0] + "','YYYY/MM/DD')";
|
|
}
|
|
if (searchModel.SearchParameter.DELIVER_DATE_End.TryParseToString() != "")
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "DELIVER_DATE < TO_DATE('" +
|
|
searchModel.SearchParameter.DELIVER_DATE_End.Split(' ')[0] + "','YYYY/MM/DD') + 1";
|
|
}
|
|
//查询配送状态
|
|
if (searchModel.SearchParameter.DELIVER_STATES.TryParseToString() != "")
|
|
{
|
|
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "DELIVER_STATE IN (" + searchModel.SearchParameter.DELIVER_STATES + ")";
|
|
}
|
|
}
|
|
|
|
DataTable dtGOODSDELIVER = new Business.SELLERPROINST(transaction).ExecuteDataTable(
|
|
"SELECT * FROM SELLER_STORAGE.T_GOODSDELIVER" + 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 != "")
|
|
{
|
|
dtGOODSDELIVER.DefaultView.RowFilter = RowFilterSQL;
|
|
}
|
|
//排序:
|
|
dtGOODSDELIVER.DefaultView.Sort = searchModel.SortStr;
|
|
dtGOODSDELIVER = dtGOODSDELIVER.DefaultView.ToTable();
|
|
//获取查询结果总记录条数
|
|
TotalCount = dtGOODSDELIVER.Rows.Count;
|
|
//根据传入的页码和每页显示条数返回结果
|
|
dtGOODSDELIVER = CommonHelper.GetDataTableWithPageSize(dtGOODSDELIVER, searchModel.PageSize, searchModel.PageIndex);
|
|
|
|
foreach (DataRow drGOODSDELIVER in dtGOODSDELIVER.Rows)
|
|
{
|
|
Model.GOODSDELIVERModel goodsdeliverModel = new Model.GOODSDELIVERModel();
|
|
//绑定商品配送表数据对象
|
|
BindDataRowToModel(drGOODSDELIVER, goodsdeliverModel);
|
|
|
|
GOODSDELIVERList.Add(goodsdeliverModel);
|
|
}
|
|
|
|
return GOODSDELIVERList;
|
|
}
|
|
|
|
#region 绑定model
|
|
/// <summary>
|
|
/// 绑定model
|
|
/// </summary>
|
|
/// <param name="drGOODSDELIVER">datarow数据源</param>
|
|
/// <param name="goodsdeliverModel">model对象</param>
|
|
public static void BindDataRowToModel(DataRow drGOODSDELIVER, Model.GOODSDELIVERModel goodsdeliverModel)
|
|
{
|
|
if (drGOODSDELIVER["GOODSDELIVER_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.GOODSDELIVER_ID = drGOODSDELIVER["GOODSDELIVER_ID"].TryParseToInt(); //内码
|
|
}
|
|
goodsdeliverModel.GOODSDELIVER_CODE = drGOODSDELIVER["GOODSDELIVER_CODE"].ToString(); //配送编码
|
|
goodsdeliverModel.PURCHASE_ID = drGOODSDELIVER["PURCHASE_ID"].ToString(); //采购内码
|
|
goodsdeliverModel.GOODSDELIVER_STAFF = drGOODSDELIVER["GOODSDELIVER_STAFF"].ToString(); //配送人员
|
|
goodsdeliverModel.GOODSDELIVER_STAFFTEL = drGOODSDELIVER["GOODSDELIVER_STAFFTEL"].ToString(); //联系电话
|
|
if (drGOODSDELIVER["PRICE_TYPE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.PRICE_TYPE = drGOODSDELIVER["PRICE_TYPE"].TryParseToInt(); //价格类型
|
|
}
|
|
if (drGOODSDELIVER["DISPLAY_TAXFEE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.DISPLAY_TAXFEE = drGOODSDELIVER["DISPLAY_TAXFEE"].TryParseToDouble(); //含税陈列费
|
|
}
|
|
if (drGOODSDELIVER["DISPLAY_FEE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.DISPLAY_FEE = drGOODSDELIVER["DISPLAY_FEE"].TryParseToDouble(); //除税陈列费
|
|
}
|
|
if (drGOODSDELIVER["ACTUAL_TAXAMOUNT"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.ACTUAL_TAXAMOUNT = drGOODSDELIVER["ACTUAL_TAXAMOUNT"].TryParseToDouble(); //含税实付金额
|
|
}
|
|
if (drGOODSDELIVER["ACTUAL_AMOUNT"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.ACTUAL_AMOUNT = drGOODSDELIVER["ACTUAL_AMOUNT"].TryParseToDouble(); //除税实付金额
|
|
}
|
|
if (drGOODSDELIVER["SUPPLIER_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.SUPPLIER_ID = drGOODSDELIVER["SUPPLIER_ID"].TryParseToInt(); //供应商内码
|
|
}
|
|
goodsdeliverModel.SUPPLIER_NAME = drGOODSDELIVER["SUPPLIER_NAME"].ToString(); //供应商名称
|
|
if (drGOODSDELIVER["SERVERPARTSHOP_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.SERVERPARTSHOP_ID = drGOODSDELIVER["SERVERPARTSHOP_ID"].TryParseToInt(); //配送门店内码
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(drGOODSDELIVER["DELIVER_DATE"].ToString()))
|
|
{
|
|
//配送日期
|
|
goodsdeliverModel.DELIVER_DATE = drGOODSDELIVER["DELIVER_DATE"].ToString();
|
|
}
|
|
if (drGOODSDELIVER["DELIVER_TYPE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.DELIVER_TYPE = drGOODSDELIVER["DELIVER_TYPE"].TryParseToInt(); //配送类型(统配/直配)
|
|
}
|
|
if (drGOODSDELIVER["DELIVER_STATE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.DELIVER_STATE = drGOODSDELIVER["DELIVER_STATE"].TryParseToShort(); //配送状态
|
|
}
|
|
if (drGOODSDELIVER["DELIVER_VALID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.DELIVER_VALID = drGOODSDELIVER["DELIVER_VALID"].TryParseToShort(); //有效状态
|
|
}
|
|
if (drGOODSDELIVER["PROINST_ENDDATE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.PROINST_ENDDATE = drGOODSDELIVER["PROINST_ENDDATE"].TryParseToDateTime(); //审结时间
|
|
}
|
|
if (drGOODSDELIVER["BILL_TYPE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.BILL_TYPE = drGOODSDELIVER["BILL_TYPE"].TryParseToShort(); //是否开票
|
|
}
|
|
if (drGOODSDELIVER["BILL_STATE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.BILL_STATE = drGOODSDELIVER["BILL_STATE"].TryParseToInt(); //开票状态
|
|
}
|
|
if (drGOODSDELIVER["STAFF_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.STAFF_ID = drGOODSDELIVER["STAFF_ID"].TryParseToInt(); //操作员内码
|
|
}
|
|
if (drGOODSDELIVER["SELLER_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.SELLER_ID = drGOODSDELIVER["SELLER_ID"].TryParseToInt(); //商户内码
|
|
}
|
|
goodsdeliverModel.GOODSDELIVER_DESC = drGOODSDELIVER["GOODSDELIVER_DESC"].ToString(); //备注
|
|
if (drGOODSDELIVER["WAREHOUSE_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.WAREHOUSE_ID = drGOODSDELIVER["WAREHOUSE_ID"].TryParseToInt(); //仓库内码
|
|
}
|
|
goodsdeliverModel.WAREHOUSE_NAME = drGOODSDELIVER["WAREHOUSE_NAME"].ToString(); //仓库名称
|
|
if (drGOODSDELIVER["PRINT_COUNT"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.PRINT_COUNT = drGOODSDELIVER["PRINT_COUNT"].TryParseToInt(); //打印次数
|
|
}
|
|
goodsdeliverModel.STAFF_NAME = drGOODSDELIVER["STAFF_NAME"].ToString(); //操作人员
|
|
if (drGOODSDELIVER["OPERATE_DATE"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.OPERATE_DATE = drGOODSDELIVER["OPERATE_DATE"].TryParseToDateTime(); //操作时间
|
|
}
|
|
goodsdeliverModel.SERVERPART_IDS = drGOODSDELIVER["SERVERPART_IDS"].ToString(); //
|
|
goodsdeliverModel.SERVERPART_NAME = drGOODSDELIVER["SERVERPART_NAME"].ToString(); //
|
|
goodsdeliverModel.SERVERPARTSHOP_IDS = drGOODSDELIVER["SERVERPARTSHOP_IDS"].ToString(); //
|
|
goodsdeliverModel.SHOPNAME = drGOODSDELIVER["SHOPNAME"].ToString(); //
|
|
if (drGOODSDELIVER["SALESTOREPROINST_ID"].ToString() != "")
|
|
{
|
|
goodsdeliverModel.SALESTOREPROINST_ID = drGOODSDELIVER["SALESTOREPROINST_ID"].TryParseToInt(); //
|
|
}
|
|
goodsdeliverModel.DELIVERY_ADDRESS = drGOODSDELIVER["DELIVERY_ADDRESS"].ToString(); //收货地址
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region 获取商品配送表明细
|
|
/// <summary>
|
|
/// 获取商品配送表明细
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="GOODSDELIVERId">商品配送表内码</param>
|
|
public static Model.GOODSDELIVERModel GetGOODSDELIVERDetail(Transaction transaction, int GOODSDELIVERId)
|
|
{
|
|
Model.GOODSDELIVERModel goodsdeliverModel = new Model.GOODSDELIVERModel();
|
|
|
|
string WhereSQL = "WHERE GOODSDELIVER_ID = " + GOODSDELIVERId;
|
|
//查询明细数据
|
|
DataTable dtGOODSDELIVER = new Business.SELLERPROINST(transaction).ExecuteDataTable(
|
|
"SELECT * FROM SELLER_STORAGE.T_GOODSDELIVER " + WhereSQL);
|
|
if (dtGOODSDELIVER.Rows.Count > 0)
|
|
{
|
|
//绑定商品配送表数据对象
|
|
BindDataRowToModel(dtGOODSDELIVER.Rows[0], goodsdeliverModel);
|
|
}
|
|
|
|
return goodsdeliverModel;
|
|
}
|
|
#endregion
|
|
|
|
#region 同步商品配送表
|
|
/// <summary>
|
|
/// 赋值商品配送表数据对象
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="goodsdeliverModel">商品配送表数据对象</param>
|
|
public static bool SynchroGOODSDELIVER(Transaction transaction, Model.GOODSDELIVERModel goodsdeliverModel)
|
|
{
|
|
bool SynchroFlag = true;
|
|
|
|
string SQLString;
|
|
List<string> excludeField = new List<string>();
|
|
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
|
|
string tableName = "SELLER_STORAGE.T_GOODSDELIVER", keyField = "GOODSDELIVER_ID", seqName = "SEQ_GOODSDELIVER";
|
|
Business.SELLERPROINST _SELLERPROINST = new Business.SELLERPROINST(transaction);
|
|
|
|
#region 添加SQL语句中需要排除在外的字段
|
|
excludeField.Add("DELIVER_DATE_Start");
|
|
excludeField.Add("DELIVER_DATE_End");
|
|
excludeField.Add("DELIVER_STATES");
|
|
#endregion
|
|
|
|
#region 添加SQL语句中日期相关字段的执行语句
|
|
//配送日期
|
|
if (!string.IsNullOrWhiteSpace(goodsdeliverModel.DELIVER_DATE))
|
|
{
|
|
dateFieldList.Add("DELIVER_DATE", "TO_DATE('" +
|
|
goodsdeliverModel.DELIVER_DATE + "','YYYY/MM/DD HH24:MI:SS')");
|
|
}
|
|
else
|
|
{
|
|
dateFieldList.Add("DELIVER_DATE", "NULL");
|
|
}
|
|
#endregion
|
|
|
|
if (goodsdeliverModel.GOODSDELIVER_ID != null)
|
|
{
|
|
string WhereSQL = " WHERE GOODSDELIVER_ID = " + goodsdeliverModel.GOODSDELIVER_ID;
|
|
DataTable dtGOODSDELIVER = _SELLERPROINST.ExecuteDataTable(
|
|
"SELECT * FROM SELLER_STORAGE.T_GOODSDELIVER" + WhereSQL);
|
|
if (dtGOODSDELIVER.Rows.Count > 0)
|
|
{
|
|
SQLString = OperationDataHelper<Model.GOODSDELIVERModel>.GetTableExcuteSQL(
|
|
goodsdeliverModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataTable dtGOODSDELIVER = _SELLERPROINST.ExecuteDataTable(
|
|
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
|
|
goodsdeliverModel.GOODSDELIVER_ID = dtGOODSDELIVER.Rows[0][0].TryParseToInt();
|
|
SQLString = OperationDataHelper<Model.GOODSDELIVERModel>.GetTableExcuteSQL(
|
|
goodsdeliverModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
|
|
}
|
|
_SELLERPROINST.ExecuteNonQuery(SQLString, null);
|
|
|
|
return SynchroFlag;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除商品配送表
|
|
/// <summary>
|
|
/// 删除商品配送表
|
|
/// </summary>
|
|
/// <param name="transaction">事务管理器</param>
|
|
/// <param name="GOODSDELIVERId">商品配送表内码</param>
|
|
public static bool DeleteGOODSDELIVER(Transaction transaction, int? GOODSDELIVERId)
|
|
{
|
|
bool DeleteFlag = false;
|
|
|
|
if (GOODSDELIVERId != null)
|
|
{
|
|
string SQLString = "UPDATE SELLER_STORAGE.T_GOODSDELIVER SET GOODSDELIVER_STATE = 0 WHERE GOODSDELIVER_ID = " + GOODSDELIVERId;
|
|
int ExcuteCount = new Business.SELLERPROINST(transaction).ExecuteNonQuery(SQLString, null);
|
|
if (ExcuteCount > 0)
|
|
{
|
|
DeleteFlag = true;
|
|
}
|
|
}
|
|
|
|
return DeleteFlag;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|