/// <summary> /// 根据时间获取各单位班会情况 /// </summary> /// <param name="projectId"></param> /// <param name="unitId"></param> /// <param name="meetingDate"></param> /// <returns></returns> public static List <Model.MeetingItem> getClassMeetingInfo(string projectId, string unitId, string meetingDate) { List <Model.MeetingItem> getMeetItems = new List <Model.MeetingItem>(); DateTime mdate = Funs.GetNewDateTimeOrNow(meetingDate); //// 当日该单位班前会 var getClassMeets = from x in Funs.DB.Meeting_ClassMeeting where x.ProjectId == projectId && x.UnitId == unitId && x.ClassMeetingDate.Value.Year == mdate.Year && x.ClassMeetingDate.Value.Month == mdate.Month && x.ClassMeetingDate.Value.Day == mdate.Day select x; var getTeamGroups = from x in Funs.DB.ProjectData_TeamGroup where x.ProjectId == projectId && x.UnitId == unitId orderby x.TeamGroupCode select x; foreach (var item in getTeamGroups) { Model.MeetingItem newItem = new Model.MeetingItem { ProjectId = projectId, UnitId = unitId, UnitName = Funs.DB.Base_Unit.First(u => u.UnitId == unitId).UnitName, TeamGroupId = item.TeamGroupId, TeamGroupName = item.TeamGroupName, AttentPersonNum = getClassMeets.Where(x => x.TeamGroupId == item.TeamGroupId).Sum(x => x.AttentPersonNum) ?? 0, MeetingHours = getClassMeets.Where(x => x.TeamGroupId == item.TeamGroupId).Sum(x => x.MeetingHours) ?? 0, }; getMeetItems.Add(newItem); } return(getMeetItems); }
/// <summary> /// 保存QualityAudit_EquipmentQuality /// </summary> /// <param name="newItem">机具设备资质</param> /// <returns></returns> public static void SaveEquipmentQuality(Model.EquipmentQualityItem newItem) { Model.SUBHSSEDB db = Funs.DB; Model.QualityAudit_EquipmentQuality newEquipmentQuality = new Model.QualityAudit_EquipmentQuality { EquipmentQualityId = newItem.EquipmentQualityId, ProjectId = newItem.ProjectId, EquipmentQualityCode = newItem.EquipmentQualityCode, UnitId = newItem.UnitId, SpecialEquipmentId = newItem.SpecialEquipmentId, EquipmentQualityName = newItem.EquipmentQualityName, SizeModel = newItem.SizeModel, FactoryCode = newItem.FactoryCode, CertificateCode = newItem.CertificateCode, CheckDate = Funs.GetNewDateTime(newItem.CheckDate), LimitDate = Funs.GetNewDateTimeOrNow(newItem.LimitDate), InDate = Funs.GetNewDateTime(newItem.InDate), OutDate = Funs.GetNewDateTime(newItem.OutDate), ApprovalPerson = newItem.ApprovalPerson, CarNum = newItem.CarNum, Remark = newItem.Remark, CompileMan = newItem.CompileManId, }; var updateEquipmentQuality = Funs.DB.QualityAudit_EquipmentQuality.FirstOrDefault(x => x.EquipmentQualityId == newItem.EquipmentQualityId); if (updateEquipmentQuality == null) { newEquipmentQuality.CompileDate = DateTime.Now; newEquipmentQuality.EquipmentQualityId = SQLHelper.GetNewID(); newEquipmentQuality.EquipmentQualityCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.EquipmentQualityMenuId, newEquipmentQuality.ProjectId, newEquipmentQuality.UnitId); EquipmentQualityService.AddEquipmentQuality(newEquipmentQuality); } else { EquipmentQualityService.UpdateEquipmentQuality(newEquipmentQuality); } if (!string.IsNullOrEmpty(newItem.AttachUrl)) { ////保存附件 UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl, 10, null), newItem.AttachUrl, Const.EquipmentQualityMenuId, newEquipmentQuality.EquipmentQualityId); } else { CommonService.DeleteAttachFileById(newEquipmentQuality.EquipmentQualityId); } }
public static DateTime GetQuarterlyMonths(string year, string quarterly) { string startMonth = string.Empty; if (quarterly == "1") { startMonth = "1"; } else if (quarterly == "2") { startMonth = "4"; } else if (quarterly == "3") { startMonth = "7"; } else if (quarterly == "4") { startMonth = "10"; } return(Funs.GetNewDateTimeOrNow(year + "-" + startMonth + "-01")); }
/// <summary> /// 保存TestPlan /// </summary> /// <param name="getTestPlan">考试计划记录</param> public static string SaveTestPlan(Model.TestPlanItem getTestPlan) { string alterStr = string.Empty; using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString)) { Model.Training_TestPlan newTestPlan = new Model.Training_TestPlan { TestPlanId = getTestPlan.TestPlanId, ProjectId = getTestPlan.ProjectId, PlanCode = getTestPlan.TestPlanCode, PlanName = getTestPlan.TestPlanName, PlanManId = getTestPlan.TestPlanManId, //PlanDate= getTestPlan.TestPlanDate, TestStartTime = Funs.GetNewDateTimeOrNow(getTestPlan.TestStartTime), TestEndTime = Funs.GetNewDateTimeOrNow(getTestPlan.TestEndTime), Duration = getTestPlan.Duration, SValue = getTestPlan.SValue, MValue = getTestPlan.MValue, JValue = getTestPlan.JValue, TotalScore = getTestPlan.TotalScore, QuestionCount = getTestPlan.QuestionCount, TestPalce = getTestPlan.TestPalce, UnitIds = getTestPlan.UnitIds, WorkPostIds = getTestPlan.WorkPostIds, States = getTestPlan.States, PlanDate = DateTime.Now, }; if (!string.IsNullOrEmpty(getTestPlan.TrainingPlanId)) { newTestPlan.PlanId = getTestPlan.TrainingPlanId; } var isUpdate = db.Training_TestPlan.FirstOrDefault(x => x.TestPlanId == newTestPlan.TestPlanId); if (isUpdate == null) { string unitId = string.Empty; var user = db.Sys_User.FirstOrDefault(e => e.UserId == newTestPlan.PlanManId); if (user != null) { unitId = user.UnitId; } newTestPlan.PlanCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, unitId); if (string.IsNullOrEmpty(newTestPlan.TestPlanId)) { newTestPlan.TestPlanId = SQLHelper.GetNewID(); } db.Training_TestPlan.InsertOnSubmit(newTestPlan); db.SubmitChanges(); CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, null, newTestPlan.TestPlanId, newTestPlan.PlanDate); } else { isUpdate.States = newTestPlan.States; if (isUpdate.States == "0" || isUpdate.States == "1") { isUpdate.PlanName = newTestPlan.PlanName; isUpdate.PlanManId = newTestPlan.PlanManId; isUpdate.PlanDate = newTestPlan.PlanDate; isUpdate.TestStartTime = newTestPlan.TestStartTime; isUpdate.TestEndTime = newTestPlan.TestEndTime; isUpdate.Duration = newTestPlan.Duration; isUpdate.TotalScore = newTestPlan.TotalScore; isUpdate.QuestionCount = newTestPlan.QuestionCount; isUpdate.TestPalce = newTestPlan.TestPalce; isUpdate.UnitIds = newTestPlan.UnitIds; isUpdate.WorkPostIds = newTestPlan.WorkPostIds; ////删除 考生记录 var deleteRecords = from x in db.Training_TestRecord where x.TestPlanId == isUpdate.TestPlanId select x; if (deleteRecords.Count() > 0) { foreach (var item in deleteRecords) { var testRecordItem = from x in db.Training_TestRecordItem where x.TestRecordId == item.TestRecordId select x; if (testRecordItem.Count() > 0) { db.Training_TestRecordItem.DeleteAllOnSubmit(testRecordItem); db.SubmitChanges(); } } db.Training_TestRecord.DeleteAllOnSubmit(deleteRecords); db.SubmitChanges(); } ////删除 考试题目类型 var deleteTestPlanTrainings = from x in db.Training_TestPlanTraining where x.TestPlanId == isUpdate.TestPlanId select x; if (deleteTestPlanTrainings.Count() > 0) { db.Training_TestPlanTraining.DeleteAllOnSubmit(deleteTestPlanTrainings); db.SubmitChanges(); } } else if (isUpdate.States == "3") ////考试状态3时 更新培训计划状态 把培训计划写入培训记录中 { DateTime?endTime = Funs.GetNewDateTime(getTestPlan.TestEndTime); ////判断是否有未考完的考生 var getTrainingTestRecords = db.Training_TestRecord.FirstOrDefault(x => x.TestPlanId == isUpdate.TestPlanId && (!x.TestStartTime.HasValue || ((!x.TestEndTime.HasValue || !x.TestScores.HasValue) && x.TestStartTime.Value.AddMinutes(isUpdate.Duration) >= DateTime.Now))); if (getTrainingTestRecords != null && endTime.HasValue && endTime.Value.AddMinutes(isUpdate.Duration) < DateTime.Now) { alterStr = "当前存在未交卷考生,不能提前结束考试!"; isUpdate.States = "2"; } else { SubmitTest(isUpdate); } } else if (newTestPlan.States == "2") ////开始考试 只更新考试计划状态为考试中。 { if (isUpdate.TestStartTime > DateTime.Now) { isUpdate.States = "1"; alterStr = "未到考试扫码开始时间,不能开始考试!"; } } if (string.IsNullOrEmpty(alterStr)) { db.SubmitChanges(); } } if (newTestPlan.States == "0" || newTestPlan.States == "1") { if (getTestPlan.TestRecordItems.Count() > 0) { ////新增考试人员明细 foreach (var item in getTestPlan.TestRecordItems) { var person = db.SitePerson_Person.FirstOrDefault(e => e.PersonId == item.TestManId); if (person != null) { Model.Training_TestRecord newTrainDetail = new Model.Training_TestRecord { TestRecordId = SQLHelper.GetNewID(), ProjectId = newTestPlan.ProjectId, TestPlanId = newTestPlan.TestPlanId, TestManId = item.TestManId, TestType = item.TestType, Duration = newTestPlan.Duration, }; db.Training_TestRecord.InsertOnSubmit(newTrainDetail); db.SubmitChanges(); } } } if (getTestPlan.TestPlanTrainingItems.Count() > 0) { foreach (var item in getTestPlan.TestPlanTrainingItems) { var trainingType = TestTrainingService.GetTestTrainingById(item.TrainingTypeId); if (trainingType != null) { Model.Training_TestPlanTraining newPlanItem = new Model.Training_TestPlanTraining { TestPlanTrainingId = SQLHelper.GetNewID(), TestPlanId = newTestPlan.TestPlanId, TrainingId = item.TrainingTypeId, TestType1Count = item.TestType1Count, TestType2Count = item.TestType2Count, TestType3Count = item.TestType3Count, }; db.Training_TestPlanTraining.InsertOnSubmit(newPlanItem); db.SubmitChanges(); } } } } } return(alterStr); }