protected void LoadProject() { int totalRowsCount = 0; AspNetPager1.PageSize = 10; StringBuilder sbWhere = new StringBuilder(); string anyCondition = txtAnyCondition.Text.Trim(); if (!string.IsNullOrEmpty(anyCondition)) { sbWhere.Append(anyCondition); } DataTable dtProject = prjDal.GetProjectForEmployeeHome(Convert.ToString(EmployeeID ?? string.Empty), sbWhere.ToString(), AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, out totalRowsCount); if (dtProject != null && dtProject.Rows.Count > 0) { StringBuilder sbPrjId = new StringBuilder(); dtProject.AsEnumerable().Select(item => (string)item["prjID"]).ToList().ForEach(item => sbPrjId.AppendFormat("'{0}',", item)); projectIdNeed = sbPrjId.ToString().TrimEnd(','); lstTcje = new TransactionDetailsBLL().GetModelList(" AND employeeId = '" + Convert.ToString(EmployeeID ?? string.Empty) + "' AND TRANSACTIONTYPE = 7 AND PROJECTID IN (" + projectIdNeed + ") "); lstPrjProportion = new ProjectProportionBLL().GetModelList(" projectId IN (" + projectIdNeed + ")"); } empProportion = epBll.GetModelList(" AND EMPLOYEEID = '" + Convert.ToString(EmployeeID ?? string.Empty) + "'").FirstOrDefault(); if (string.IsNullOrEmpty(sbWhere.ToString())) { lblFinishedTaskCount.Text = string.Format("{0}", totalRowsCount); } AspNetPager1.RecordCount = totalRowsCount; gvProject.DataSource = dtProject; gvProject.DataBind(); gvProject.Columns[1].Visible = IsExternal; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string prjID = Request.QueryString["prjID"].ToString(); decimal amount = Convert.ToDecimal(Request.QueryString["amount"]); string parentEmployeeID = Convert.ToString(Request.QueryString["parentEmployeeID"]); string where = " AND employeeId = '" + parentEmployeeID + "'"; decimal proportion = 0m; ProjectProportion projectProportion = new ProjectProportionBLL().GetModelList(" projectId = '" + prjID + "'").FirstOrDefault(); if (projectProportion != null) { proportion = projectProportion.PROPORTION ?? 0m; } else { EmployeeProportion empPro = epBll.GetModelList(where).FirstOrDefault(); proportion = empPro?.PROPORTION ?? 0m; } hidAmount.Value = lblAmount.Text = (amount * proportion).ToString(); LoadCanTransferEmp(); } }
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; }