/// <summary>
        /// 员工工资查看列表
        /// </summary>
        /// <returns></returns>
        public ActionResult SalaryList(string staffId, string yearMonth)
        {
            var staffSalary = TempData["salaryRecords"] == null
                ? SalaryHelper.SalaryList()
                : TempData["salaryRecords"] as List <StaffSalary>;

            //读取员工
            var staff           = StaffHelper.StaffList();
            var staffSalaryDesc =
                staffSalary.Join(staff, x => x.StaffId, y => y.Id, (x, y) => new { x, y }).Select(p => new StaffSalaryDesc
            {
                StaffName   = p.y.StaffName,
                Salary      = p.x.Salary,
                Commission  = p.x.Commission,
                SalaryMonth = p.x.SalaryMonth,
                MonthIncome = p.x.Commission + p.x.Salary
            });

            staff.Insert(0, new Staff {
                Id = "", StaffName = ""
            });
            ViewBag.staffs   = staff;
            ViewBag.flag     = "SalaryRecord";
            ViewBag.ErrInfo  = TempData["CheckErr"] ?? "";
            ViewBag.queryPam = JsonConvert.SerializeObject(new { StaffId = staffId, YearMonth = yearMonth });
            return(View(staffSalaryDesc));
        }
Пример #2
0
        // GET: Staff
        public ActionResult Index()
        {
            var staffs = StaffHelper.StaffList();

            ViewBag.flag = "staff";
            return(View(staffs));
        }
Пример #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //在列表里点击删除按钮,通过AJAX执行这里的后台代码,删除一条记录
        if (Request["DelSTAFF_ID"] != null)
        {
            int re = StaffHelper.DelStaff(Request["DelSTAFF_ID"]);// BLLTable<HR_STAFF>.Factory(conn).Delete(HR_STAFF.Attribute.STAFF_ID, Request["DelSTAFF_ID"]);
            if (re > 0)
            {
                Response.Write("1");//可以输出数字 大于0 表示操作成功,也可以直接输出 字符串,客户端将弹出此字符串信息作为提示
            }
            else
            {
                Response.Write("删除失败!");
            }
        }

        //在列表顶部点击删除按钮,通过AJAX执行这里的后台代码,删除多条记录
        if (Request["DelKeyIDS"] != null)
        {
            //HR_STAFF cond = new HR_STAFF();
            //cond.In(HR_STAFF.Attribute.STAFF_ID, Request["DelKeyIDS"]);
            int re = StaffHelper.DelStaff(Request["DelKeyIDS"]);// BLLTable<HR_STAFF>.Factory(conn).Delete(cond);
            if (re > 0)
            {
                Response.Write("1");//可以输出数字 大于0 表示操作成功,也可以直接输出 字符串,客户端将弹出此字符串信息作为提示
            }
            else
            {
                Response.Write("删除失败!");
            }
        }

        //在用户详细信息查看编辑页面,点保存时,通过AJAX执行这里的后台代码,实现部门字段的更新
        if (Request["saveInfo"] != null)
        {
            HR_STAFF val = new HR_STAFF();
            val.STAFF_ID = int.Parse(Request["FieldKeyID"]);
            List <AttributeItem> lstCol = val.af_AttributeItemList;
            for (int i = 0; i < lstCol.Count; i++)
            {
                if (!string.IsNullOrEmpty(Request["txt" + lstCol[i].FieldName]))
                {
                    val.SetValue(lstCol[i].FieldName, Request["txt" + lstCol[i].FieldName]);
                }
            }

            BLLTable <HR_STAFF> .Factory(conn).Update(val, HR_STAFF.Attribute.STAFF_ID);

            Response.Write("修改用户信息成功");
        }
        Response.End();
    }
Пример #4
0
        public ActionResult ChangeStatus(Guid id, int Status)
        {
            bool isSuccess = StaffHelper.ChangeStatus(id, Status, db);

            if (isSuccess)
            {
                return(Redirect(Url.Action("Index", "Staff")));
            }
            else
            {
                return(View());
            }
        }
Пример #5
0
        /// <summary>
        /// 日常记账
        /// </summary>
        /// <returns></returns>
        public ActionResult DailyWrite()
        {
            //所有产品
            List <Products> products = ProductHelper.ProductList();
            //所有客户
            List <Customer>          customers  = CustomerHelper.CustomerList();
            CustomerProductViewModel cusProduct = new CustomerProductViewModel()
            {
                Customers = customers,
                Products  = products
            };

            ViewBag.Staffs = StaffHelper.StaffList();
            ViewBag.flag   = "DailyWrite";
            return(View(cusProduct));
        }
Пример #6
0
        public ActionResult AddStaff(StaffModel staff)
        {
            if (!ModelState.IsValid)
            {
                return(View(new StaffModel()));
            }

            var managerEmail = Session["LoginName"].ToString();
            var managerId    = db.Managers.Where(m => m.Email == managerEmail).FirstOrDefault().Id;

            bool isSuccess = StaffHelper.AddStaff(staff, managerId, db);

            if (isSuccess)
            {
                return(Redirect(Url.Action("Index", "Home")));
            }
            else
            {
                return(View(new StaffModel()));
            }
        }
