/// <summary> /// 获得数据 /// </summary> void GetData() { m_lnqReviewProcess = new FM_ReviewProcess(); m_lnqReviewProcess.AuditorAdvise = txtAuditorAdvise.Text; m_lnqReviewProcess.FileName = txtFileName.Text; m_lnqReviewProcess.FileNo = txtFileNo.Text; m_lnqReviewProcess.JudgeAdvise = txtJudgeAdvise.Text; m_lnqReviewProcess.Remark = txtRemark.Text; m_lnqReviewProcess.SDBNo = txtSDBNo.Text; m_lnqReviewProcess.SDBStatus = lbSDBStatus.Text; if (llbProposerUpLoad.Tag != null) { m_lnqReviewProcess.FileUnique = new Guid(llbProposerUpLoad.Tag.ToString()); } if (llbAuditorUpLoad.Tag != null) { m_lnqReviewProcess.AuditorFileUnique = new Guid(llbAuditorUpLoad.Tag.ToString()); } if (llbJudgeUpLoad.Tag != null) { m_lnqReviewProcess.JudgeFileUnique = new Guid(llbJudgeUpLoad.Tag.ToString()); } }
/// <summary> /// 部门主管审核 /// </summary> /// <param name="reviewProcess">流程主要信息</param> /// <param name="error">错误信息</param> /// <returns>成功返回true ,失败返回False</returns> public bool AuditProcess(FM_ReviewProcess reviewProcess, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.FM_ReviewProcess where a.SDBNo == reviewProcess.SDBNo select a; if (varData.Count() != 1) { error = "数据错误"; return(false); } else { FM_ReviewProcess lnqTemp = varData.Single(); lnqTemp.Auditor = BasicInfo.LoginName; lnqTemp.AuditorAdvise = reviewProcess.AuditorAdvise; lnqTemp.AuditorFileUnique = reviewProcess.AuditorFileUnique; lnqTemp.AuditorTime = ServerTime.Time; var varPoint = from a in ctx.FM_ReviewProcessPointListInfo where a.SDBNo == lnqTemp.SDBNo && a.OperateTime == null select a; if (varPoint.Count() == 0) { lnqTemp.SDBStatus = "等待判定"; } else { lnqTemp.SDBStatus = "等待相关确认"; } } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
private void 文件审查流程明细_Load(object sender, EventArgs e) { ClearData(); if (m_strSDBNo == null) { txtSDBNo.Text = m_billNoControl.GetNewBillNo(); lbSDBStatus.Text = "新建流程"; } else { m_lnqReviewProcess = m_serverReviewProcess.GetInfo(m_strSDBNo); ShowData(); m_listPointInfo = m_serverReviewProcess.GetListInfo(m_strSDBNo.ToString()); } FlowControl(); PositioningRecord(BasicInfo.LoginID); }
/// <summary> /// 回退流程 /// </summary> /// <param name="sdbNo">流程编号</param> /// <param name="sdbStatus">流程状态</param> /// <param name="reviewProcess">数据集</param> /// <param name="error">错误信息</param> /// <param name="rebackReason">回退原因</param> /// <returns>成功返回True,失败返回False</returns> public bool ReturnBill(string sdbNo, string sdbStatus, FM_ReviewProcess reviewProcess, out string error, string rebackReason) { error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; try { var varData = from a in dataContxt.FM_ReviewProcess where a.SDBNo == sdbNo select a; string strMsg = ""; if (varData.Count() == 1) { FM_ReviewProcess lnqTemp = varData.Single(); strMsg = string.Format("{0}号文件审查流程已回退,请您重新处理单据; 回退原因为" + rebackReason, sdbNo); m_billMessageServer.PassFlowMessage(sdbNo, strMsg, UniversalFunction.GetPersonnelCode(lnqTemp.Propoer), false); lnqTemp.SDBStatus = "新建流程"; lnqTemp.Auditor = reviewProcess.Auditor; lnqTemp.AuditorTime = ServerTime.Time; //lnqTemp.AuditorAdvise = reviewProcess.AuditorAdvise; //lnqTemp.AuditorFileUnique = reviewProcess.AuditorFileUnique; dataContxt.SubmitChanges(); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 判定流程信息 /// </summary> /// <param name="reviewProcess">流程主要信息</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool JudgeProcess(FM_ReviewProcess reviewProcess, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.FM_ReviewProcess where a.SDBNo == reviewProcess.SDBNo select a; if (varData.Count() != 1) { error = "数据错误"; return(false); } else { FM_ReviewProcess lnqTemp = varData.Single(); lnqTemp.SDBStatus = "流程已结束"; lnqTemp.JudgeTime = ServerTime.Time; lnqTemp.Judge = BasicInfo.LoginName; lnqTemp.JudgeFileUnique = reviewProcess.JudgeFileUnique; lnqTemp.JudgeAdvise = reviewProcess.JudgeAdvise; } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 相关人确认流程信息 /// </summary> /// <param name="sdbNo">流程单号</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool PointAffirmProcess(string sdbNo, out string error) { error = null; DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { var varData = from a in ctx.FM_ReviewProcessPointListInfo where a.SDBNo == sdbNo && a.PointPersonnel == BasicInfo.LoginID select a; if (varData.Count() != 1) { throw new Exception("数据错误"); } else { FM_ReviewProcessPointListInfo lnqTemp = varData.Single(); lnqTemp.OperateTime = ServerTime.Time; } ctx.SubmitChanges(); varData = from a in ctx.FM_ReviewProcessPointListInfo where a.SDBNo == sdbNo && a.OperateTime == null select a; if (varData.Count() == 0) { var varMain = from a in ctx.FM_ReviewProcess where a.SDBNo == sdbNo select a; if (varMain.Count() != 1) { throw new Exception("数据错误"); } else { FM_ReviewProcess lnqReview = varMain.Single(); lnqReview.SDBStatus = "等待判定"; m_billMessageServer.PassFlowMessage(sdbNo, string.Format("{0}号文件审查流程已确认,请体系工程师判定", sdbNo), BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.体系工程师.ToString()); } } else { List <string> list = new List <string>(); foreach (FM_ReviewProcessPointListInfo item in varData) { if (item.PointPersonnel != BasicInfo.LoginID) { list.Add(item.PointPersonnel); } } m_billMessageServer.PassFlowMessage(sdbNo, string.Format("{0}号文件审查流程已审核,请相关人员确认", sdbNo), BillFlowMessage_ReceivedUserType.用户, list); } ctx.SubmitChanges(); ctx.Transaction.Commit(); return(true); } catch (Exception ex) { error = ex.Message; ctx.Transaction.Rollback(); return(false); } }
/// <summary> /// 新建流程 /// </summary> /// <param name="reviewProcess">流程主要信息</param> /// <param name="pointPersonnel">指定相关确认人</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool AddProcess(FM_ReviewProcess reviewProcess, List <string> pointPersonnel, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.FM_ReviewProcess where a.SDBNo == reviewProcess.SDBNo select a; if (varData.Count() == 0) { FM_ReviewProcess lnqTemp = new FM_ReviewProcess(); lnqTemp.SDBNo = reviewProcess.SDBNo; lnqTemp.SDBStatus = "等待主管审核"; lnqTemp.Remark = reviewProcess.Remark; lnqTemp.Propoer = BasicInfo.LoginName; lnqTemp.PropoerTime = ServerTime.Time; lnqTemp.FileName = reviewProcess.FileName; lnqTemp.FileNo = reviewProcess.FileNo; lnqTemp.FileUnique = reviewProcess.FileUnique; ctx.FM_ReviewProcess.InsertOnSubmit(lnqTemp); } else if (varData.Count() == 1) { FM_ReviewProcess lnqTemp = varData.Single(); lnqTemp.SDBNo = reviewProcess.SDBNo; lnqTemp.SDBStatus = "等待主管审核"; lnqTemp.Remark = reviewProcess.Remark; lnqTemp.Propoer = BasicInfo.LoginName; lnqTemp.PropoerTime = ServerTime.Time; lnqTemp.FileName = reviewProcess.FileName; lnqTemp.FileNo = reviewProcess.FileNo; lnqTemp.FileUnique = reviewProcess.FileUnique; } else { error = "数据错误"; return(false); } var varList = from a in ctx.FM_ReviewProcessPointListInfo where a.SDBNo == reviewProcess.SDBNo select a; ctx.FM_ReviewProcessPointListInfo.DeleteAllOnSubmit(varList); //var varPersonnel = (from a in ctx.HR_Personnel // where pointPersonnel.Contains(a.WorkID) // select a.Dept.Substring(0, 2)).Distinct(); //PlatformManagement.IDeptManagerRole deptManagerRole = PlatformFactory.GetObject<IDeptManagerRole>(); //PlatformManagement.IUserManagement userManagerRole = PlatformFactory.GetObject<IUserManagement>(); //foreach (string item in varPersonnel) //{ // IQueryable<View_Auth_User> usersInfo = // userManagerRole.GetUsers(deptManagerRole.GetManagementRole(item, RoleStyle.负责人).Keys.ToArray()); // if (usersInfo != null) // { // pointPersonnel.AddRange((from r in usersInfo select r.登录名).ToList()); // } //} foreach (string personnel in pointPersonnel) { FM_ReviewProcessPointListInfo lnqPoint = new FM_ReviewProcessPointListInfo(); lnqPoint.SDBNo = reviewProcess.SDBNo; lnqPoint.PointPersonnel = personnel; ctx.FM_ReviewProcessPointListInfo.InsertOnSubmit(lnqPoint); } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }