Exemple #1
0
        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;
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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;
        }