Пример #7
0
        public ActionResult CompanyPay()
        {
            var companyPayType = CompanyPayTypeHelper.PayTypeList();
            var salaryPay      = companyPayType.FirstOrDefault(i => i.Id == SalaryPayType);
            //某些支出类型需关联水厂(押金支出与退回、进水..)
            var factories = FactoryHelper.FactoryList();

            factories.Insert(0, new Factory {
                Id = "", FactoryName = ""
            });
            if (salaryPay != null)
            {
                companyPayType.Remove(salaryPay);//公司交易中隐藏工资发放,工资发放在收支汇总中单独完成
            }
            var staffInfo = StaffHelper.StaffList();

            ViewBag.Staffs    = staffInfo;
            ViewBag.Factories = factories;

            ViewBag.flag = "CompanyPay";
            return(View(companyPayType));
        }
        // GET: StaffProject
        public ActionResult Index(int pageIndex = 1)
        {
            var staffs                = StaffHelper.StaffList();
            var customers             = CustomerHelper.CustomerList();
            var staffCustomer         = StaffCustomerHelper.StaffCustomerList();
            var currentStaffCustomers = staffCustomer.Skip((pageIndex - 1) * PageSize()).Take(PageSize()).ToList();

            StaffCustomerViewModel viewModel = new StaffCustomerViewModel()
            {
                Staffs         = staffs,
                Customers      = customers,
                StaffCustomers = currentStaffCustomers
            };

            ViewBag.totalPage = staffCustomer.Count() % PageSize() == 0
                    ? staffCustomer.Count() / PageSize()
                    : Math.Ceiling(Convert.ToDouble(staffCustomer.Count()) / PageSize());
            ViewBag.totalSize   = staffCustomer.Count;
            ViewBag.currentPage = pageIndex;

            ViewBag.flag = "stacus";
            return(View(viewModel));
        }
Пример #9
0
 public ActionResult Delete(string id)
 {
     StaffHelper.Delete(id);
     return(RedirectToAction("Index"));
 }
Пример #10
0
 public void SetSelEmps(string empids)
 {
     hidStaffIDS.Value = empids;
     litEmps.Text      = StaffHelper.ShowSelEmpHTML(empids, false);
 }
        // GET: Summary
        public ActionResult Index(string yearMonth)
        {
            int year;
            int month;

            if (string.IsNullOrEmpty(yearMonth))
            {
                //默认显示上一个月的月底结算情况
                year      = DateTime.Now.AddMonths(-1).Year;
                month     = DateTime.Now.AddMonths(-1).Month;
                yearMonth = year + "-" + month;
            }
            else
            {
                year  = int.Parse(yearMonth.Split('-')[0]);
                month = int.Parse(yearMonth.Split('-')[1]);
            }

            var records  = DailyRecordHelper.DailyRecordList().Where(item => item.VisitDate.Year == year && item.VisitDate.Month == month);
            var products = ProductHelper.ProductList();

            var dailyRecords =
                DailyRecordHelper.DailyRecordList()
                .Where(item => item.VisitDate.Year == year && item.VisitDate.Month == month);
            var companyRecords =
                CompanyRecordHelper.CompanyList()
                .Where(item => item.TransTime.Year == year && item.TransTime.Month == month);
            MonthEndSummary monthEnd = new MonthEndSummary();
            //员工汇总
            MonthEndSummary monthEnd1 = dailyRecords.GroupBy(item => new { item.VisitDate.Year, item.VisitDate.Month })
                                        .Select(g => new MonthEndSummary()
            {
                StaffEarn =
                    g.Sum(x => x.EarnMonthEndPrice) + g.Sum(x => x.EarnWaterCardPrice) + g.Sum(x => x.EarnDeposit),
                StaffPay = g.Sum(x => x.PayDeposit)
            }).FirstOrDefault();

            ////公司汇总
            //公司支出动态加入员工提成
            double commission   = Commission();
            double sumBucketCom = dailyRecords.Sum(i => i.SendBucketAmount) * commission;

            MonthEndSummary monthEnd2 = companyRecords.GroupBy(item => new { item.TransTime.Year, item.TransTime.Month })
                                        .Select(g => new MonthEndSummary()
            {
                CompanyEarn = g.Where(item => item.IsPayType == false).Sum(x => x.TransSum),
                CompanyPay  = g.Where(item => item.IsPayType).Sum(x => x.TransSum) + sumBucketCom    //进水支出不计入公司盈利运算   2018.03.14:进水支出计入公司盈利运算
            }).FirstOrDefault();

            //计算员工月送水成本
            double sumCost = records.Join(products, x => x.SendProductId, y => y.Id, (x, y) => new { x, y })
                             .Select(item => new SumSendbucketCost
            {
                SumCost = item.x.SendBucketAmount * item.y.CostPrice
            }).Sum(item => item.SumCost);


            monthEnd.CompanyEarn  = (monthEnd2?.CompanyEarn ?? 0) + (monthEnd1?.StaffEarn ?? 0);                                   //仅保留公司收入/公司支出
            monthEnd.CompanyPay   = (monthEnd2?.CompanyPay ?? 0) + (monthEnd1?.StaffPay ?? 0);
            monthEnd.MonthEndEarn = monthEnd.StaffEarn + monthEnd.CompanyEarn - monthEnd.StaffPay - monthEnd.CompanyPay - sumCost; //2018.03.28改动:月底盈利减去员工送水成本
            monthEnd.YearMonth    = year + "-" + month;

            //计算员工提成,作为发工资的参考
            var staffs = StaffHelper.StaffList();
            List <StaffCommissionViewModel> staffCommission = new List <StaffCommissionViewModel>();

            foreach (var staff in staffs)
            {
                int bucketCount = dailyRecords.Where(item => item.StaffId == staff.Id).Sum(i => i.SendBucketAmount);
                staffCommission.Add(new StaffCommissionViewModel
                {
                    StaffName   = staff.StaffName,
                    BucketCount = bucketCount,
                    Comission   = bucketCount * commission
                });
            }
            ViewBag.staffCommission = staffCommission;

            ViewBag.queryPam = JsonConvert.SerializeObject(new { YearMonth = yearMonth });
            ViewBag.flag     = "EndSummary";
            ViewBag.staffs   = staffs;
            ViewBag.sumCost  = sumCost;
            return(View(monthEnd));
        }
