Esempio n. 1
0
 public ActionResult Edit(StaffSkillViewModel staffSkill)
 {
     if (ModelState.IsValid)
     {
         StaffSkill ss = db.StaffSkills.Find(staffSkill.Id);
         /*查找员工技能预留字段(value)*/
         var fieldValueList = (from ssr in db.StaffSkillReserves
                               join rf in db.ReserveFields on ssr.FieldId equals rf.Id
                               where ssr.Number == staffSkill.Id && rf.Status == true
                               select new StaffSkillViewModel {
             Id = ssr.Id, Description = rf.Description, Value = ssr.Value
         }).ToList();
         //ViewBag.fieldValueList = fieldValueList;
         /*给预留字段赋值*/
         foreach (var temp in fieldValueList)
         {
             StaffSkillReserve ssr = db.StaffSkillReserves.Find(temp.Id);
             ssr.Value = Request[temp.Description];
             db.SaveChanges();
         }
         ss.ValidDate      = staffSkill.ValidDate;
         ss.StaffNumber    = staffSkill.StaffNumber;
         ss.SkillRemark    = staffSkill.SkillRemark;
         ss.SkillNumber    = staffSkill.SkillNumber;
         ss.BillTypeNumber = staffSkill.BillTypeNumber;
         ss.BillNumber     = staffSkill.BillNumber;
         ss.ChangePerson   = base.Name;
         ss.ChangeTime     = DateTime.Now;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(staffSkill));
 }
Esempio n. 2
0
        // GET: StaffSkill/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            StaffSkill staffSkill = db.StaffSkills.Find(id);

            if (staffSkill == null)
            {
                return(HttpNotFound());
            }
            StaffSkillViewModel staffSkillViewModel = new StaffSkillViewModel();

            staffSkillViewModel.Id              = staffSkill.Id;
            staffSkillViewModel.BillNumber      = staffSkill.BillNumber;
            staffSkillViewModel.BillTypeNumber  = staffSkill.BillTypeNumber;
            staffSkillViewModel.StaffNumber     = staffSkill.StaffNumber;
            staffSkillViewModel.SkillNumber     = staffSkill.SkillNumber;
            staffSkillViewModel.SkillRemark     = staffSkill.SkillRemark;
            staffSkillViewModel.ValidDate       = staffSkill.ValidDate;
            staffSkillViewModel.AuditStatusName = db.States.Find(staffSkill.AuditStatus).Description;
            var stafflParam = db.StaffParams.Where(sp => sp.Id.ToString().Equals(staffSkill.SkillNumber));
            var staffs      = (from s in db.Staffs
                               join d in db.Departments on s.Department equals d.DepartmentId
                               where s.StaffNumber == staffSkill.StaffNumber
                               select new { Name = s.Name, Department = d.Name }).ToList();
            var billTypeNumber = db.BillProperties.Where(bp => bp.Type.Equals(staffSkill.BillTypeNumber));

            foreach (var billTypeNumber1 in billTypeNumber)
            {
                staffSkillViewModel.BillTypeName = billTypeNumber1.TypeName;
            }
            foreach (var temp in stafflParam)
            {
                staffSkillViewModel.SkillName = temp.Value;
            }
            foreach (var temp in staffs)
            {
                staffSkillViewModel.StaffName  = temp.Name;
                staffSkillViewModel.Department = temp.Department;
            }
            /*显示预留字段以及预留字段的值*/
            /*查找员工技能预留字段(name)*/
            var fieldNameList = (from p in db.ReserveFields
                                 join q in db.TableNameContrasts
                                 on p.TableNameId equals q.Id
                                 where q.TableName == "StaffSkills" &&
                                 p.Status == true
                                 select p).ToList();

            ViewBag.fieldNameList = fieldNameList;
            /*查找员工技能预留字段(value)*/
            var fieldValueList = (from ssr in db.StaffSkillReserves
                                  join rf in db.ReserveFields on ssr.FieldId equals rf.Id
                                  where ssr.Number == staffSkill.Id && rf.Status == true
                                  select new StaffSkillViewModel {
                Id = ssr.Number, Description = rf.Description, Value = ssr.Value
            }).ToList();

            ViewBag.fieldValueList = fieldValueList;
            return(View(staffSkillViewModel));
        }
