Esempio n. 1
0
        public ActionResult start(OilMaterialOrder oi, Guid?p_id)
        {
            //var list = (from a in osms.ProcessStepRecord join b in osms.Staff on a.WaitForExecutionStaffId equals b.Id join c in osms.Job on b.JobId equals c.Id join d in osms.OrganizationStructure on b.OrgID equals d.Id where a.RefOrderId == strRefOrderId orderby a.StepOrder select new { Result = a.Result, WhetherToExecute = a.WhetherToExecute, uName = b.Name, JobName = c.Name, OrgName = d.Name }).ToList();
            var ap = osms.Approver.Where(x => x.ProcessItemId == p_id).ToList();

            Staff sta = osms.Staff.Where(x => x.Id == oi.ApplyPersonId).FirstOrDefault();

            //获取机构
            List <Guid?> listOrg = new List <Guid?>();

            listOrg.Add(sta.OrgID);
            selorg(sta.OrgID, ref listOrg);

            foreach (var item in ap)
            {
                var s = (from a in osms.Staff
                         join b in osms.Job
                         on a.JobId equals b.Id
                         where (listOrg.Contains(a.OrgID)) && b.Code == item.JobCode
                         select new
                {
                    WaitForExecutionStaffId = a.Id
                }).FirstOrDefault();

                ProcessStepRecord psr = new ProcessStepRecord();
                psr.Id         = Guid.NewGuid();
                psr.StepOrder  = item.Order;
                psr.CreateTime = DateTime.Now.ToLocalTime();
                psr.UpdateTime = DateTime.Now.ToLocalTime();
                psr.WaitForExecutionStaffId = s.WaitForExecutionStaffId;
                psr.WhetherToExecute        = false;
                psr.No         = oi.No;
                psr.RefOrderId = oi.Id;
                psr.Result     = false;
                psr.Type       = (osms.ProcessItem.Where(x => x.Id == p_id).FirstOrDefault()).Code;
                psr.Discrible  = "未审批";

                osms.ProcessStepRecord.Add(psr);
            }

            int i = osms.SaveChanges();

            if (i > 0)
            {
                return(Content("OK"));
            }
            else
            {
                return(Content("NO"));
            }
        }