Пример #12
0
        /// <summary>
        /// 日常记录--附属产品交易记录
        /// </summary>
        /// <returns></returns>
        public ActionResult AccessRecord()
        {
            //所有客户
            List <Customer> customers = CustomerHelper.CustomerList();
            //所有员工
            var staffs = StaffHelper.StaffList();
            //所有日常记录
            var dailyRecords = (TempData["DailyRecord"] == null
                    ? DailyRecordHelper.DailyRecordList()
                    : (List <DailyRecord>)TempData["DailyRecord"]).Where(
                item =>
                item.WaterHolder != 0 || item.WaterDispenser != 0 || item.PushPump != 0 ||
                item.WaterHolderBack != 0 || item.WaterDispenserBack != 0 || item.PushPumpBack != 0)
                               .GroupBy(item => new { item.VisitDate, item.CustomerId, item.StaffId })
                               .Select(item => new AccessoryProducts()
            {
                StaffId        = item.First().StaffId,
                CustomerId     = item.First().CustomerId,
                WaterDispenser = MakeAccessoryInfo(item.First().WaterDispenser, item.First().WaterDispenserBack),
                PushPump       = MakeAccessoryInfo(item.First().PushPump, item.First().PushPumpBack),
                WaterHolder    = MakeAccessoryInfo(item.First().WaterHolder, item.First().WaterHolderBack),
                VisitDate      = item.First().VisitDate
            });

            //添加空选项
            customers.Insert(0, new Customer {
                CustomerName = ""
            });
            //获取页条数
            int pageSize = PageSize();

            List <AccessoryProducts> currentRecords = TempData["currentRecords"] == null
                ? dailyRecords
                                                      .OrderByDescending(item => item.VisitDate)
                                                      .Skip(0)
                                                      .Take(pageSize)
                                                      .ToList()
                : (List <AccessoryProducts>)TempData["currentRecords"];

            //附属产品交易--所有

            var recordsAccessoryPro = (from r in dailyRecords
                                       join c in customers
                                       on r.CustomerId equals c.Id
                                       join s in staffs
                                       on r.StaffId equals s.Id
                                       select new AccessoryProducts
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                WaterHolder = r.WaterHolder,
                WaterDispenser = r.WaterDispenser,
                PushPump = r.PushPump,
                VisitDate = r.VisitDate
            }).ToList();

            //附属产品交易--当前页

            var acceCurrent = (from r in currentRecords
                               join c in customers
                               on r.CustomerId equals c.Id
                               join s in staffs
                               on r.StaffId equals s.Id
                               select new AccessoryProducts
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                WaterHolder = r.WaterHolder,
                WaterDispenser = r.WaterDispenser,
                PushPump = r.PushPump,
                VisitDate = r.VisitDate
            }).ToList();

            ViewBag.flag      = "DailyRecord";
            ViewBag.customers = customers;
            ViewBag.queryPam  = TempData["dailyQuery"] == null ? "{}" : JsonConvert.SerializeObject(TempData["dailyQuery"]);

            ViewBag.totalPage = dailyRecords.Count() % pageSize == 0
                ? dailyRecords.Count() / pageSize
                : Math.Ceiling(Convert.ToDouble(dailyRecords.Count()) / pageSize);

            ViewBag.totalSize   = dailyRecords.Count();
            ViewBag.currentPage = TempData["currentPage"] == null
                 ? 1
                 : int.Parse(TempData["currentPage"].ToString());

            ViewBag.Staffs     = StaffHelper.StaffList();
            ViewBag.recordsAll = recordsAccessoryPro;
            return(View(acceCurrent));
        }
Пример #13
0
        public ActionResult CompanyRecord()
        {
            //获取页条数
            int pageSize          = PageSize();
            var companyRecords    = CompanyRecordHelper.CompanyList();
            var companyPayRecords = TempData["queryRecords"] == null
                ? companyRecords.OrderByDescending(item => item.TransTime).Skip(0).Take(pageSize)
                : TempData["queryRecords"] as List <CompanyPayRecord>;

            //用于导出的所有纪录
            var allRecords = TempData["allRecords"] == null
                ? companyRecords.OrderByDescending(item => item.TransTime).ToList()
                : TempData["allRecords"] as List <CompanyPayRecord>;

            var staffs   = StaffHelper.StaffList();
            var paytypes = CompanyPayTypeHelper.PayTypeList();

            var payRecordInfo = (from r in companyPayRecords
                                 join p in paytypes
                                 on r.PayTypeId equals p.Id
                                 join s in staffs
                                 on r.StaffId equals s.Id
                                 select new CompanyPayRecordDesc()
            {
                StaffName = s.StaffName,
                PayTypeDesc = p.PayType,
                IsPayType = r.IsPayType,
                TransSum = r.TransSum,
                TransTime = r.TransTime,
                Describe = r.Describe
            }).ToList();

            var allRecordsToExport = (from r in allRecords
                                      join p in paytypes
                                      on r.PayTypeId equals p.Id
                                      join s in staffs
                                      on r.StaffId equals s.Id
                                      select new CompanyPayRecordDesc()
            {
                StaffName = s.StaffName,
                PayTypeDesc = p.PayType,
                IsPayType = r.IsPayType,
                TransSum = r.TransSum,
                TransTime = r.TransTime,
                Describe = r.Describe
            }).ToList();

            ViewBag.AllRecords = allRecordsToExport;
            ViewBag.Staffs     = staffs;
            ViewBag.Paytypes   = paytypes;

            ViewBag.queryPam = TempData["queryMod"] == null ? "{}" : JsonConvert.SerializeObject(TempData["queryMod"]);

            ViewBag.totalPage = TempData["totalPage"] == null
                ? (companyRecords.Count() % pageSize == 0
                    ? companyRecords.Count() / pageSize
                    : Math.Ceiling(Convert.ToDouble(companyRecords.Count()) / pageSize))
                : int.Parse(TempData["totalPage"].ToString());

            ViewBag.totalSize = TempData["totalSize"] == null
                ? companyRecords.Count
                : int.Parse(TempData["totalSize"].ToString());
            ViewBag.currentPage = TempData["currentPage"] == null
                 ? 1
                 : int.Parse(TempData["currentPage"].ToString());

            ViewBag.flag = "CompanyRecord";
            return(View(payRecordInfo));
        }
Пример #14
0
        /// <summary>
        /// 日常记账记录查看
        /// </summary>
        /// <returns></returns>
        public ActionResult DailyRecord()
        {
            //所有客户
            List <Customer> customers = CustomerHelper.CustomerList();
            //所有产品
            var products = ProductHelper.ProductList();
            //所有员工
            var staffs = StaffHelper.StaffList();
            //所有日常记录
            var dailyRecords = TempData["DailyRecord"] == null?DailyRecordHelper.DailyRecordList() : (List <DailyRecord>)TempData["DailyRecord"];

            //添加空选项
            customers.Insert(0, new Customer {
                CustomerName = ""
            });
            //获取页条数
            int pageSize = PageSize();

            List <DailyRecord> currentRecords = TempData["currentRecords"] == null
                ? dailyRecords
                                                .OrderByDescending(item => item.VisitDate)
                                                .Skip(0)
                                                .Take(pageSize)
                                                .ToList()
                : TempData["currentRecords"] as List <DailyRecord>;

            List <DailyRecordShow> newRecords = (from r in currentRecords
                                                 join c in customers
                                                 on r.CustomerId equals c.Id
                                                 join p in products
                                                 on r.SendProductId equals p.Id
                                                 join s in staffs
                                                 on r.StaffId equals s.Id
                                                 select new DailyRecordShow
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                ProductName = p.ProductName,
                SendBucketAmount = r.SendBucketAmount,
                ReceiveEmptyBucketAmount = r.ReceiveEmptyBucketAmount,
                VisitDate = r.VisitDate,
                DailyCost = r.SendBucketAmount * p.CostPrice,
                Description = r.Description
            }).Where(item => item.SendBucketAmount > 0 || item.ReceiveEmptyBucketAmount > 0)
                                                .ToList();

            List <DailyRecordShow> recordsAll = (from r in dailyRecords
                                                 join c in customers
                                                 on r.CustomerId equals c.Id
                                                 join p in products
                                                 on r.SendProductId equals p.Id
                                                 join s in staffs
                                                 on r.StaffId equals s.Id
                                                 select new DailyRecordShow
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                ProductName = p.ProductName,
                SendBucketAmount = r.SendBucketAmount,
                ReceiveEmptyBucketAmount = r.ReceiveEmptyBucketAmount,
                VisitDate = r.VisitDate,
                DailyCost = r.SendBucketAmount * p.CostPrice,
                Description = r.Description
            }).Where(item => item.SendBucketAmount > 0 || item.ReceiveEmptyBucketAmount > 0)
                                                .OrderByDescending(item => item.VisitDate)
                                                .ToList();

            //与公司的资金交易
            List <DailyFundTrans> fundRecords = dailyRecords.Where(
                item =>
                item.PayDeposit > 0 || item.EarnDeposit > 0 || item.EarnMonthEndPrice > 0 ||
                item.EarnWaterCardPrice > 0)
                                                //.GroupBy(item => new { item.VisitDate, item.CustomerId, item.StaffId })
                                                .Select(item => new DailyFundTrans()
            {
                StaffId            = item.StaffId,
                CustomerId         = item.CustomerId,
                EarnDeposit        = item.EarnDeposit,
                PayDeposit         = item.PayDeposit,
                EarnMonthEndPrice  = item.EarnMonthEndPrice,
                EarnWaterCardPrice = item.EarnWaterCardPrice,
                Description        = item.Description,
                VisitDate          = item.VisitDate
            }).ToList();

            var recordsFundTrans = (from r in fundRecords
                                    join c in customers
                                    on r.CustomerId equals c.Id
                                    join s in staffs
                                    on r.StaffId equals s.Id
                                    select new DailyFundTrans
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                EarnDeposit = r.EarnDeposit,
                PayDeposit = r.PayDeposit,
                EarnMonthEndPrice = r.EarnMonthEndPrice,
                EarnWaterCardPrice = r.EarnWaterCardPrice,
                Description = r.Description,
                VisitDate = r.VisitDate
            }).ToList();

            //附属产品交易
            var accessoryProRecords = dailyRecords.Where(
                item =>
                item.WaterHolder != 0 || item.WaterDispenser != 0 || item.PushPump != 0 ||
                item.WaterHolderBack != 0 || item.WaterDispenserBack != 0 || item.PushPumpBack != 0)
                                      .GroupBy(item => new { item.VisitDate, item.CustomerId, item.StaffId })
                                      .Select(item => new AccessoryProducts()
            {
                StaffId        = item.First().StaffId,
                CustomerId     = item.First().CustomerId,
                WaterDispenser = MakeAccessoryInfo(item.First().WaterDispenser, item.First().WaterDispenserBack),
                PushPump       = MakeAccessoryInfo(item.First().PushPump, item.First().PushPumpBack),
                WaterHolder    = MakeAccessoryInfo(item.First().WaterHolder, item.First().WaterHolderBack),
                VisitDate      = item.First().VisitDate
            });

            var recordsAccessoryPro = (from r in accessoryProRecords
                                       join c in customers
                                       on r.CustomerId equals c.Id
                                       join s in staffs
                                       on r.StaffId equals s.Id
                                       select new AccessoryProducts
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                WaterHolder = r.WaterHolder,
                WaterDispenser = r.WaterDispenser,
                PushPump = r.PushPump,
                VisitDate = r.VisitDate
            }).ToList();

            ViewBag.flag      = "DailyRecord";
            ViewBag.customers = customers;
            ViewBag.queryPam  = TempData["dailyQuery"] == null ? "{}" : JsonConvert.SerializeObject(TempData["dailyQuery"]);

            ViewBag.totalPage = recordsAll.Count() % pageSize == 0
                ? recordsAll.Count() / pageSize
                : Math.Ceiling(Convert.ToDouble(recordsAll.Count()) / pageSize);

            ViewBag.totalSize   = recordsAll.Count;
            ViewBag.currentPage = TempData["currentPage"] == null
                 ? 1
                 : int.Parse(TempData["currentPage"].ToString());

            ViewBag.recordsFundTrans    = recordsFundTrans;
            ViewBag.recordsAccessoryPro = recordsAccessoryPro;
            ViewBag.Staffs     = StaffHelper.StaffList();
            ViewBag.recordsAll = recordsAll;
            return(View(newRecords));
        }
