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

239 lines
9.9 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/3/8 9:49:42自动生成
/// </summary>
public class COMMENTHelper
{
#region
/// <summary>
/// 获取订单评价表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.COMMENTModel> GetCOMMENTList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.COMMENTModel> searchModel)
{
List<Model.COMMENTModel> COMMENTList = new List<Model.COMMENTModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.COMMENTModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
}
DataTable dtCOMMENT = new Business.SELLERPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_COMMENT" + 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 != "")
{
dtCOMMENT.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtCOMMENT.DefaultView.Sort = searchModel.SortStr;
dtCOMMENT = dtCOMMENT.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtCOMMENT.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtCOMMENT = CommonHelper.GetDataTableWithPageSize(dtCOMMENT, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drCOMMENT in dtCOMMENT.Rows)
{
Model.COMMENTModel commentModel = new Model.COMMENTModel();
//绑定订单评价表数据对象
BindDataRowToModel(drCOMMENT, commentModel);
COMMENTList.Add(commentModel);
}
return COMMENTList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drCOMMENT">datarow数据源</param>
/// <param name="commentModel">model对象</param>
public static void BindDataRowToModel(DataRow drCOMMENT, Model.COMMENTModel commentModel)
{
if (drCOMMENT["COMMENT_ID"].ToString() != "")
{
commentModel.COMMENT_ID = drCOMMENT["COMMENT_ID"].TryParseToInt(); //订单评价表内码
}
if (drCOMMENT["COMMENT_TYPE"].ToString() != "")
{
commentModel.COMMENT_TYPE = drCOMMENT["COMMENT_TYPE"].TryParseToInt(); //评价类型(根据枚举解析)
}
commentModel.COMMENT_CONTENT = drCOMMENT["COMMENT_CONTENT"].ToString(); //评价内容
if (drCOMMENT["COMMENT_SCORE"].ToString() != "")
{
commentModel.COMMENT_SCORE = drCOMMENT["COMMENT_SCORE"].TryParseToDouble(); //评分(有小数)
}
if (drCOMMENT["SUPPLIER_ID"].ToString() != "")
{
commentModel.SUPPLIER_ID = drCOMMENT["SUPPLIER_ID"].TryParseToInt(); //供应商内码
}
if (drCOMMENT["ACCEPTANCE_ID"].ToString() != "")
{
commentModel.ACCEPTANCE_ID = drCOMMENT["ACCEPTANCE_ID"].TryParseToInt(); //验收单内码
}
if (drCOMMENT["MEMBERSHIP_ID"].ToString() != "")
{
commentModel.MEMBERSHIP_ID = drCOMMENT["MEMBERSHIP_ID"].TryParseToInt(); //会员内码
}
if (drCOMMENT["ISANONYMOUS"].ToString() != "")
{
commentModel.ISANONYMOUS = drCOMMENT["ISANONYMOUS"].TryParseToInt(); //是否匿名0不匿名1匿名
}
if (drCOMMENT["SELLER_ID"].ToString() != "")
{
commentModel.SELLER_ID = drCOMMENT["SELLER_ID"].TryParseToInt(); //商户内码
}
if (drCOMMENT["WAREHOUSE_ID"].ToString() != "")
{
commentModel.WAREHOUSE_ID = drCOMMENT["WAREHOUSE_ID"].TryParseToInt(); //仓库内码
}
commentModel.WAREHOUSE_NAME = drCOMMENT["WAREHOUSE_NAME"].ToString(); //仓库名称
if (drCOMMENT["COMMENT_STATE"].ToString() != "")
{
commentModel.COMMENT_STATE = drCOMMENT["COMMENT_STATE"].TryParseToInt(); //有效状态
}
if (drCOMMENT["STAFF_ID"].ToString() != "")
{
commentModel.STAFF_ID = drCOMMENT["STAFF_ID"].TryParseToInt(); //操作人内码
}
commentModel.STAFF_NAME = drCOMMENT["STAFF_NAME"].ToString(); //操作人名称
if (drCOMMENT["OPERATE_DATE"].ToString() != "")
{
commentModel.OPERATE_DATE = drCOMMENT["OPERATE_DATE"].TryParseToDateTime(); //操作时间
}
commentModel.COMMENT_DESC = drCOMMENT["COMMENT_DESC"].ToString(); //备注说明
}
#endregion
#endregion
#region
/// <summary>
/// 获取订单评价表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="COMMENTId">订单评价表内码</param>
public static Model.COMMENTModel GetCOMMENTDetail(Transaction transaction, int COMMENTId)
{
Model.COMMENTModel commentModel = new Model.COMMENTModel();
string WhereSQL = "WHERE COMMENT_ID = " + COMMENTId;
//查询明细数据
DataTable dtCOMMENT = new Business.SELLERPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_COMMENT " + WhereSQL);
if (dtCOMMENT.Rows.Count > 0)
{
//绑定订单评价表数据对象
BindDataRowToModel(dtCOMMENT.Rows[0], commentModel);
}
return commentModel;
}
#endregion
#region
/// <summary>
/// 赋值订单评价表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="commentModel">订单评价表数据对象</param>
public static bool SynchroCOMMENT(Transaction transaction, Model.COMMENTModel commentModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "SELLER_STORAGE.T_COMMENT", keyField = "COMMENT_ID", seqName = "SEQ_COMMENT";
Business.SELLERPROINST _SELLERPROINST = new Business.SELLERPROINST(transaction);
#region SQL语句中需要排除在外的字段
#endregion
#region SQL语句中日期相关字段的执行语句
#endregion
if (commentModel.COMMENT_ID != null)
{
string WhereSQL = " WHERE COMMENT_ID = " + commentModel.COMMENT_ID;
DataTable dtCOMMENT = _SELLERPROINST.ExecuteDataTable(
"SELECT * FROM SELLER_STORAGE.T_COMMENT" + WhereSQL);
if (dtCOMMENT.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.COMMENTModel>.GetTableExcuteSQL(
commentModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtCOMMENT = _SELLERPROINST.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
commentModel.COMMENT_ID = dtCOMMENT.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.COMMENTModel>.GetTableExcuteSQL(
commentModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_SELLERPROINST.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除订单评价表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="COMMENTId">订单评价表内码</param>
public static bool DeleteCOMMENT(Transaction transaction, int? COMMENTId)
{
bool DeleteFlag = false;
if (COMMENTId != null)
{
string SQLString = "UPDATE SELLER_STORAGE.T_COMMENT SET COMMENT_STATE = 0 WHERE COMMENT_ID = " + COMMENTId;
int ExcuteCount = new Business.SELLERPROINST(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}