using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using CY.Model; using CY.BLL; using CY.Infrastructure.Common; using CY.Infrastructure.Query; namespace CY.WebForm.Pages.personnel { //吴辉 //核算工资 public partial class OA_WagesRecordAdd : BasePage { OA_WagesRecordBLL bll_OA_WagesRecordBLL = null; OA_DepartmentBll bll_OA_DepartmentBll = null; public DateTime? CheckTime = DateTime.Now; //初始化 public OA_WagesRecordAdd() { bll_OA_WagesRecordBLL = new OA_WagesRecordBLL(); bll_OA_DepartmentBll = new OA_DepartmentBll(); } //页面加载 protected void Page_Load(object sender, EventArgs e) { UCPager1.AspNetPager.PageChanged += AspNetPager1_PageChanged; if (!IsPostBack) { Pagination pa1 = new Pagination(); pa1.PageSize = 500; pa1.PageIndex = 1; this.txtSPS_Department.DataSource = bll_OA_DepartmentBll.SelectModelPage(pa1, CurrentUser.MemberId, "", ""); this.txtSPS_Department.DataTextField = "Name"; this.txtSPS_Department.DataValueField = "Keyid"; this.txtSPS_Department.DataBind(); this.txtSPS_Department.Items.Insert(0, new ListItem("全部", "")); this.txtBeginStartWorkTime.Value = DateTime.Now.ToString("yyyy年MM月"); InitData(); } } //分页事件 protected void AspNetPager1_PageChanged(object src, EventArgs e) { InitData(); } //数据加载 public void InitData() { DateTime? Time1 = this.txtBeginStartWorkTime.Value.ToDateTime2(); if (Time1 == null) { JavaScript.MessageBox("请选择核算时间", this); return; } if (Time1 > DateTime.Now) { JavaScript.MessageBox("核算时间 不能大于 当前时间", this); return; } CheckTime = Time1; Pagination pa = new Pagination(); pa.PageSize = UCPager1.AspNetPager.PageSize; pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex; this.RepClientList.DataSource = bll_OA_WagesRecordBLL.SelectModelPage(pa, CurrentUser.MemberId, Guid.Empty, this.txtSPS_Department.Value.ToInt32(), this.txtStaffName.Value, this.txtBeginStartWorkTime.Value.ToDateTime2(), this.txtBeginStartWorkTime.Value.ToDateTime2().Value.AddMonths(1)); this.RepClientList.DataBind(); UCPager1.AspNetPager.RecordCount = pa.RecordCount; } //查询事件 protected void btn_Submit_Click(object sender, EventArgs e) { InitData(); } //表单提交 protected void btn_submit_form(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(Request["ckb_Keyid"].ToString2())) { JavaScript.MessageBox("请选择需要核算工资的员工",this); return; } DateTime nowTime = DateTime.Now; DateTime? StartBelongsTime = Request["hidCheckTime"].ToString2().ToDateTime2(); if (StartBelongsTime > nowTime) { JavaScript.MessageBox("核算时间不能大于当前时间", this); return; } string[] Keyid_Arry = Request["ckb_Keyid"].ToString2().Split(','); string[] MemberId_Arry = Request["MemberId"].ToString2().Split(','); string[] WorkDay_Arry = Request["WorkDay"].ToString2().Split(','); string[] BasicWage_Arry = Request["BasicWage"].ToString2().Split(','); string[] SeniorityWage_Arry = Request["SeniorityWage"].ToString2().Split(','); string[] Outputcommission_Arry = Request["Outputcommission"].ToString2().Split(','); string[] ProfitCommission_Arry = Request["ProfitCommission"].ToString2().Split(','); string[] OtherCommission_Arry = Request["OtherCommission"].ToString2().Split(','); string[] PerformanceTotal_Arry = Request["PerformanceTotal"].ToString2().Split(','); string[] OvertimePay_Arry = Request["OvertimePay"].ToString2().Split(','); string[] RewardMoney_Arry = Request["RewardMoney"].ToString2().Split(','); string[] PunishmentMoney_Arry = Request["PunishmentMoney"].ToString2().Split(','); string[] Allowance_Arry = Request["Allowance"].ToString2().Split(','); string[] AggregatePaychecks_Arry = Request["AggregatePaychecks"].ToString2().Split(','); string[] Attendance_Arry = Request["Attendance"].ToString2().Split(','); string[] AskForLeave_Arry = Request["AskForLeave"].ToString2().Split(','); string[] EducedTotal_Arry = Request["EducedTotal"].ToString2().Split(','); string[] Unit_Arry = Request["Unit"].ToString2().Split(','); string[] Personal_Arry = Request["Personal"].ToString2().Split(','); string[] WillPayTax_Arry = Request["WillPayTax"].ToString2().Split(','); string[] AmountWagCards_Arry = Request["AmountWagCards"].ToString2().Split(','); string[] AccountingSituation_Arry = Request["AccountingSituation"].ToString2().Split(','); List m_OA_WagesRecordList = new List(); Guid FirmId = CurrentUser.MemberId; string Operator = CurrentUser.ShortName; for (int i = 0; i < Keyid_Arry.Length; i++) { OA_WagesRecord m_OA_WagesRecord = bll_OA_WagesRecordBLL.GetModelByKeyid(Keyid_Arry[i].ToInt32()); if (m_OA_WagesRecord == null) { m_OA_WagesRecord = new OA_WagesRecord(); m_OA_WagesRecord.FirmId = FirmId; m_OA_WagesRecord.StartBelongsTime = StartBelongsTime; m_OA_WagesRecord.EndBelongsTime = nowTime; } m_OA_WagesRecord.LastUpdateTime = nowTime; m_OA_WagesRecord.Operator = Operator; m_OA_WagesRecord.MemberId = MemberId_Arry[i].ToGuid2(); m_OA_WagesRecord.WorkDay = WorkDay_Arry[i].ToInt32() ?? 0; m_OA_WagesRecord.BasicWage = BasicWage_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.SeniorityWage = SeniorityWage_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.Outputcommission = Outputcommission_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.ProfitCommission = ProfitCommission_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.OtherCommission = OtherCommission_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.PerformanceTotal = PerformanceTotal_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.OvertimePay = OvertimePay_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.RewardMoney = RewardMoney_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.PunishmentMoney = PunishmentMoney_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.Allowance = Allowance_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.AggregatePaychecks = AggregatePaychecks_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.Attendance = Attendance_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.AskForLeave = AskForLeave_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.EducedTotal = EducedTotal_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.Unit = Unit_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.Personal = Personal_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.WillPayTax = WillPayTax_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.AmountWagCards = AmountWagCards_Arry[i].ToDecimal2() ?? 0; m_OA_WagesRecord.AccountingSituation = ""; m_OA_WagesRecordList.Add(m_OA_WagesRecord); } if (bll_OA_WagesRecordBLL.AccountingWage(m_OA_WagesRecordList)) { JavaScript.MessageBox("操作成功", this); } else { JavaScript.MessageBox("操作失败", this); } } catch (Exception ex) { PAGEHandleException(ex); JavaScript.MessageBox("操作失败", this); } } } }