예제 #1
0
        public ActionResult ReApply(ReApplyViewModel model)
        {
            string     result   = "no";
            WFInstance instance = WFInstanceBll.GetById(model.InstanceId);

            if (instance.InstanceTitle.StartsWith("报销"))
            {
                //WorkFlowHelper.Resume(new Expense(), Guid.Parse(instance.InstanceGuid), "BackInput", new ExpenseModel()
                //{
                //    Reason = model.Reason,
                //    Money = model.Num
                //});
                instance.InstanceTitle = model.InstanceTitle.StartsWith("报销--") ? model.InstanceTitle : "报销--" + model.InstanceTitle;
                instance.Details       = string.Format("事由:{0},金额:{1}元。", model.Reason, model.Num);
            }
            else if (instance.InstanceTitle.StartsWith("请假"))
            {
                //WorkFlowHelper.Resume(new Leave(), Guid.Parse(instance.InstanceGuid), "ReInput", new LeaveModel()
                //{
                //    Reason = model.Reason,
                //    Days = model.Num
                //});
                string title = model.InstanceTitle == "1" ? "事假" : model.InstanceTitle == "2" ? "病假" : "休假";
                instance.InstanceTitle = "请假--" + title;
                instance.Details       = string.Format("事由:{0},天数:{1}天。", model.Reason, model.Num);
            }
            else
            {
                return(Content("no"));
            }
            instance.InstanceState = (int)InstanceState.Approving;
            instance.RejectMsg     = "";
            instance.Remark        = model.Remark;
            instance.WFStep.Add(new WFStep()
            {
                IsEnd   = 0,
                NextId  = model.NextId,
                SubBy   = UserLogin.UserId,
                SubTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
            });
            if (WFInstanceBll.Edit(instance))
            {
                result = "ok";
            }
            return(Content(result));
        }
예제 #2
0
        public ActionResult Approve(ApproveViewModel model)
        {
            string     result    = "no";
            WFInstance wInstance = WFInstanceBll.GetById(model.InstanceId);

            //int status = !model.Approve ? -1 : model.Approve && model.NextId == 0 ? 1 : 0;
            //if (wInstance.InstanceTitle.StartsWith("报销"))
            //{
            //    WorkFlowHelper.Resume(new Expense(), Guid.Parse(wInstance.InstanceGuid), "Check", status);
            //}
            //else if (wInstance.InstanceTitle.StartsWith("请假"))
            //{
            //    WorkFlowHelper.Resume(new Leave(), Guid.Parse(wInstance.InstanceGuid), "LeaveCheck", status);
            //}
            //else
            //{
            //    return Content("no");
            //}
            wInstance.WFStep.Add(new WFStep
            {
                Tips    = string.IsNullOrWhiteSpace(model.Tips) ? "" : model.Approve ? "同意,意见为:" + model.Tips : "驳回,意见为:" + model.Tips,
                NextId  = model.NextId,
                SubBy   = UserLogin.UserId,
                SubTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                IsEnd   = model.NextId == 0 ? (byte)1 : (byte)0
            });
            if (model.Approve && model.NextId == 0)
            {
                wInstance.InstanceState = (int)InstanceState.Over;
            }
            else if (!model.Approve)
            {
                wInstance.InstanceState = (int)InstanceState.Reject;
            }
            wInstance.RejectMsg = model.Tips;
            WFStepBll.GetById(model.StepId).IsEnd = 1;
            if (WFInstanceBll.Edit(wInstance))
            {
                result = "ok";
            }
            return(Content(result));
        }