Esempio n. 2
0
        public ActionResult LeaveApproverSubmitAdd(Guid LeaveId, Guid ApplyPersonId, string No)
        {
            ProcessStepRecord p = new ProcessStepRecord();

            p.Id                      = Guid.NewGuid();
            p.Type                    = "LeaveOffice";
            p.RecordRemarks           = "";
            p.StepOrder               = 0;
            p.WaitForExecutionStaffId = ApplyPersonId;
            p.CreateTime              = DateTime.Now;
            p.UpdateTime              = DateTime.Now;
            p.WhetherToExecute        = true;
            p.No                      = No;
            p.RefOrderId              = LeaveId;
            p.Result                  = true; //默认为0,即通过
            p.ExecuteMethod           = "";
            p.Discrible               = "";
            db.ProcessStepRecord.Add(p);
            int i = db.SaveChanges();

            return(Json(i > 0, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 增添数据
        /// </summary>
        /// <param name="leaveOffice"></param>
        /// <returns></returns>
        public bool AddLeaveOffices(LeaveOffice leaveOffice)
        {
            int Record = 0;

            _leaveOfficeResposit.StatrAffair(() =>
            {
                leaveOffice.IsDel = "0";
                int leaveId       = _leaveOfficeResposit.AddCreateInfo(leaveOffice);
                ProcessStepRecord processStepRecord = new ProcessStepRecord();
                processStepRecord.Typed             = ProcessType.员工离职审批流程.ToString();
                processStepRecord.RecordRemarks     = leaveOffice.Reason;
                processStepRecord.CreateTime        = DateTime.Now;
                processStepRecord.WhetherToExecute  = 1;
                processStepRecord.NoN    = leaveId.ToString();
                processStepRecord.Result = 1;

                if (leaveOffice.JobId == (int)JobEmun.油站员工)
                {
                    processStepRecord.OilStation = 1;
                }
                else if (leaveOffice.JobId == (int)JobEmun.油站经理 || leaveOffice.JobId == (int)JobEmun.人事员工 || leaveOffice.JobId == (int)JobEmun.主管 || leaveOffice.JobId == (int)JobEmun.财务经理)
                {
                    processStepRecord.ExecutiveDirector = 1;
                }
                else if (leaveOffice.JobId == (int)JobEmun.人事经理)
                {
                    processStepRecord.GeneralManager = 1;
                }
                else if (leaveOffice.JobId == (int)JobEmun.总经理)
                {
                    processStepRecord.ChiefInspector = 1;
                }

                Record += _processStepRecordResposit.AddInfo(processStepRecord);
            });
            return(Record > 0);
        }
Esempio n. 4
0
        /// <summary>
        /// 审批确定油料申请数据
        /// </summary>
        /// <returns></returns>
        public string UpdateyouliaoInfo(string remack, int oilmId, int jobId)
        {
            string rutes = string.Empty;

            _processStepRecordResposit.StatrAffair(() =>
            {
                ProcessStepRecord processStepRecord           = new ProcessStepRecord();
                ProcessStepRecord processStep                 = _processStepRecordResposit.FindAll().FirstOrDefault(x => x.RefOrderId == oilmId);
                OilMaterialOrder oilMaterialOrder             = _oilMaterialOrderResposit.FindAll().FirstOrDefault(x => x.Id == oilmId);
                oilMaterialOrder.UpdateTime                   = DateTime.Now;
                OilMaterialOrderDetail oilMaterialOrderDetail = _oilMaterialOrderDetailResposit.FindAll().FirstOrDefault(x => x.OrderId == oilmId);
                oilMaterialOrderDetail.UpdateTime             = DateTime.Now;
                if ((int)JobEmun.油站经理 == jobId)
                {
                    if (remack == "同意")
                    {
                        processStep.OilStation       = 0;
                        processStep.OilStationRemark = remack;
                        processStep.Result           = 2;
                    }
                    else
                    {
                        processStep.OilStation       = 2; //不同意该申请
                        processStep.OilStationRemark = remack;
                        processStep.Result           = 3;
                    }
                }
                else if ((int)JobEmun.主管 == jobId)
                {
                    if (remack == "同意")
                    {
                        processStep.GeneralManagerOfPerson       = 0;
                        processStep.GeneralManagerOfPersonRemark = remack;
                        processStep.Result = 2;
                    }
                    else
                    {
                        processStep.GeneralManagerOfPerson       = 2; //不同意该申请
                        processStep.GeneralManagerOfPersonRemark = remack;
                        processStep.Result = 3;
                    }
                }
                else if ((int)JobEmun.总经理 == jobId)
                {
                    if (remack == "同意")
                    {
                        processStep.GeneralManager       = 0;
                        processStep.GeneralManagerRemark = remack;
                        processStep.Result = 2;
                    }
                    else
                    {
                        processStep.GeneralManager       = 2; //不同意该申请
                        processStep.GeneralManagerRemark = remack;
                        processStep.Result = 3;
                    }
                }
                else if ((int)JobEmun.总监 == jobId)
                {
                    if (remack == "同意")
                    {
                        processStep.ChiefInspector       = 0;
                        processStep.ChiefInspectorRemark = remack;
                        processStep.Result = 2;
                    }
                    else
                    {
                        processStep.ChiefInspector       = 2; //不同意该申请
                        processStep.ChiefInspectorRemark = remack;
                        processStep.Result = 3;
                    }
                }
                _processStepRecordResposit.UpdateInfo((x) => new ProcessStepRecord
                {
                    OilStation                   = processStep.OilStation,
                    OilStationRemark             = processStep.OilStationRemark,
                    GeneralManagerOfPersonRemark = processStep.GeneralManagerOfPersonRemark,
                    GeneralManagerOfPerson       = processStep.GeneralManagerOfPerson,
                    GeneralManager               = processStep.GeneralManager,
                    GeneralManagerRemark         = processStep.GeneralManagerRemark,
                    ChiefInspector               = processStep.ChiefInspector,
                    ChiefInspectorRemark         = processStep.ChiefInspectorRemark,
                    Result = processStep.Result
                }, x => x.Id == processStep.Id);

                _oilMaterialOrderDetailResposit.UpdateInfo((x) => new OilMaterialOrderDetail
                {
                    UpdateTime = oilMaterialOrderDetail.UpdateTime
                }, x => x.Id == oilMaterialOrderDetail.Id);

                _oilMaterialOrderResposit.UpdateInfo((x) => new OilMaterialOrder
                {
                    UpdateTime = oilMaterialOrder.UpdateTime
                }, x => x.Id == oilMaterialOrderDetail.Id);

                rutes = "ok";
            });
            return(rutes);
        }
Esempio n. 5
0
        /// <summary>
        /// 增添订单
        /// </summary>
        /// <param name="oilMaterialOrderDto"></param>
        /// <returns></returns>
        public bool AddOilMatOrder(OilMaterialOrderDto oilMaterialOrderDto, ref string rem)
        {
            Staff staff = _staffResposit.FindAll().Where(x => x.NoN == oilMaterialOrderDto.StaffNoN).FirstOrDefault();

            if (staff == null)
            {
                rem = "未找到这个用户!!!";
                return(false);
            }
            int num = 0;

            //开启事务
            _oilMaterialOrderResposit.StatrAffairs(() =>
            {
                int OrderId = _oilMaterialOrderResposit.AddCreateInfo(new OilMaterialOrder
                {
                    StaffNoN   = oilMaterialOrderDto.StaffNoN,
                    NoN        = GetTime.GetTimeAll() + GetTime.GetTimeStamp() + "_" + GetTime.GetRandom(),
                    ApplyDate  = DateTime.Now,
                    Remark     = oilMaterialOrderDto.Remark,
                    IsDel      = 0,
                    CreateTime = DateTime.Now,
                    IsPanke    = 0,
                    IsLaunch   = 0
                });
                _oilMaterialOrderDetailResposit.AddInfo(new OilMaterialOrderDetail
                {
                    OrderId    = OrderId,
                    CreateTime = DateTime.Now,
                    DayAvg     = oilMaterialOrderDto.DayAvg,
                    IsDel      = 0,
                    NeedAmount = oilMaterialOrderDto.NeedAmount,
                    OilSpec    = oilMaterialOrderDto.OilSpec,
                    Surplus    = oilMaterialOrderDto.Surplus,
                    Volume     = oilMaterialOrderDto.Volume
                });

                ProcessStepRecord processStepRecord = new ProcessStepRecord();

                //根据申请油料的多少决定有谁来审批
                if (oilMaterialOrderDto.NeedAmount <= 1000)
                {
                    processStepRecord.OilStation = 1;
                }
                else if (oilMaterialOrderDto.NeedAmount > 1000 && oilMaterialOrderDto.NeedAmount <= 10000)
                {
                    processStepRecord.GeneralManagerOfPerson = 1;
                }
                else if (oilMaterialOrderDto.NeedAmount > 10000 && oilMaterialOrderDto.NeedAmount <= 50000)
                {
                    processStepRecord.GeneralManagerOfPerson = 1;
                    processStepRecord.GeneralManager         = 1;
                }
                else if (oilMaterialOrderDto.NeedAmount > 50000)
                {
                    processStepRecord.ChiefInspector = 1;
                }

                processStepRecord.Typed         = ProcessType.油料申请审批流程.ToString();
                processStepRecord.RecordRemarks = oilMaterialOrderDto.Remark;
                processStepRecord.NoN           = NewNoN();
                processStepRecord.RefOrderId    = OrderId; //申请油料订单的id
                _processStepRecordResposit.AddInfo(processStepRecord);
                num++;
            });
            return(num > 0);
        }
        /// <summary>
        /// 确定审批意见
        /// </summary>
        /// <returns></returns>
        public string UpdateLizhiInfo(int JobId, string Remack, int ProceId, string staffName)
        {
            //开启事务
            _leaveOfficeResposit.StatrAffair(() =>
            {
                //查询出当前审批数据记录
                ProcessStepRecord processStepRecord = _processStepRecordResposit.FindAll().FirstOrDefault(x => x.Id == ProceId);
                processStepRecord.Result            = 1; //正在审核

                if ((int)JobEmun.油站经理 == JobId)
                {
                    processStepRecord.OilStation       = 0;
                    processStepRecord.OilStationRemark = staffName + Remack;
                    if (processStepRecord.ExecutiveDirector == null && Remack == "同意")
                    {
                        UpdataStaffInfoaBylizi(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.人事经理 == JobId)
                {
                    processStepRecord.ExecutiveDirector       = 0;
                    processStepRecord.ExecutiveDirectorRemark = staffName + Remack;
                    if (processStepRecord.OilStation == null && processStepRecord.GeneralManagerOfPerson == null && Remack == "同意")
                    {
                        UpdataStaffInfoaBylizi(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.主管 == JobId)
                {
                    processStepRecord.GeneralManagerOfPerson       = 0;
                    processStepRecord.GeneralManagerOfPersonRemark = staffName + Remack;
                    if (processStepRecord.ExecutiveDirector == 0 && Remack == "同意")
                    {
                        UpdataStaffInfoaBylizi(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.总经理 == JobId)
                {
                    processStepRecord.GeneralManager       = 0;
                    processStepRecord.GeneralManagerRemark = staffName + Remack;
                }
                else if ((int)JobEmun.总监 == JobId)
                {
                    processStepRecord.ChiefInspector       = 0;
                    processStepRecord.ChiefInspectorRemark = staffName + Remack;

                    if (processStepRecord.GeneralManager == 0 && Remack == "同意")
                    {
                        UpdataStaffInfoaBylizi(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                _processStepRecordResposit.UpdateInfo((x) => new ProcessStepRecord
                {
                    OilStation                   = processStepRecord.OilStation,
                    OilStationRemark             = processStepRecord.OilStationRemark,
                    ExecutiveDirector            = processStepRecord.ExecutiveDirector,
                    ExecutiveDirectorRemark      = processStepRecord.ExecutiveDirectorRemark,
                    GeneralManagerOfPerson       = processStepRecord.GeneralManagerOfPerson,
                    GeneralManagerOfPersonRemark = processStepRecord.GeneralManagerOfPersonRemark,
                    GeneralManager               = processStepRecord.GeneralManager,
                    GeneralManagerRemark         = processStepRecord.GeneralManagerRemark,
                    ChiefInspector               = processStepRecord.ChiefInspector,
                    ChiefInspectorRemark         = processStepRecord.ChiefInspectorRemark,
                    Result = processStepRecord.Result
                }, x => x.Id == processStepRecord.Id);
            });
            return("ok");
        }
        /// <summary>
        /// 确定审批意见
        /// </summary>
        /// <returns></returns>
        public string UpdateRuzhiInfo(int JobId, string Remack, int ProceId, string staffName)
        {
            //开启事务
            _processStepRecordResposit.StatrAffair(() =>
            {
                //查询得出当前审批的数据
                ProcessStepRecord processStepRecord = _processStepRecordResposit.FindAll().FirstOrDefault(x => x.Id == ProceId);
                processStepRecord.Result            = 1;//表示审核中

                //判断审批人的职位
                if ((int)JobEmun.油站经理 == JobId)
                {
                    processStepRecord.OilStation       = 0;
                    processStepRecord.OilStationRemark = staffName + Remack;
                    //判断当前这个审批的数据是否为最后一个人审批
                    if (processStepRecord.ExecutiveDirector == null && Remack == "同意")
                    {
                        AddStaffInfo(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.人事经理 == JobId)
                {
                    processStepRecord.ExecutiveDirector       = 0;
                    processStepRecord.ExecutiveDirectorRemark = staffName + Remack;

                    if (processStepRecord.OilStation == null && processStepRecord.GeneralManagerOfPerson == null && Remack == "同意")
                    {
                        //人事员工的最后一个审批人
                        AddStaffInfo(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.主管 == JobId)
                {
                    processStepRecord.GeneralManagerOfPerson       = 0;
                    processStepRecord.GeneralManagerOfPersonRemark = staffName + Remack;

                    if (processStepRecord.ExecutiveDirector == 0 && processStepRecord.GeneralManager == null && Remack == "同意")
                    {
                        //油站经理  和 财务经理 的最后一个审批人
                        AddStaffInfo(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }
                else if ((int)JobEmun.总经理 == JobId)
                {
                    processStepRecord.GeneralManager       = 0;
                    processStepRecord.GeneralManagerRemark = staffName + Remack;
                }
                else if ((int)JobEmun.总监 == JobId)
                {
                    processStepRecord.ChiefInspector       = 0;
                    processStepRecord.ChiefInspectorRemark = staffName + Remack;

                    if (processStepRecord.GeneralManager == 0 && Remack == "同意")
                    {
                        // 人事经理 和 主管的最后一个审批人
                        AddStaffInfo(processStepRecord.RefOrderId);
                        processStepRecord.Result = 2;//表示审核完毕  并且通过审核
                    }
                }

                _processStepRecordResposit.UpdateInfo((x) => new ProcessStepRecord
                {
                    OilStation                   = processStepRecord.OilStation,
                    OilStationRemark             = processStepRecord.OilStationRemark,
                    ExecutiveDirector            = processStepRecord.ExecutiveDirector,
                    ExecutiveDirectorRemark      = processStepRecord.ExecutiveDirectorRemark,
                    GeneralManagerOfPerson       = processStepRecord.GeneralManagerOfPerson,
                    GeneralManagerOfPersonRemark = processStepRecord.GeneralManagerOfPersonRemark,
                    GeneralManager               = processStepRecord.GeneralManager,
                    GeneralManagerRemark         = processStepRecord.GeneralManagerRemark,
                    ChiefInspector               = processStepRecord.ChiefInspector,
                    ChiefInspectorRemark         = processStepRecord.ChiefInspectorRemark,
                    Result = processStepRecord.Result
                }, x => x.Id == processStepRecord.Id);
            });
            return("ok");
        }
Esempio n. 8
0
        /// <summary>
        /// 增添员工离职申请
        /// </summary>
        /// <param name="leaveOffice"></param>
        /// <returns></returns>
        public string addLeaveOfficesInfoAll(LeaveOffice leaveOffice)
        {
            string isOk      = "添加失败!";
            Staff  staffInfo = _staffResposit.FindAll().FirstOrDefault(x => x.NoN == leaveOffice.NoN);

            if (staffInfo == null)
            {
                isOk = "未查询到此人";
                return(isOk);
            }
            //开启事务
            _leaveOfficeResposit.StatrAffair(() => {
                leaveOffice.ApplyDate     = DateTime.Now;
                leaveOffice.isyes         = 1;
                leaveOffice.IsDel         = "0";
                leaveOffice.ApplyPersonId = staffInfo.Id.ToString();
                leaveOffice.CreateTime    = DateTime.Now;

                int leaveId = _leaveOfficeResposit.AddCreateInfo(leaveOffice);

                ProcessStepRecord processStepRecord = new ProcessStepRecord();
                processStepRecord.Typed             = ProcessType.员工离职审批流程.ToString();

                if (leaveOffice.JobId == (int)JobEmun.油站员工)
                {
                    processStepRecord.OilStation = 1;
                }
                else if (leaveOffice.JobId == (int)JobEmun.人事员工)
                {
                    processStepRecord.ExecutiveDirector = 1; //人事经理
                }
                else if (leaveOffice.JobId == (int)JobEmun.油站经理 || leaveOffice.JobId == (int)JobEmun.财务经理)
                {
                    processStepRecord.ExecutiveDirector      = 1; //人事经理
                    processStepRecord.GeneralManagerOfPerson = 1; //主管
                }
                else if (leaveOffice.JobId == (int)JobEmun.人事经理 || leaveOffice.JobId == (int)JobEmun.主管)
                {
                    processStepRecord.GeneralManager = 1; //总经理
                    processStepRecord.ChiefInspector = 1; //总监
                }
                else if (leaveOffice.JobId == (int)JobEmun.总经理)
                {
                    processStepRecord.ChiefInspector = 1;
                }


                #region 生成non号 不可重复 (后期数据多了之后需要改进)
                bool isok  = true;
                string non = "";
                while (isok)
                {
                    non      = GetTime.randomPwd() + GetTime.randomPwd() + GetTime.randomPwd();
                    var list = (from pr in _processStepRecordResposit.FindAll()
                                where non == pr.NoN
                                select new { }).ToList();
                    if (list.Count == 0)
                    {
                        isok = false;
                    }
                }
                #endregion
                processStepRecord.CreateTime       = DateTime.Now;
                processStepRecord.WhetherToExecute = 1;
                processStepRecord.NoN        = non;
                processStepRecord.RefOrderId = leaveId;  //关联的离职申请表的主键id
                processStepRecord.Result     = 0;
                _processStepRecordResposit.AddInfo(processStepRecord);
                isOk = "ok";
            });
            return(isOk);
        }
Esempio n. 9
0
        /// <summary>
        /// 添加员工入职信息
        /// </summary>
        /// <param name="entrys"></param>
        /// <returns></returns>
        public string addEntrysInfoAll(Entrys entrys)
        {
            string isOk = "添加失败!";

            //开启一个事务
            _entrysResposit.StatrAffair(() => {
                entrys.CreateTime = DateTime.Now;
                entrys.IsDel      = 0;


                //得到申请表id
                int entrysId = _entrysResposit.AddCreateInfo(entrys);

                ProcessStepRecord processStepRecord = new ProcessStepRecord();
                processStepRecord.Typed             = ProcessType.员工入职审批流程.ToString();

                if (entrys.JobId == (int)JobEmun.油站员工)
                {
                    processStepRecord.OilStation = 1; //油站经理
                }
                else if (entrys.JobId == (int)JobEmun.人事员工)
                {
                    processStepRecord.ExecutiveDirector = 1; //人事经理
                }
                else if (entrys.JobId == (int)JobEmun.油站经理 || entrys.JobId == (int)JobEmun.财务经理)
                {
                    processStepRecord.ExecutiveDirector      = 1; //人事经理
                    processStepRecord.GeneralManagerOfPerson = 1; //主管
                }
                else if (entrys.JobId == (int)JobEmun.人事经理 || entrys.JobId == (int)JobEmun.主管)
                {
                    processStepRecord.GeneralManager = 1; //总经理
                    processStepRecord.ChiefInspector = 1; //总监
                }
                else if (entrys.JobId == (int)JobEmun.总经理)
                {
                    processStepRecord.ChiefInspector = 1;
                }
                processStepRecord.CreateTime       = DateTime.Now;
                processStepRecord.WhetherToExecute = 1;

                #region 生成non号 不可重复 (后期数据多了之后需要改进)
                bool isok  = true;
                string non = "";
                while (isok)
                {
                    non      = GetTime.randomPwd() + GetTime.randomPwd() + GetTime.randomPwd();
                    var list = (from pr in _processStepRecordResposit.FindAll()
                                where non == pr.NoN
                                select new { }).ToList();
                    if (list.Count == 0)
                    {
                        isok = false;
                    }
                }
                #endregion

                processStepRecord.NoN        = non;
                processStepRecord.RefOrderId = entrysId; //关联的入职申请表的主键id
                processStepRecord.Result     = 0;        //表示已经申请还未开始审核
                _processStepRecordResposit.AddInfo(processStepRecord);
                isOk = "ok";
            });


            return(isOk);
        }