xinjiang/SGGL/FineUIPro.Web/SubPackManage/SubPackTeamEvaluationEdit.a...

463 lines
21 KiB
C#
Raw Normal View History

2024-11-19 09:45:27 +08:00
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.SubPackManage
{
public partial class SubPackTeamEvaluationEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string SubPackTeamEvaluationID
{
get
{
return (string)ViewState["SubPackTeamEvaluationID"];
}
set
{
ViewState["SubPackTeamEvaluationID"] = value;
}
}
/// <summary>
/// 办理类型
/// </summary>
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var oneProject = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
txtProjectCode.Text = oneProject.ProjectCode;
txtProjectName.Text = oneProject.ProjectName;
this.SubPackTeamEvaluationID = Request.Params["SubPackTeamEvaluationID"];
BLL.SubPackTeamListService.DropSelectUnitWork(drpUnitWork, this.CurrUser.LoginProjectId, false);
//审批信息 数据绑定
ListItem[] lis = new ListItem[1];
lis[0] = new ListItem("总包负责人审核", Const.SubPackTeamEvaluation_Submit);
drpHandleType.DataValueField = "Value";
drpHandleType.DataTextField = "Text";
drpHandleType.DataSource = lis;
drpHandleType.DataBind();
UserService.InitUserDropDownList(drpHandleMan, CurrUser.LoginProjectId, false, string.Empty);
//判断是修改还是新增
if (!string.IsNullOrWhiteSpace(SubPackTeamEvaluationID))
{
hdSubPackTeamEvaluationID.Text = SubPackTeamEvaluationID;
var oneSubPackTeamEvaluation = Funs.DB.SubPack_TeamEvaluation.FirstOrDefault(p => p.SubPackTeamEvaluationID == SubPackTeamEvaluationID);
if (oneSubPackTeamEvaluation == null)
{
ShowNotify("修改的数据不存在,请检查", MessageBoxIcon.Error);
return;
}
txtSubPackTeamEvaluationDate.Text = oneSubPackTeamEvaluation.SubPackTeamEvaluationDate.ToString();
var list = Funs.DB.SubPack_TeamEvaluationDetail.Where(p => p.SubPackTeamEvaluationID == SubPackTeamEvaluationID).OrderBy(p => p.SortIndex).ToList();
this.gvProblem.DataSource = list;
this.gvProblem.DataBind();
//新增情况下 审批控件的显示隐藏
if (oneSubPackTeamEvaluation.State == "1" && oneSubPackTeamEvaluation.SaveHandleMan == CurrUser.UserId)
{
this.rblIsAgree.Hidden = false;
this.txtOpinions.Hidden = false;
this.btnSave.Hidden = true;
this.btnSubmit.Hidden = false;
this.drpHandleType.Hidden = true;
this.drpHandleMan.Hidden = true;
}
else if (oneSubPackTeamEvaluation.State == "1" && oneSubPackTeamEvaluation.SaveHandleMan != CurrUser.UserId)
{
this.rblIsAgree.Hidden = false;
this.txtOpinions.Hidden = false;
this.btnSave.Hidden = true;
this.btnSubmit.Hidden = true;
this.drpHandleType.Hidden = true;
this.drpHandleMan.Hidden = true;
}
else if (oneSubPackTeamEvaluation.State == "0")
{
this.rblIsAgree.Hidden = true;
this.txtOpinions.Hidden = true;
this.btnSave.Hidden = false;
this.btnSubmit.Hidden = false;
}
else if (oneSubPackTeamEvaluation.State == "2")
{
this.btnSave.Hidden = true;
this.btnSubmit.Hidden = true;
this.ContentPanel5.Hidden = true;
}
//分包审批流列表信息
var dt = SubPackTeamEvaluationApproveService.getListData(SubPackTeamEvaluationID);
gvApprove.DataSource = dt;
gvApprove.DataBind();
}
else
{
txtSubPackTeamEvaluationDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
//新增时默认添加五行
List<Model.SubPack_TeamEvaluationDetail> list = new List<Model.SubPack_TeamEvaluationDetail>();
for (int i = 0; i < 5; i++)
{
Model.SubPack_TeamEvaluationDetail liaison = new Model.SubPack_TeamEvaluationDetail
{
SubPackTeamEvaluationDetailID = SQLHelper.GetNewID(typeof(Model.SubPack_TeamEvaluationDetail)),
ManagerScore = 0,
LaborPersonnelScore = 0,
QualityScore = 0,
SecurityScore = 0,
TotalScore = 0,
EvaluateLevel = "D",
};
list.Add(liaison);
}
this.gvProblem.DataSource = list;
this.gvProblem.DataBind();
//新增情况下 审批控件的显示隐藏
this.rblIsAgree.Hidden = true;
this.txtOpinions.Hidden = true;
}
txtProjectName.Text = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SubPackTeamListMenuId, BLL.Const.BtnSave))
{
//保存失败时
if (SaveDate("save") == 0)
return;
if (string.IsNullOrEmpty(Request.Params["Main"]))
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
PageContext.RegisterStartupScript(String.Format("window.close();"));
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
//保存失败时
if (SaveDate("submit") == 0)
return;
if (string.IsNullOrEmpty(Request.Params["Main"]))
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
PageContext.RegisterStartupScript(String.Format("window.close();"));
}
}
/// <summary>
/// 保存方法
/// </summary>
/// <param name="saveType"></param>
private int SaveDate(string saveType)
{
Model.SubPack_TeamEvaluation newTeamEvaluation = new SubPack_TeamEvaluation();
newTeamEvaluation.SubPackTeamEvaluationID = SubPackTeamEvaluationID;
if (string.IsNullOrWhiteSpace(txtSubPackTeamEvaluationDate.Text))
newTeamEvaluation.SubPackTeamEvaluationDate = null;
else
newTeamEvaluation.SubPackTeamEvaluationDate = Convert.ToDateTime(txtSubPackTeamEvaluationDate.Text);
if (saveType == "submit")
{
//查询主表信息
Model.SubPack_TeamEvaluation updateTeamEvaluation = Funs.DB.SubPack_TeamEvaluation.FirstOrDefault(p => p.SubPackTeamEvaluationID == SubPackTeamEvaluationID);
//明细信息
var list = gvProblemLs();
//过滤一遍数据
List<Model.SubPack_TeamEvaluationDetail> newTeamEvaluationDetails = new List<SubPack_TeamEvaluationDetail>();
foreach (var item in list)
{
if (string.IsNullOrWhiteSpace(item.UnitWorkId) || string.IsNullOrWhiteSpace(item.SubPackTeamListName) || string.IsNullOrWhiteSpace(item.BranchTeamListId))
continue;
newTeamEvaluationDetails.Add(item);
}
if (newTeamEvaluationDetails.Count <= 0)
{
Alert.ShowInTop("请输入明细信息,下属劳务公司名称不能为空", MessageBoxIcon.Warning);
return 0;
}
//如果没有查询到此数据先新增 再查询一次
bool addFalge = false;
if (updateTeamEvaluation == null)
{
newTeamEvaluation.ProjectId = this.CurrUser.LoginProjectId;
newTeamEvaluation.SubPackTeamEvaluationID = SQLHelper.GetNewID(typeof(Model.SubPack_TeamEvaluation));
newTeamEvaluation.SubPackTeamEvaluationMan = this.CurrUser.UserId;
newTeamEvaluation.SubPackTeamEvaluationDate = DateTime.Now;
newTeamEvaluation.State = BLL.Const.SubPackTeamEvaluation_Write;
newTeamEvaluation.IsSubmit = false;
BLL.SubPackTeamEvaluationService.AddSubPackTeamEvaluation(newTeamEvaluation, newTeamEvaluationDetails);
this.SubPackTeamEvaluationID = newTeamEvaluation.SubPackTeamEvaluationID;
this.hdSubPackTeamEvaluationID.Text = this.SubPackTeamEvaluationID;
updateTeamEvaluation = Funs.DB.SubPack_TeamEvaluation.FirstOrDefault(p => p.SubPackTeamEvaluationID == SubPackTeamEvaluationID);
addFalge = true;
}
Model.SubPack_TeamEvaluationApprove approve = new SubPack_TeamEvaluationApprove();
//在编辑状态提交
if (string.IsNullOrWhiteSpace(updateTeamEvaluation.State) || updateTeamEvaluation.State == "0")
{
updateTeamEvaluation.State = BLL.Const.SubPackTeamEvaluation_Submit;
updateTeamEvaluation.SubmitMan = this.CurrUser.UserId;
updateTeamEvaluation.SaveHandleMan = drpHandleMan.SelectedValue;
updateTeamEvaluation.IsSubmit = true;
approve.ApproveIdea = "提交";
approve.IsAgree = true;
approve.ApproveType = Const.SubPackTeamEvaluation_Submit;
}
else if (updateTeamEvaluation.State == "1")//在提交之后审核
{
if (!Convert.ToBoolean(this.rblIsAgree.SelectedValue) && string.IsNullOrWhiteSpace(txtOpinions.Text))
{
Alert.ShowInTop("不同意,请输入你不同意的意见!!!", MessageBoxIcon.Warning);
return 0;
}
//审核时选择同意单据状态改成审核完成 不同意将打回编辑状态 让编制人重新编制提交
if (Convert.ToBoolean(this.rblIsAgree.SelectedValue))
{
updateTeamEvaluation.State = BLL.Const.SubPackTeamEvaluation_AuditCompleted;
}
else
{
updateTeamEvaluation.State = BLL.Const.SubPackTeamEvaluation_Write;
updateTeamEvaluation.SubmitMan = null;
newTeamEvaluation.IsSubmit = false;
}
updateTeamEvaluation.SaveHandleMan = null;
approve.ApproveIdea = txtOpinions.Text;
approve.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue);
approve.ApproveType = Const.SubPackTeamEvaluation_AuditCompleted;
}
updateTeamEvaluation.SubPackTeamEvaluationDate = newTeamEvaluation.SubPackTeamEvaluationDate;
//减少对明细表的操作
if (addFalge)
BLL.SubPackTeamEvaluationService.UpdateSubPackTeamEvaluation(updateTeamEvaluation);
else
BLL.SubPackTeamEvaluationService.UpdateSubPackTeamEvaluation(updateTeamEvaluation, newTeamEvaluationDetails);
approve.SubPackTeamEvaluationID = updateTeamEvaluation.SubPackTeamEvaluationID;
approve.ApproveMan = CurrUser.UserId;
approve.ApproveDate = DateTime.Now;
BLL.SubPackTeamEvaluationApproveService.AddTeamEvaluationApprove(approve);
}
else
{
Model.SubPack_TeamEvaluation updateTeamEvaluation = Funs.DB.SubPack_TeamEvaluation.FirstOrDefault(p => p.SubPackTeamEvaluationID == SubPackTeamEvaluationID);
var list = gvProblemLs();
if (updateTeamEvaluation != null && !string.IsNullOrWhiteSpace(updateTeamEvaluation.State) && updateTeamEvaluation.State != "0")
{
Alert.ShowInTop("此分包数据已提交审核,不能再保存!!!", MessageBoxIcon.Warning);
return 0;
}
//过滤一遍数据
List<Model.SubPack_TeamEvaluationDetail> newTeamEvaluationDetails = new List<SubPack_TeamEvaluationDetail>();
foreach (var item in list)
{
if (string.IsNullOrWhiteSpace(item.UnitWorkId)|| string.IsNullOrWhiteSpace(item.SubPackTeamListName) || string.IsNullOrWhiteSpace(item.BranchTeamListId))
continue;
newTeamEvaluationDetails.Add(item);
}
if (newTeamEvaluationDetails.Count <= 0)
{
Alert.ShowInTop("请输入明细信息,下属劳务公司名称不能为空", MessageBoxIcon.Warning);
return 0;
}
//新增
if (updateTeamEvaluation == null)
{
newTeamEvaluation.ProjectId = this.CurrUser.LoginProjectId;
newTeamEvaluation.SubPackTeamEvaluationID = SQLHelper.GetNewID(typeof(Model.SubPack_TeamEvaluation));
newTeamEvaluation.SubPackTeamEvaluationMan = this.CurrUser.UserId;
newTeamEvaluation.SubPackTeamEvaluationDate = DateTime.Now;
newTeamEvaluation.State = BLL.Const.SubPackTeamEvaluation_Write;
newTeamEvaluation.IsSubmit = false;
BLL.SubPackTeamEvaluationService.AddSubPackTeamEvaluation(newTeamEvaluation, newTeamEvaluationDetails);
}
else
{
updateTeamEvaluation.ProjectId = this.CurrUser.LoginProjectId;
updateTeamEvaluation.SubPackTeamEvaluationDate = newTeamEvaluation.SubPackTeamEvaluationDate;
updateTeamEvaluation.State = Const.SubPackTeamEvaluation_Write;
updateTeamEvaluation.IsSubmit = false;
BLL.SubPackTeamEvaluationService.UpdateSubPackTeamEvaluation(updateTeamEvaluation, newTeamEvaluationDetails);
}
}
return 1;
}
/// <summary>
/// 添加行
/// </summary>
protected void btnProblemAdd_Click(object sender, EventArgs e)
{
var list = gvProblemLs();
Model.SubPack_TeamEvaluationDetail liaison = new Model.SubPack_TeamEvaluationDetail
{
SubPackTeamEvaluationDetailID = SQLHelper.GetNewID(typeof(Model.SubPack_TeamEvaluationDetail)),
ManagerScore = 0,
LaborPersonnelScore = 0,
QualityScore = 0,
SecurityScore = 0,
TotalScore = 0,
EvaluateLevel="D",
};
list.Add(liaison);
this.gvProblem.DataSource = list;
this.gvProblem.DataBind();
}
/// <summary>
/// 行选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gvProblem_RowCommand(object sender, GridCommandEventArgs e)
{
var problemLs = gvProblemLs();
string rowID = this.gvProblem.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "Delete")
{
foreach (var item in problemLs)
{
if (item.SubPackTeamEvaluationDetailID == rowID)
{
problemLs.Remove(item);
break;
}
}
gvProblem.DataSource = problemLs;
gvProblem.DataBind();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 劳务公司名单明细信息
/// </summary>
private List<Model.SubPack_TeamEvaluationDetail> gvProblemLs()
{
List<Model.SubPack_TeamEvaluationDetail> liaisonLs = new List<Model.SubPack_TeamEvaluationDetail>();
JArray mergedData = gvProblem.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
liaisonLs.Add(new Model.SubPack_TeamEvaluationDetail
{
SubPackTeamEvaluationDetailID = this.gvProblem.Rows[i].DataKeys[0].ToString(),
SubPackTeamEvaluationID = this.SubPackTeamEvaluationID,
UnitWorkId = values.Value<string>("UnitWorkId"),
BranchTeamListId = values.Value<string>("BranchTeamListId"),
SubPackTeamListName = values.Value<string>("SubPackTeamListName"),
ChargeContract = values.Value<string>("ChargeContract"),
LicenseNumber = values.Value<string>("LicenseNumber"),
AptitudeCertNumber = values.Value<string>("AptitudeCertNumber"),
EnrollAddress = values.Value<string>("EnrollAddress"),
HeadAndTelephone = values.Value<string>("HeadAndTelephone"),
ManagerScore = values.Value<string>("ManagerScore") == "" ? 0m : values.Value<decimal>("ManagerScore"),
LaborPersonnelScore = values.Value<string>("LaborPersonnelScore")==""? 0m: values.Value<decimal>("LaborPersonnelScore"),
QualityScore = values.Value<string>("QualityScore")==""? 0m : values.Value<decimal>("QualityScore"),
SecurityScore = values.Value<string>("SecurityScore")==""?0m : values.Value<decimal>("SecurityScore"),
TotalScore = values.Value<string>("TotalScore") == "" ? 0m : values.Value<decimal>("TotalScore"),
EvaluateLevel = values.Value<string>("EvaluateLevel"),
Remark = values.Value<string>("Remark"),
SortIndex = i,
});
}
return liaisonLs;
}
protected string ConvertState(object state)
{
if (state != null)
{
if (state.ToString() == BLL.Const.SubPackTeamEvaluation_Submit)
{
return "编制提交";
}
else if (state.ToString() == BLL.Const.SubPackTeamEvaluation_AuditCompleted)
{
return "总包负责人审批";
}
else
{
return "";
}
}
return "";
}
protected string ConvertAgree(object IsAgree)
{
if (IsAgree != null)
{
if (Convert.ToBoolean(IsAgree))
{
return "同意";
}
else
{
return "不同意";
}
}
return "不同意";
}
}
}