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

288 lines
14 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.SendRec.Storage.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 仓储业务流程表相关方法
/// 2024/9/14 17:50:06自动生成
/// </summary>
public class APPLYPROINSTHelper
{
#region
/// <summary>
/// 获取仓储业务流程表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.APPLYPROINSTModel> GetAPPLYPROINSTList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.APPLYPROINSTModel> searchModel)
{
List<Model.APPLYPROINSTModel> APPLYPROINSTList = new List<Model.APPLYPROINSTModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.APPLYPROINSTModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "",
"APPLYPROINST_IDS", "APPLYPROINST_DATE_Start", "APPLYPROINST_DATE_End", "APPLYPROINST_TYPES", "APPLYPROINST_STATES", "SERVERPART_IDS", "SUPPLIER_IDS");
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
//查询内码
if (searchModel.SearchParameter.APPLYPROINST_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYPROINST_ID IN (" + searchModel.SearchParameter.APPLYPROINST_IDS + ")";
}
//查询申请日期
if (searchModel.SearchParameter.APPLYPROINST_DATE_Start.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYPROINST_DATE >= TO_DATE('" +
searchModel.SearchParameter.APPLYPROINST_DATE_Start.Split(' ')[0] + "','YYYY/MM/DD')";
}
if (searchModel.SearchParameter.APPLYPROINST_DATE_End.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYPROINST_DATE < TO_DATE('" +
searchModel.SearchParameter.APPLYPROINST_DATE_End.Split(' ')[0] + "','YYYY/MM/DD') + 1";
}
//查询业务类型
if (searchModel.SearchParameter.APPLYPROINST_TYPES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYPROINST_TYPE IN (" + searchModel.SearchParameter.APPLYPROINST_TYPES + ")";
}
//查询业务状态 10为补入数据补入正式数据为9090
if (searchModel.SearchParameter.APPLYPROINST_STATES.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "APPLYPROINST_STATE IN (" + searchModel.SearchParameter.APPLYPROINST_STATES + ")";
}
//查询部门表示
if (searchModel.SearchParameter.SERVERPART_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_ID IN (" + searchModel.SearchParameter.SERVERPART_IDS + ")";
}
//查询供应商内码
if (searchModel.SearchParameter.SUPPLIER_IDS.TryParseToString() != "")
{
WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUPPLIER_ID IN (" + searchModel.SearchParameter.SUPPLIER_IDS + ")";
}
}
DataTable dtAPPLYPROINST = new Business.SENDRECPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SENDREC_STORAGE.T_APPLYPROINST" + 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 != "")
{
dtAPPLYPROINST.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtAPPLYPROINST.DefaultView.Sort = searchModel.SortStr;
dtAPPLYPROINST = dtAPPLYPROINST.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtAPPLYPROINST.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtAPPLYPROINST = CommonHelper.GetDataTableWithPageSize(dtAPPLYPROINST, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drAPPLYPROINST in dtAPPLYPROINST.Rows)
{
Model.APPLYPROINSTModel applyproinstModel = new Model.APPLYPROINSTModel();
//绑定仓储业务流程表数据对象
BindDataRowToModel(drAPPLYPROINST, applyproinstModel);
APPLYPROINSTList.Add(applyproinstModel);
}
return APPLYPROINSTList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drAPPLYPROINST">datarow数据源</param>
/// <param name="applyproinstModel">model对象</param>
public static void BindDataRowToModel(DataRow drAPPLYPROINST, Model.APPLYPROINSTModel applyproinstModel)
{
if (drAPPLYPROINST["APPLYPROINST_ID"].ToString() != "")
{
applyproinstModel.APPLYPROINST_ID = drAPPLYPROINST["APPLYPROINST_ID"].TryParseToInt(); //内码
}
applyproinstModel.APPLYPROINST_CODE = drAPPLYPROINST["APPLYPROINST_CODE"].ToString(); //申请编号
if (!string.IsNullOrWhiteSpace(drAPPLYPROINST["APPLYPROINST_DATE"].ToString()))
{
//申请日期
applyproinstModel.APPLYPROINST_DATE = drAPPLYPROINST["APPLYPROINST_DATE"].ToString();
}
applyproinstModel.PASSPORT_NAME = drAPPLYPROINST["PASSPORT_NAME"].ToString(); //申请人
applyproinstModel.APPLYPROINST_NAME = drAPPLYPROINST["APPLYPROINST_NAME"].ToString(); //业务名称
applyproinstModel.APPLYCOMMODITY_NAME = drAPPLYPROINST["APPLYCOMMODITY_NAME"].ToString(); //申请商品
if (drAPPLYPROINST["APPLYPROINST_TYPE"].ToString() != "")
{
applyproinstModel.APPLYPROINST_TYPE = drAPPLYPROINST["APPLYPROINST_TYPE"].TryParseToShort(); //业务类型
}
if (drAPPLYPROINST["APPLYPROINST_STATE"].ToString() != "")
{
applyproinstModel.APPLYPROINST_STATE = drAPPLYPROINST["APPLYPROINST_STATE"].TryParseToShort(); //业务状态 10为补入数据补入正式数据为9090
}
if (drAPPLYPROINST["APPLYPROISNT_FLAG"].ToString() != "")
{
applyproinstModel.APPLYPROISNT_FLAG = drAPPLYPROINST["APPLYPROISNT_FLAG"].TryParseToShort(); //办理标记
}
if (drAPPLYPROINST["FINISHDATE"].ToString() != "")
{
applyproinstModel.FINISHDATE = drAPPLYPROINST["FINISHDATE"].TryParseToDateTime(); //办理结束时间
}
if (drAPPLYPROINST["SERVERPART_ID"].ToString() != "")
{
applyproinstModel.SERVERPART_ID = drAPPLYPROINST["SERVERPART_ID"].TryParseToInt(); //部门表示
}
if (drAPPLYPROINST["PASSPORT_ID"].ToString() != "")
{
applyproinstModel.PASSPORT_ID = drAPPLYPROINST["PASSPORT_ID"].TryParseToInt(); //申请人内码
}
if (drAPPLYPROINST["SUPPLIER_ID"].ToString() != "")
{
applyproinstModel.SUPPLIER_ID = drAPPLYPROINST["SUPPLIER_ID"].TryParseToInt(); //供应商内码
}
if (drAPPLYPROINST["DEPARTMENT_ID"].ToString() != "")
{
applyproinstModel.DEPARTMENT_ID = drAPPLYPROINST["DEPARTMENT_ID"].TryParseToInt(); //部门内码
}
applyproinstModel.DEPARTMENT_NAME = drAPPLYPROINST["DEPARTMENT_NAME"].ToString(); //部门名称
applyproinstModel.APPLYPROINST_DESC = drAPPLYPROINST["APPLYPROINST_DESC"].ToString(); //备注说明
}
#endregion
#endregion
#region
/// <summary>
/// 获取仓储业务流程表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="APPLYPROINSTId">仓储业务流程表内码</param>
public static Model.APPLYPROINSTModel GetAPPLYPROINSTDetail(Transaction transaction, int APPLYPROINSTId)
{
Model.APPLYPROINSTModel applyproinstModel = new Model.APPLYPROINSTModel();
string WhereSQL = "WHERE APPLYPROINST_ID = " + APPLYPROINSTId;
//查询明细数据
DataTable dtAPPLYPROINST = new Business.SENDRECPROINST(transaction).ExecuteDataTable(
"SELECT * FROM SENDREC_STORAGE.T_APPLYPROINST " + WhereSQL);
if (dtAPPLYPROINST.Rows.Count > 0)
{
//绑定仓储业务流程表数据对象
BindDataRowToModel(dtAPPLYPROINST.Rows[0], applyproinstModel);
}
return applyproinstModel;
}
#endregion
#region
/// <summary>
/// 赋值仓储业务流程表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="applyproinstModel">仓储业务流程表数据对象</param>
public static bool SynchroAPPLYPROINST(Transaction transaction, Model.APPLYPROINSTModel applyproinstModel)
{
bool SynchroFlag = true;
string SQLString;
List<string> excludeField = new List<string>();
Dictionary<string, string> dateFieldList = new Dictionary<string, string>();
string tableName = "SENDREC_STORAGE.T_APPLYPROINST", keyField = "APPLYPROINST_ID", seqName = "SEQ_APPLYPROINST";
Business.SENDRECPROINST _SENDRECPROINST = new Business.SENDRECPROINST(transaction);
#region SQL语句中需要排除在外的字段
excludeField.Add("APPLYPROINST_IDS");
excludeField.Add("APPLYPROINST_DATE_Start");
excludeField.Add("APPLYPROINST_DATE_End");
excludeField.Add("APPLYPROINST_TYPES");
excludeField.Add("APPLYPROINST_STATES");
excludeField.Add("SERVERPART_IDS");
excludeField.Add("SUPPLIER_IDS");
#endregion
#region SQL语句中日期相关字段的执行语句
//申请日期
if (!string.IsNullOrWhiteSpace(applyproinstModel.APPLYPROINST_DATE))
{
dateFieldList.Add("APPLYPROINST_DATE", "TO_DATE('" +
applyproinstModel.APPLYPROINST_DATE + "','YYYY/MM/DD HH24:MI:SS')");
}
else
{
dateFieldList.Add("APPLYPROINST_DATE", "NULL");
}
#endregion
if (applyproinstModel.APPLYPROINST_ID != null)
{
string WhereSQL = " WHERE APPLYPROINST_ID = " + applyproinstModel.APPLYPROINST_ID;
DataTable dtAPPLYPROINST = _SENDRECPROINST.ExecuteDataTable(
"SELECT * FROM SENDREC_STORAGE.T_APPLYPROINST" + WhereSQL);
if (dtAPPLYPROINST.Rows.Count > 0)
{
SQLString = OperationDataHelper<Model.APPLYPROINSTModel>.GetTableExcuteSQL(
applyproinstModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtAPPLYPROINST = _SENDRECPROINST.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
applyproinstModel.APPLYPROINST_ID = dtAPPLYPROINST.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper<Model.APPLYPROINSTModel>.GetTableExcuteSQL(
applyproinstModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_SENDRECPROINST.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region
/// <summary>
/// 删除仓储业务流程表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="APPLYPROINSTId">仓储业务流程表内码</param>
public static bool DeleteAPPLYPROINST(Transaction transaction, int? APPLYPROINSTId)
{
bool DeleteFlag = false;
if (APPLYPROINSTId != null)
{
string SQLString = "UPDATE SENDREC_STORAGE.T_APPLYPROINST SET APPLYPROINST_STATE = 0 WHERE APPLYPROINST_ID = " + APPLYPROINSTId;
int ExcuteCount = new Business.SENDRECPROINST(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}