protected override void OnFlowEnd(T_Trainmanagement_Departmenttrainplan entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing)
        {
            if (entity != null)
            {
                if (string.IsNullOrEmpty(entity.RelateID))
                {
                    entity.RelateID = entity.ID;
                }


                var list = entity.T_Trainmanagement_Departmenttrainplan_Trainplan.ToList();

                HRSQLDB.ExecuteNonQuery("delete from S_Train_DeptPlan where FormID ='" + entity.RelateID + "'");
                foreach (var item in list)
                {
                    S_Train_DeptPlan plan = new S_Train_DeptPlan();
                    plan.ID = Formula.FormulaHelper.CreateGuid();

                    //更新主表对应的数据
                    UpdateEntity <S_Train_DeptPlan>(plan, entity.ToDic());
                    //更新子表对应的数据
                    UpdateEntity <S_Train_DeptPlan>(plan, item.ToDic());

                    plan.FormID  = entity.RelateID;
                    plan.InOrOut = "In";
                    BusinessEntities.Set <S_Train_DeptPlan>().Add(plan);
                }
                //更新本年的部门培训通知状态
                var sql = string.Format("update  S_Train_DeptTask set IsSubmit = 'True' where Dept = '{0}' and Trainyears ='{1}'", entity.Putdept, entity.Trainyears);
                HRSQLDB.ExecuteNonQuery(sql);

                entity.IsNewVersion = "True";

                sql = string.Format("update T_Trainmanagement_Departmenttrainplan set IsNewVersion = 'False' where RelateID='{0}' and ID <>'{1}'", entity.RelateID, entity.ID);
                HRSQLDB.ExecuteNonQuery(sql);
                BusinessEntities.SaveChanges();
            }

            base.OnFlowEnd(entity, taskExec, routing);
        }
Esempio n. 2
0
        protected override void OnFlowEnd(T_Trainmanagement_Depttrainresults entity, Workflow.Logic.Domain.S_WF_InsTaskExec taskExec, Workflow.Logic.Domain.S_WF_InsDefRouting routing)
        {
            if (entity == null)
            {
                return;
            }

            //更新人力下达给部门培训任务的信息
            var task = BusinessEntities.Set <S_Train_DeptTask>().FirstOrDefault(p => p.Dept == entity.Udertakedept && p.Trainyears == entity.Trainyears);

            if (task == null)
            {
                return;
            }
            if (entity.Planornot == "True")
            {
                task.SubmitInPlanHours += 1;
            }
            else
            {
                task.SubmitOutPlanCount += 1;
            }
            if (string.IsNullOrEmpty(entity.Trainproject))
            {
                return;
            }

            var deptPlan = BusinessEntities.Set <S_Train_DeptPlan>().Find(entity.Trainproject);

            if (deptPlan == null)
            {
                //生成计划外培训数据
                deptPlan                 = new S_Train_DeptPlan();
                deptPlan.ID              = Formula.FormulaHelper.CreateGuid();
                deptPlan.Trainyears      = entity.Trainyears;
                deptPlan.Trainperson     = entity.Fillname;
                deptPlan.TrainpersonName = entity.FillnameName;
                deptPlan.Trainproject    = entity.TrainprojectName;
                deptPlan.InOrOut         = "Out";//计划外
                deptPlan.Putdept         = entity.Udertakedept;
                deptPlan.PutdeptName     = entity.UdertakedeptName;

                BusinessEntities.Set <S_Train_DeptPlan>().Add(deptPlan);

                entity.Trainproject = deptPlan.ID;
            }

            //累计学时
            if (deptPlan.UseWorkTime == null)
            {
                deptPlan.UseWorkTime = 0;
            }

            //进度=100 标记为完成
            if (entity.Progress == 100)
            {
                deptPlan.IsComplete = "True";
            }
            deptPlan.UseWorkTime += entity.Trainhours;
            BusinessEntities.SaveChanges();
        }