Пример #15
0
    protected void btnOK_Click(object sender, EventArgs e)
    {
        if (ViewState["txtSNAME"] == null || ViewState["txtSNAME"].ToString() != txtSNAME.Value)
        {
            HR_STAFF hadCond = new HR_STAFF();
            hadCond.SNAME = txtSNAME.Value;
            if (BLLTable <HR_STAFF> .Exists(hadCond))
            {
                litWarn.Text = "此员工已经存在,请重新输入!或换个简称。";
                return;
            }
        }
        try
        {
            HR_STAFF valObj = new HR_STAFF();

            if (txtSTAFF_ID.Value != "")
            {
                valObj.STAFF_ID = Convert.ToDecimal(txtSTAFF_ID.Value);
            }


            valObj.STAFF_NO = txtSTAFF_NO.Value;


            valObj.STAFF_NAME = Convert.ToString(txtNAME.Value);


            valObj.DEPT_ID = wucSelDept1.DEPT_ID;

            HR_DEPT dept = BLLTable <HR_DEPT> .Factory(conn).GetRowData(HR_DEPT.Attribute.DEPT_ID, valObj.DEPT_ID);

            valObj.ORG_ID = dept.ORG_ID;

            valObj.GENDER = Convert.ToString(txtGENDER.Value);


            valObj.PHOTO = Convert.ToString(txtPHOTO.Value);


            valObj.POS_NAME = Convert.ToString(txtPOS_NAME.Value);


            valObj.STATION_CODE = wucSelStation1.STATION_ID;// Convert.ToString(txtSTATION_CODE.Value);


            valObj.WORK_TYPE_CODE = Convert.ToString(txtWORK_TYPE_CODE.Value);


            valObj.TECH_LEVEL_CODE = Convert.ToString(txtTECH_LEVEL_CODE.Value);


            valObj.YMD = txtYMD.Value;


            valObj.MOBILE = Convert.ToString(txtMOBILE.Value);


            valObj.OFFICE_TEL = Convert.ToString(txtOFFICE_TEL.Value);


            valObj.CERT_FLAG = Convert.ToString(txtCERT_FLAG.Value);


            valObj.FIXED_FLAG = Convert.ToString(txtFIXED_FLAG.Value);


            valObj.ON_POS_FLAG = Convert.ToString(txtON_POS_FLAG.Value);


            valObj.PROFESSION_CODE = Convert.ToString(txtPROFESSION_CODE.Value);

            valObj.PROFESSION_BGN_DATE = Convert.ToDateTime(txtPROFESSION_BGN_DATE.Value);

            valObj.JOIN_DATE = Convert.ToDateTime(txtJOIN_DATE.Value);


            valObj.POLITICAL_STATUS_CODE = Convert.ToString(txtPOLITICAL_STATUS_CODE.Value);


            valObj.TITLE_CODE = Convert.ToString(txtTITLE_CODE.Value);


            valObj.STATUS_CODE = Convert.ToString(txtSTATUS_CODE.Value);

            valObj.ADDR = Convert.ToString(txtADDR.Value);

            valObj.EMAIL = Convert.ToString(txtEMAIL.Value);

            valObj.NATION = Convert.ToString(txtNATION.Value);


            valObj.NATIVE_PLACE = Convert.ToString(txtNATIVE_PLACE.Value);

            valObj.POST_NO = Convert.ToString(txtPOST_NO.Value);

            valObj.DEGREE_CODE = Convert.ToString(txtDEGREE_CODE.Value);

            valObj.GRAD_SCHOOL = Convert.ToString(txtGRAD_SCHOOL.Value);

            valObj.GRAD_DATE = Convert.ToDateTime(txtGRAD_DATE.Value);
            valObj.MAJOR     = Convert.ToString(txtMAJOR.Value);
            valObj.REMARK    = Convert.ToString(txtREMARK.Value);


            if (txtUSER_ID.Value != "")
            {
                valObj.USER_ID = Convert.ToDecimal(txtUSER_ID.Value);
            }

            valObj.SNAME = Convert.ToString(txtSNAME.Value);
            valObj.RNAME = Convert.ToString(txtRNAME.Value);
            valObj.EXP1  = Convert.ToString(txtEXP1.Value);
            valObj.EXP2  = Convert.ToString(txtEXP2.Value);
            valObj.EXP3  = Convert.ToString(txtEXP3.Value);


            if (keyid != "")
            {
                valObj.STAFF_ID = Convert.ToDecimal(keyid);

                count = StaffHelper.EditStaff(valObj);// BLLTable<HR_STAFF>.Factory(conn).Update(valObj, HR_STAFF.Attribute.STAFF_ID);
            }
            else
            {
                keyid = StaffHelper.AddStaff(valObj, pid);
                count = keyid != "" ? 1 : 0;
                //count = BLLTable<HR_STAFF>.Factory(conn).Insert(valObj, HR_STAFF.Attribute.STAFF_ID);
                //keyid = valObj.STAFF_ID.ToString();
            }
            if (count > 0)
            {
                SYS_USER user = BLLTable <SYS_USER> .Factory(conn).GetRowData(SYS_USER.Attribute.STAFF_ID, valObj.STAFF_ID);

                if (user != null && user.IsNotNull())
                {
                    if (txtUSER_NAME.Value != "")
                    {
                        user.USER_NAME = Convert.ToString(txtUSER_NAME.Value);
                    }

                    if (txtPASS.Value != "")
                    {
                        user.PASS = StringHelperExd.StringToMD5(txtPASS.Value);
                    }

                    user.EDITTIME = DateTime.Now;

                    int count2 = BLLTable <SYS_USER> .Factory(conn).Update(user, SYS_USER.Attribute.USER_ID);
                }
                else
                {
                    user = new SYS_USER();

                    if (txtUSER_NAME.Value != "")
                    {
                        user.USER_NAME = Convert.ToString(txtUSER_NAME.Value);
                    }

                    if (txtPASS.Value != "")
                    {
                        user.PASS = Convert.ToString(txtPASS.Value);
                    }
                    else
                    {
                        user.PASS = StringHelperExd.StringToMD5("123456");
                    }

                    user.STAFF_ID  = valObj.STAFF_ID;
                    user.USER_TYPE = EnumInfo.SYS_UserType.Common.ToString("d");
                    user.USE_FLAG  = "1";
                    user.EDITTIME  = DateTime.Now;
                    user.ADDTIME   = DateTime.Now;
                    user.REAL_NAME = valObj.STAFF_NAME;
                    user.RNAME     = user.USER_NAME;
                    user.SNAME     = user.USER_NAME;
                    int count2 = BLLTable <SYS_USER> .Factory(conn).Insert(user, SYS_USER.Attribute.USER_ID);
                }

                //StringBuilder sbData = new StringBuilder("({valObj:''");
                //List<AttributeItem> lstCol = valObj.af_AttributeItemList;
                //for (int i = 0; i < lstCol.Count; i++)
                //{
                //    object val = valObj.GetValue(lstCol[i]);
                //    if (val != null)
                //    {
                //        sbData.Append(",").Append(lstCol[i].FieldName).Append(":'").Append(val.ToString()).Append("'");
                //    }
                //}
                //sbData.Append("})");
                string re = "re";
                if (pid != "")
                {
                    //re = "STAFFManage.aspx?PID="+pid;
                }
                ScriptManager.RegisterStartupScript(Page, this.GetType(), "goto", "if (window.opener){window.opener.returnValue = '" + re + "';}else{window.returnValue = '" + re + "';}window.close();", true);
            }
        }
        catch (Exception ex)
        {
            litWarn.Text = ex.Message;
        }
    }
