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 查看付费申请是否已经结算完成 /// /// 查看付费申请是否已经结算完成 /// /// /// 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 付费审核通过 /// /// 付费审核通过 /// /// 申请编号 /// 值1审核通过 值-1审核异常 值-2没有权限审核付费 值-3付费步骤已经完成,不能重复审核 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 messageEntities = new List(); MessageDA messageDA = new MessageDA(); IList workFlowDoEntities = new List(); 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 驳回申请 /// /// 驳回申请 /// /// 申请编号 /// private int FeePayApplicationAuditReject(string tempBillNO) { int iResult = 0; FeeDoDA feeDoDA = new FeeDoDA(); IList feeDoEntities = new List(); 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 messageEntities = new List(); MessageDA messageDA = new MessageDA(); IList workFlowDoEntities = new List(); 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 } }