Exemplo n.º 1
0
        public ActionResult DeleteTask(string task_id)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                #region 先删除主任务
                //查找此任务是否存在

                TaskDistributionEntity taskDistributionEntity = taskApp.GetForm(task_id);
                if (taskDistributionEntity == null)
                {
                    return(Error("数据库中找不到此任务!"));
                }
                taskDistributionEntity.statue = 1;//0 未删除,1 已删除
                db.Update <TaskDistributionEntity>(taskDistributionEntity);
                #endregion
                //再删除分发的任务

                List <SelfTaskDetailEntity> selfTaskDetailList = selfTaskDetailApp.GetSelfTaskByTaskObj(task_id);
                if (selfTaskDetailList.Count > 0)
                {
                    for (int i = 0; i < selfTaskDetailList.Count; i++)
                    {
                        SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailList[i];
                        selfTaskDetailEntity.statue = 1;//删除
                        db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }
                db.Commit();
            }
            return(Success("操作成功。"));
        }
Exemplo n.º 2
0
        public ActionResult SavePersonalAssessmentResult(string assessment_id)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                string           checker          = OperatorProvider.Provider.GetCurrent().UserId;
                AssessmentEntity assessmentEntity = assessmentApp.GetForm(assessment_id);
                if (assessmentEntity == null)
                {
                    return(Error("系统未知错误。"));
                }
                if (assessmentEntity.assessment_statue != 1)
                {
                    return(Error("只有处于待归档的考核才能进行归档。"));
                }
                //将本次考核状态设置为已归档 2
                assessmentEntity.assessment_statue = 2;
                assessmentEntity.last_modify_time  = DateTime.Now;
                db.Update <AssessmentEntity>(assessmentEntity);

                //将自己“归档”任务状态设置为已完成
                SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachTaskObjTaskType(assessment_id, assessment_id, 4);
                selfTaskDetailEntity.task_statue      = 2;
                selfTaskDetailEntity.last_modify_time = DateTime.Now;
                db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                db.Commit();
            }
            return(Success("操作成功。", null));
        }
Exemplo n.º 3
0
        public ActionResult UpdateTaskStatue(string task_id)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                TaskDistributionEntity taskDistributionEntity = new TaskDistributionEntity();
                taskDistributionEntity = taskApp.GetTaskById(task_id);
                if (taskDistributionEntity == null)
                {
                    return(Error("不存在该任务"));
                }
                taskDistributionEntity.task_distribute_statue = 1;//0:待分发  1:已分发
                db.Update <TaskDistributionEntity>(taskDistributionEntity);

                List <SelfTaskDetailEntity> selfTaskDetailList = selfTaskDetailApp.GetSelfTaskByTaskObj(task_id);
                if (selfTaskDetailList.Count > 0)
                {
                    for (int i = 0; i < selfTaskDetailList.Count; i++)
                    {
                        SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailList[i];
                        selfTaskDetailEntity.task_statue = 2;//0 未激活  1待完成  2已完成
                        db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }
                db.Commit();
            }


            return(Success("操作成功。"));
        }
Exemplo n.º 4
0
        public ActionResult ChangeSelfTaskStatue(string id, int task_statue)
        {
            SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();

            selfTaskDetailEntity.task_statue = task_statue;
            selfTaskDetailApp.SubmitForm(selfTaskDetailEntity, id);
            return(Content(new AjaxResult {
                state = ResultType.success, message = "操作成功。"
            }.ToJson()));
        }
Exemplo n.º 5
0
        public ActionResult PostTempleteCheckResult(string check_templete_id, int check_result, string check_suggest, string checker)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                #region 修改审核t_kpi_templete_check表的状态
                TempleteCheckEntity templeteCheckEntity = templeteCheckApp.GetTempleteCheckByTempleteCheckId(check_templete_id);
                if (templeteCheckEntity == null)
                {
                    return(Error("不存在该审核条目。"));
                }
                templeteCheckEntity.check_result     = check_result;  //0 不通过,1 通过
                templeteCheckEntity.check_suggest    = check_suggest; //如果未通过则必须填写未通过的原因
                templeteCheckEntity.checker          = checker;
                templeteCheckEntity.last_modify_time = DateTime.Now;
                //templeteCheckEntity = templeteCheckApp.SubmitFormEx(templeteCheckEntity, check_templete_id);
                db.Update <TempleteCheckEntity>(templeteCheckEntity);
                #endregion

                #region 修改审核t_kpi_templete表的状态

                TempleteEntity templeteEntity = templeteApp.GetForm(templeteCheckEntity.templete_id);
                if (templeteEntity == null)
                {
                    return(Error("不存在该考核模板条目。"));
                }
                templeteEntity.templete_check_statue = check_result;         //0 待审核,1 通过,2退回
                //方案申核通過  默认启用
                templeteEntity.statue           = check_result == 1 ? 1 : 0; //0 禁用,1 启用
                templeteEntity.last_modify_time = DateTime.Now;
                //templeteApp.SubmitForm(templeteEntity, templeteCheckEntity.templete_id);
                db.Update <TempleteEntity>(templeteEntity);
                #endregion


                #region 更新我的任务 对应的任务状态
                SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                //通过对应task_object获取
                selfTaskDetailEntity = selfTaskDetailApp.GetPersonalTaskByTaskObj(check_templete_id, checker);
                if (selfTaskDetailEntity == null)
                {
                    return(Error("“我的任务”不存在该条目。"));
                }
                selfTaskDetailEntity.task_statue      = 2;//0 未激活  1待完成  2已完成
                selfTaskDetailEntity.task_object      = check_templete_id;
                selfTaskDetailEntity.last_modify_time = DateTime.Now;
                //selfTaskDetailApp.SubmitForm(selfTaskDetailEntity, selfTaskDetailEntity.id);
                db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                db.Commit();
                #endregion
            }
            #endregion
            return(Success("操作成功。"));
        }
