コード例 #1
0
        /// <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());
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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);
            }
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        /// <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);
            }
        }
コード例 #7
0
        /// <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);
            }
        }