Пример #16
0
    protected void btnApplyAllChanges_Click(object sender, EventArgs e)
    {
        //Create product list from json posted from client
        List <staff> staffs         = new List <staff>();
        var          staffsJon      = Server_Data1.Text;
        dynamic      staffsResponse = JsonConvert.DeserializeObject(staffsJon);

        if (staffsResponse != null)
        {
            List <object> staffObjects = staffsResponse.ToObject <List <object> >();
            foreach (var obj in staffObjects)
            {
                staff item = new staff();

                int staff_id = -1;
                Int32.TryParse(Helper.GetPropValue(obj + "", "staff_id") + "", out staff_id);
                item.staff_id = staff_id;

                item.first_name = Helper.GetPropValue(obj + "", "first_name") + "";
                item.last_name  = Helper.GetPropValue(obj + "", "last_name") + "";
                item.email      = Helper.GetPropValue(obj + "", "email") + "";
                item.phone      = Helper.GetPropValue(obj + "", "phone") + "";

                byte active = 0;
                Byte.TryParse(Helper.GetPropValue(obj + "", "active") + "", out active);
                item.active = active;

                int store_id = -1;
                Int32.TryParse(Helper.GetPropValue(obj + "", "store_id") + "", out store_id);
                item.store_id = store_id;

                item.address = Helper.GetPropValue(obj + "", "address") + "";

                staffs.Add(item);
            }
        }

        //Delete records from product
        //Get product ids from json posted from client
        var     deletedIdsJson     = txtDeletedIds.Text;
        dynamic deletedIdsResponse = JsonConvert.DeserializeObject(deletedIdsJson);

        if (deletedIdsResponse != null)
        {
            List <int> deletedIds = deletedIdsResponse.ToObject <List <int> >();

            if (deletedIds.Count > 0)
            {
                foreach (var id in deletedIds)
                {
                    var found = staffs.Find(x => x.staff_id == id);
                    if (found != null)
                    {
                        staffs.Remove(found);
                    }
                }
                StaffHelper.DeleteStaffByIds(deletedIds);
            }
        }

        StaffHelper.Updatestaffs(staffs);
        PushDataToClient();
    }
