/// <summary> /// 更新一条数据 /// </summary> public bool Update(ProjectProportion model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update projectproportion set "); strSql.Append("PROJECTID=@PROJECTID,"); strSql.Append("PROPORTION=@PROPORTION"); strSql.Append(" where ID=@ID "); MySqlParameter[] parameters = { new MySqlParameter("@PROJECTID", MySqlDbType.VarChar, 36), new MySqlParameter("@PROPORTION", MySqlDbType.Decimal, 3), new MySqlParameter("@ID", MySqlDbType.VarChar, 36) }; parameters[0].Value = model.PROJECTID; parameters[1].Value = model.PROPORTION; parameters[2].Value = model.ID; int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(ProjectProportion model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into projectproportion("); strSql.Append("ID,PROJECTID,PROPORTION)"); strSql.Append(" values ("); strSql.Append("@ID,@PROJECTID,@PROPORTION)"); MySqlParameter[] parameters = { new MySqlParameter("@ID", MySqlDbType.VarChar, 36), new MySqlParameter("@PROJECTID", MySqlDbType.VarChar, 36), new MySqlParameter("@PROPORTION", MySqlDbType.Decimal, 3) }; parameters[0].Value = model.ID; parameters[1].Value = model.PROJECTID; parameters[2].Value = model.PROPORTION; int rows = DbHelperMySQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 得到一个对象实体 /// </summary> public ProjectProportion DataRowToModel(DataRow row) { ProjectProportion model = new ProjectProportion(); if (row != null) { if (row["ID"] != null) { model.ID = row["ID"].ToString(); } if (row["PROJECTID"] != null) { model.PROJECTID = row["PROJECTID"].ToString(); } if (row["PROPORTION"] != null && row["PROPORTION"].ToString() != "") { model.PROPORTION = decimal.Parse(row["PROPORTION"].ToString()); } } return(model); }
/// <summary> /// 得到一个对象实体 /// </summary> public ProjectProportion GetModel(string ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select ID,PROJECTID,PROPORTION from projectproportion "); strSql.Append(" where ID=@ID "); MySqlParameter[] parameters = { new MySqlParameter("@ID", MySqlDbType.VarChar, 36) }; parameters[0].Value = ID; ProjectProportion model = new ProjectProportion(); DataSet ds = DbHelperMySQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
///// <summary> ///// 页码跳转 ///// </summary> ///// <param name="sender"></param> ///// <param name="e"></param> //protected void btnGoPage_Click(object sender, EventArgs e) //{ // try // { // int pageindex = int.Parse(tb_pageindex.Text); // AspNetPager1.CurrentPageIndex = pageindex; // } // catch (FormatException) // { // lbl_error.Text = "输入的页索引格式不正确"; // } //} #endregion #region Repeat Databound,计算提成金额、任务剩余时间和修改剩余时间 protected void gvProject_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { #region 设置任务状态样式 Label lblTaskStatus = e.Row.FindControl("lblTaskStatus") as Label; if (lblTaskStatus != null && !string.IsNullOrEmpty(lblTaskStatus.Text.Trim())) { if (lblTaskStatus.Text.Trim() == "暂停") { lblTaskStatus.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF0000"); } } #endregion #region 计算提成金额 #region 预计提成 string prjId = gvProject.DataKeys[e.Row.RowIndex].Values[0].ToString(); decimal proportion = 0m; // 先看此项目是否单独设置了提成 ProjectProportion projectProportion = lstPrjProportion?.Where(item => item.PROJECTID == prjId).FirstOrDefault(); // new ProjectProportionBLL().GetModelList(" projectId = '" + prjId + "'").FirstOrDefault(); // 如果设置了单独提成,则采用单独设置的比例 if (projectProportion != null) { proportion = projectProportion.PROPORTION ?? 0m; } // 如果未设置,则采用默认提成 else if (empProportion != null) { proportion = empProportion?.PROPORTION ?? 0m; } Label lblExpectAmount = e.Row.FindControl("lblExpectAmount") as Label; HiddenField hidOrderAmount = e.Row.FindControl("hidOrderAmount") as HiddenField; decimal orderAmount = Convert.ToDecimal(hidOrderAmount.Value); //Project prj = new ProjectBLL().GetModel(prjId); lblExpectAmount.Text = (orderAmount * Convert.ToDecimal(proportion)).ToString(); //2019-03-26,未转正期间的任务隐藏预计提成 Project project = new ProjectBLL().GetModel(prjId); if (project.CREATEDATE != null && toRegularDate != null) { if (project.CREATEDATE <= toRegularDate || toRegularDate == Convert.ToDateTime("2000/1/1 00:00:00")) { lblExpectAmount.Text = "--"; } } #endregion #region 实际提成 //decimal tcje = new TransactionDetailsBLL().GetModelList(" AND employeeId = '" + Convert.ToString(EmployeeID ?? string.Empty) + "' AND TRANSACTIONTYPE = 7 AND PROJECTID = '" + prjId + "' ").Sum(item => item.TRANSACTIONAMOUNT) ?? 0m; Label lblProportionAmount = e.Row.FindControl("lblProportionAmount") as Label; //lblProportionAmount.Text = tcje.ToString(); if (lstTcje != null && lstTcje.Count() > 0) { decimal transactionAmount = lstTcje.Where(item => item.PROJECTID == prjId && item.EMPLOYEEID == EmployeeID).Sum(item => item.TRANSACTIONAMOUNT) ?? 0m; lblProportionAmount.Text = transactionAmount.ToString(); } else { lblProportionAmount.Text = "0"; } #endregion #endregion #region 计算任务剩余时间 bool isFinished = Convert.ToInt32(gvProject.DataKeys[e.Row.RowIndex].Values[1]) == 1; Label lblTimeRemain = e.Row.FindControl("lblTimeRemain") as Label; //未完成的,才显示剩余时间 if (lblTimeRemain != null && !isFinished) { HiddenField hidExpireDate = e.Row.FindControl("hidExpireDate") as HiddenField; DateTime dtExpire = Convert.ToDateTime(hidExpireDate.Value); if (DateTime.Now < dtExpire) { TimeSpan ts = dtExpire - DateTime.Now; //设置提醒label文本 lblTimeRemain.Text = string.Format("{0}小时", Math.Floor(ts.TotalHours)); if (ts.TotalHours <= 3) { lblTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF0000");//不足3小时,红色 lblTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 6) { lblTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF8800");//不足6小时,橙色 lblTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 12) { lblTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#EEEE00");//不足12小时,黄色 lblTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 24) { lblTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF77FF");//不足24小时,洋红色 } else if (ts.TotalHours <= 48) { lblTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#57C600");//48小时以上,酸橙色(浅绿) } else { lblTimeRemain.Text = ">2天"; } } else if (dtExpire < DateTime.Now) { TimeSpan ts = DateTime.Now - dtExpire; lblTimeRemain.Text = string.Format("逾期{0}", Common.TransformTimeSpan(ts)); lblTimeRemain.ForeColor = System.Drawing.Color.Red; } } #endregion #region 计算修改剩余时间 string projectId = gvProject.DataKeys[e.Row.RowIndex].Values[0].ToString(); Label lblModifyTaskTimeRemain = e.Row.FindControl("lblModifyTaskTimeRemain") as Label; DataTable dt = new FileCategoryBLL().GetExpireDateByProjectId(projectId).Tables[0]; if (dt.Rows.Count > 0) { Button btnSetModifyTasksFinished = e.Row.FindControl("btnSetModifyTasksFinished") as Button; btnSetModifyTasksFinished.Visible = true; string folderName = Convert.ToString(dt.Rows[0]["folderName"]); btnSetModifyTasksFinished.CommandArgument = projectId + "|" + folderName; if (folderName.Contains("修改")) { string strExpireDate = Convert.ToString(dt.Rows[0]["expireDate"]); DateTime dtExpire = Convert.ToDateTime(strExpireDate); if (DateTime.Now < dtExpire) { TimeSpan ts = dtExpire - DateTime.Now; //设置提醒label文本 lblModifyTaskTimeRemain.Text = string.Format("{0}剩余{1}小时", folderName, Math.Floor(ts.TotalHours)); if (ts.TotalHours <= 3) { lblModifyTaskTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF0000");//不足3小时,红色 lblModifyTaskTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 6) { lblModifyTaskTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF8800");//不足6小时,橙色 lblModifyTaskTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 12) { lblModifyTaskTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#EEEE00");//不足12小时,黄色 lblModifyTaskTimeRemain.Font.Bold = true; } else if (ts.TotalHours <= 24) { lblModifyTaskTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF77FF");//不足24小时,洋红色 } else if (ts.TotalHours <= 48) { lblModifyTaskTimeRemain.ForeColor = System.Drawing.ColorTranslator.FromHtml("#57C600");//48小时以上,酸橙色(浅绿) } else { lblModifyTaskTimeRemain.Text = string.Format("{0}剩余>2天", folderName); } } else if (dtExpire < DateTime.Now) { TimeSpan ts = DateTime.Now - dtExpire; lblModifyTaskTimeRemain.Text = string.Format("{0}逾期{1}", folderName, Common.TransformTimeSpan(ts)); lblModifyTaskTimeRemain.ForeColor = System.Drawing.Color.Red; } } } #endregion } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(ProjectProportion model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(ProjectProportion model) { return(dal.Add(model)); }