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); }
/// <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); }
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); }
/// <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); }