2025-03-27 15:05:14 +08:00

585 lines
25 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 SuperMap.RealEstate.Utility;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SuperMap.RealEstate.WorkFlow.Instance;
using Running = SuperMap.RealEstate.HighWay.Running;
using Storage = SuperMap.RealEstate.HighWay.Running;
namespace SuperMap.RealEstate.HighWay.Plugins
{
/// <summary />
public class HighWayProInst : IWorkFlowProInstDataAction, IWorkFlowActInstDataAction
{
//商品审批
ProInst_100100 _ProInst_100100 = null;
ProInst_100200 _ProInst_100200 = null;
//财务报销
ProInst_400100 _ProInst_400100 = null;
//合同、展销
ProInst_310000 _ProInst_310000 = null;
ProInst_310010 _ProInst_310010 = null;
//招商项目
ProInst_320000 _ProInst_320000 = null;
//招标决标
ProInst_350100 _ProInst_350100 = null;
ProInst_350200 _ProInst_350200 = null;
ProInst_350300 _ProInst_350300 = null;
//公文传输
ProInst_600001 _ProInst_600001 = null;
ProInst_600002 _ProInst_600002 = null;
ProInst_600003 _ProInst_600003 = null;//片区下发
ProInst_600004 _ProInst_600004 = null;//党支部下发
ProInst_600005 _ProInst_600005 = null;//片区下发
ProInst_600006 _ProInst_600006 = null;//党支部下发
ProInst_600007 _ProInst_600007 = null;//上级下发
//营收数据补录
ProInst_900100 _ProInst_900100 = null;
/// <summary />
public string ErrorString
{
get;
set;
}
/// <summary>
/// 办结
/// </summary>
/// <param name="WorkFlowProInst"></param>
/// <returns></returns>
public bool EndProcess(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst WorkFlowProInst)
{
bool Flag = true;
string _ErrorString = "";
Running.Business.HIGHWAYPROINST _HIGHWAYPROINST = GetPropertyProinst(WorkFlowProInst);
DeleteCommonInfo(_HIGHWAYPROINST);
switch (WorkFlowProInst.Operation_Type_BaseValue)
{
case 100100:
#region
Flag = false;
_ProInst_100100 = new ProInst_100100(_HIGHWAYPROINST);
Flag = _ProInst_100100.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 100200:
case 100201:
#region /
Flag = false;
_ProInst_100200 = new ProInst_100200(_HIGHWAYPROINST);
Flag = _ProInst_100200.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 400100:
#region
Flag = false;
_ProInst_400100 = new ProInst_400100(_HIGHWAYPROINST);
Flag = _ProInst_400100.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310000:
#region
Flag = false;
_ProInst_310000 = new ProInst_310000(_HIGHWAYPROINST);
Flag = _ProInst_310000.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310010:
#region
Flag = false;
_ProInst_310010 = new ProInst_310010(_HIGHWAYPROINST);
Flag = _ProInst_310010.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 320000:
case 320100:
case 320200:
#region
Flag = false;
_ProInst_320000 = new ProInst_320000(_HIGHWAYPROINST);
Flag = _ProInst_320000.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350100:
#region
Flag = false;
_ProInst_350100 = new ProInst_350100(_HIGHWAYPROINST);
Flag = _ProInst_350100.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350200:
#region
Flag = false;
_ProInst_350200 = new ProInst_350200(_HIGHWAYPROINST);
Flag = _ProInst_350200.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350300:
#region
Flag = false;
_ProInst_350300 = new ProInst_350300(_HIGHWAYPROINST);
Flag = _ProInst_350300.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600001:
#region
Flag = false;
_ProInst_600001 = new ProInst_600001(_HIGHWAYPROINST);
Flag = _ProInst_600001.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600002:
#region
Flag = false;
_ProInst_600002 = new ProInst_600002(_HIGHWAYPROINST);
Flag = _ProInst_600002.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600005:
#region
Flag = false;
_ProInst_600005 = new ProInst_600005(_HIGHWAYPROINST);
Flag = _ProInst_600005.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600006:
#region
Flag = false;
_ProInst_600006 = new ProInst_600006(_HIGHWAYPROINST);
Flag = _ProInst_600006.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600003:
#region
Flag = false;
_ProInst_600003 = new ProInst_600003(_HIGHWAYPROINST);
Flag = _ProInst_600003.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600004:
#region
Flag = false;
_ProInst_600004 = new ProInst_600004(_HIGHWAYPROINST);
Flag = _ProInst_600004.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600007:
#region
Flag = false;
_ProInst_600007 = new ProInst_600007(_HIGHWAYPROINST);
Flag = _ProInst_600007.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 900100:
#region
Flag = false;
_ProInst_900100 = new ProInst_900100(_HIGHWAYPROINST);
Flag = _ProInst_900100.EndProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
default:
throw new Exception("Plugins尚未配置");
}
return Flag;
}
/// <summary>
/// 驳回
/// </summary>
/// <param name="WorkFlowProInst"></param>
/// <returns></returns>
public bool FallBackRunning(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst WorkFlowProInst)
{
throw new NotImplementedException();
}
/// <summary>
/// 入库
/// </summary>
/// <param name="WorkFlowProInst"></param>
/// <returns></returns>
public bool PutInStorage(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst WorkFlowProInst)
{
bool Flag = true;
string _ErrorString = "";
Running.Business.HIGHWAYPROINST _HIGHWAYPROINST = GetPropertyProinst(WorkFlowProInst);
PutInStorageCommonInfo(_HIGHWAYPROINST);
switch (WorkFlowProInst.Operation_Type_BaseValue)
{
case 100100:
#region
Flag = false;
_ProInst_100100 = new ProInst_100100(_HIGHWAYPROINST);
Flag = _ProInst_100100.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 100200:
case 100201:
#region /
Flag = false;
_ProInst_100200 = new ProInst_100200(_HIGHWAYPROINST);
Flag = _ProInst_100200.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 400100:
#region
Flag = false;
_ProInst_400100 = new ProInst_400100(_HIGHWAYPROINST);
Flag = _ProInst_400100.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310000:
#region
Flag = false;
_ProInst_310000 = new ProInst_310000(_HIGHWAYPROINST);
Flag = _ProInst_310000.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310010:
#region
Flag = false;
_ProInst_310010 = new ProInst_310010(_HIGHWAYPROINST);
Flag = _ProInst_310010.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 320000:
case 320100:
case 320200:
#region
Flag = false;
_ProInst_320000 = new ProInst_320000(_HIGHWAYPROINST);
Flag = _ProInst_320000.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350100:
#region
Flag = false;
_ProInst_350100 = new ProInst_350100(_HIGHWAYPROINST);
Flag = _ProInst_350100.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350200:
#region
Flag = false;
_ProInst_350200 = new ProInst_350200(_HIGHWAYPROINST);
Flag = _ProInst_350200.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350300:
#region
Flag = false;
_ProInst_350300 = new ProInst_350300(_HIGHWAYPROINST);
Flag = _ProInst_350300.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600001:
#region
Flag = false;
_ProInst_600001 = new ProInst_600001(_HIGHWAYPROINST);
Flag = _ProInst_600001.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600002:
#region
Flag = false;
_ProInst_600002 = new ProInst_600002(_HIGHWAYPROINST);
Flag = _ProInst_600002.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600003:
#region
Flag = false;
_ProInst_600003 = new ProInst_600003(_HIGHWAYPROINST);
Flag = _ProInst_600003.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600004:
#region
Flag = false;
_ProInst_600004 = new ProInst_600004(_HIGHWAYPROINST);
Flag = _ProInst_600004.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600007:
#region
Flag = false;
_ProInst_600007 = new ProInst_600007(_HIGHWAYPROINST);
Flag = _ProInst_600007.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 900100:
#region
Flag = false;
_ProInst_900100 = new ProInst_900100(_HIGHWAYPROINST);
Flag = _ProInst_900100.PutInStorage(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
default:
throw new Exception("Plugins尚未配置");
}
return Flag;
}
/// <summary>
/// 流程删除
/// </summary>
/// <param name="WorkFlowProInst"></param>
/// <returns></returns>
public bool DeleteProcess(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst WorkFlowProInst)
{
bool Flag = false;
string _ErrorString = "";
Running.Business.HIGHWAYPROINST _HIGHWAYPROINST = GetPropertyProinst(WorkFlowProInst);
DeleteCommonInfo(_HIGHWAYPROINST);
switch (WorkFlowProInst.Operation_Type_BaseValue)
{
case 100100:
#region
Flag = false;
_ProInst_100100 = new ProInst_100100(_HIGHWAYPROINST);
Flag = _ProInst_100100.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 100200:
case 100201:
#region /
Flag = false;
_ProInst_100200 = new ProInst_100200(_HIGHWAYPROINST);
Flag = _ProInst_100200.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 400100:
#region
Flag = false;
_ProInst_400100 = new ProInst_400100(_HIGHWAYPROINST);
Flag = _ProInst_400100.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310000:
#region
Flag = false;
_ProInst_310000 = new ProInst_310000(_HIGHWAYPROINST);
Flag = _ProInst_310000.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 310010:
#region
Flag = false;
_ProInst_310010 = new ProInst_310010(_HIGHWAYPROINST);
Flag = _ProInst_310010.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 320000:
case 320100:
case 320200:
#region
Flag = false;
_ProInst_320000 = new ProInst_320000(_HIGHWAYPROINST);
Flag = _ProInst_320000.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350100:
#region
Flag = false;
_ProInst_350100 = new ProInst_350100(_HIGHWAYPROINST);
Flag = _ProInst_350100.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350200:
#region
Flag = false;
_ProInst_350200 = new ProInst_350200(_HIGHWAYPROINST);
Flag = _ProInst_350200.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 350300:
#region
Flag = false;
_ProInst_350300 = new ProInst_350300(_HIGHWAYPROINST);
Flag = _ProInst_350300.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600001:
#region
Flag = false;
_ProInst_600001 = new ProInst_600001(_HIGHWAYPROINST);
Flag = _ProInst_600001.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600002:
#region
Flag = false;
_ProInst_600002 = new ProInst_600002(_HIGHWAYPROINST);
Flag = _ProInst_600002.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600003:
#region
Flag = false;
_ProInst_600003 = new ProInst_600003(_HIGHWAYPROINST);
Flag = _ProInst_600003.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600004:
#region
Flag = false;
_ProInst_600004 = new ProInst_600004(_HIGHWAYPROINST);
Flag = _ProInst_600004.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 600007:
#region
Flag = false;
_ProInst_600007 = new ProInst_600007(_HIGHWAYPROINST);
Flag = _ProInst_600007.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
case 900100:
#region
Flag = false;
_ProInst_900100 = new ProInst_900100(_HIGHWAYPROINST);
Flag = _ProInst_900100.DeleteProcess(WorkFlowProInst, out _ErrorString);
ErrorString += _ErrorString;
break;
#endregion
default:
throw new Exception("Plugins尚未配置");
}
return Flag;
}
/// <summary />
public void DeleteCommonInfo(Running.Business.HIGHWAYPROINST _HIGHWAYPROINST)
{
//删除审批信息
foreach (Running.Business.APPROVED _APPROVED in _HIGHWAYPROINST.ApprovedCollection)
{
_APPROVED.Delete();
}
////删除申请人信息
//foreach (Running.Business.Proposer _Proposer in _PropertyProinst.ProposerCollection)
// _Proposer.Delete();
}
/// <summary />
public void PutInStorageCommonInfo(Running.Business.HIGHWAYPROINST _HIGHWAYPROINST)
{
Storage.Business.APPROVED StorageApproved = null;
foreach (Running.Business.APPROVED _Approved in _HIGHWAYPROINST.ApprovedCollection)
{
StorageApproved = new Storage.Business.APPROVED(_HIGHWAYPROINST.Transaction);
StorageApproved.APPROVED_ID = _Approved.APPROVED_ID;
if (StorageApproved.Select())
{
StorageApproved.Delete();
StorageApproved.ResetProperty();
}
StorageApproved.CopyFrom(_Approved);
StorageApproved.Insert();
}
//foreach (Running.Business.Proposer _Proposer in _PropertyProinst.ProposerCollection)
//{
// StorageProposer = new Storage.Business.Proposer(_PropertyProinst.Transaction);
// StorageProposer.CopyFrom(_Proposer);
// StorageProposer.Insert();
//}
}
/// <summary>
/// 获取当前流程信息
/// </summary>
/// <param name="WorkFlowProInst"></param>
/// <returns></returns>
public Running.Business.HIGHWAYPROINST GetPropertyProinst(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst WorkFlowProInst)
{
Running.Business.HIGHWAYPROINST _PropertyProinst = new Running.Business.HIGHWAYPROINST(WorkFlowProInst.Transaction);
_PropertyProinst.AddSearchParameter("proinst_id", WorkFlowProInst.ProInst_ID);
if (_PropertyProinst.Search())
return _PropertyProinst;
else
{
throw new Exception("无法获取ProInst实例对象");
}
}
#region
/// <summary />
public bool OverRuled(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
/// <summary />
public bool OverRuling(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
/// <summary />
public bool Transfered(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
/// <summary />
public bool Transferring(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
/// <summary />
public bool TurnOvered(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
/// <summary />
public bool TurnOvering(SuperMap.RealEstate.WorkFlow.Instance.Business.ProInst ProInst)
{
return true;
}
#endregion
}
}