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

253 lines
11 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.FrameWork.Platform.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 审批意见相关方法
/// 2024/11/4 14:55:07自动生成
/// </summary>
public class APPLYAPPROVEHelper
{
#region
/// <summary>
/// 获取审批意见列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.APPLYAPPROVEModel> GetAPPLYAPPROVEList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.APPLYAPPROVEModel> searchModel)
{
List<Model.APPLYAPPROVEModel> APPLYAPPROVEList = new List<Model.APPLYAPPROVEModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.APPLYAPPROVEModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"TABLE_IDS", "APPLYAPPROVE_DATE_Start", "APPLYAPPROVE_DATE_End");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询数据表主键值
if (searchModel.SearchParameter.TABLE_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "TABLE_ID IN (" + searchModel.SearchParameter.TABLE_IDS + ")";
}
//查询审批时间
if (searchModel.SearchParameter.APPLYAPPROVE_DATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYAPPROVE_DATE >= TO_DATE('" +
searchModel.SearchParameter.APPLYAPPROVE_DATE_Start.Split(' ')[0] + "','YYYY/MM/DD')";
}
if (searchModel.SearchParameter.APPLYAPPROVE_DATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYAPPROVE_DATE < TO_DATE('" +
searchModel.SearchParameter.APPLYAPPROVE_DATE_End.Split(' ')[0] + "','YYYY/MM/DD') + 1";
}
}
DataTable dtAPPLYAPPROVE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_APPLYAPPROVE" + 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 != "")
{
dtAPPLYAPPROVE.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtAPPLYAPPROVE.DefaultView.Sort = searchModel.SortStr;
dtAPPLYAPPROVE = dtAPPLYAPPROVE.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtAPPLYAPPROVE.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtAPPLYAPPROVE = CommonHelper.GetDataTableWithPageSize(dtAPPLYAPPROVE, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drAPPLYAPPROVE in dtAPPLYAPPROVE.Rows)
{
Model.APPLYAPPROVEModel applyapproveModel = new Model.APPLYAPPROVEModel();
//绑定审批意见数据对象
BindDataRowToModel(drAPPLYAPPROVE, applyapproveModel);
APPLYAPPROVEList.Add(applyapproveModel);
}
return APPLYAPPROVEList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drAPPLYAPPROVE">datarow数据源</param>
/// <param name="applyapproveModel">model对象</param>
public static void BindDataRowToModel(DataRow drAPPLYAPPROVE, Model.APPLYAPPROVEModel applyapproveModel)
{
if (drAPPLYAPPROVE["APPLYAPPROVE_ID"].ToString() != "")
{
applyapproveModel.APPLYAPPROVE_ID = drAPPLYAPPROVE["APPLYAPPROVE_ID"].TryParseToInt(); //审批意见内码
}
if (drAPPLYAPPROVE["TABLE_ID"].ToString() != "")
{
applyapproveModel.TABLE_ID = drAPPLYAPPROVE["TABLE_ID"].TryParseToInt(); //数据表主键值
}
applyapproveModel.TABLE_NAME = drAPPLYAPPROVE["TABLE_NAME"].ToString(); //数据表名称
if (drAPPLYAPPROVE["APPLYAPPROVE_TYPE"].ToString() != "")
{
applyapproveModel.APPLYAPPROVE_TYPE = drAPPLYAPPROVE["APPLYAPPROVE_TYPE"].TryParseToInt(); //意见类型
}
applyapproveModel.APPLYAPPROVE_NAME = drAPPLYAPPROVE["APPLYAPPROVE_NAME"].ToString(); //环节名称
applyapproveModel.APPLYAPPROVE_INFO = drAPPLYAPPROVE["APPLYAPPROVE_INFO"].ToString(); //审批意见
if (!string.IsNullOrWhiteSpace(drAPPLYAPPROVE["APPLYAPPROVE_DATE"].ToString()))
{
//审批时间
applyapproveModel.APPLYAPPROVE_DATE = drAPPLYAPPROVE["APPLYAPPROVE_DATE"].ToString();
}
applyapproveModel.APPROVED_NAME = drAPPLYAPPROVE["APPROVED_NAME"].ToString(); //组件名称
if (drAPPLYAPPROVE["TIME_EFFICIENCY"].ToString() != "")
{
applyapproveModel.TIME_EFFICIENCY = drAPPLYAPPROVE["TIME_EFFICIENCY"].TryParseToDouble(); //审批时效(存储小时)
}
if (drAPPLYAPPROVE["STAFF_ID"].ToString() != "")
{
applyapproveModel.STAFF_ID = drAPPLYAPPROVE["STAFF_ID"].TryParseToInt(); //审批人内码
}
applyapproveModel.STAFF_NAME = drAPPLYAPPROVE["STAFF_NAME"].ToString(); //审批人员
if (drAPPLYAPPROVE["MOBILE_APPROVE"].ToString() != "")
{
applyapproveModel.MOBILE_APPROVE = drAPPLYAPPROVE["MOBILE_APPROVE"].TryParseToShort(); //移动端审批01
}
if (drAPPLYAPPROVE["REJECT_ID"].ToString() != "")
{
applyapproveModel.REJECT_ID = drAPPLYAPPROVE["REJECT_ID"].TryParseToInt(); //驳回人内码
}
if (drAPPLYAPPROVE["REJECT_TYPE"].ToString() != "")
{
applyapproveModel.REJECT_TYPE = drAPPLYAPPROVE["REJECT_TYPE"].TryParseToInt(); //驳回环节
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取审批意见明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="APPLYAPPROVEId">审批意见内码</param>
public static Model.APPLYAPPROVEModel GetAPPLYAPPROVEDetail(Transaction transaction, int APPLYAPPROVEId)
{
Model.APPLYAPPROVEModel applyapproveModel = new Model.APPLYAPPROVEModel();
string WhereSQL = "WHERE APPLYAPPROVE_ID = " + APPLYAPPROVEId;
//查询明细数据
DataTable dtAPPLYAPPROVE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_APPLYAPPROVE " + WhereSQL);
if (dtAPPLYAPPROVE.Rows.Count > 0)
{
//绑定审批意见数据对象
BindDataRowToModel(dtAPPLYAPPROVE.Rows[0], applyapproveModel);
}
return applyapproveModel;
}
#endregion
#region
/// <summary>
/// 赋值审批意见数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="applyapproveModel">审批意见数据对象</param>
public static bool SynchroAPPLYAPPROVE(Transaction transaction, Model.APPLYAPPROVEModel applyapproveModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "PLATFORM_FRAMEWORK.T_APPLYAPPROVE", keyField = "APPLYAPPROVE_ID", seqName = "SEQ_APPLYAPPROVE";
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("TABLE_IDS");
excludeField.Add("APPLYAPPROVE_DATE_Start");
excludeField.Add("APPLYAPPROVE_DATE_End");
#endregion
#region SQL语句中日期相关字段的执行语句
//审批时间
if (!string.IsNullOrWhiteSpace(applyapproveModel.APPLYAPPROVE_DATE))
{
dateFieldList.Add("APPLYAPPROVE_DATE", "TO_DATE('" +
applyapproveModel.APPLYAPPROVE_DATE + "','YYYY/MM/DD HH24:MI:SS')");
}
else
{
dateFieldList.Add("APPLYAPPROVE_DATE", "NULL");
}
#endregion
if (applyapproveModel.APPLYAPPROVE_ID != null)
{
string WhereSQL = " WHERE APPLYAPPROVE_ID = " + applyapproveModel.APPLYAPPROVE_ID;
DataTable dtAPPLYAPPROVE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_APPLYAPPROVE" + WhereSQL);
if (dtAPPLYAPPROVE.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.APPLYAPPROVEModel>.GetTableExcuteSQL(
applyapproveModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtAPPLYAPPROVE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
applyapproveModel.APPLYAPPROVE_ID = dtAPPLYAPPROVE.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.APPLYAPPROVEModel>.GetTableExcuteSQL(
applyapproveModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除审批意见
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="APPLYAPPROVEId">审批意见内码</param>
public static bool DeleteAPPLYAPPROVE(Transaction transaction, int? APPLYAPPROVEId)
{
bool DeleteFlag = false;
if (APPLYAPPROVEId != null)
{
}
return DeleteFlag;
}
#endregion
}
}