Beispiel #1
0
        public ActionResult SubmitDForm(string keyValue, PlanCheckEntity pEntity)
        {
            //当前用户
            Operator curUser = OperatorProvider.Provider.Current();
            //参与人员
            var    errorMsg    = "";
            string wfFlag      = string.Empty; //流程标识
            string participant = string.Empty; //获取流程下一节点的参与人员

            var entity = planApplybll.GetEntity(pEntity.ApplyId);

            if (pEntity.CheckResult == "0")
            {//不通过,退回
                var appEntity = planApplybll.GetEntity(keyValue);
                wfFlag = "2";
                string createuserid = appEntity.CREATEUSERID;
                var    userEntity   = userbll.GetEntity(createuserid);
                participant = userEntity.Account;  //申请用户
                errorMsg    = "上报用户";
            }
            else
            {                   //部门负责人,核准通过
                wfFlag   = "1"; // 1级审核=>2级审核
                errorMsg = "EHS部门负责人";
                //EHS部门encode
                DataItemModel ehsDepart = dataitemdetailbll.GetDataItemListByItemCode("'EHSDepartment'").Where(p => p.ItemName == curUser.OrganizeId).ToList().FirstOrDefault();
                if (ehsDepart != null)
                {
                    var deptUser = userbll.GetUserListByRole(ehsDepart.ItemValue, "'100104'", "");
                    if (deptUser != null)
                    {
                        participant = string.Join(",", deptUser.Select(x => x.Account));
                    }
                }
            }
            //保存基本信息
            pEntity.ID = Guid.NewGuid().ToString();
            planCheckbll.SaveForm("", pEntity);
            if (!string.IsNullOrEmpty(participant))
            {
                entity.CheckUserAccount = participant;
                planApplybll.SaveForm(keyValue, entity);
                int count = htworkflowbll.SubmitWorkFlow(keyValue, participant, wfFlag, curUser.UserId);
                if (count > 0)
                {
                    htworkflowbll.UpdateFlowStateByObjectId("hrs_planapply", "flowstate", keyValue);  //更新业务流程状态
                }
            }
            else
            {
                return(Error("请联系系统管理员,确认" + errorMsg + "!"));
            }

            return(Success("操作成功。"));
        }
Beispiel #2
0
        public ActionResult SubmitChangeForm(string keyValue, PlanApplyEntity entity)
        {
            string workflow = entity.ApplyType == "部门工作计划" ? "06" : "07";
            //保存历史记录
            var oldEntity = planApplyBll.GetEntity(keyValue);

            if (oldEntity != null)
            {
                var newApplyId = Request["NewId"];
                oldEntity.ID     = newApplyId;
                oldEntity.BaseId = entity.ID;
                planApplyBll.SaveForm("", oldEntity);

                var planDetailsBll = new PlanDetailsBLL();
                var list           = planDetailsBll.GetList(string.Format(" and baseid in(select id from hrs_plandetails d where d.applyid='{0}') and not exists(select 1 from hrs_planapply a where a.id=hrs_plandetails.applyid)", keyValue)).ToList();
                foreach (var epd in list)
                {//纠正因未提交丢失的历史数据。
                    epd.ApplyId = newApplyId;
                    planDetailsBll.SaveForm(epd.ID, epd);
                }
            }
            //删除旧流程创建新流程
            htworkflowbll.DeleteWorkFlowObj(keyValue);
            CommonSaveForm(keyValue, workflow, entity);
            //创建完流程实例后
            if (string.IsNullOrEmpty(keyValue))
            {
                keyValue = entity.ID;
            }
            string errorMsg = "";

            if (workflow == "06")
            {//部门工作计划
                errorMsg = DepartFlow(keyValue, entity);
            }
            else
            {//个人工作计划
                errorMsg = PersonFlow(keyValue, entity);
            }

            if (!string.IsNullOrWhiteSpace(errorMsg))
            {
                return(Error("请联系系统管理员,确认" + errorMsg + "!"));
            }

            return(Success("操作成功。"));
        }