protected override void ExcuteSelf()
        {
            Employee employee = _DalEmployee.GetEmployeeByAccountID(_EmployeeID);

            //劳动合同
            if (_ContractTypeId == 1)
            {
                _IAddSystemSetCondition = new AddSystemSetConditionForLabour();
                _IAddSystemSetCondition.AddSystemSetCondition(_ApplyAssessConditions, _ContractStartTime,
                                                              _ContractEndTime, employee.EmployeeDetails.Work.ComeDate);
            }
            //续签劳动合同
            if (_ContractTypeId == 2)
            {
                _IAddSystemSetCondition = new AddSystemSetConditionForContinuedLabour();
                _IAddSystemSetCondition.AddSystemSetCondition(_ApplyAssessConditions, _ContractStartTime,
                                                              _ContractEndTime, employee.EmployeeDetails.Work.ComeDate);
            }
            //实习合同
            if (_ContractTypeId == 4)
            {
                _IAddSystemSetCondition = new AddSystemSetConditionForPractice();
                _IAddSystemSetCondition.AddSystemSetCondition(_ApplyAssessConditions, _ContractStartTime,
                                                              _ContractEndTime, employee.EmployeeDetails.Work.ComeDate);
            }
            ApplyAssessConditionUtility.RemoveUnvalidConditions(_ApplyAssessConditions, _ContractStartTime,
                                                                _ContractEndTime);
            ApplyAssessConditionUtility.GenerateConditions(_ApplyAssessConditions);
        }
        /// <summary>
        /// 实现IAddSystemSetCondition,将信息填充到conditions中
        /// </summary>
        /// <param name="conditions"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="employeeComeDate"></param>
        public void AddSystemSetCondition(List <ApplyAssessCondition> conditions, DateTime startTime, DateTime endTime, DateTime employeeComeDate)
        {
            if ((endTime - startTime).Days > 366)
            {
                //试用II
                ApplyAssessCondition conditionItemProbationII = new ApplyAssessCondition(0);
                conditionItemProbationII.ApplyDate = startTime.AddDays(AAUtility._CheckProbationII_Days);
                conditionItemProbationII.ApplyAssessCharacterType = AssessCharacterType.ProbationII;
                conditionItemProbationII.AssessScopeFrom          = startTime;
                conditionItemProbationII.AssessScopeTo            = startTime.AddMonths(6).AddDays(-1);
                conditions.Add(conditionItemProbationII);

                AddConditionForNormalLabour(conditions, startTime, endTime);
            }
            else
            {
                //试用II
                ApplyAssessCondition conditionItemProbationII = new ApplyAssessCondition(0);
                conditionItemProbationII.ApplyDate = startTime.AddDays(AAUtility._CheckProbationIIOneYear_Days);
                conditionItemProbationII.ApplyAssessCharacterType = AssessCharacterType.ProbationII;
                conditionItemProbationII.AssessScopeFrom          = startTime;
                conditionItemProbationII.AssessScopeTo            = startTime.AddMonths(2).AddDays(-1);
                conditions.Add(conditionItemProbationII);

                AddConditionForNormalLabour(conditions, startTime, endTime);
            }
            //生成年终考核
            ApplyAssessConditionUtility.CreateAnnualConditions(conditions, startTime, endTime, employeeComeDate);
        }
