protected void btnSearch_Click(object sender, EventArgs e) { try { EmployeeAccount empAcct = empAcctBll.GetModelList(" employeeID = '" + ddlEmployeeName.SelectedValue + "'").FirstOrDefault(); txtCanPayoff.Text = empAcct?.AMOUNT.ToString(); } catch (Exception ex) { LogHelper.WriteLine(ex.Message); ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('程序异常!');", true); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string employeeID = Request.QueryString["employeeID"]; hidEmployeeID.Value = employeeID; EmployeeAccount empAcct = eaBll.GetModelList(" employeeID = '" + employeeID + "'").FirstOrDefault(); if (empAcct != null) { // 员工已经申请但尚未通过审核的金额 decimal withdrawAmount = wdBll.GetModelList(" employeeID = '" + employeeID + "' and isconfirmed = 0").Sum(item => item.WITHDRAWAMOUNT) ?? 0m; // 可提现金额,为员工账户剩余金额 减去 上面获取到的金额 lblCanWithdrawAmount.Text = (empAcct.AMOUNT - withdrawAmount).ToString(); } else { lblCanWithdrawAmount.Text = "数据异常,请联系管理员!"; lblCanWithdrawAmount.ForeColor = System.Drawing.Color.Red; } } }
protected void gvWithdrawApprove_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Confirm") { string[] strArgs = e.CommandArgument.ToString().Split('|'); string withdrawID = strArgs[0]; string employeeID = strArgs[1]; WithdrawDetails withdrawDetails = wBll.GetModel(withdrawID); withdrawDetails.ISCONFIRMED = true; withdrawDetails.OPERATEPERSON = UserProfile.GetInstance().ID; if (wBll.Update(withdrawDetails)) { EmployeeAccount empAcct02 = empAcctBll.GetModelList(" employeeID = '" + employeeID + "'").FirstOrDefault(); if (empAcct02 != null) { if (empAcct02.AMOUNT >= withdrawDetails.WITHDRAWAMOUNT) { // 余额减去 empAcct02.AMOUNT -= withdrawDetails.WITHDRAWAMOUNT; // 已发加上 empAcct02.PAIDAMOUNT += withdrawDetails.WITHDRAWAMOUNT; if (empAcctBll.Update(empAcct02)) { LoadWithdraw(); ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('操作成功!');", true); } } else { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('操作失败!code: 4001');", true); } } } else { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('操作失败!');", true); } } }
private string GetEmployeeAccount(HttpContext context) { StringBuilder sbJsonResult = new StringBuilder(); string employeeID = context.Request.Params["employeeID"]; EmployeeAccount empAcct = empAcctBll.GetModelList(" employeeID = '" + employeeID + "'").FirstOrDefault(); TransactionDetailsBLL transactionDetailsBll = new TransactionDetailsBLL(); //账户余额 decimal amount = 0m; //decimal surplus = 0m; // 已发 decimal paid = 0m; // 奖罚,获取交易记录中奖励和处罚之和 decimal rewardAndAmercement = transactionDetailsBll.GetRewardAndAmercementAmount(employeeID); decimal others = transactionDetailsBll.GetOtherAmount(employeeID); if (empAcct != null) { amount = empAcct.AMOUNT ?? 0m; //surplus = empAcct.SURPLUSAMOUNT ?? 0m; // 已发,取员工账户表中已发的值 paid = empAcct.PAIDAMOUNT ?? 0m; //rewardAndAmercement = empAcct.REWARDANDAMERCEMENTAMOUNT ?? 0m; // 其他 //others = empAcct.OTHERSAMOUNT ?? 0m; } StringBuilder sbEmpAcct = new StringBuilder(); sbEmpAcct.Append("["); sbEmpAcct.Append("{\"value\":" + amount + ",\"name\":\"剩余\"},"); sbEmpAcct.Append("{\"value\":" + paid + ",\"name\":\"已发\"},"); sbEmpAcct.Append("{\"value\":" + Math.Abs(rewardAndAmercement) + ",\"name\":\"奖罚\"},"); sbEmpAcct.Append("{\"value\":" + Math.Abs(others) + ",\"name\":\"其他\"}"); sbEmpAcct.Append("]"); sbJsonResult.Append(sbEmpAcct); return(sbJsonResult.ToString()); }
protected void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(ddlCanTransferEmp.SelectedValue)) { ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('请选择需要转移到的员工!');", true); return; } try { if (Convert.ToDecimal(txtProportion.Text.Trim()) > 100) { ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('比例不能超过100%!');", true); return; } if (Convert.ToDecimal(txtAmount.Text.Trim()) > Convert.ToDecimal(hidAmount.Value)) { ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('不能超过原始金额!');", true); return; } } catch (Exception ex0) { ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('数值不正确!');", true); return; } // 声明变量 EmployeeAccountBLL eaBll = new EmployeeAccountBLL(); // 任务ID string prjID = Request.QueryString["prjID"].ToString(); // 当前分部领导 empId string parentEmployeeID = Convert.ToString(Request.QueryString["parentEmployeeID"]); // 需要转移对象的 empId string employeeID = ddlCanTransferEmp.SelectedValue; // 移动目录 Employee empParent = empBll.GetModel(parentEmployeeID); string parentEmpNo = empParent.EMPLOYEENO; Employee empToTransfer = empBll.GetModel(employeeID); string transferToEmpNo = empToTransfer.EMPLOYEENO; FileCategoryBLL fcBll = new FileCategoryBLL(); int errCode = 0; string returnFolderName = string.Empty; string taskRootFolder = string.Empty; string taskFolderWithoutEmpNo = string.Empty; fcBll.GetFilePathByProjectId(prjID, string.Empty, string.Empty, false, out returnFolderName, out taskRootFolder, out taskFolderWithoutEmpNo, out errCode); string sourceDirectory = string.Format(taskFolderWithoutEmpNo, parentEmpNo); string destinctDirectory = string.Format(taskFolderWithoutEmpNo, transferToEmpNo); try { Directory.Move(sourceDirectory, destinctDirectory); } catch (Exception ex) { LogHelper.WriteLine("|" + sourceDirectory + "|" + destinctDirectory); LogHelper.WriteLine(ex.Message + ex.StackTrace); ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('目录移动失败!');", true); return; } // 更新部门领导账户,按照配置比例计算出金额后累加到分部领导账户 decimal proportion = 0; ProjectProportion projectProportion = new ProjectProportionBLL().GetModelList(" projectId = '" + prjID + "'").FirstOrDefault(); if (projectProportion != null) { proportion = projectProportion.PROPORTION ?? 0m; } else { EmployeeProportion empProportion = new EmployeeProportionBLL().GetModelList(" AND employeeId = '" + parentEmployeeID + "'").FirstOrDefault(); proportion = empProportion.PROPORTION ?? 0m; } decimal amountToLeader = Convert.ToDecimal(Request.QueryString["amount"]); EmployeeAccount empAcctParent = new EmployeeAccount(); empAcctParent = eaBll.GetModelList(" employeeId = '" + parentEmployeeID + "'").FirstOrDefault(); empAcctParent.AMOUNT += (amountToLeader * proportion); empAcctParent.LASTUPDATEDATE = DateTime.Now; eaBll.Update(empAcctParent); // 添加一条交易记录 TransactionDetails transactionDetails = new TransactionDetails(); transactionDetails.ID = Guid.NewGuid().ToString(); transactionDetails.TRANSACTIONAMOUNT = amountToLeader * proportion; transactionDetails.TRANSACTIONDESCRIPTION = "分部领导提成"; transactionDetails.TRANSACTIONPROPORTION = proportion; transactionDetails.TRANSACTIONTYPE = 6; transactionDetails.TRANSACTIONDATE = DateTime.Now; transactionDetails.PLANDATE = DateTimeHelper.GetFirstDateOfCurrentMonth(); transactionDetails.EMPLOYEEID = parentEmployeeID; transactionDetails.PROJECTID = prjID; transactionDetails.ISDELETED = false; tdBll.Add(transactionDetails); //// 转移到的员工 先计入一条状态为已删除的数据,后续待任务完成时再调整:需要待任务完成后,再计入账户 transactionDetails = new TransactionDetails(); transactionDetails.ID = Guid.NewGuid().ToString(); transactionDetails.TRANSACTIONAMOUNT = Convert.ToDecimal(txtAmount.Text.Trim()); transactionDetails.TRANSACTIONDESCRIPTION = "项目提成(暂存)"; transactionDetails.TRANSACTIONTYPE = 7; transactionDetails.TRANSACTIONDATE = DateTime.Now; transactionDetails.PLANDATE = DateTimeHelper.GetFirstDateOfCurrentMonth(); transactionDetails.EMPLOYEEID = employeeID; transactionDetails.PROJECTID = prjID; transactionDetails.ISDELETED = true; tdBll.Add(transactionDetails); //EmployeeAccount empAcctTransferTo = new EmployeeAccount(); //empAcctTransferTo = eaBll.GetModelList(" employeeID = '" + employeeID + "'").FirstOrDefault(); //empAcctTransferTo.AMOUNT += Convert.ToDecimal(txtAmount.Text.Trim()); //empAcctTransferTo.LASTUPDATEDATE = DateTime.Now; //eaBll.Update(empAcctTransferTo); // 更新任务完成人 ProjectSharing ps = new ProjectSharing(); ps = psBll.GetModelList(" projectId = '" + prjID + "' AND FInishedperson = '" + parentEmployeeID + "'").FirstOrDefault(); ps.FINISHEDPERSON = employeeID; if (psBll.Update(ps)) { ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('转移成功!');window.top.location.href='/employeeHome.aspx';", true); return; } ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alert('更新完成人失败!');window.top.location.href='/employeeHome.aspx';", true); return; }
/// <summary> /// 添加一条交易记录 /// </summary> private void AddTransaction() { string employeeID = ddlEmployeeName.SelectedValue; // 首先添加交易记录 TransactionDetails transac = new TransactionDetails(); transac.ID = Guid.NewGuid().ToString(); transac.TRANSACTIONAMOUNT = Convert.ToDecimal(txtAmount.Text.Trim()); transac.TRANSACTIONTYPE = Convert.ToInt32(ddlTransacType.SelectedValue); transac.TRANSACTIONDESCRIPTION = txtDescription.Text.Trim(); string taskNoForSearch = txtTaskNoSearch.Text.Trim(); string taskNoForAdd = txtTaskNo.Text.Trim(); string taskNo = string.Empty; if (string.IsNullOrEmpty(taskNoForAdd)) { taskNo = taskNoForSearch; } transac.PROJECTID = new ProjectBLL().GetPrjIDByTaskNo(taskNoForSearch); if (string.IsNullOrEmpty(transac.PROJECTID)) { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('任务编号有误!');", true); return; } transac.EMPLOYEEID = employeeID; DateTime dtTransacDate = DateTime.Now; string strTransacDate = txtTransacDate.Text.Trim(); if (!string.IsNullOrEmpty(strTransacDate)) { dtTransacDate = Convert.ToDateTime(strTransacDate); } transac.TRANSACTIONDATE = dtTransacDate; transac.PLANDATE = Convert.ToDateTime(string.Format("{0}-01 00:00:00", txtPlanDate.Text.Trim())); transac.CREATEDATE = DateTime.Now; if (tdBll.Add(transac)) { // 操作相应的员工账户 EmployeeAccount empAcct = empAcctBll.GetModelList(" employeeID = '" + employeeID + "'").FirstOrDefault(); if (empAcct != null) { // 账户余额加上 empAcct.AMOUNT += transac.TRANSACTIONAMOUNT; // 如果是3(即工资发放),则需要在已发项目上加上金额 if (ddlTransacType.SelectedValue == "3") { empAcct.PAIDAMOUNT += Math.Abs(transac.TRANSACTIONAMOUNT ?? 0m); // 员工账户中的已发金额加上此次发放的金额 } if (empAcctBll.Update(empAcct)) { txtAmount.Text = txtTransacDate.Text = string.Empty; ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('添加成功!');", true); } } else { ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(), "alert('添加失败!');", true); } } else { } }