Exemplo n.º 6
0
        public ActionResult AddSelfTask(int task_type, string person, string task_object)
        {
            SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();

            selfTaskDetailEntity.task_type   = task_type;
            selfTaskDetailEntity.person      = person;
            selfTaskDetailEntity.task_object = task_object;
            selfTaskDetailEntity.task_statue = 0;
            selfTaskDetailApp.SubmitForm(selfTaskDetailEntity, string.Empty);
            return(Content(new AjaxResult {
                state = ResultType.success, message = "操作成功。"
            }.ToJson()));
        }
Exemplo n.º 7
0
 public void SubmitForm(SelfTaskDetailEntity selfTaskDetailEntity, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         selfTaskDetailEntity.Modify(keyValue);
         service.Update(selfTaskDetailEntity);
     }
     else
     {
         selfTaskDetailEntity.Create();
         service.Insert(selfTaskDetailEntity);
     }
 }
Exemplo n.º 8
0
        public ActionResult LaunchPersonalAssessment(string assessment_name, string start_time, string end_time, string templete_id, string checker_object_list, int?need_self_check, double?self_check_weight, string checker_list, string filling_people, string file_name)
        {
            if (assessmentApp.IsExists(assessment_name))
            {
                return(Error("考核名称已存在。"));
            }
            using (var db = new RepositoryBase().BeginTrans())
            {
                List <string> checkerObjectList = KPI.Code.Json.ToObject <List <string> >(checker_object_list);
                FileLog.Debug(checker_object_list);
                List <PersonalAssessmentCheckerModel> checkerList = KPI.Code.Json.ToObject <List <PersonalAssessmentCheckerModel> >(checker_list);
                #region 插入考核发起表
                AssessmentEntity assessmentEntity = new AssessmentEntity();
                string           assessmentId     = Common.GuId();
                assessmentEntity.id = assessmentId;
                assessmentEntity.assessment_name    = assessment_name;
                assessmentEntity.templete_id        = templete_id;
                assessmentEntity.start_time         = DateTime.Parse(start_time);
                assessmentEntity.end_time           = DateTime.Parse(end_time);
                assessmentEntity.assessment_sponsor = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentEntity.assessment_count   = checkerObjectList.Count;
                assessmentEntity.need_self_check    = need_self_check.HasValue ? need_self_check.Value : 0;
                assessmentEntity.assessment_statue  = 0;
                assessmentEntity.assessment_type    = 0;
                assessmentEntity.filing_people      = filling_people;
                assessmentEntity.creator_user_id    = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentEntity.create_time        = DateTime.Now;
                db.Insert <AssessmentEntity>(assessmentEntity);
                #endregion
                #region 插入考核发起详细表
                AssessmentDetailEntity assessmentDetailEntity = null;
                //如果需要自评
                if (assessmentEntity.need_self_check == 1)
                {
                    for (int i = 0; i < checkerObjectList.Count; i++)
                    {
                        string checkObject = checkerObjectList[i];
                        assessmentDetailEntity                   = new AssessmentDetailEntity();
                        assessmentDetailEntity.id                = Common.GuId();
                        assessmentDetailEntity.assessment_id     = assessmentId;
                        assessmentDetailEntity.check_object      = checkObject;
                        assessmentDetailEntity.checker           = checkObject;
                        assessmentDetailEntity.check_order       = 1;
                        assessmentDetailEntity.finished          = 0;
                        assessmentDetailEntity.checker_weight    = self_check_weight;
                        assessmentDetailEntity.check_total_count = checkerList.Count;
                        assessmentDetailEntity.creator_user_id   = OperatorProvider.Provider.GetCurrent().UserId;
                        assessmentDetailEntity.create_time       = DateTime.Now;
                        db.Insert <AssessmentDetailEntity>(assessmentDetailEntity);

                        //插入“自评”任务并且激活
                        SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                        selfTaskDetailEntity.id              = Common.GuId();
                        selfTaskDetailEntity.task_statue     = 1;
                        selfTaskDetailEntity.task_type       = 3;
                        selfTaskDetailEntity.person          = checkObject;
                        selfTaskDetailEntity.task_object     = checkObject;
                        selfTaskDetailEntity.attach          = assessmentId;
                        selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                        selfTaskDetailEntity.create_time     = DateTime.Now;
                        db.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }
                for (int i = 0; i < checkerList.Count; i++)
                {
                    for (int j = 0; j < checkerObjectList.Count; j++)
                    {
                        PersonalAssessmentCheckerModel checker = checkerList[i];
                        string checkObject = checkerObjectList[j];
                        assessmentDetailEntity                   = new AssessmentDetailEntity();
                        assessmentDetailEntity.id                = Common.GuId();
                        assessmentDetailEntity.assessment_id     = assessmentId;
                        assessmentDetailEntity.check_object      = checkObject;
                        assessmentDetailEntity.checker           = checker.checker_id;
                        assessmentDetailEntity.check_order       = checker.checker_order;
                        assessmentDetailEntity.finished          = 0;
                        assessmentDetailEntity.checker_weight    = checker.checker_weight;
                        assessmentDetailEntity.check_total_count = checkerList.Count;
                        assessmentDetailEntity.creator_user_id   = OperatorProvider.Provider.GetCurrent().UserId;
                        assessmentDetailEntity.create_time       = DateTime.Now;
                        db.Insert <AssessmentDetailEntity>(assessmentDetailEntity);


                        //给所有“考评人”插入考评任务
                        SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                        selfTaskDetailEntity.id = Common.GuId();
                        if (checker.checker_order == 1)//第一个人直接激活任务
                        {
                            selfTaskDetailEntity.task_statue = 1;
                        }
                        else //剩下的人暂时先不激活任务,等待上一个人完成任务后激活下一个人的任务
                        {
                            selfTaskDetailEntity.task_statue = 0;
                        }
                        selfTaskDetailEntity.task_type       = 1;
                        selfTaskDetailEntity.person          = checker.checker_id;
                        selfTaskDetailEntity.task_object     = checkObject;
                        selfTaskDetailEntity.attach          = assessmentId;
                        selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                        selfTaskDetailEntity.create_time     = DateTime.Now;
                        db.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }
                #endregion

                //给“考核结果审核人插入归档任务”
                SelfTaskDetailEntity fillingSelfTaskDetailEntity = new SelfTaskDetailEntity();
                fillingSelfTaskDetailEntity.id              = Common.GuId();
                fillingSelfTaskDetailEntity.task_statue     = 0;
                fillingSelfTaskDetailEntity.task_type       = 4;
                fillingSelfTaskDetailEntity.person          = filling_people;
                fillingSelfTaskDetailEntity.task_object     = assessmentId;
                fillingSelfTaskDetailEntity.attach          = assessmentId;
                fillingSelfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                fillingSelfTaskDetailEntity.create_time     = DateTime.Now;
                db.Insert <SelfTaskDetailEntity>(fillingSelfTaskDetailEntity);

                PersonalAssessmentImportApp personalAssessmentImportApp = new PersonalAssessmentImportApp(db);
                var data = personalAssessmentImportApp.Scan(file_name, new string[] { assessmentId });
                if (data.Count > 0)
                {
                    return(Error("导入数据存在未处理的错误!"));
                }
                else
                {
                    personalAssessmentImportApp.Import(file_name, assessmentId);
                }
                db.Commit();
            }
            return(Success("操作成功。", null));
        }
Exemplo n.º 9
0
        public ActionResult CheckAssessment(string assessment_id, string check_object, string checker_result_list, double?fixed_score, double?unfixed_score, double?total_score, double?checker_weight)
        {
            AssessmentEntity assessmentEntity = assessmentApp.GetForm(assessment_id);

            if (assessmentEntity == null)
            {
                return(Error("此考核不存在。"));
            }
            //if (assessmentEntity.need_self_check == 0) return Error("此考核不需要自评。");
            List <SelfCheckResultModel> resultList = KPI.Code.Json.ToObject <List <SelfCheckResultModel> >(checker_result_list);
            string checker = OperatorProvider.Provider.GetCurrent().UserId;

            using (var db = new RepositoryBase().BeginTrans())
            {
                AssessmentDetailEntity assessmentDetailEntity = assessmentDetailApp.GetByAssessmentIdCheckerCheckObj(assessment_id, checker, check_object);
                assessmentDetailEntity.finished         = 1;
                assessmentDetailEntity.last_modify_time = DateTime.Now;
                db.Update <AssessmentDetailEntity>(assessmentDetailEntity);

                //更新自己的考核任务为已完成
                SelfTaskDetailEntity curTaskDetailEntity = null;
                if (checker == check_object && assessmentDetailApp.IsSelfCheck(assessment_id, checker, check_object))//自评
                {
                    curTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachPersonTaskObjTaskType(assessment_id, checker, check_object, 3);
                }
                else
                {
                    curTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachPersonTaskObjTaskType(assessment_id, checker, check_object, 1);
                }
                curTaskDetailEntity.task_statue      = 2;
                curTaskDetailEntity.last_modify_time = DateTime.Now;
                db.Update <SelfTaskDetailEntity>(curTaskDetailEntity);

                //保存此考核人对此考核对象的分数
                AssessmentResultCountEntity assessmentResultCountEntity = new AssessmentResultCountEntity();
                assessmentResultCountEntity.id              = Common.GuId();
                assessmentResultCountEntity.assessment_id   = assessment_id;
                assessmentResultCountEntity.checker         = checker;
                assessmentResultCountEntity.checker_weight  = checker_weight;
                assessmentResultCountEntity.check_object    = check_object;
                assessmentResultCountEntity.fixed_score     = fixed_score;
                assessmentResultCountEntity.unfixed_score   = unfixed_score;
                assessmentResultCountEntity.total_score     = fixed_score + unfixed_score;
                assessmentResultCountEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentResultCountEntity.create_time     = DateTime.Now;
                db.Insert <AssessmentResultCountEntity>(assessmentResultCountEntity);

                //如果自己不是该考核对象的最后一个考核人激活下一个人对该考核对象的任务
                if (!assessmentDetailApp.IsLastCheckerToObject(assessment_id, checker, check_object))
                {
                    int nextCheckOrder = assessmentDetailEntity.check_order + 1;
                    AssessmentDetailEntity nextAssessmentDetailEntity = assessmentDetailApp.GetByAssessmentIdCheckOrderCheckObj(assessment_id, check_object, nextCheckOrder);
                    SelfTaskDetailEntity   selfTaskDetailEntity       = selfTaskDetailApp.GetByPersonAttachPersonTaskObjTaskType(assessment_id, nextAssessmentDetailEntity.checker, check_object, 1);
                    //激活任务
                    selfTaskDetailEntity.task_statue      = 1;
                    selfTaskDetailEntity.last_modify_time = DateTime.Now;
                    db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                }
                //如果是整个考核的最后一条
                if (assessmentDetailApp.IsLastChecker(assessment_id))
                {
                    //更新整个考核为待归档
                    AssessmentEntity curAssessmentEntity = assessmentApp.GetForm(assessment_id);
                    if (curAssessmentEntity == null)
                    {
                        return(Error("系统未知错误。"));
                    }
                    curAssessmentEntity.assessment_statue = 1;
                    curAssessmentEntity.last_modify_time  = DateTime.Now;
                    db.Update <AssessmentEntity>(curAssessmentEntity);
                    //激活“考核结果审核人”的归档任务
                    SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachTaskObjTaskType(assessment_id, assessment_id, 4);
                    selfTaskDetailEntity.task_statue      = 1;
                    selfTaskDetailEntity.last_modify_time = DateTime.Now;
                    db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                }
                //更新自评项分数
                for (int i = 0; i < resultList.Count; i++)
                {
                    SelfCheckResultModel model = resultList[i];
                    model.indicator_id = indicatorsDefineApp.GetIndicatorByName(model.indicator_name).id;
                    AssessmentResultEntity assessmentResultEntity = assessmentResultApp.GetByAssessmentIdObjIndicatorId(assessment_id, check_object, model.indicator_id);
                    assessmentResultEntity.indicator_value  = model.indicator_value;
                    assessmentResultEntity.last_modify_time = DateTime.Now;
                    db.Update <AssessmentResultEntity>(assessmentResultEntity);
                }
                db.Commit();
            }
            return(Success("操作成功。"));
        }
Exemplo n.º 10
0
        public ActionResult UpdateTemplete(string templete_id, string updateTempleteList)
        {
            List <TempleteAddModel> templeteList = new List <TempleteAddModel>();


            templeteList = KPI.Code.Json.ToList <TempleteAddModel>(updateTempleteList);
            using (var db = new RepositoryBase().BeginTrans())
            {
                #region 将原来考核方案的状态更改为 未审核
                TempleteEntity templeteEntity = templeteApp.GetForm(templete_id);
                templeteEntity.templete_name         = templeteList[0].templete_name;
                templeteEntity.templete_type         = templeteList[0].templete_type;
                templeteEntity.statue                = 0; //1:启用 0:禁用
                templeteEntity.templete_check_statue = 0; //模板的初始化状态是null
                templeteEntity.last_modify_time      = DateTime.Now;
                //templeteApp.SubmitForm(templeteEntity, templete_id);
                db.Update <TempleteEntity>(templeteEntity);
                #endregion

                #region  除原来考核方案的组成
                templeteCompostionApp.GetByTempleteId(templete_id).ForEach(t => { db.Delete <TempleteCompostionEntity>(t); });
                #endregion

                #region 插入考核方案详细表
                TempleteCompostionEntity templeteCompostionEntity = null;

                for (int i = 0; i < templeteList.Count; i++)
                {
                    templeteCompostionEntity                    = new TempleteCompostionEntity();
                    templeteCompostionEntity.id                 = Common.GuId();
                    templeteCompostionEntity.dimension_id       = templeteList[i].dimension_id;
                    templeteCompostionEntity.detail_id          = templeteList[i].detail_id;
                    templeteCompostionEntity.base_score         = templeteList[i].base_score;
                    templeteCompostionEntity.allow_beyond_limit = templeteList[i].allow_beyond_limit;
                    templeteCompostionEntity.templete_id        = templete_id;
                    templeteCompostionEntity.creator_user_id    = OperatorProvider.Provider.GetCurrent().UserId;
                    templeteCompostionEntity.create_time        = DateTime.Now;
                    //templeteCompostionApp.SubmitForm(templeteCompostionEntity, String.Empty);
                    db.Insert <TempleteCompostionEntity>(templeteCompostionEntity);
                }
                #endregion



                #region 修改待审核的模板  通过置为空
                //获取这个方案的所有审核  如果是通过将将审核结果置为空
                TempleteCheckEntity templeteCheckEntity = templeteCheckApp.GetTempleteCheckByTempleteId(templete_id);

                templeteCheckEntity.check_sponser    = templeteEntity.creator_user_id;
                templeteCheckEntity.checker          = templeteList[0].checker_id;//考虑审核方写谁?
                templeteCheckEntity.statue           = 0;
                templeteCheckEntity.last_modify_time = DateTime.Now;
                //templeteCheckApp.SubmitForm(templeteCheckEntity, templeteCheckEntity.id);
                db.Update <TempleteCheckEntity>(templeteCheckEntity);
                #endregion

                #region 添加审核人的任务  由于没有与审核人任务相关联的外键  所以进行添加  无法进行更新
                string templeteCheckId = templeteCheckEntity.id;
                //找到原来此任务  将任务改为待完成
                SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailApp.GetPersonalTaskByTaskObj(templeteCheckId, templeteList[0].checker_id);
                if (selfTaskDetailEntity == null)
                {
                    return(Error("不存在对应的任务"));
                }
                selfTaskDetailEntity.task_statue      = 1;//0 未激活  1待完成  2已完成
                selfTaskDetailEntity.last_modify_time = DateTime.Now;
                db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                #endregion



                db.Commit();
            }

            return(Success("操作成功。", null));
        }
Exemplo n.º 11
0
        public ActionResult AddTemplete(string addTempleteList)
        {
            List <TempleteAddModel> templeteList = new List <TempleteAddModel>();

            FileLog.Debug("addTempleteList " + addTempleteList);
            templeteList = KPI.Code.Json.ToList <TempleteAddModel>(addTempleteList);
            if (templeteList == null || templeteList.Count == 0)
            {
                return(Error("考核方案不能为空。"));
            }
            //先对考核方案的名称进行去重判断
            if (templeteApp.IsExists(templeteList[0].templete_name))
            {
                return(Error("已存在相同名称的考核方案。"));
            }
            using (var db = new RepositoryBase().BeginTrans())
            {
                FileLog.Debug(addTempleteList);
                #region 新增考核方案
                TempleteEntity templeteEntity = new TempleteEntity();
                string         templeteId     = Common.GuId();
                templeteEntity.id                    = templeteId;
                templeteEntity.templete_name         = templeteList[0].templete_name;
                templeteEntity.templete_type         = templeteList[0].templete_type;
                templeteEntity.statue                = 0; //1:启用 0:禁用
                templeteEntity.templete_check_statue = 0; //模板的初始化状态是null
                templeteEntity.creator_user_id       = OperatorProvider.Provider.GetCurrent().UserId;
                templeteEntity.create_time           = DateTime.Now;
                //string templeteId = (templeteApp.SubmitFormEx(templeteEntity, string.Empty)).id;
                db.Insert <TempleteEntity>(templeteEntity);
                #endregion

                #region 新增待审核的模板
                TempleteCheckEntity templeteCheckEntity = new TempleteCheckEntity();
                string templeteCheckId = Common.GuId();
                templeteCheckEntity.id              = templeteCheckId;
                templeteCheckEntity.templete_id     = templeteId;
                templeteCheckEntity.check_sponser   = OperatorProvider.Provider.GetCurrent().UserId;
                templeteCheckEntity.checker         = templeteList[0].checker_id;//考虑审核方写谁?
                templeteCheckEntity.statue          = 0;
                templeteCheckEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                templeteCheckEntity.create_time     = DateTime.Now;
                //string templeteCheckId = (templeteCheckApp.SubmitFormEx(templeteCheckEntity, string.Empty)).id;
                db.Insert <TempleteCheckEntity>(templeteCheckEntity);
                #endregion

                #region 添加审核人的任务
                SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                selfTaskDetailEntity.id              = Common.GuId();
                selfTaskDetailEntity.task_type       = Convert.ToInt32(Constant.TaskType.待审核);
                selfTaskDetailEntity.person          = templeteList[0].checker_id;
                selfTaskDetailEntity.task_statue     = 1; //0 未激活  1待完成  2已完成
                selfTaskDetailEntity.task_object     = templeteCheckId;
                selfTaskDetailEntity.statue          = 0; //0未删除  1已删除
                selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                selfTaskDetailEntity.create_time     = DateTime.Now;
                //taskDetailApp.SubmitForm(selfTaskDetailEntity,String.Empty);
                db.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                #endregion

                #region 插入考核方案详细表
                TempleteCompostionEntity templeteCompostionEntity = null;

                for (int i = 0; i < templeteList.Count; i++)
                {
                    templeteCompostionEntity                    = new TempleteCompostionEntity();
                    templeteCompostionEntity.id                 = Common.GuId();
                    templeteCompostionEntity.dimension_id       = templeteList[i].dimension_id;
                    templeteCompostionEntity.detail_id          = templeteList[i].detail_id;
                    templeteCompostionEntity.base_score         = templeteList[i].base_score;
                    templeteCompostionEntity.allow_beyond_limit = templeteList[i].allow_beyond_limit;
                    templeteCompostionEntity.templete_id        = templeteId;
                    templeteCompostionEntity.creator_user_id    = OperatorProvider.Provider.GetCurrent().UserId;
                    templeteCompostionEntity.create_time        = DateTime.Now;
                    db.Insert <TempleteCompostionEntity>(templeteCompostionEntity);
                    //templeteCompostionApp.SubmitForm(templeteCompostionEntity, String.Empty);
                }

                db.Commit();
            }
            #endregion
            return(Success("操作成功。", null));
        }
Exemplo n.º 12
0
        protected override bool SaveData(DataTable dt, params string[] arr)
        {
            string taskId   = arr[0];
            string taskType = arr[1];

            //string endDate = arr[2];

            try
            {
                UserEntity userEntity      = new UserEntity();
                String     receivePersonId = "";
                if (taskType.Equals("1"))
                {
                    //个人  把经理室的角色给添加上
                    userEntity = userApp.GetMFUserByOrgIdAndRoleId(OperatorProvider.Provider.GetCurrent().CompanyId, ManagerFamilyRoleId);
                    if (userEntity != null)
                    {
                        receivePersonId = userEntity.F_Id;
                    }
                    if (!String.IsNullOrEmpty(receivePersonId))
                    {
                        SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                        selfTaskDetailEntity.id              = Common.GuId();
                        selfTaskDetailEntity.task_type       = 5; //待分发
                        selfTaskDetailEntity.person          = receivePersonId;
                        selfTaskDetailEntity.task_statue     = 2; //0 未激活  1待完成  2已完成
                        selfTaskDetailEntity.task_object     = taskId;
                        selfTaskDetailEntity.statue          = 0; //0未删除  1已删除
                        selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                        selfTaskDetailEntity.create_time     = DateTime.Now;
                        DbContext.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    receivePersonId = "";
                    userEntity      = new UserEntity();
                    YearlyTaskDetailEntity entity = new YearlyTaskDetailEntity();
                    entity.id      = Common.GuId();
                    entity.task_id = taskId;

                    if (taskType.Equals("0"))
                    {
                        //公司
                        OrganizeEntity organizeEntity = organizeApp.GetOrgByName(Convert.ToString(dt.Rows[i][0]));
                        if (organizeEntity != null)
                        {
                            entity.task_object = organizeEntity.F_Id;

                            //获取次分公司的经理管理室
                            userEntity = userApp.GetMFUserByOrgIdAndRoleId(organizeEntity.F_Id, ManagerFamilyRoleId);
                            if (userEntity != null)
                            {
                                receivePersonId = userEntity.F_Id;
                            }
                        }
                    }
                    else
                    {
                        //个人

                        userEntity = userApp.GetByPhone(Convert.ToString(dt.Rows[i][14]));
                        if (userEntity != null)
                        {
                            entity.task_object = userEntity.F_Id;
                        }
                        receivePersonId = userEntity.F_Id;
                    }
                    entity.task_yearly     = Convert.ToInt32(dt.Rows[i][1]); //indicatorsDefineApp.GetForm(dt.Rows[0][j] + "").id;
                    entity.start_date      = null;                           // Convert.ToDateTime(startDate);
                    entity.end_date        = null;                           //Convert.ToDateTime(endDate);
                    entity.task_Jan        = Convert.ToInt32(dt.Rows[i][2]);
                    entity.task_Feb        = Convert.ToInt32(dt.Rows[i][3]);
                    entity.task_Mar        = Convert.ToInt32(dt.Rows[i][4]);
                    entity.task_Apr        = Convert.ToInt32(dt.Rows[i][5]);
                    entity.task_May        = Convert.ToInt32(dt.Rows[i][6]);
                    entity.task_Jun        = Convert.ToInt32(dt.Rows[i][7]);
                    entity.task_Jul        = Convert.ToInt32(dt.Rows[i][8]);
                    entity.task_Aug        = Convert.ToInt32(dt.Rows[i][9]);
                    entity.task_Sep        = Convert.ToInt32(dt.Rows[i][10]);
                    entity.task_Oct        = Convert.ToInt32(dt.Rows[i][11]);
                    entity.task_Nov        = Convert.ToInt32(dt.Rows[i][12]);
                    entity.task_Dec        = Convert.ToInt32(dt.Rows[i][13]);
                    entity.statue          = 0;
                    entity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                    entity.create_time     = DateTime.Now;
                    DbContext.Insert <YearlyTaskDetailEntity>(entity);

                    //为分公司或者个人添加自己的任务
                    #region 添加个人的任务
                    if (!String.IsNullOrEmpty(receivePersonId))
                    {
                        SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                        selfTaskDetailEntity.id              = Common.GuId();
                        selfTaskDetailEntity.task_type       = 5; //待分发
                        selfTaskDetailEntity.person          = receivePersonId;
                        selfTaskDetailEntity.task_statue     = 0; //0 未激活  1待完成  2已完成
                        selfTaskDetailEntity.task_object     = taskId;
                        selfTaskDetailEntity.statue          = 0; //0未删除  1已删除
                        selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                        selfTaskDetailEntity.create_time     = DateTime.Now;
                        DbContext.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }

                    #endregion
                }
            }
            catch (Exception e)
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 13
0
        public ActionResult LaunchBranchAssessment(string assessment_name, string start_time, string end_time, string templete_id, string checker_list, string filling_people, string file_name)
        {
            if (assessmentApp.IsExists(assessment_name))
            {
                return(Error("考核名称已存在。"));
            }
            using (var db = new RepositoryBase().BeginTrans())
            {
                //获取“中安金控集团id”
                OrganizeEntity org = organizeApp.GetForm(BlocId);
                //获取所有子公司
                List <OrganizeEntity> branchList = organizeApp.GetListByParentIdOrderById(org.F_Id, CompanyId);
                List <BranchAssessmentCheckerModel> checkerList = KPI.Code.Json.ToObject <List <BranchAssessmentCheckerModel> >(checker_list);
                #region 插入考核发起表
                AssessmentEntity assessmentEntity = new AssessmentEntity();
                string           assessmentId     = Common.GuId();
                assessmentEntity.id = assessmentId;
                assessmentEntity.assessment_name    = assessment_name;
                assessmentEntity.templete_id        = templete_id;
                assessmentEntity.start_time         = DateTime.Parse(start_time);
                assessmentEntity.end_time           = DateTime.Parse(end_time);
                assessmentEntity.assessment_sponsor = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentEntity.assessment_count   = branchList.Count;
                assessmentEntity.assessment_statue  = 0;
                assessmentEntity.assessment_type    = 1;
                assessmentEntity.filing_people      = filling_people;
                assessmentEntity.creator_user_id    = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentEntity.create_time        = DateTime.Now;
                db.Insert <AssessmentEntity>(assessmentEntity);
                #endregion
                #region 插入考核发起详细表
                AssessmentDetailEntity assessmentDetailEntity = new AssessmentDetailEntity();
                for (int i = 0; i < checkerList.Count; i++)
                {
                    for (int j = 0; j < branchList.Count; j++)
                    {
                        BranchAssessmentCheckerModel checker = checkerList[i];
                        OrganizeEntity check_object          = branchList[j];
                        assessmentDetailEntity                   = new AssessmentDetailEntity();
                        assessmentDetailEntity.id                = Common.GuId();
                        assessmentDetailEntity.assessment_id     = assessmentId;
                        assessmentDetailEntity.check_object      = check_object.F_Id;
                        assessmentDetailEntity.checker           = checker.checker_id;
                        assessmentDetailEntity.check_order       = checker.checker_order;
                        assessmentDetailEntity.finished          = 0;
                        assessmentDetailEntity.checker_weight    = 0;
                        assessmentDetailEntity.check_total_count = checkerList.Count;
                        assessmentDetailEntity.creator_user_id   = OperatorProvider.Provider.GetCurrent().UserId;
                        assessmentDetailEntity.create_time       = DateTime.Now;
                        db.Insert <AssessmentDetailEntity>(assessmentDetailEntity);

                        //给所有“考评人”插入考评任务并且激活第一个考评人的任务
                        SelfTaskDetailEntity selfTaskDetailEntity = new SelfTaskDetailEntity();
                        selfTaskDetailEntity.id = Common.GuId();
                        if (checker.checker_order == 1)//第一个人直接激活任务
                        {
                            selfTaskDetailEntity.task_statue = 1;
                        }
                        else //剩下的人暂时先不激活任务,等待上一个人完成任务后激活下一个人的任务
                        {
                            selfTaskDetailEntity.task_statue = 0;
                        }
                        selfTaskDetailEntity.task_type       = 1;
                        selfTaskDetailEntity.person          = checker.checker_id;
                        selfTaskDetailEntity.task_object     = check_object.F_Id;
                        selfTaskDetailEntity.attach          = assessmentId;
                        selfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                        selfTaskDetailEntity.create_time     = DateTime.Now;
                        db.Insert <SelfTaskDetailEntity>(selfTaskDetailEntity);
                    }
                }

                //给“考核结果审核人插入归档任务”

                SelfTaskDetailEntity fillingSelfTaskDetailEntity = new SelfTaskDetailEntity();
                fillingSelfTaskDetailEntity.id              = Common.GuId();
                fillingSelfTaskDetailEntity.task_statue     = 0;
                fillingSelfTaskDetailEntity.task_type       = 4;
                fillingSelfTaskDetailEntity.person          = filling_people;
                fillingSelfTaskDetailEntity.task_object     = assessmentId;
                fillingSelfTaskDetailEntity.attach          = assessmentId;
                fillingSelfTaskDetailEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                fillingSelfTaskDetailEntity.create_time     = DateTime.Now;
                db.Insert <SelfTaskDetailEntity>(fillingSelfTaskDetailEntity);

                //导入考核数据
                BranchAssessmentImportApp branchAssessmentImportApp = new BranchAssessmentImportApp(db);
                var data = branchAssessmentImportApp.Scan(file_name, new string[] { assessmentId });
                if (data.Count > 0)
                {
                    return(Error("导入数据存在未处理的错误!"));
                }
                else
                {
                    branchAssessmentImportApp.Import(file_name, assessmentId);
                }
                db.Commit();
            }
            #endregion
            return(Success("操作成功。", null));
        }
Exemplo n.º 14
0
        public ActionResult CheckAssessment(string assessment_id, string check_object, double?fixed_score, double?unfixed_score, double?toatal_score, double?checker_weight)
        {
            using (var db = new RepositoryBase().BeginTrans())
            {
                string checker = OperatorProvider.Provider.GetCurrent().UserId;
                //
                AssessmentDetailEntity assessmentDetailEntity = assessmentDetailApp.GetByAssessmentIdCheckerCheckObj(assessment_id, checker, check_object);
                assessmentDetailEntity.finished         = 1;
                assessmentDetailEntity.last_modify_time = DateTime.Now;
                db.Update <AssessmentDetailEntity>(assessmentDetailEntity);

                //保存此考核人对此考核对象的分数
                AssessmentResultCountEntity assessmentResultCountEntity = new AssessmentResultCountEntity();
                assessmentResultCountEntity.id              = Common.GuId();
                assessmentResultCountEntity.assessment_id   = assessment_id;
                assessmentResultCountEntity.checker         = checker;
                assessmentResultCountEntity.checker_weight  = checker_weight;
                assessmentResultCountEntity.check_object    = check_object;
                assessmentResultCountEntity.fixed_score     = fixed_score;
                assessmentResultCountEntity.unfixed_score   = unfixed_score;
                assessmentResultCountEntity.total_score     = fixed_score + unfixed_score;
                assessmentResultCountEntity.creator_user_id = OperatorProvider.Provider.GetCurrent().UserId;
                assessmentResultCountEntity.create_time     = DateTime.Now;
                db.Insert <AssessmentResultCountEntity>(assessmentResultCountEntity);

                //更新自己的考核任务为已完成
                SelfTaskDetailEntity curTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachPersonTaskObjTaskType(assessment_id, checker, check_object, 1);
                curTaskDetailEntity.task_statue      = 2;
                curTaskDetailEntity.last_modify_time = DateTime.Now;
                db.Update <SelfTaskDetailEntity>(curTaskDetailEntity);

                //如果自己不是该考核对象的最后一个考核人激活下一个人对该考核对象的任务
                if (!assessmentDetailApp.IsLastCheckerToObject(assessment_id, checker, check_object))
                {
                    int nextCheckOrder = assessmentDetailEntity.check_order + 1;
                    AssessmentDetailEntity nextAssessmentDetailEntity = assessmentDetailApp.GetByAssessmentIdCheckOrderCheckObj(assessment_id, check_object, nextCheckOrder);
                    SelfTaskDetailEntity   curSelfTaskDetailEntity    = selfTaskDetailApp.GetByPersonAttachPersonTaskObjTaskType(assessment_id, nextAssessmentDetailEntity.checker, check_object, 1);
                    //激活任务
                    curSelfTaskDetailEntity.task_statue      = 1;
                    curSelfTaskDetailEntity.last_modify_time = DateTime.Now;
                    db.Update <SelfTaskDetailEntity>(curSelfTaskDetailEntity);
                }
                //如果是整个考核的最后一条
                if (assessmentDetailApp.IsLastChecker(assessment_id))//如果是最后一个人对最后一个对象考核
                {
                    //更新整个考核为待归档
                    AssessmentEntity assessmentEntity = assessmentApp.GetForm(assessment_id);
                    if (assessmentEntity == null)
                    {
                        return(Error("系统未知错误。"));
                    }
                    assessmentEntity.assessment_statue = 1;
                    assessmentEntity.last_modify_time  = DateTime.Now;
                    db.Update <AssessmentEntity>(assessmentEntity);
                    //激活“考核结果审核人”的归档任务
                    SelfTaskDetailEntity selfTaskDetailEntity = selfTaskDetailApp.GetByPersonAttachTaskObjTaskType(assessment_id, assessment_id, 4);
                    selfTaskDetailEntity.task_statue      = 1;
                    selfTaskDetailEntity.last_modify_time = DateTime.Now;
                    db.Update <SelfTaskDetailEntity>(selfTaskDetailEntity);
                }

                db.Commit();
            }
            return(Success("操作成功。", null));
        }