Example #1
0
        public ActionResult SaveForm(string WorksetType, WorkSettingEntity entity)
        {
            var user = OperatorProvider.Provider.Current();
            List <WorkSettingEntity> entityList = new List <WorkSettingEntity>();

            if (WorksetType != "update")
            {
                //获取班制类别
                var data = sysBll.GetList().FirstOrDefault(row => row.Id == WorksetType);
                //是否已经存在
                var one = workset.GetList(user.DeptId).FirstOrDefault(row => row.WorkSetName == data.SystemName);
                if (one != null)
                {
                    return(Success("已经存在该班次。"));
                }
                else
                {
                    //初始化班制
                    entityList = SaveDate(data);
                }
            }
            else
            {
                var one = workset.GetList(user.DeptId).FirstOrDefault(row => row.WorkSettingId == entity.WorkSettingId);
                one.TimeLength    = entity.TimeLength;
                one.Name          = entity.Name;
                one.StartTimeSpan = entity.StartTimeSpan;
                one.EndTimeSpan   = entity.EndTimeSpan;
                DateTime markTime = new DateTime(2000, 01, 02);
                if (entity.EndTime <= entity.StartTime)
                {
                    //跨天
                    entity.EndTime   = markTime.AddDays(1).AddHours(entity.EndTime.Hour).AddMinutes(entity.EndTime.Minute);
                    entity.StartTime = markTime.AddHours(entity.StartTime.Hour).AddMinutes(entity.StartTime.Minute);
                }
                else
                {
                    //没有跨天
                    entity.EndTime   = markTime.AddHours(entity.EndTime.Hour).AddMinutes(entity.EndTime.Minute);
                    entity.StartTime = markTime.AddHours(entity.StartTime.Hour).AddMinutes(entity.StartTime.Minute);
                }
                one.EndTime   = entity.EndTime;
                one.StartTime = entity.StartTime;
                entityList.Add(one);
            }
            workset.saveForm(entityList);
            return(Success("操作成功。"));
        }
Example #2
0
        /// <summary>
        /// 计算班制初始数据
        /// </summary>
        /// <returns></returns>
        private List <WorkSettingEntity> SaveDate(WorkSetTypeEntity data)
        {
            List <WorkSettingEntity> entityList = new List <WorkSettingEntity>();
            int      typeNum   = Convert.ToInt32(data.SystemType);
            DateTime markTime  = new DateTime(2000, 01, 02);
            string   randomNum = CommonHelper.RndNum(8);
            var      user      = OperatorProvider.Provider.Current();

            for (int i = 0; i < typeNum; i++)
            {
                int hourNum = 24 / typeNum;
                WorkSettingEntity entity = new WorkSettingEntity();
                entity.DeparMentId = user.DeptId;
                entity.BookMarks   = randomNum;
                entity.StartTime   = data.SystemName == "常白班" ? markTime.AddHours(8).AddMinutes(30) : data.SystemName == "一班制" ? markTime : markTime.AddHours(hourNum * i);
                if (i == typeNum - 1)
                {
                    entity.EndTime = data.SystemName == "常白班" ? markTime.AddHours(17).AddMinutes(30) : data.SystemName == "一班制" ? markTime.AddDays(1).AddMinutes(-1) : markTime.AddHours(hourNum * (i + 1)).AddMinutes(-1);
                }
                else
                {
                    entity.EndTime = data.SystemName == "常白班" ? markTime.AddHours(17).AddMinutes(30) : data.SystemName == "一班制" ? markTime.AddDays(1).AddMinutes(-1) : markTime.AddHours(hourNum * (i + 1));
                }
                var timeSpan = (entity.EndTime - entity.StartTime);
                entity.TimeLength = timeSpan.Hours < 10 ? "0" + timeSpan.Hours + "时" + (timeSpan.Minutes < 10 ? "0" + timeSpan.Minutes.ToString() + "分" : timeSpan.Minutes.ToString() + "分")
                    : timeSpan.Hours.ToString() + "时" + (timeSpan.Minutes < 10 ? "0" + timeSpan.Minutes.ToString() + "分" : timeSpan.Minutes.ToString() + "分");
                entity.WorkSetType = typeNum;
                entity.WorkSetupId = data.Id;
                entity.WorkSetName = data.SystemName;
                #region  班次名称
                switch (data.SystemName)
                {
                case "常白班":
                    entity.Name = "常白班";
                    break;

                case "一班制":
                    entity.Name = "通宵班";
                    break;

                case "两班制":
                    switch (i)
                    {
                    case 0:
                        entity.Name = "白班";
                        break;

                    default:
                        entity.Name = "夜班";
                        break;
                    }
                    break;

                case "三班制":
                    switch (i)
                    {
                    case 0:
                        entity.Name = "前夜";
                        break;

                    case 1:
                        entity.Name = "白班";
                        break;

                    default:
                        entity.Name = "后夜";
                        break;
                    }
                    break;

                case "四班制":
                    switch (i)
                    {
                    case 0:
                        entity.Name = "A班";
                        break;

                    case 1:
                        entity.Name = "B班";
                        break;

                    case 2:
                        entity.Name = "C班";
                        break;

                    default:
                        entity.Name = "D班";
                        break;
                    }
                    break;

                default:
                    entity.Name = "班制";
                    break;
                }
                #endregion
                entityList.Add(entity);
            }
            return(entityList);
        }