Example #3
0
        /// <summary>
        /// 实现IAddSystemSetCondition,将信息填充到conditions中
        /// </summary>
        /// <param name="conditions"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="employeeComeDate"></param>
        public void AddSystemSetCondition(List <ApplyAssessCondition> conditions, DateTime startTime, DateTime endTime, DateTime employeeComeDate)
        {
            //合同周期
            DateTime dtStartTime;
            //for (int i = 1; DateTime.Compare(endTime, startTime.AddYears(i)) >= 0; i++)
            //{
            //    ApplyAssessCondition conditionItemNormal = new ApplyAssessCondition(0);
            //    dtStartTime = startTime.AddYears(i);
            //    conditionItemNormal.ApplyDate = dtStartTime.AddDays(-(AAUtility._CheckNormal_Days + 1));
            //    conditionItemNormal.ApplyAssessCharacterType = AssessCharacterType.Normal;
            //    conditionItemNormal.AssessScopeFrom = dtStartTime.AddYears(-1);
            //    conditionItemNormal.AssessScopeTo = dtStartTime.AddDays(-1);
            //    conditions.Add(conditionItemNormal);
            //}
            //合同期满
            ApplyAssessCondition conditionItemNormalForContract = new ApplyAssessCondition(0);

            conditionItemNormalForContract.ApplyDate = endTime.AddDays(-AAUtility._CheckNormal_Days);
            conditionItemNormalForContract.ApplyAssessCharacterType = AssessCharacterType.NormalForContract;
            conditionItemNormalForContract.AssessScopeFrom          = startTime;
            conditionItemNormalForContract.AssessScopeTo            = endTime;
            conditions.Add(conditionItemNormalForContract);
            //生成年终考核
            ApplyAssessConditionUtility.CreateAnnualConditions(conditions, startTime, endTime, employeeComeDate);
        }
Example #4
0
 protected override void ExcuteSelf()
 {
     for (int i = 0; i < _ApplyAssessConditions.Count; i++)
     {
         if (_ApplyAssessCondition.ConditionID == _ApplyAssessConditions[i].ConditionID)
         {
             _ApplyAssessConditions[i] = _ApplyAssessCondition;
             break;
         }
     }
     ApplyAssessConditionUtility.GenerateConditions(_ApplyAssessConditions);
 }
Example #5
0
        /// <summary>
        /// 实现IAddSystemSetCondition,将信息填充到conditions中
        /// </summary>
        /// <param name="conditions"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="employeeComeDate"></param>
        public void AddSystemSetCondition(List <ApplyAssessCondition> conditions, DateTime startTime, DateTime endTime, DateTime employeeComeDate)
        {
            //三方协议
            DateTime?dtRealPracticeI = null;
            DateTime dtForPracticeI  =
                Convert.ToDateTime(startTime.Year + "-" + AAUtility._CheckPracticeI_Month + "-" +
                                   AAUtility._CheckPracticeI_Day);

            if (DateTime.Compare(endTime, dtForPracticeI) > 0 && DateTime.Compare(dtForPracticeI, startTime) > 0)
            {
                dtRealPracticeI = dtForPracticeI;
            }
            else
            {
                dtForPracticeI =
                    Convert.ToDateTime(startTime.Year + 1 + "-" + AAUtility._CheckPracticeI_Month + "-" +
                                       AAUtility._CheckPracticeI_Day);
                if (DateTime.Compare(endTime, dtForPracticeI) > 0 && DateTime.Compare(dtForPracticeI, startTime) > 0)
                {
                    dtRealPracticeI = dtForPracticeI;
                }
            }
            if (dtRealPracticeI != null)
            {
                ApplyAssessCondition conditionItemPracticeI = new ApplyAssessCondition(0);
                conditionItemPracticeI.ApplyDate = dtForPracticeI;
                conditionItemPracticeI.ApplyAssessCharacterType = AssessCharacterType.PracticeI;
                conditionItemPracticeI.AssessScopeFrom          = startTime;
                conditionItemPracticeI.AssessScopeTo            = dtForPracticeI.AddDays(26);
                conditions.Add(conditionItemPracticeI);
            }

            //实习期到期
            ApplyAssessCondition conditionItemPracticeII = new ApplyAssessCondition(0);

            conditionItemPracticeII.ApplyDate = endTime.AddDays(-AAUtility._CheckPracticeII_Day);
            conditionItemPracticeII.ApplyAssessCharacterType = AssessCharacterType.PracticeII;
            conditionItemPracticeII.AssessScopeFrom          = startTime;
            conditionItemPracticeII.AssessScopeTo            = endTime;
            conditions.Add(conditionItemPracticeII);
            //生成年终考核
            ApplyAssessConditionUtility.CreateAnnualConditions(conditions, startTime, endTime, employeeComeDate);
        }
 protected override void ExcuteSelf()
 {
     _ApplyAssessConditions.Add(_ApplyAssessCondition);
     ApplyAssessConditionUtility.GenerateConditions(_ApplyAssessConditions);
 }