Пример #17
0
        /// <summary>
        /// 月底结算
        /// </summary>
        /// <returns></returns>
        public ActionResult MonthEnd(string yearMonth, string staffId, int pageSize = 1)
        {
            var records   = DailyRecordHelper.DailyRecordList();
            var customers = CustomerHelper.CustomerList();
            var products  = ProductHelper.ProductList();
            var staffs    = StaffHelper.StaffList();

            if (!string.IsNullOrEmpty(yearMonth))
            {
                int year  = int.Parse(yearMonth.Split('-')[0]);
                int month = int.Parse(yearMonth.Split('-')[1]);
                records = records.Where(item => item.VisitDate.Year == year && item.VisitDate.Month == month).ToList();
            }
            if (!string.IsNullOrEmpty(staffId))
            {
                records = records.Where(item => item.StaffId == staffId.ToString()).ToList();
            }

            //按月份、人员分组,计算员工的月送水成本
            List <MonthEndStaffwaterCost> staffCost = records
                                                      .Join(products, x => x.SendProductId, y => y.Id, (x, y) => new { x, y })
                                                      .GroupBy(item => new
            {
                item.x.VisitDate.Year,
                item.x.VisitDate.Month,
                item.x.StaffId,
                item.x.SendProductId,
                item.x.SendBucketAmount,
                item.y.CostPrice,
                item.x.CustomerId
            })
                                                      .Select(p => new MonthEndStaffwaterCost()
            {
                VisitYear  = p.First().x.VisitDate.Year.ToString(),
                VisitMonth = p.First().x.VisitDate.Month.ToString(),
                StaffId    = p.First().x.StaffId,
                WaterCost  = p.First().x.SendBucketAmount *p.First().y.CostPrice
            }).GroupBy(item => new { item.VisitYear, item.VisitMonth, item.StaffId }).Select(p =>
                                                                                             new MonthEndStaffwaterCost()
            {
                VisitYear  = p.First().VisitYear,
                VisitMonth = p.First().VisitMonth,
                StaffId    = p.First().StaffId,
                WaterCost  = p.Sum(item => item.WaterCost)
            }).Join(staffs, x => x.StaffId, y => y.Id, (x, y) => new { x, y }).Select(p =>
                                                                                      new MonthEndStaffwaterCost
            {
                VisitYear  = p.x.VisitYear,
                VisitMonth = p.x.VisitMonth,
                StaffName  = p.y.StaffName,
                WaterCost  = p.x.WaterCost
            }).ToList();

            //按月份、公司分组
            List <SumDailyRecordByCP> sumRecordsByCP = records.OrderByDescending(i => i.VisitDate)
                                                       .GroupBy(item => new { item.VisitDate.Year, item.VisitDate.Month, item.CustomerId })
                                                       .Select(g => new SumDailyRecordByCP
            {
                SumSendBucketAmount         = g.Sum(x => x.SendBucketAmount),         //送水桶数
                SumReceiveEmptyBucketAmount = g.Sum(x => x.ReceiveEmptyBucketAmount), //收回空桶数
                SumEarnDeposit        = g.Sum(x => x.EarnDeposit),                    //收取押金
                SumPayDeposit         = g.Sum(x => x.PayDeposit),                     //退还押金
                SumEarnMonthEndPrice  = g.Sum(x => x.EarnMonthEndPrice),              //收入月底结算
                SumEarnWaterCardPrice = g.Sum(x => x.EarnWaterCardPrice),             //收入水卡金额
                VisitMonth            = g.First().VisitDate.Month + "月",              //交易月份
                CustomerName          = g.First().CustomerId,
                ProductName           = g.First().SendProductId
            }).Join(customers, x => x.CustomerName, y => y.Id, (x, y) => new { x, y }).Select(p => new SumDailyRecordByCP()
            {
                CustomerName                = p.y.CustomerName,
                SumSendBucketAmount         = p.x.SumSendBucketAmount,
                SumReceiveEmptyBucketAmount = p.x.SumReceiveEmptyBucketAmount,
                SumEarnDeposit              = p.x.SumEarnDeposit,
                SumPayDeposit               = p.x.SumPayDeposit,
                SumEarnMonthEndPrice        = p.x.SumEarnMonthEndPrice,
                SumEarnWaterCardPrice       = p.x.SumEarnWaterCardPrice,
                VisitMonth = p.x.VisitMonth
            }).ToList();


            //按月份分组
            List <SumDailyRecord> sumRecords = records.OrderByDescending(i => i.VisitDate)
                                               .GroupBy(item => new { item.VisitDate.Year, item.VisitDate.Month })
                                               .Select(g => new SumDailyRecord
            {
                SumSendBucketAmount         = g.Sum(x => x.SendBucketAmount),         //送水桶数
                SumReceiveEmptyBucketAmount = g.Sum(x => x.ReceiveEmptyBucketAmount), //收回空桶数
                SumEarnDeposit        = g.Sum(x => x.EarnDeposit),                    //收取押金
                SumPayDeposit         = g.Sum(x => x.PayDeposit),                     //退还押金
                SumEarnMonthEndPrice  = g.Sum(x => x.EarnMonthEndPrice),              //收入月底结算
                SumEarnWaterCardPrice = g.Sum(x => x.EarnWaterCardPrice),             //收入水卡金额
                VisitYear             = g.First().VisitDate.Year + "年",
                VisitMonth            = g.First().VisitDate.Month + "月"               //交易月份
            }).ToList();

            SumDailyRecordViewModel viewModel = new SumDailyRecordViewModel
            {
                SumDailyRecord     = sumRecords,
                SumDailyRecordByCP = sumRecordsByCP,
                SumSendWatercost   = staffCost
            };

            ViewBag.queryPam = JsonConvert.SerializeObject(new { YearMonth = yearMonth, StaffId = staffId });
            ViewBag.Staffs   = StaffHelper.StaffList();
            ViewBag.flag     = "MonthEnd";
            return(View(viewModel));
        }
