public async Task <IActionResult> Edit(int id, [Bind("StaffSalaryId,OnDate,StaffId,PaidAmount,CalcualteAmount,Remarks")] StaffSalary staffSalary)
        {
            if (id != staffSalary.StaffSalaryId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(staffSalary);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!StaffSalaryExists(staffSalary.StaffSalaryId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StaffId"] = new SelectList(_context.Staff, "StaffId", "StaffId", staffSalary.StaffId);
            return(View(staffSalary));
        }
Exemplo n.º 2
0
        public bool SaveStaffSalary(StaffSalary staffSalary)
        {
            //throw new NotImplementedException();

            IStaffSalaryDAL dAL = new StaffSalaryDAL();

            if (dAL.QueryById(staffSalary.Id) != null)
            {
                if (dAL.Update(staffSalary) > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                if (dAL.Add(staffSalary) > 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("SsId,StaffId,MonthName,Amount,Date")] StaffSalary staffSalary)
        {
            if (id != staffSalary.SsId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(staffSalary);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!StaffSalaryExists(staffSalary.SsId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(staffSalary));
        }
        public async Task <IActionResult> Create([Bind("SsId,StaffId,MonthName,Amount,Date")] StaffSalary staffSalary)
        {
            if (ModelState.IsValid)
            {
                _context.Add(staffSalary);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(staffSalary));
        }
        public async Task <IActionResult> Create([Bind("StaffSalaryId,OnDate,StaffId,PaidAmount,CalcualteAmount,Remarks")] StaffSalary staffSalary)
        {
            if (ModelState.IsValid)
            {
                _context.Add(staffSalary);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["StaffId"] = new SelectList(_context.Staff, "StaffId", "StaffId", staffSalary.StaffId);
            return(View(staffSalary));
        }
Exemplo n.º 6
0
        private void UpdateSelectedStaff()
        {
            StaffModel staff = (StaffModel)StaffsList.SelectedItem;

            if (staff != null)
            {
                StaffFullNameValue.Text = staff.Person.FullName;

                StaffSalaryList.ItemsSource = null;
                StaffSalaryList.ItemsSource = StaffSalary.FilterStaffSalariesByMonth(staff.GetStaffSalaries, (DateTime)SelectedDateValue.SelectedDate);

                TotalReceivedThisMonthValue.Value      = StaffSalary.TotalReceivedByMonth(staff.GetStaffSalaries, (DateTime)SelectedDateValue.SelectedDate);
                StaffShouldReceiveThisMonthValue.Value = staff.GetStaffShouldReceiveThisMonth;
            }
        }
        /// <summary>
        /// 工资发放
        /// </summary>
        /// <param name="staffSalary"></param>
        /// <returns></returns>
        public ActionResult PaySalary(StaffSalary staffSalary)
        {
            //检查该月份该员工是否已经发过工资
            var staffSal = SalaryHelper.CheckIfPaid(staffSalary.StaffId, staffSalary.SalaryMonth);

            if (staffSal != null)
            {
                TempData["CheckErr"] = "该员工" + staffSalary.SalaryMonth.Year + "-" + staffSalary.SalaryMonth.Month + "的薪资已经发放,请核查";
                return(RedirectToAction("SalaryList"));
            }

            //获取该员工该薪资月的送水记录,统计提成用
            var dailyRecords = DailyRecordHelper.DailyRecordList()
                               .Where(item => item.VisitDate.Year == staffSalary.SalaryMonth.Year &&
                                      item.VisitDate.Month == staffSalary.SalaryMonth.Month &&
                                      item.StaffId == staffSalary.StaffId);
            //判断是否需要薪资发放类型
            var salaryType = CompanyPayTypeHelper.GetById(SalaryPayType);

            if (salaryType == null)
            {
                MongoBase.Insert(new CompanyPayType
                {
                    Id      = SalaryPayType,
                    PayType = "员工薪资支出"
                });
            }

            staffSalary.Id         = ObjectId.NewObjectId().ToString();
            staffSalary.Commission = dailyRecords.Sum(i => i.SendBucketAmount) * Commission(); //提成

            MongoBase.Insert(staffSalary);
            //公司当月支出增多相应金额
            CompanyPayRecord companyRecord = new CompanyPayRecord()
            {
                Id        = ObjectId.NewObjectId().ToString(),
                IsPayType = true,
                PayTypeId = SalaryPayType,
                StaffId   = staffSalary.StaffId,
                TransSum  = staffSalary.Salary,
                TransTime = Convert.ToDateTime(staffSalary.SalaryMonth + "-28")
            };

            MongoBase.Insert(companyRecord);
            return(RedirectToAction("SalaryList"));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 更新实体
        /// </summary>
        /// <param name="user"></param>
        public static void Update(StaffSalary salary)
        {
            try
            {
                using (Mongo mongo = new Mongo(_connectionString))
                {
                    mongo.Connect();
                    var db         = mongo.GetDatabase(_dbName);
                    var collection = db.GetCollection <StaffSalary>();

                    // 更新对象
                    collection.Update(salary, item => item.Id == salary.Id);
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
                throw;
            }
        }
Exemplo n.º 9
0
        public ActionResult SalaryPaymentDetail(string id)
        {
            ISalaryGrantBLL salaryGrantBLL = new SalaryGrantBLL();

            IStaffBLL staffBLL = new StaffBLL();

            ISalaryBLL salaryBLL = new SalaryBLL();

            ISalaryItemBLL salaryItemBLL = new SalaryItemBLL();

            IOrgBLL orgBLL = new OrgBLL();

            List <StaffPayment> staffPaymentList = salaryGrantBLL.GetAllStaffPaymentByPaymentId(Convert.ToInt32(id));

            List <Models.StaffPayment> staffPaymentListView = new List <Models.StaffPayment>();

            foreach (var sp in staffPaymentList)
            {
                Models.StaffPayment staffPayment = new Models.StaffPayment
                {
                    Id         = sp.Id,
                    OddAmout   = sp.OddAmout,
                    MinusAmout = sp.MinusAmout
                };

                //获取Model.StaffSalary,为StaffPayment装载StaffSalary
                StaffSalary        staffSalary     = salaryGrantBLL.GetStaffSalaryById(sp.StaffSalaryId);
                Models.StaffSalary staffSalaryView = new Models.StaffSalary
                {
                    Id = staffSalary.Id,
                    StaffFileNumber = staffSalary.StaffFileNumber
                };

                Staff staff = staffBLL.GetStaffById(staffSalary.StaffId);
                staffSalaryView.Staff = new Models.Staff {
                    Id = staff.Id, StaffName = staff.StaffName
                };

                ThirdOrg  thirdOrg  = orgBLL.GetThirdOrgById(staff.ThirdOrgId);
                SecondOrg secondOrg = orgBLL.GetSecondOrgById(thirdOrg.ParentOrgId);
                FirstOrg  firstOrg  = orgBLL.GetFirstOrgById(secondOrg.ParentOrgId);

                Models.FirstOrg firstOrgView = new Models.FirstOrg {
                    Id = firstOrg.Id, OrgLevel = firstOrg.OrgLevel, OrgName = firstOrg.OrgName
                };
                Models.SecondeOrg secondeOrgView = new Models.SecondeOrg {
                    Id = secondOrg.Id, OrgName = secondOrg.OrgName, OrgLevel = secondOrg.OrgLevel, ParentOrg = firstOrgView
                };
                staffSalaryView.ThirdOrg = new Models.ThirdOrg {
                    Id = thirdOrg.Id, ParentOrg = secondeOrgView, OrgLevel = thirdOrg.OrgLevel, OrgName = thirdOrg.OrgName
                };

                SalaryStandard        salaryStandard     = salaryBLL.GetSalaryStandardById(staffSalary.StandardId);
                Models.SalaryStandard salaryStandardView = new Models.SalaryStandard
                {
                    Id           = salaryStandard.Id,
                    StandardName = salaryStandard.StandardName,
                };
                List <StandardMapItem> standardMapItemList = salaryBLL.GetAllStandardMapItemByStandardId(salaryStandard.Id);
                foreach (var item in standardMapItemList)
                {
                    SalaryItem salaryItem = salaryItemBLL.GetSalaryItemById(item.ItemId);

                    Models.SalaryItem salaryItemView = new Models.SalaryItem
                    {
                        Id   = salaryItem.Id,
                        Name = salaryItem.Name
                    };

                    salaryStandardView.ItemAmout.Add(salaryItemView, item.Amout);;
                }

                staffSalaryView.SalaryStandard = salaryStandardView;

                staffPayment.StaffSalary = staffSalaryView;



                SalaryPayment salaryPayment = salaryGrantBLL.GetSalaryPaymentById(sp.PaymentId);
                staffPayment.SalaryPayment = new Models.SalaryPayment
                {
                    Id          = salaryPayment.Id,
                    TotalPerson = salaryPayment.TotalPerson,
                    TotalAmout  = salaryPayment.TotalAmout,
                    FileState   = salaryPayment.FileState,
                    FileNumber  = salaryPayment.FileNumber,
                    Registrant  = salaryPayment.Registrant,
                    RegistTime  = salaryPayment.RegistTime,
                    TotalReal   = salaryPayment.TotalReal,
                    CheckBy     = salaryPayment.CheckBy,
                    CheckTime   = salaryPayment.CheckTime
                };


                staffPaymentListView.Add(staffPayment);
            }

            ViewData["staffPaymentListView"] = staffPaymentListView;

            return(View());
        }
Exemplo n.º 10
0
 public void WriteJsonSalary(StaffSalary staffSalary)
 {
     using StreamWriter sw = File.CreateText($"{path + StaffSalaryFolder}\\{staffSalary.name}_{staffSalary.payTime}.json");
     sw.Write(JsonConvert.SerializeObject(staffSalary));
 }