/// <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)); }
// GET: Staff public ActionResult Index() { var staffs = StaffHelper.StaffList(); ViewBag.flag = "staff"; return(View(staffs)); }
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(); }
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()); } }
/// <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)); }
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())); } }
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)); }
public ActionResult Delete(string id) { StaffHelper.Delete(id); return(RedirectToAction("Index")); }
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)); }
/// <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)); }
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)); }
/// <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)); }
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; } }
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(); }
/// <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)); }
/// <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)); }