253 lines
11 KiB
C#
253 lines
11 KiB
C#
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(); //移动端审批(0:否;1:是)
|
||
}
|
||
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
|
||
}
|
||
}
|