Пример #18
0
        /// <summary>
        /// 日常记录--公司资金交易
        /// </summary>
        /// <returns></returns>
        public ActionResult FundRecord()
        {
            //所有客户
            List <Customer> customers = CustomerHelper.CustomerList();
            //所有产品
            var products = ProductHelper.ProductList();
            //所有员工
            var staffs = StaffHelper.StaffList();
            //所有日常记录
            var dailyRecords = (TempData["DailyRecord"] == null ? DailyRecordHelper.DailyRecordList() : (List <DailyRecord>)TempData["DailyRecord"]).Where(
                item =>
                item.PayDeposit > 0 || item.EarnDeposit > 0 || item.EarnMonthEndPrice > 0 ||
                item.EarnWaterCardPrice > 0).ToList();

            //添加空选项
            customers.Insert(0, new Customer {
                CustomerName = ""
            });
            //获取页条数
            int pageSize = PageSize();

            List <DailyRecord> currentRecords = TempData["currentRecords"] == null
                ? dailyRecords
                                                .OrderByDescending(item => item.VisitDate)
                                                .Skip(0)
                                                .Take(pageSize)
                                                .ToList()
                : TempData["currentRecords"] as List <DailyRecord>;

            //与公司的资金交易--当前页
            List <DailyFundTrans> fundRecordsCurrent = currentRecords
                                                       .Select(item => new DailyFundTrans()
            {
                StaffId            = item.StaffId,
                CustomerId         = item.CustomerId,
                EarnDeposit        = item.EarnDeposit,
                PayDeposit         = item.PayDeposit,
                EarnMonthEndPrice  = item.EarnMonthEndPrice,
                EarnWaterCardPrice = item.EarnWaterCardPrice,
                Description        = item.Description,
                VisitDate          = item.VisitDate
            }).ToList();

            var recordsFundTransCurrent = (from r in fundRecordsCurrent
                                           join c in customers
                                           on r.CustomerId equals c.Id
                                           join s in staffs
                                           on r.StaffId equals s.Id
                                           select new DailyFundTrans
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                EarnDeposit = r.EarnDeposit,
                PayDeposit = r.PayDeposit,
                EarnMonthEndPrice = r.EarnMonthEndPrice,
                EarnWaterCardPrice = r.EarnWaterCardPrice,
                Description = r.Description,
                VisitDate = r.VisitDate
            }).ToList();

            //与公司的资金交易--所有
            List <DailyFundTrans> fundRecords = dailyRecords
                                                .Select(item => new DailyFundTrans()
            {
                StaffId            = item.StaffId,
                CustomerId         = item.CustomerId,
                EarnDeposit        = item.EarnDeposit,
                PayDeposit         = item.PayDeposit,
                EarnMonthEndPrice  = item.EarnMonthEndPrice,
                EarnWaterCardPrice = item.EarnWaterCardPrice,
                Description        = item.Description,
                VisitDate          = item.VisitDate
            }).OrderByDescending(item => item.VisitDate).ToList();

            var recordsFundTrans = (from r in fundRecords
                                    join c in customers
                                    on r.CustomerId equals c.Id
                                    join s in staffs
                                    on r.StaffId equals s.Id
                                    select new DailyFundTrans
            {
                StaffName = s.StaffName,
                CustomerName = c.CustomerName,
                EarnDeposit = r.EarnDeposit,
                PayDeposit = r.PayDeposit,
                EarnMonthEndPrice = r.EarnMonthEndPrice,
                EarnWaterCardPrice = r.EarnWaterCardPrice,
                Description = r.Description,
                VisitDate = r.VisitDate
            }).ToList();

            ViewBag.flag      = "DailyRecord";
            ViewBag.customers = customers;
            ViewBag.queryPam  = TempData["dailyQuery"] == null ? "{}" : JsonConvert.SerializeObject(TempData["dailyQuery"]);

            ViewBag.totalPage = dailyRecords.Count() % pageSize == 0
                ? dailyRecords.Count() / pageSize
                : Math.Ceiling(Convert.ToDouble(dailyRecords.Count()) / pageSize);

            ViewBag.totalSize   = dailyRecords.Count;
            ViewBag.currentPage = TempData["currentPage"] == null
                 ? 1
                 : int.Parse(TempData["currentPage"].ToString());

            ViewBag.recordsFundTrans = recordsFundTrans;
            ViewBag.Staffs           = StaffHelper.StaffList();
            return(View(recordsFundTransCurrent));
        }