You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
866 lines
54 KiB
C#
866 lines
54 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using DSWeb.Models;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.WorkFlow;
|
|
|
|
|
|
namespace DSWeb.Settlements
|
|
{
|
|
public partial class FeePayAuditService : System.Web.UI.Page
|
|
{
|
|
private string strHandle;
|
|
private string strUserID;
|
|
private string strBillNO;
|
|
private string strShowName;
|
|
private string strCompanyID;//公司GID
|
|
private string strDeptName;//部门名称
|
|
private string stroplb;//业务类别
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (Session["USERID"] != null)
|
|
{
|
|
strUserID = Session["USERID"].ToString();
|
|
}
|
|
if (Session["SHOWNAME"] != null)
|
|
{
|
|
this.strShowName = Session["SHOWNAME"].ToString();
|
|
}
|
|
if (Session["COMPANYID"] != null)
|
|
{
|
|
strCompanyID = Session["COMPANYID"].ToString();
|
|
}
|
|
if (Session["DEPTNAME"] != null)
|
|
{
|
|
strDeptName = Session["DEPTNAME"].ToString();
|
|
}
|
|
if (Request.QueryString["handle"] != null)
|
|
{
|
|
strHandle = Request.QueryString["handle"].ToString();
|
|
}
|
|
if (Request.QueryString["oplb"] != null)
|
|
{
|
|
stroplb = Request.QueryString["oplb"].ToString();
|
|
}
|
|
if (Request.QueryString["billno"] != null)
|
|
{
|
|
strBillNO = Request.QueryString["billno"].ToString();
|
|
}
|
|
|
|
if (strHandle != null)
|
|
{
|
|
//通过付费审批操作
|
|
if (strHandle == "auditpass" && strBillNO != null)
|
|
{
|
|
Response.Write(FeePayApplicationAuditPass(strBillNO).ToString());
|
|
}
|
|
//驳回
|
|
if (strHandle == "auditreject" && strBillNO != null)
|
|
{
|
|
Response.Write(FeePayApplicationAuditReject(strBillNO).ToString());
|
|
}
|
|
//查看申请付费是否已经结算过了
|
|
if (strHandle == "issettled")
|
|
{
|
|
Response.Write(IsFeePayApplicationSettled(strBillNO));
|
|
}
|
|
}
|
|
}
|
|
|
|
#region 查看付费申请是否已经结算完成
|
|
/// <summary>
|
|
/// 查看付费申请是否已经结算完成
|
|
/// </summary>
|
|
/// <param name="tempBillNO"></param>
|
|
/// <returns></returns>
|
|
private int IsFeePayApplicationSettled(string tempBillNO)
|
|
{
|
|
int iResult = 0;
|
|
FeePayApplicationEntity feePayApplicationEntity = new FeePayApplicationEntity();
|
|
FeePaySettleApplicationDA feePaySettleApplicationDA = new FeePaySettleApplicationDA();
|
|
|
|
feePayApplicationEntity = feePaySettleApplicationDA.GetFeePayApplicationByBillNO(tempBillNO,strCompanyID);
|
|
|
|
if (feePayApplicationEntity.GID != null)
|
|
{
|
|
if (feePayApplicationEntity.BillStatus == 4)
|
|
{
|
|
iResult = 1;//付费申请已经结算完毕
|
|
}
|
|
else if (feePayApplicationEntity.BillStatus == 0)
|
|
{
|
|
iResult = 0;
|
|
}
|
|
else if (feePayApplicationEntity.BillStatus == 3)
|
|
{
|
|
iResult = -2;//付费申请正在审批中
|
|
}
|
|
}
|
|
else
|
|
{
|
|
iResult = -1;//没有相关申请信息
|
|
}
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 付费审核通过
|
|
/// <summary>
|
|
/// 付费审核通过
|
|
/// </summary>
|
|
/// <param name="tempBillNO">申请编号</param>
|
|
/// <returns>值1审核通过 值-1审核异常 值-2没有权限审核付费 值-3付费步骤已经完成,不能重复审核</returns>
|
|
private int FeePayApplicationAuditPass(string tempBillNO)
|
|
{
|
|
int iResult = 0;
|
|
int bsnoCount = 0;
|
|
//工作流
|
|
WorkFlowHelper workFlowHelper = new WorkFlowHelper();
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
string sqlstr = " SELECT BSNO,OPLB,OPLBNAME,CUSTOMERNAME,MBLNO FROM VW_Settlement WHERE BSNO IN (SELECT C.BSNO FROM ch_fee_payapplication as A INNER JOIN ch_fee_do as B ON A.BILLNO = B.BILLNO INNER JOIN ch_fee as C ON B.FEEID = C.GID WHERE A.BILLNO ='"+tempBillNO.Trim()+"') ";
|
|
DataSet ds = T_ALL_DA.GetAllSQL(sqlstr);
|
|
if (ds != null && ds.Tables[0].Rows.Count > 1)
|
|
{
|
|
string topBsno = ds.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim();
|
|
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (stroplb.ToLower().Trim() == "")
|
|
{
|
|
stroplb = ds.Tables[0].Rows[i]["OPLB"].ToString().Trim();
|
|
}
|
|
//
|
|
if (topBsno != ds.Tables[0].Rows[i]["OPLBNAME"].ToString().Trim())
|
|
{
|
|
bsnoCount++;
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
//查找付费工作流信息
|
|
string ls = "SELECT top 1 [WORKFLOWID] FROM [workflow_do] where [BILLNO]='" + tempBillNO + "' order by [AUDITTIME] desc";
|
|
string workFlowEntity_GID = T_ALL_DA.GetStrSQL("WORKFLOWID", ls);
|
|
//WorkFlowEntity workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.PAYSETTLEAUDIT, strCompanyID);//WorkFlowType.SeaiPAYSETTLEAUDIT
|
|
WorkFlowEntity workFlowEntity = new WorkFlowEntity();
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.PAYSETTLEAUDIT, strCompanyID);
|
|
if (workFlowEntity_GID.Trim() != workFlowEntity.GID.ToString().Trim())
|
|
{
|
|
WorkFlowHelper workFlowHelper2 = new WorkFlowHelper();
|
|
workFlowEntity = null;
|
|
workFlowEntity = workFlowHelper2.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.SeaiPAYSETTLEAUDIT, strCompanyID);
|
|
if (workFlowEntity_GID.Trim() != workFlowEntity.GID.ToString().Trim())
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead" )//51 陆运
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.tMsWlPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")//91 进口贸易for新协航
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.WmszxPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.APPLYPAYSETTLEAUDIT, strCompanyID);
|
|
if (workFlowEntity_GID.Trim() != workFlowEntity.GID.ToString().Trim())
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.BULKPAYSETTLEAUDIT, strCompanyID);
|
|
if (workFlowEntity_GID.Trim() != workFlowEntity.GID.ToString().Trim())
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
|
|
}
|
|
//如果工作流信息存在
|
|
if (workFlowEntity != null)
|
|
{
|
|
FeePaySettleApplicationDA feePaySettlementApplicationDA = new FeePaySettleApplicationDA();
|
|
FeePayApplicationEntity feePayApplicationEntity = feePaySettlementApplicationDA.GetFeePayApplicationByBillNO(tempBillNO,strCompanyID);
|
|
|
|
IList<MessageEntity> messageEntities = new List<MessageEntity>();
|
|
MessageDA messageDA = new MessageDA();
|
|
|
|
IList<WorkFlowDoEntity> workFlowDoEntities = new List<WorkFlowDoEntity>();
|
|
WorkFlowDoDA workFlowDoDA = new WorkFlowDoDA();
|
|
//先查看是否当前付费申请已经进入工作流
|
|
workFlowDoEntities = workFlowDoDA.GetAllWorkFlowDoByBillNO(workFlowEntity.GID, tempBillNO);
|
|
|
|
if (workFlowDoEntities.Count > 0)
|
|
{
|
|
int iCount = 0;
|
|
//如果付费申请已经进入工作流,先判断当前打开付费审核页面操作人是否是工作流内相关审核人,如果是则
|
|
foreach (WorkFlowDoEntity workFlowDoEntity in workFlowDoEntities)
|
|
{
|
|
//查看当前操作人是否为审核人
|
|
if (workFlowDoEntity.Auditor == strUserID)
|
|
{
|
|
//查看当前审核人所处的步骤是否已经完成
|
|
if (!workFlowDoEntity.IsFinish)
|
|
{
|
|
//iResult等于1表示工作执行操作成功
|
|
iResult = workFlowHelper.DoWorkFlowStep(workFlowDoEntity, workFlowEntity);
|
|
|
|
if (iResult == 1)
|
|
{
|
|
|
|
FeePaySettleApplicationDA feePaySettleAppDA = new FeePaySettleApplicationDA();
|
|
//遍历工作流步骤信息,如果是工作流步骤最后一步,表示审核通过则置ch_fee审核通过
|
|
foreach (WorkFlowStepEntity workFlowStepEntity in workFlowEntity.WorkFlowSteps)
|
|
{
|
|
if (workFlowStepEntity.StepNO == workFlowDoEntity.StepNO)
|
|
{
|
|
if (workFlowStepEntity.IsLast)
|
|
{
|
|
int iTempStatus = feePaySettleAppDA.UpdatePayApplicationStatus(workFlowDoEntity.BillNO, 0,strCompanyID);
|
|
|
|
if (iTempStatus != 1)
|
|
{
|
|
iResult = -5;//更新费用状态失败
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if (workFlowDoEntity.IsFinish)
|
|
{
|
|
iResult = -4;//付费审核步骤已经完成,不能重复审核
|
|
}
|
|
iCount++;
|
|
}
|
|
}
|
|
|
|
if (iResult == 1)
|
|
{
|
|
int iApplicantState = 0;
|
|
workFlowDoEntities = workFlowDoDA.GetWorkFlowDoAuditPassForMessage(workFlowEntity.GID, tempBillNO);
|
|
|
|
if (workFlowDoEntities.Count > 0)
|
|
{
|
|
foreach (WorkFlowDoEntity workFlowDo in workFlowDoEntities)
|
|
{
|
|
foreach (WorkFlowStepEntity workFlowStepEntity in workFlowEntity.WorkFlowSteps)
|
|
{
|
|
if (workFlowStepEntity.StepNO == workFlowDo.StepNO)
|
|
{
|
|
if (workFlowStepEntity.IsLast)
|
|
{
|
|
if (!workFlowDo.IsFinish)
|
|
{
|
|
MessageEntity messageEntity = new MessageEntity();
|
|
messageEntity.GID = Guid.NewGuid().ToString();
|
|
if (bsnoCount == 0)
|
|
{
|
|
messageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
messageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
//messageEntity.Description = "付费申请审核通知";
|
|
messageEntity.IsRead = false;
|
|
messageEntity.ReadCount = 0;
|
|
//messageEntity.MessageContent = strShowName + " 已批准 [付费申请审核] 审核,当前等待您的审核 ";
|
|
messageEntity.TaskID = "";
|
|
messageEntity.Receiver = workFlowDo.Auditor;
|
|
messageEntity.TaskUrl = "settlements/FeePayAudit.aspx";
|
|
messageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAY);//2013-02-03 修改
|
|
messageEntity.RecvType = 2;//申请审核类型
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
messageEntity.Description = "海运出口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运出口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
messageEntity.Description = "海运进口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运进口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
messageEntity.Description = "陆运付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已经批准通过 [陆运付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
messageEntity.Description = "仓储付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已经批准通过 [仓储付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
messageEntity.Description = "海运进口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运进口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
messageEntity.Description = "报关业务付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [报关业务付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
messageEntity.Description = "大宗散货付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [大宗散货付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
messageEntities.Add(messageEntity);
|
|
|
|
if (iApplicantState == 0)
|
|
{
|
|
MessageEntity applicantMessageEntity = new MessageEntity();
|
|
applicantMessageEntity.GID = Guid.NewGuid().ToString();
|
|
//applicantMessageEntity.Name = "FeePayAudit";
|
|
if (bsnoCount == 0)
|
|
{
|
|
applicantMessageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
applicantMessageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
//applicantMessageEntity.Description = "付费申请审核通知";
|
|
applicantMessageEntity.IsRead = false;
|
|
applicantMessageEntity.ReadCount = 0;
|
|
//applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [付费申请审核] 申请,现等待下一步审核 ";
|
|
applicantMessageEntity.TaskID = "";
|
|
applicantMessageEntity.Receiver = workFlowDo.Applicant;
|
|
applicantMessageEntity.TaskUrl = "settlements/paysettleapplication.aspx";
|
|
applicantMessageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAY);//2013-02-03 修改
|
|
applicantMessageEntity.RecvType = 3;//审核完成类型
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
applicantMessageEntity.Description = "海运出口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运出口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
applicantMessageEntity.Description = "陆运付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [陆运付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
applicantMessageEntity.Description = "仓储付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [仓储付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
applicantMessageEntity.Description = "报关业务付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [报关业务付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
applicantMessageEntity.Description = "大宗散货付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [大宗散货付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
messageEntities.Add(applicantMessageEntity);
|
|
iApplicantState++;
|
|
}
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
if (iApplicantState == 0)
|
|
{
|
|
MessageEntity applicantMessageEntity = new MessageEntity();
|
|
applicantMessageEntity.GID = Guid.NewGuid().ToString();
|
|
//applicantMessageEntity.Name = "FeePayAudit";
|
|
if (bsnoCount == 0)
|
|
{
|
|
applicantMessageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
applicantMessageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
//applicantMessageEntity.Description = "付费申请审核通知";
|
|
applicantMessageEntity.IsRead = false;
|
|
applicantMessageEntity.ReadCount = 0;
|
|
//applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [付费申请审核] 申请,全部审核已完成 ";
|
|
applicantMessageEntity.TaskID = "";
|
|
applicantMessageEntity.Receiver = workFlowDo.Applicant;
|
|
applicantMessageEntity.TaskUrl = "settlements/paysettleapplication.aspx";
|
|
applicantMessageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAY);//2013-02-03 修改
|
|
applicantMessageEntity.RecvType = 3;//审核完成类型
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
applicantMessageEntity.Description = "海运出口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运出口付费申请审核] 申请,全部审核已完成 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,全部审核已完成 ";
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
applicantMessageEntity.Description = "陆运付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [陆运付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
applicantMessageEntity.Description = "仓储付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [仓储付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,全部审核已完成 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
applicantMessageEntity.Description = "报关业务付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [报关业务付费申请审核] 申请,全部审核已完成 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
applicantMessageEntity.Description = "大宗散货付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [大宗散货付费申请审核] 申请,全部审核已完成 ";
|
|
}
|
|
messageEntities.Add(applicantMessageEntity);
|
|
iApplicantState++;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageEntity messageEntity = new MessageEntity();
|
|
messageEntity.GID = Guid.NewGuid().ToString();
|
|
//messageEntity.Name = "FeePayAudit";
|
|
if (bsnoCount == 0)
|
|
{
|
|
messageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
messageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
//messageEntity.Description = "付费申请审核通知";
|
|
messageEntity.IsRead = false;
|
|
messageEntity.ReadCount = 0;
|
|
//messageEntity.MessageContent = strShowName + " 已批准 [付费申请审核] 审核,当前等待您的审核 ";
|
|
messageEntity.TaskID = "";
|
|
messageEntity.Receiver = workFlowDo.Auditor;
|
|
messageEntity.TaskUrl = "settlements/FeePayAudit.aspx";
|
|
messageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAY);//2013-02-03 修改
|
|
messageEntity.RecvType = 2;//申请审核类型
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
messageEntity.Description = "海运出口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运出口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
messageEntity.Description = "海运进口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运进口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
messageEntity.Description = "陆运付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已经批准通过 [陆运付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
messageEntity.Description = "仓储付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已经批准通过 [仓储付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
messageEntity.Description = "海运进口付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [海运进口付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
messageEntity.Description = "报关业务付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [报关业务付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
messageEntity.Description = "大宗散货付费申请审核通知";
|
|
messageEntity.MessageContent = strShowName + " 已批准 [大宗散货付费申请审核] 审核,当前等待您的审核 ";
|
|
}
|
|
messageEntities.Add(messageEntity);
|
|
|
|
if (iApplicantState == 0)
|
|
{
|
|
MessageEntity applicantMessageEntity = new MessageEntity();
|
|
applicantMessageEntity.GID = Guid.NewGuid().ToString();
|
|
//applicantMessageEntity.Name = "FeePayAudit";
|
|
if (bsnoCount == 0)
|
|
{
|
|
applicantMessageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
applicantMessageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
//applicantMessageEntity.Description = "付费申请审核通知";
|
|
applicantMessageEntity.IsRead = false;
|
|
applicantMessageEntity.ReadCount = 0;
|
|
//applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [付费申请审核] 申请,现等待下一步审核 ";
|
|
applicantMessageEntity.TaskID = "";
|
|
applicantMessageEntity.Receiver = workFlowDo.Applicant;
|
|
applicantMessageEntity.TaskUrl = "settlements/paysettleapplication.aspx";
|
|
applicantMessageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAY);//2013-02-03 修改
|
|
applicantMessageEntity.RecvType = 3;//审核完成类型
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
applicantMessageEntity.Description = "海运出口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运出口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
applicantMessageEntity.Description = "陆运付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [陆运付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
applicantMessageEntity.Description = "仓储付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [仓储付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
applicantMessageEntity.Description = "海运进口付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [海运进口付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
applicantMessageEntity.Description = "报关业务付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [报关业务付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
applicantMessageEntity.Description = "大宗散货付费申请审核通知";
|
|
applicantMessageEntity.MessageContent = strShowName + " 已经批准通过 [大宗散货付费申请审核] 申请,现等待下一步审核 ";
|
|
}
|
|
messageEntities.Add(applicantMessageEntity);
|
|
iApplicantState++;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (messageEntities.Count > 0)
|
|
{
|
|
messageDA.CreateMessage(MessageType.FEEPAYAPP, messageEntities);
|
|
}
|
|
if (iCount == 0)
|
|
{
|
|
iResult = -3;//没有权利审核付费
|
|
}
|
|
}
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
|
|
#region 驳回申请
|
|
/// <summary>
|
|
/// 驳回申请
|
|
/// </summary>
|
|
/// <param name="tempBillNO">申请编号</param>
|
|
/// <returns></returns>
|
|
private int FeePayApplicationAuditReject(string tempBillNO)
|
|
{
|
|
int iResult = 0;
|
|
|
|
FeeDoDA feeDoDA = new FeeDoDA();
|
|
IList<FeeDoEntity> feeDoEntities = new List<FeeDoEntity>();
|
|
|
|
feeDoEntities = feeDoDA.GetFeeDoByBillNO(tempBillNO);
|
|
int bsnoCount = 0;
|
|
T_ALL_DA t_all_da = new T_ALL_DA();
|
|
string sqlstr = " SELECT BSNO,OPLBNAME,CUSTOMERNAME,MBLNO FROM VW_Settlement WHERE BSNO IN (SELECT C.BSNO FROM ch_fee_payapplication "
|
|
+ "as A INNER JOIN ch_fee_do as B ON A.BILLNO = B.BILLNO INNER JOIN ch_fee as C ON B.FEEID = C.GID WHERE A.BILLNO ='" + tempBillNO.Trim() + "') ";
|
|
DataSet ds = t_all_da.GetAllSQL(sqlstr);
|
|
if (ds != null && ds.Tables[0].Rows.Count > 1)
|
|
{
|
|
string topBsno = ds.Tables[0].Rows[0]["OPLBNAME"].ToString().Trim();
|
|
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (topBsno != ds.Tables[0].Rows[i]["OPLBNAME"].ToString().Trim())
|
|
{
|
|
bsnoCount++;
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
//工作流
|
|
WorkFlowHelper workFlowHelper = new WorkFlowHelper();
|
|
//查找付费工作流信息
|
|
//WorkFlowEntity workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.PAYSETTLEAUDIT,strCompanyID);
|
|
|
|
WorkFlowEntity workFlowEntity = new WorkFlowEntity();
|
|
if (stroplb.ToLower() == "op_seae")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.PAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else if (stroplb.ToLower() == "op_seai")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.SeaiPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
}
|
|
else if (stroplb.ToLower() == "tmswlbshead" || stroplb.ToLower() == "tmswlpchead")//51 陆运
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.tMsWlPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "wms_fee" || stroplb.ToLower() == "wms" || stroplb.ToLower() == "wms_out")//61 仓储
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.WmszxPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "import_main")
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
else if (stroplb.ToLower() == "op_apply")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.APPLYPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
|
|
}
|
|
else if (stroplb.ToLower() == "op_bulk")
|
|
{
|
|
if (bsnoCount == 0)
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.BULKPAYSETTLEAUDIT, strCompanyID);
|
|
}
|
|
else
|
|
{
|
|
workFlowEntity = workFlowHelper.FindWorkFlow(WorkFlowType.FeeSeaAllPaySettleAudit, strCompanyID);
|
|
}
|
|
|
|
}
|
|
|
|
//如果工作流信息存在
|
|
if (workFlowEntity != null)
|
|
{
|
|
int iCount = 0;
|
|
|
|
FeePaySettleApplicationDA feePaySettlementApplicationDA = new FeePaySettleApplicationDA();
|
|
FeePayApplicationEntity feePayApplicationEntity = feePaySettlementApplicationDA.GetFeePayApplicationByBillNO(tempBillNO,strCompanyID);
|
|
|
|
IList<MessageEntity> messageEntities = new List<MessageEntity>();
|
|
MessageDA messageDA = new MessageDA();
|
|
|
|
IList<WorkFlowDoEntity> workFlowDoEntities = new List<WorkFlowDoEntity>();
|
|
WorkFlowDoDA workFlowDoDA = new WorkFlowDoDA();
|
|
//先查看是否当前付费申请已经进入工作流
|
|
workFlowDoEntities = workFlowDoDA.GetAllWorkFlowDoByBillNO(workFlowEntity.GID, tempBillNO);
|
|
|
|
if (workFlowDoEntities.Count > 0)
|
|
{
|
|
//如果付费申请已经进入工作流,先判断当前打开付费审核页面操作人是否是工作流内相关审核人,如果是则
|
|
foreach (WorkFlowDoEntity workFlowDoEntity in workFlowDoEntities)
|
|
{
|
|
//查看当前操作人是否为审核人
|
|
if (workFlowDoEntity.Auditor == strUserID)
|
|
{
|
|
iCount++;
|
|
if (!workFlowDoEntity.IsFinish)
|
|
{
|
|
workFlowDoEntity.IsFinish = true;
|
|
workFlowDoEntity.IsDelete = true;
|
|
workFlowDoEntity.DeleteStep = workFlowDoEntity.StepID;
|
|
workFlowDoEntity.DeleteOperator = strUserID;
|
|
workFlowDoEntity.DeleteStepNO = workFlowDoEntity.StepNO;
|
|
workFlowDoEntity.IsFinish = true;
|
|
|
|
int iTempRejectStatus = workFlowHelper.DoWorkFlowReject(workFlowDoEntity, WorkFlowType.PAYSETTLEAUDIT, feeDoEntities, tempBillNO,strCompanyID);
|
|
|
|
if (iTempRejectStatus == 1)
|
|
{
|
|
iResult = 1;//执行驳回成功
|
|
}
|
|
else
|
|
{
|
|
iResult = -1;//执行驳回失败
|
|
}
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
//查看当前审核人所处的步骤是否已经完成
|
|
foreach (WorkFlowStepEntity workFlowStep in workFlowEntity.WorkFlowSteps)
|
|
{
|
|
if (workFlowDoEntity.StepNO == workFlowStep.StepNO)
|
|
{
|
|
if (workFlowStep.IsLast)
|
|
{
|
|
workFlowDoEntity.IsFinish = true;
|
|
workFlowDoEntity.IsDelete = true;
|
|
workFlowDoEntity.DeleteStep = workFlowDoEntity.StepID;
|
|
workFlowDoEntity.DeleteOperator = strUserID;
|
|
workFlowDoEntity.DeleteStepNO = workFlowDoEntity.StepNO;
|
|
workFlowDoEntity.IsFinish = true;
|
|
|
|
int iTempRejectStatus = workFlowHelper.DoWorkFlowReject(workFlowDoEntity, WorkFlowType.PAYSETTLEAUDIT, feeDoEntities, tempBillNO,strCompanyID);
|
|
if (iTempRejectStatus == 1)
|
|
{
|
|
iResult = 1;//执行驳回成功
|
|
}
|
|
else
|
|
{
|
|
iResult = -1;//执行驳回失败
|
|
}
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
iResult = -3;//审核已经进入下一步,不能执行驳回操作
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if (iCount == 0)
|
|
{
|
|
iResult = -2;//没有权利审核付费
|
|
}
|
|
}
|
|
|
|
if (iResult == 1)
|
|
{
|
|
workFlowDoEntities = workFlowDoDA.GetWorkFlowDoAuditRejectForMessage(workFlowEntity.GID, tempBillNO);
|
|
|
|
if (workFlowDoEntities.Count > 0)
|
|
{
|
|
foreach (WorkFlowDoEntity workFlowDo in workFlowDoEntities)
|
|
{
|
|
MessageEntity applicantMessageEntity = new MessageEntity();
|
|
applicantMessageEntity.GID = Guid.NewGuid().ToString();
|
|
if (bsnoCount == 0)
|
|
{
|
|
applicantMessageEntity.Name = "FeePayAudit";
|
|
}
|
|
else
|
|
{
|
|
applicantMessageEntity.Name = "FeeSeaAllPaySettleAudit";
|
|
}
|
|
applicantMessageEntity.Description = "付费申请审核通知";
|
|
applicantMessageEntity.IsRead = false;
|
|
applicantMessageEntity.ReadCount = 0;
|
|
applicantMessageEntity.MessageContent = strShowName + " 驳回 [付费申请审核] 申请 ";
|
|
applicantMessageEntity.TaskID = "";
|
|
applicantMessageEntity.Receiver = workFlowDo.Applicant;
|
|
applicantMessageEntity.TaskUrl = "settlements/paysettleapplication.aspx";
|
|
applicantMessageEntity.Type = messageDA.GetMessageType(MessageType.FEEPAYAPP);
|
|
applicantMessageEntity.RecvType = 3;//审核完成类型
|
|
|
|
messageEntities.Add(applicantMessageEntity);
|
|
}
|
|
|
|
if (messageEntities.Count > 0)
|
|
{
|
|
messageDA.CreateMessage(MessageType.FEEPAYAPP, messageEntities);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|