using Newtonsoft.Json; using System; namespace BLL { public static class OAWebSevice { /// /// 获取推送OA的PCurl /// /// /// /// /// /// public static string geturl(string projectid, string formname, string ID, string personId) { //string SGGLUrl = Funs.SGGLUrl.Substring(Funs.SGGLUrl.IndexOf("//")+2); string SGGLUrl = Funs.SGGLUrl; string url = string.Format("{0}/indexProject.aspx?projectId={1}&PHTUserid={2}&", SGGLUrl, projectid, personId); if (formname == ActionPlanListApproveService.ActionPlanListEdit) { url = string.Format("{0}/index.aspx?PHTUserid={1}&", SGGLUrl, personId); } //string url = string.Format("{0}/indexProject.aspx?projectId={1}&", SGGLUrl, projectid); string PHTUrl = ""; switch (formname) { case PHTGL_ApproveService.ActionPlanReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}Detail.aspx?ActionPlanReviewId={1}", formname, ID); break; case PHTGL_ApproveService.BidDocumentsReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}Detail.aspx?BidDocumentsReviewId={1}", formname, ID); break; case PHTGL_ApproveService.ApproveUserReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}Detail.aspx?ApproveUserReviewID={1}", formname, ID); break; case PHTGL_ApproveService.SetSubReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}Detail.aspx?SetSubReviewID={1}", formname, ID); break; case PHTGL_ApproveService.ContractReview: PHTUrl = string.Format("PHTUrl=PHTGL/ContractCompile/{0}Detail.aspx?ContractReviewId={1}", formname, ID); break; case ActionPlanListApproveService.ActionPlanListEdit: PHTUrl = string.Format("PHTUrl=ZHGL/Plan/ActionPlanListEdit.aspx?ActionPlanListId={0}", ID); break; case PHTGL_ApproveService.Invoice_Input: PHTUrl = string.Format("PHTUrl=PHTGL/InvoiceManage/InvoiceOrderDetail.aspx?InvoiceId={0}&Type=0", ID); break; case PHTGL_ApproveService.Invoice_Output: PHTUrl = string.Format("PHTUrl=PHTGL/InvoiceManage/InvoiceOrderDetail.aspx?InvoiceId={0}&Type=1", ID); break; } url = url + PHTUrl; //LogService.AddSys_Log(Person_PersonsService.GetPerson_PersonsById(personId),"", ID, "ActionPlanListEdit",url); return url; } /// /// 获取推送OA的Appurl /// /// /// /// /// /// public static string getAppurl(string projectid, string formname, string ID, string userid) { string mobileWebUrl = Funs.MobileWebUrl; string url = string.Format("{0}/", mobileWebUrl); string PHTUrl = ""; switch (formname) { case PHTGL_ApproveService.ActionPlanReview: PHTUrl = string.Format("PHTGL/BiddingManagement/{0}Detail.aspx?ActionPlanReviewId={1}&PersonId={2}", formname, ID, userid); break; case PHTGL_ApproveService.BidDocumentsReview: PHTUrl = string.Format("PHTGL/BiddingManagement/{0}Detail.aspx?BidDocumentsReviewId={1}&PersonId={2}", formname, ID, userid); break; case PHTGL_ApproveService.ApproveUserReview: PHTUrl = string.Format("PHTGL/BiddingManagement/{0}Detail.aspx?ApproveUserReviewID={1}&PersonId={2}", formname, ID, userid); break; case PHTGL_ApproveService.SetSubReview: PHTUrl = string.Format("PHTGL/BiddingManagement/{0}Detail.aspx?SetSubReviewID={1}&PersonId={2}", formname, ID, userid); break; case PHTGL_ApproveService.ContractReview: PHTUrl = string.Format("PHTGL/ContractCompile/{0}Detail.aspx?ContractReviewId={1}&PersonId={2}", formname, ID, userid); break; case PHTGL_ApproveService.Invoice_Input: PHTUrl = string.Format("PHTGL/InvoiceManage/InvoiceOrderDetail.aspx?InvoiceId={0}&Type=0&PersonId={1}", ID, userid); break; case PHTGL_ApproveService.Invoice_Output: PHTUrl = string.Format("PHTGL/InvoiceManage/InvoiceOrderDetail.aspx?InvoiceId={0}&Type=1&PersonId={1}", ID, userid); break; } url = url + PHTUrl; return url; } /// /// 获取审批表单主界面(用于推送给创建者) /// /// /// /// /// public static string geturl_Form(string projectid, string formname, string userid) { //string SGGLUrl = Funs.SGGLUrl.Substring(Funs.SGGLUrl.IndexOf("//") + 2); string SGGLUrl = Funs.SGGLUrl; //string url = string.Format("{0}/indexProject.aspx?projectId={1}&PHTUserid={2}&", SGGLUrl, projectid, userid); string url = string.Format("{0}/indexProject.aspx?projectId={1}&", SGGLUrl, projectid); string PHTUrl = ""; switch (formname) { case PHTGL_ApproveService.ActionPlanReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}.aspx", formname); break; case PHTGL_ApproveService.BidDocumentsReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}.aspx", formname); break; case PHTGL_ApproveService.ApproveUserReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}.aspx", formname); break; case PHTGL_ApproveService.SetSubReview: PHTUrl = string.Format("PHTUrl=PHTGL/BiddingManagement/{0}.aspx", formname); break; case PHTGL_ApproveService.ContractReview: PHTUrl = string.Format("PHTUrl=PHTGL/ContractCompile/{0}.aspx", formname); break; case PHTGL_ApproveService.ContractReview_Countersign: PHTUrl = string.Format("PHTUrl=PHTGL/ContractCompile/{0}.aspx", formname); break; case PHTGL_ApproveService.Invoice_Input: PHTUrl = string.Format("PHTUrl=PHTGL/InvoiceManage/InvoiceOrder.aspx"); break; case PHTGL_ApproveService.Invoice_Output: PHTUrl = string.Format("PHTUrl=PHTGL/InvoiceManage/InvoiceOrder.aspx"); break; } url = url + PHTUrl; return url; } public static void Pushoa_Creater(string id) { //return; string strjson = ""; string returnjson = ""; OAWebService.OfsTodoDataWebServicePortTypeClient OAWeb = new OAWebService.OfsTodoDataWebServicePortTypeClient(); OAWebJson webJson = new OAWebJson(); webJson.syscode = "shigong"; webJson.workflowname = "审批"; webJson.appurl = ""; webJson.receivedatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); webJson.createdatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); var users = PHTGL_ApproveService.GetPHTGL_ApproveById(id); try { switch (users.ApproveForm) { case PHTGL_ApproveService.ActionPlanReview: var Acp = BLL.PHTGL_ActionPlanReviewService.GetPHTGL_ActionPlanReviewById(users.ContractId); if (Acp != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Acp.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); var Act = BLL.PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(Acp.ActionPlanID); webJson.flowid = users.ApproveId; webJson.requestname = "施工分包实施计划审批(被拒) " + Act.ProjectShortName + " " + Act.BidProject; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(Act.ProjectID, PHTGL_ApproveService.ActionPlanReview, gereceiver.PersonId); webJson.appurl = getAppurl(Act.ProjectID, PHTGL_ApproveService.ActionPlanReview, Acp.ActionPlanReviewId, gereceiver.PersonId); } break; case PHTGL_ApproveService.ApproveUserReview: var BidApp = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(users.ContractId); if (BidApp != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(BidApp.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); webJson.flowid = users.ApproveId; webJson.requestname = "评标小组名单审批(被拒) " + ProjectService.GetProjectNameByProjectId(BidApp.ProjectId) + BidApp.BidProject; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(BidApp.ProjectId, PHTGL_ApproveService.ApproveUserReview, gereceiver.PersonId); webJson.appurl = getAppurl(BidApp.ProjectId, PHTGL_ApproveService.ApproveUserReview, BidApp.ApproveUserReviewID, gereceiver.PersonId); } break; case PHTGL_ApproveService.BidDocumentsReview: var Biddoc = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(users.ContractId); if (Biddoc != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Biddoc.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); webJson.flowid = users.ApproveId; webJson.requestname = "招标文件审批(被拒) " + ProjectService.GetProjectNameByProjectId(Biddoc.ProjectId) + Biddoc.BidDocumentsName; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(Biddoc.ProjectId, PHTGL_ApproveService.BidDocumentsReview, gereceiver.PersonId); webJson.appurl = getAppurl(Biddoc.ProjectId, PHTGL_ApproveService.BidDocumentsReview, Biddoc.BidDocumentsReviewId, gereceiver.PersonId); } break; case PHTGL_ApproveService.SetSubReview: var Sub = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(users.ContractId); var BidApp2 = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(Sub.BidDocumentsReviewId); if (Sub != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Sub.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); webJson.flowid = users.ApproveId; webJson.requestname = "确定分包商审批审批(被拒) " + ProjectService.GetProjectNameByProjectId(BidApp2.ProjectId); webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(BidApp2.ProjectId, PHTGL_ApproveService.SetSubReview, gereceiver.PersonId); webJson.appurl = getAppurl(BidApp2.ProjectId, PHTGL_ApproveService.SetSubReview, Sub.SetSubReviewID, gereceiver.PersonId); } break; case PHTGL_ApproveService.ContractReview: var Ctr = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(users.ContractId); var Con = BLL.ContractService.GetContractById(Ctr.ContractId); if (Ctr != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Ctr.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); webJson.flowid = users.ApproveId; webJson.requestname = "合同审批(被拒) " + Con.ProjectShortName + Con.ContractName; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(Con.ProjectId, PHTGL_ApproveService.ContractReview, gereceiver.PersonId); webJson.appurl = getAppurl(Con.ProjectId, PHTGL_ApproveService.ContractReview, Ctr.ContractReviewId, gereceiver.PersonId); } break; case PHTGL_ApproveService.ContractReview_Countersign: var Ctr_Co = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(users.ContractId); var Con_Co = BLL.ContractService.GetContractById(Ctr_Co.ContractId); if (Ctr_Co != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Ctr_Co.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); webJson.flowid = users.ApproveId; webJson.requestname = "合同评审(被拒) " + Con_Co.ProjectShortName + Con_Co.ContractName; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(Con_Co.ProjectId, PHTGL_ApproveService.ContractReview_Countersign, gereceiver.PersonId); webJson.appurl = getAppurl(Con_Co.ProjectId, PHTGL_ApproveService.ContractReview, Ctr_Co.ContractReviewId, gereceiver.PersonId); } break; case PHTGL_ApproveService.Invoice_Input: var invoice = BLL.PhtglInvoiceService.GetPHTGL_InvoiceById(users.ContractId); if (invoice != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(invoice.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); var project = BLL.ProjectService.GetProjectByProjectId(invoice.ProjectId); webJson.flowid = users.ApproveId; webJson.requestname = "入库单审批(被拒) " + project.ProjectName; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(invoice.ProjectId, PHTGL_ApproveService.Invoice_Input, gereceiver.PersonId); webJson.appurl = getAppurl(invoice.ProjectId, PHTGL_ApproveService.Invoice_Input, invoice.InvoiceId, gereceiver.PersonId); } break; case PHTGL_ApproveService.Invoice_Output: var invoice_output = BLL.PhtglInvoiceService.GetPHTGL_InvoiceById(users.ContractId); if (invoice_output != null) { var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(invoice_output.CreateUser); var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(users.ApproveMan); var project = BLL.ProjectService.GetProjectByProjectId(invoice_output.ProjectId); webJson.flowid = users.ApproveId; webJson.requestname = "出库单审批(被拒) " + project.ProjectName; webJson.nodename = users.ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl_Form(invoice_output.ProjectId, PHTGL_ApproveService.Invoice_Output, gereceiver.PersonId); webJson.appurl = getAppurl(invoice_output.ProjectId, PHTGL_ApproveService.Invoice_Output, invoice_output.InvoiceId, gereceiver.PersonId); } break; } strjson = JsonConvert.SerializeObject(webJson); returnjson = OAWeb.receiveTodoRequestByJson(strjson); APICommonService.SaveSysHttpLog("OA_RefuseReturn", strjson, returnjson); ReviceReturn reviceReturn = JsonConvert.DeserializeObject(returnjson); if (reviceReturn.operResult == "1") { var Approve = PHTGL_ApproveService.GetPHTGL_ApproveById(users.ApproveId); Approve.IsPushOa = 3; PHTGL_ApproveService.UpdatePHTGL_Approve(Approve); } } catch (Exception ex) { strjson += "----" + users.ApproveId; returnjson = ex.ToString(); APICommonService.SaveSysHttpLog("OA_RefuseReturn", strjson, returnjson); ErrLogInfo.WriteLog(ex.ToString()); } } public static void Pushoa() { // return; string strjson = ""; string returnjson = ""; OAWebService.OfsTodoDataWebServicePortTypeClient OAWeb = new OAWebService.OfsTodoDataWebServicePortTypeClient(); OAWebJson webJson = new OAWebJson(); webJson.syscode = "shigong"; webJson.workflowname = "审批"; webJson.appurl = ""; webJson.receivedatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); webJson.createdatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); var users = PHTGL_ApproveService.GetApproves_NopushOa(); if (users.Count > 0) { for (int i = 0; i < users.Count; i++) { try { switch (users[i].ApproveForm) { case PHTGL_ApproveService.ActionPlanReview: var Acp = BLL.PHTGL_ActionPlanReviewService.GetPHTGL_ActionPlanReviewById(users[i].ContractId); if (Acp != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(Acp.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); var Act = BLL.PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(Acp.ActionPlanID); webJson.flowid = users[i].ApproveId; webJson.requestname = "施工分包实施计划审批 " + Act.ProjectShortName + " " + Act.BidProject; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(Act.ProjectID, PHTGL_ApproveService.ActionPlanReview, Acp.ActionPlanReviewId, users[i].ApproveMan); webJson.appurl = getAppurl(Act.ProjectID, PHTGL_ApproveService.ActionPlanReview, Acp.ActionPlanReviewId, users[i].ApproveMan); } break; case PHTGL_ApproveService.ApproveUserReview: var BidApp = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(users[i].ContractId); if (BidApp != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(BidApp.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); webJson.flowid = users[i].ApproveId; webJson.requestname = "评标小组名单审批 " + ProjectService.GetProjectNameByProjectId(BidApp.ProjectId) + BidApp.BidProject; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(BidApp.ProjectId, PHTGL_ApproveService.ApproveUserReview, BidApp.ApproveUserReviewID, users[i].ApproveMan); webJson.appurl = getAppurl(BidApp.ProjectId, PHTGL_ApproveService.ApproveUserReview, BidApp.ApproveUserReviewID, users[i].ApproveMan); } break; case PHTGL_ApproveService.BidDocumentsReview: var Biddoc = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(users[i].ContractId); if (Biddoc != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(Biddoc.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); webJson.flowid = users[i].ApproveId; webJson.requestname = "招标文件审批 " + ProjectService.GetProjectNameByProjectId(Biddoc.ProjectId) + Biddoc.BidDocumentsName; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(Biddoc.ProjectId, PHTGL_ApproveService.BidDocumentsReview, Biddoc.BidDocumentsReviewId, users[i].ApproveMan); webJson.appurl = getAppurl(Biddoc.ProjectId, PHTGL_ApproveService.BidDocumentsReview, Biddoc.BidDocumentsReviewId, users[i].ApproveMan); } break; case PHTGL_ApproveService.SetSubReview: var Sub = BLL.PHTGL_SetSubReviewService.GetPHTGL_SetSubReviewById(users[i].ContractId); var Biddoc2 = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(Sub.BidDocumentsReviewId); if (Sub != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(Sub.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); webJson.flowid = users[i].ApproveId; webJson.requestname = "确定分包商审批审批 " + ProjectService.GetProjectNameByProjectId(Biddoc2.ProjectId); webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(Biddoc2.ProjectId, PHTGL_ApproveService.SetSubReview, Sub.SetSubReviewID, users[i].ApproveMan); webJson.appurl = getAppurl(Biddoc2.ProjectId, PHTGL_ApproveService.SetSubReview, Sub.SetSubReviewID, users[i].ApproveMan); } break; case PHTGL_ApproveService.ContractReview: var Ctr = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(users[i].ContractId); var Con = BLL.ContractService.GetContractById(Ctr.ContractId); if (Ctr != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(Ctr.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); webJson.flowid = users[i].ApproveId; webJson.requestname = "合同审批 " + Con.ProjectShortName + Con.ContractName; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(Con.ProjectId, PHTGL_ApproveService.ContractReview, Ctr.ContractReviewId, users[i].ApproveMan); webJson.appurl = getAppurl(Con.ProjectId, PHTGL_ApproveService.ContractReview, Ctr.ContractReviewId, users[i].ApproveMan); } break; case PHTGL_ApproveService.ContractReview_Countersign: var Ctr_Co = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(users[i].ContractId); var Con_Co = BLL.ContractService.GetContractById(Ctr_Co.ContractId); if (Ctr_Co != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(Ctr_Co.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); webJson.flowid = users[i].ApproveId; webJson.requestname = "合同评审 " + Con_Co.ProjectShortName + Con_Co.ContractName; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(Con_Co.ProjectId, PHTGL_ApproveService.ContractReview, Ctr_Co.ContractReviewId, users[i].ApproveMan); webJson.appurl = getAppurl(Con_Co.ProjectId, PHTGL_ApproveService.ContractReview, Ctr_Co.ContractReviewId, users[i].ApproveMan); } break; case PHTGL_ApproveService.Invoice_Input: var invoice = BLL.PhtglInvoiceService.GetPHTGL_InvoiceById(users[i].ContractId); if (invoice != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(invoice.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); var project = BLL.ProjectService.GetProjectByProjectId(invoice.ProjectId); webJson.flowid = users[i].ApproveId; webJson.requestname = "入库单审批 " + project.ProjectName; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(invoice.ProjectId, PHTGL_ApproveService.Invoice_Input, invoice.InvoiceId, users[i].ApproveMan); webJson.appurl = getAppurl(invoice.ProjectId, PHTGL_ApproveService.Invoice_Input, invoice.InvoiceId, users[i].ApproveMan); } break; case PHTGL_ApproveService.Invoice_Output: var invoice_output = BLL.PhtglInvoiceService.GetPHTGL_InvoiceById(users[i].ContractId); if (invoice_output != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(invoice_output.CreateUser); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); var project = BLL.ProjectService.GetProjectByProjectId(invoice_output.ProjectId); webJson.flowid = users[i].ApproveId; webJson.requestname = "出库单审批 " + project.ProjectName; webJson.nodename = users[i].ApproveType; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(invoice_output.ProjectId, PHTGL_ApproveService.Invoice_Output, invoice_output.InvoiceId, users[i].ApproveMan); webJson.appurl = getAppurl(invoice_output.ProjectId, PHTGL_ApproveService.Invoice_Output, invoice_output.InvoiceId, users[i].ApproveMan); } break; } strjson = JsonConvert.SerializeObject(webJson); returnjson = OAWeb.receiveTodoRequestByJson(strjson); APICommonService.SaveSysHttpLog("OA_Push", strjson, returnjson); ReviceReturn reviceReturn = JsonConvert.DeserializeObject(returnjson); if (reviceReturn.operResult == "1") { var Approve = PHTGL_ApproveService.GetPHTGL_ApproveById(users[i].ApproveId); Approve.IsPushOa = 1; PHTGL_ApproveService.UpdatePHTGL_Approve(Approve); } } catch (Exception ex) { strjson += "----" + users[i].ApproveId; returnjson = ex.ToString(); APICommonService.SaveSysHttpLog("OA_Push", strjson, returnjson); ErrLogInfo.WriteLog(ex.ToString()); } } } } public static void PushoaActionPlan() { // return; string strjson = ""; string returnjson = ""; OAWebService.OfsTodoDataWebServicePortTypeClient OAWeb = new OAWebService.OfsTodoDataWebServicePortTypeClient(); OAWebJson webJson = new OAWebJson(); webJson.syscode = "shigong"; webJson.workflowname = "审批"; webJson.appurl = ""; webJson.receivedatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); webJson.createdatetime = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); var users = ActionPlanListApproveService.GetApproves_NopushOa(); if (users.Count > 0) { for (int i = 0; i < users.Count; i++) { try { var ActionPlanList = BLL.ActionPlanListService.GetActionPlanListById(users[i].ActionPlanListId); if (ActionPlanList != null) { var geCreatUser = BLL.Person_PersonsService.GetPerson_PersonsById(ActionPlanList.CompileMan); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(users[i].ApproveMan); var project = BLL.ProjectService.GetProjectByProjectId(ActionPlanList.ProjectId); string shortProjectName = string.Empty; if (project != null) { shortProjectName = project.ShortName; } webJson.flowid = users[i].ActionPlanListApproveId; webJson.requestname = "安全实施计划审批 " + shortProjectName; webJson.nodename = "公司部门审批"; webJson.creator = geCreatUser.JobNum; webJson.receiver = gereceiver.JobNum; webJson.pcurl = geturl(ActionPlanList.ProjectId, ActionPlanListApproveService.ActionPlanListEdit, ActionPlanList.ActionPlanListId, users[i].ApproveMan); webJson.appurl = getAppurl(ActionPlanList.ProjectId, ActionPlanListApproveService.ActionPlanListEdit, ActionPlanList.ActionPlanListId, users[i].ApproveMan); } strjson = JsonConvert.SerializeObject(webJson); returnjson = OAWeb.receiveTodoRequestByJson(strjson); APICommonService.SaveSysHttpLog("OA_Push", strjson, returnjson); ReviceReturn reviceReturn = JsonConvert.DeserializeObject(returnjson); if (reviceReturn.operResult == "1") { var Approve = ActionPlanListApproveService.GetActionPlanListApproveByActionPlanListApproveId(users[i].ActionPlanListApproveId); Approve.IsPushOa = 1; ActionPlanListApproveService.UpdateActionPlanListApprove(Approve); } } catch (Exception ex) { strjson += "----" + users[i].ActionPlanListApproveId; returnjson = ex.ToString(); APICommonService.SaveSysHttpLog("OA_Push", strjson, returnjson); ErrLogInfo.WriteLog(ex.ToString()); } } } } /// /// 处理待办流程(变为已办) /// /// public static void DoneRequest(string id) { // return; OAWebService.OfsTodoDataWebServicePortTypeClient OAWeb = new OAWebService.OfsTodoDataWebServicePortTypeClient(); var Approve = PHTGL_ApproveService.GetPHTGL_ApproveById(id); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Approve.ApproveMan); OaDoneJson webJson = new OaDoneJson(); webJson.syscode = "shigong"; webJson.workflowname = "审批"; webJson.flowid = Approve.ApproveId; webJson.nodename = Approve.ApproveType; webJson.receiver = gereceiver.JobNum; switch (Approve.ApproveForm) { case PHTGL_ApproveService.ActionPlanReview: webJson.requestname = "施工分包实施计划审批"; break; case PHTGL_ApproveService.ApproveUserReview: webJson.requestname = "评标小组名单审批"; break; case PHTGL_ApproveService.BidDocumentsReview: webJson.requestname = "招标文件审批"; break; case PHTGL_ApproveService.SetSubReview: webJson.requestname = "确定分包商审批"; break; case PHTGL_ApproveService.ContractReview_Countersign: webJson.requestname = "合同评审"; break; case PHTGL_ApproveService.ContractReview: webJson.requestname = "合同审批"; break; case PHTGL_ApproveService.Invoice_Input: webJson.requestname = "入库单审批"; break; case PHTGL_ApproveService.Invoice_Output: webJson.requestname = "出库单审批"; break; } string strjson = JsonConvert.SerializeObject(webJson); var returnjson = OAWeb.processDoneRequestByJson(strjson); APICommonService.SaveSysHttpLog("OA_Done", strjson, returnjson); ReviceReturn reviceReturn = JsonConvert.DeserializeObject(returnjson); if (reviceReturn.operResult == "1") { Approve.IsPushOa = 2; PHTGL_ApproveService.UpdatePHTGL_Approve(Approve); } if (Approve.IsPushOa == 0) { Approve.IsPushOa = 2; PHTGL_ApproveService.UpdatePHTGL_Approve(Approve); } } /// /// 处理待办流程(变为已办) /// /// public static void DoneRequestActionPlan(string id) { // return; OAWebService.OfsTodoDataWebServicePortTypeClient OAWeb = new OAWebService.OfsTodoDataWebServicePortTypeClient(); var Approve = ActionPlanListApproveService.GetActionPlanListApproveByActionPlanListApproveId(id); var gereceiver = BLL.Person_PersonsService.GetPerson_PersonsById(Approve.ApproveMan); OaDoneJson webJson = new OaDoneJson(); webJson.syscode = "shigong"; webJson.workflowname = "审批"; webJson.flowid = Approve.ActionPlanListApproveId; webJson.nodename = Approve.ApproveType; webJson.receiver = gereceiver.JobNum; webJson.requestname = "安全实施计划审批"; string strjson = JsonConvert.SerializeObject(webJson); var returnjson = OAWeb.processDoneRequestByJson(strjson); APICommonService.SaveSysHttpLog("OA_Done", strjson, returnjson); ReviceReturn reviceReturn = JsonConvert.DeserializeObject(returnjson); if (reviceReturn.operResult == "1") { Approve.IsPushOa = 2; ActionPlanListApproveService.UpdateActionPlanListApprove(Approve); } if (Approve.IsPushOa == 0) { Approve.IsPushOa = 2; ActionPlanListApproveService.UpdateActionPlanListApprove(Approve); } } } public class OAWebJson { /// /// 异构系统标识 /// public string syscode { get; set; } /// /// 流程任务id /// public string flowid { get; set; } /// /// 标题 /// public string requestname { get; set; } /// /// 流程类型名称 /// public string workflowname { get; set; } /// /// 步骤名称(节点名称) /// public string nodename { get; set; } /// /// PC地址 /// public string pcurl { get; set; } /// /// APP地址 /// public string appurl { get; set; } /// /// 创建人(原值) /// public string creator { get; set; } /// /// 创建日期时间 /// public string createdatetime { get; set; } /// /// 接收人(原值) /// public string receiver { get; set; } /// /// 接收日期时间 /// public string receivedatetime { get; set; } } public class ReviceReturn { /// /// /// public string syscode { get; set; } /// /// /// public string dateType { get; set; } /// /// /// public string operType { get; set; } /// /// /// public string operResult { get; set; } /// /// /// public string message { get; set; } } public class OaDoneJson { /// /// 异构系统标识 /// public string syscode { get; set; } /// /// 流程任务id /// public string flowid { get; set; } /// /// 标题 /// public string requestname { get; set; } /// /// 流程类型名称 /// public string workflowname { get; set; } /// /// 步骤名称(节点名称) /// public string nodename { get; set; } /// /// 接收人(原值) /// public string receiver { get; set; } } }