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

345 lines
17 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.MobileServicePlatform.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 用户建议表相关方法
/// 2024/12/16 11:28:49自动生成
/// </summary>
public class SUGGESTIONHelper
{
#region
/// <summary>
/// 获取用户建议表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.SUGGESTIONModel> GetSUGGESTIONList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.SUGGESTIONModel> searchModel)
{
List<Model.SUGGESTIONModel> SUGGESTIONList = new List<Model.SUGGESTIONModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.SUGGESTIONModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"SUGGESTION_TYPES", "SERVERPART_IDS", "SERVERPARTSHOP_IDS", "MEMBERSHIP_IDS", "SUGGESTION_CREATEDATE_Start", "SUGGESTION_CREATEDATE_End", "SUGGESTION_STATES");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询类型2000投诉建议 3000:安全举报)
if (searchModel.SearchParameter.SUGGESTION_TYPES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUGGESTION_TYPE IN (" + searchModel.SearchParameter.SUGGESTION_TYPES + ")";
}
//查询服务区内码
if (searchModel.SearchParameter.SERVERPART_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_ID IN (" + searchModel.SearchParameter.SERVERPART_IDS + ")";
}
//查询门店内码
if (searchModel.SearchParameter.SERVERPARTSHOP_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPARTSHOP_ID IN (" + searchModel.SearchParameter.SERVERPARTSHOP_IDS + ")";
}
//查询会员内码
if (searchModel.SearchParameter.MEMBERSHIP_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "MEMBERSHIP_ID IN (" + searchModel.SearchParameter.MEMBERSHIP_IDS + ")";
}
//查询创建时间
if (searchModel.SearchParameter.SUGGESTION_CREATEDATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUGGESTION_CREATEDATE >= TO_DATE('" +
searchModel.SearchParameter.SUGGESTION_CREATEDATE_Start.Split(' ')[0] + "','YYYY/MM/DD')";
}
if (searchModel.SearchParameter.SUGGESTION_CREATEDATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUGGESTION_CREATEDATE < TO_DATE('" +
searchModel.SearchParameter.SUGGESTION_CREATEDATE_End.Split(' ')[0] + "','YYYY/MM/DD') + 1";
}
//查询处理状态
if (searchModel.SearchParameter.SUGGESTION_STATES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUGGESTION_STATE IN (" + searchModel.SearchParameter.SUGGESTION_STATES + ")";
}
}
DataTable dtSUGGESTION = new Business.APPMANAGE(transaction).ExecuteDataTable(
"SELECT * FROM MOBILESERVICE_PLATFORM.T_SUGGESTION" + 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 != "")
{
dtSUGGESTION.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtSUGGESTION.DefaultView.Sort = searchModel.SortStr;
dtSUGGESTION = dtSUGGESTION.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtSUGGESTION.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtSUGGESTION = CommonHelper.GetDataTableWithPageSize(dtSUGGESTION, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drSUGGESTION in dtSUGGESTION.Rows)
{
Model.SUGGESTIONModel suggestionModel = new Model.SUGGESTIONModel();
//绑定用户建议表数据对象
BindDataRowToModel(drSUGGESTION, suggestionModel);
SUGGESTIONList.Add(suggestionModel);
}
return SUGGESTIONList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drSUGGESTION">datarow数据源</param>
/// <param name="suggestionModel">model对象</param>
public static void BindDataRowToModel(DataRow drSUGGESTION, Model.SUGGESTIONModel suggestionModel)
{
if (drSUGGESTION["SUGGESTION_ID"].ToString() != "")
{
suggestionModel.SUGGESTION_ID = drSUGGESTION["SUGGESTION_ID"].TryParseToInt(); //内码
}
if (drSUGGESTION["SUGGESTION_TYPE"].ToString() != "")
{
suggestionModel.SUGGESTION_TYPE = drSUGGESTION["SUGGESTION_TYPE"].TryParseToShort(); //类型2000投诉建议 3000:安全举报)
}
suggestionModel.WECHAT_OPENID = drSUGGESTION["WECHAT_OPENID"].ToString(); //微信OPENID
if (drSUGGESTION["SERVERPART_ID"].ToString() != "")
{
suggestionModel.SERVERPART_ID = drSUGGESTION["SERVERPART_ID"].TryParseToInt(); //服务区内码
}
suggestionModel.SERVERPART_CODE = drSUGGESTION["SERVERPART_CODE"].ToString(); //服务区编码
suggestionModel.SERVERPART_NAME = drSUGGESTION["SERVERPART_NAME"].ToString(); //服务区名称
if (drSUGGESTION["SERVERPARTSHOP_ID"].ToString() != "")
{
suggestionModel.SERVERPARTSHOP_ID = drSUGGESTION["SERVERPARTSHOP_ID"].TryParseToInt(); //门店内码
}
suggestionModel.SHOPCODE = drSUGGESTION["SHOPCODE"].ToString(); //门店编码
suggestionModel.SHOPNAME = drSUGGESTION["SHOPNAME"].ToString(); //门店名称
if (drSUGGESTION["PROVINCE_CODE"].ToString() != "")
{
suggestionModel.PROVINCE_CODE = drSUGGESTION["PROVINCE_CODE"].TryParseToInt(); //省份编码
}
if (drSUGGESTION["MEMBERSHIP_ID"].ToString() != "")
{
suggestionModel.MEMBERSHIP_ID = drSUGGESTION["MEMBERSHIP_ID"].TryParseToInt(); //会员内码
}
suggestionModel.SUGGESTION_NAME = drSUGGESTION["SUGGESTION_NAME"].ToString(); //人员名称
suggestionModel.PHONE_NUMBER = drSUGGESTION["PHONE_NUMBER"].ToString(); //联系电话
suggestionModel.SUGGESTION_TITLE = drSUGGESTION["SUGGESTION_TITLE"].ToString(); //标题
suggestionModel.SUGGESTION_REASON = drSUGGESTION["SUGGESTION_REASON"].ToString(); //内容
if (!string.IsNullOrWhiteSpace(drSUGGESTION["SUGGESTION_CREATEDATE"].ToString()))
{
//创建时间
suggestionModel.SUGGESTION_CREATEDATE = drSUGGESTION["SUGGESTION_CREATEDATE"].ToString();
}
suggestionModel.SUGGESTION_INFO = drSUGGESTION["SUGGESTION_INFO"].ToString(); //处理意见(值班经理填写意见)
if (drSUGGESTION["SUGGESTION_STATE"].ToString() != "")
{
suggestionModel.SUGGESTION_STATE = drSUGGESTION["SUGGESTION_STATE"].TryParseToInt(); //处理状态
}
suggestionModel.DISPOSITION_PERSON = drSUGGESTION["DISPOSITION_PERSON"].ToString(); //跟进人员
if (drSUGGESTION["OPERATE_DATE"].ToString() != "")
{
suggestionModel.OPERATE_DATE = drSUGGESTION["OPERATE_DATE"].TryParseToDateTime(); //操作时间
}
suggestionModel.FEEDBACK_INFO = drSUGGESTION["FEEDBACK_INFO"].ToString(); //反馈意见(处理人填写意见)
if (drSUGGESTION["FEEDBACK_SCORE"].ToString() != "")
{
suggestionModel.FEEDBACK_SCORE = drSUGGESTION["FEEDBACK_SCORE"].TryParseToShort(); //反馈得分
}
if (drSUGGESTION["FEEDBACK_DATE"].ToString() != "")
{
suggestionModel.FEEDBACK_DATE = drSUGGESTION["FEEDBACK_DATE"].TryParseToDateTime(); //反馈时间
}
suggestionModel.SUGGESTION_DESC = drSUGGESTION["SUGGESTION_DESC"].ToString(); //备注
if (drSUGGESTION["DISPOSITION_ID"].ToString() != "")
{
suggestionModel.DISPOSITION_ID = drSUGGESTION["DISPOSITION_ID"].TryParseToInt(); //处理人内码
}
if (drSUGGESTION["MANAGER_STAFFID"].ToString() != "")
{
suggestionModel.MANAGER_STAFFID = drSUGGESTION["MANAGER_STAFFID"].TryParseToInt(); //值班经理账号内码
}
if (drSUGGESTION["MANAGER_ID"].ToString() != "")
{
suggestionModel.MANAGER_ID = drSUGGESTION["MANAGER_ID"].TryParseToInt(); //值班经理会员内码
}
suggestionModel.MANAGER_NAME = drSUGGESTION["MANAGER_NAME"].ToString(); //值班经理名称
if (drSUGGESTION["DISPOSITION_STAFFID"].ToString() != "")
{
suggestionModel.DISPOSITION_STAFFID = drSUGGESTION["DISPOSITION_STAFFID"].TryParseToInt(); //跟进人员账号内码
}
suggestionModel.ENUM_LABEL = drSUGGESTION["ENUM_LABEL"].ToString(); //枚举标签选择情况
if (drSUGGESTION["LEADERSHIP_STAFFID"].ToString() != "")
{
suggestionModel.LEADERSHIP_STAFFID = drSUGGESTION["LEADERSHIP_STAFFID"].TryParseToInt(); //领导账号内码
}
if (drSUGGESTION["LEADERSHIP_ID"].ToString() != "")
{
suggestionModel.LEADERSHIP_ID = drSUGGESTION["LEADERSHIP_ID"].TryParseToInt(); //领导会员内码
}
suggestionModel.LEADERSHIP_NAME = drSUGGESTION["LEADERSHIP_NAME"].ToString(); //领导名称
if (drSUGGESTION["LEADERSHIP_DATE"].ToString() != "")
{
suggestionModel.LEADERSHIP_DATE = drSUGGESTION["LEADERSHIP_DATE"].TryParseToDateTime(); //领导填写时间
}
suggestionModel.LEADERSHIP_INFO = drSUGGESTION["LEADERSHIP_INFO"].ToString(); //领导意见
if (drSUGGESTION["CHAIRMAN_ID"].ToString() != "")
{
suggestionModel.CHAIRMAN_ID = drSUGGESTION["CHAIRMAN_ID"].TryParseToInt(); //董事长会员内码
}
if (drSUGGESTION["CHAIRMAN_STAFFID"].ToString() != "")
{
suggestionModel.CHAIRMAN_STAFFID = drSUGGESTION["CHAIRMAN_STAFFID"].TryParseToInt(); //董事长账户内码
}
suggestionModel.CHAIRMAN_NAME = drSUGGESTION["CHAIRMAN_NAME"].ToString(); //董事长名称
suggestionModel.CHAIRMAN_INFO = drSUGGESTION["CHAIRMAN_INFO"].ToString(); //董事长意见
if (drSUGGESTION["CHAIRMAN_DATE"].ToString() != "")
{
suggestionModel.CHAIRMAN_DATE = drSUGGESTION["CHAIRMAN_DATE"].TryParseToDateTime(); //填写时间
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取用户建议表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SUGGESTIONId">用户建议表内码</param>
public static Model.SUGGESTIONModel GetSUGGESTIONDetail(Transaction transaction, int SUGGESTIONId)
{
Model.SUGGESTIONModel suggestionModel = new Model.SUGGESTIONModel();
string WhereSQL = "WHERE SUGGESTION_ID = " + SUGGESTIONId;
//查询明细数据
DataTable dtSUGGESTION = new Business.APPMANAGE(transaction).ExecuteDataTable(
"SELECT * FROM MOBILESERVICE_PLATFORM.T_SUGGESTION " + WhereSQL);
if (dtSUGGESTION.Rows.Count > 0)
{
//绑定用户建议表数据对象
BindDataRowToModel(dtSUGGESTION.Rows[0], suggestionModel);
}
return suggestionModel;
}
#endregion
#region
/// <summary>
/// 赋值用户建议表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="suggestionModel">用户建议表数据对象</param>
public static bool SynchroSUGGESTION(Transaction transaction, Model.SUGGESTIONModel suggestionModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "MOBILESERVICE_PLATFORM.T_SUGGESTION", keyField = "SUGGESTION_ID", seqName = "SEQ_SUGGESTION";
Business.APPMANAGE _APPMANAGE = new Business.APPMANAGE(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("SUGGESTION_TYPES");
excludeField.Add("SERVERPART_IDS");
excludeField.Add("SERVERPARTSHOP_IDS");
excludeField.Add("MEMBERSHIP_IDS");
excludeField.Add("SUGGESTION_CREATEDATE_Start");
excludeField.Add("SUGGESTION_CREATEDATE_End");
excludeField.Add("SUGGESTION_STATES");
#endregion
#region SQL语句中日期相关字段的执行语句
//创建时间
if (!string.IsNullOrWhiteSpace(suggestionModel.SUGGESTION_CREATEDATE))
{
dateFieldList.Add("SUGGESTION_CREATEDATE", "TO_DATE('" +
suggestionModel.SUGGESTION_CREATEDATE + "','YYYY/MM/DD HH24:MI:SS')");
}
else
{
dateFieldList.Add("SUGGESTION_CREATEDATE", "NULL");
}
#endregion
if (suggestionModel.SUGGESTION_ID != null)
{
string WhereSQL = " WHERE SUGGESTION_ID = " + suggestionModel.SUGGESTION_ID;
DataTable dtSUGGESTION = _APPMANAGE.ExecuteDataTable(
"SELECT * FROM MOBILESERVICE_PLATFORM.T_SUGGESTION" + WhereSQL);
if (dtSUGGESTION.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.SUGGESTIONModel>.GetTableExcuteSQL(
suggestionModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtSUGGESTION = _APPMANAGE.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
suggestionModel.SUGGESTION_ID = dtSUGGESTION.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.SUGGESTIONModel>.GetTableExcuteSQL(
suggestionModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_APPMANAGE.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除用户建议表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="SUGGESTIONId">用户建议表内码</param>
public static bool DeleteSUGGESTION(Transaction transaction, int? SUGGESTIONId)
{
bool DeleteFlag = false;
if (SUGGESTIONId != null)
{
string SQLString = "UPDATE MOBILESERVICE_PLATFORM.T_SUGGESTION SET SUGGESTION_STATE = 0 WHERE SUGGESTION_ID = " + SUGGESTIONId;
int ExcuteCount = new Business.APPMANAGE(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}