Esempio n. 3
0
        // GET: StaffSkill/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            StaffSkill staffSkill = db.StaffSkills.Find(id);

            if (staffSkill == null)
            {
                return(HttpNotFound());
            }
            StaffSkillViewModel staffSkillViewModel = new StaffSkillViewModel();

            staffSkillViewModel.Id             = staffSkill.Id;
            staffSkillViewModel.BillNumber     = staffSkill.BillNumber;
            staffSkillViewModel.BillTypeNumber = staffSkill.BillTypeNumber;
            staffSkillViewModel.StaffNumber    = staffSkill.StaffNumber;
            staffSkillViewModel.SkillNumber    = staffSkill.SkillNumber;
            staffSkillViewModel.SkillRemark    = staffSkill.SkillRemark;
            staffSkillViewModel.ValidDate      = staffSkill.ValidDate;
            var stafflParam = db.StaffParams.Where(sp => sp.Id.ToString().Equals(staffSkill.SkillNumber));
            var staffs      = (from s in db.Staffs
                               join d in db.Departments on s.Department equals d.DepartmentId
                               into gc /*左联:显示所有员工表的字段*/
                               from d in gc.DefaultIfEmpty()
                               where s.StaffNumber == staffSkill.StaffNumber
                               select new { Name = s.Name, Department = d.Name }).ToList();
            var billTypeNumber = db.BillProperties.Where(bp => bp.Type.Equals(staffSkill.BillTypeNumber));

            foreach (var billTypeNumber1 in billTypeNumber)
            {
                staffSkillViewModel.BillTypeName = billTypeNumber1.TypeName;
            }
            foreach (var temp in stafflParam)
            {
                staffSkillViewModel.SkillName = temp.Value;
            }
            foreach (var temp in staffs)
            {
                staffSkillViewModel.StaffName  = temp.Name;
                staffSkillViewModel.Department = temp.Department;
            }
            //4.员工技能
            List <SelectListItem> staffSkill2 = new List <SelectListItem>();
            ///linq多表查询
            var staffSkill1 = from spt in db.StaffParamTypes
                              join sp in db.StaffParams on spt.Id equals sp.StaffParamTypeId
                              where spt.Name == "员工技能"
                              select new { id = sp.Id, value = sp.Value };

            foreach (var tt in staffSkill1)
            {
                SelectListItem i = new SelectListItem();
                i.Value = tt.id.ToString();
                i.Text  = tt.value;
                staffSkill2.Add(i);
            }
            ViewBag.staffSkill = staffSkill2;
            /*查找员工技能预留字段(value)*/
            var fieldValueList = (from ssr in db.StaffSkillReserves
                                  join rf in db.ReserveFields on ssr.FieldId equals rf.Id
                                  //where ssr.Number == staffSkill.Id
                                  where ssr.Number == id && rf.Status == true
                                  select new StaffSkillViewModel {
                Description = rf.Description, Value = ssr.Value
            }).ToList();

            ViewBag.fieldValueList = fieldValueList;

            return(View(staffSkillViewModel));
        }
Esempio n. 4
0
        public ActionResult Create(StaffSkill staffSkill3)
        {
            if (ModelState.IsValid)
            {
                staffSkill3.RecordTime = DateTime.Now;

                if (staffSkill3.ValidDate < DateTime.Today)
                {
                    ModelState.AddModelError("", "生效日期错误!请重新选择");
                    CreateInite();
                    StaffSkillViewModel staffSkill = new StaffSkillViewModel();
                    staffSkill.Id          = staffSkill3.Id;
                    staffSkill.BillNumber  = staffSkill3.BillNumber;
                    staffSkill.StaffNumber = staffSkill3.StaffNumber;
                    staffSkill.SkillNumber = staffSkill3.SkillNumber;
                    staffSkill.SkillRemark = staffSkill3.SkillRemark;
                    staffSkill.ValidDate   = staffSkill3.ValidDate;

                    return(View(staffSkill));
                }

                staffSkill3.BillNumber   = GenerateBillNumber(staffSkill3.BillTypeNumber);
                staffSkill3.RecordPerson = base.Name;
                /*先保存员工技能固定的字段(为了生成主键Id)*/
                db.StaffSkills.Add(staffSkill3);
                db.SaveChanges();
                //提交审核
                byte status = AuditApplicationStaffSkill(staffSkill3);
                if (status == 7)
                {
                    ViewBag.alertMessage = true;
                    CreateInite();
                    StaffSkillViewModel staffSkill = new StaffSkillViewModel();
                    staffSkill.Id = staffSkill3.Id;
                    // staffSkill.BillTypeNumber = GenerateBillNumber();
                    staffSkill.BillNumber  = staffSkill3.BillNumber;
                    staffSkill.StaffNumber = staffSkill3.StaffNumber;
                    staffSkill.SkillNumber = staffSkill3.SkillNumber;
                    staffSkill.SkillRemark = staffSkill3.SkillRemark;
                    staffSkill.ValidDate   = staffSkill3.ValidDate;
                    return(View(staffSkill3));
                }
                else
                {
                    //需要对原表做出的修改
                    staffSkill3.AuditStatus = status;
                    db.SaveChanges();
                }

                /*查找员工技能预留字段(name)*/
                var fieldList = (from p in db.ReserveFields join q in db.TableNameContrasts on p.TableNameId equals q.Id where q.TableName == "StaffSkills" select p).ToList();
                ViewBag.fieldList = fieldList;
                /*遍历,保存员工技能变化的字段*/
                foreach (var temp in fieldList)
                {
                    StaffSkillReserve ssr = new StaffSkillReserve();
                    ssr.Number  = staffSkill3.Id;
                    ssr.FieldId = temp.Id;
                    ssr.Value   = Request[temp.FieldName];
                    /*占位,为了在Index中显示整齐的格式*/
                    if (ssr.Value == null)
                    {
                        ssr.Value = " ";
                    }
                    db.StaffSkillReserves.Add(ssr);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                CreateInite();
                StaffSkillViewModel staffSkill = new StaffSkillViewModel();
                staffSkill.Id = staffSkill3.Id;
                // staffSkill.BillTypeNumber = GenerateBillNumber();
                staffSkill.BillNumber  = staffSkill3.BillNumber;
                staffSkill.StaffNumber = staffSkill3.StaffNumber;
                staffSkill.SkillNumber = staffSkill3.SkillNumber;
                staffSkill.SkillRemark = staffSkill3.SkillRemark;
                staffSkill.ValidDate   = staffSkill3.ValidDate;

                return(View(staffSkill));
            }
        }