示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
            }
        }
示例#3
0
文件: Funs.cs 项目: klniu/SUBHSSE
        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"));
        }
示例#4
0
        /// <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);
        }