using BLL;
using System;
using System.Linq;
using System.Web;
namespace FineUIPro.Web.Customization.CNCCG.HSSE.Rewards
{
public partial class PoleUnitEdit : PageBase
{
///
/// 主键
///
public string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnClose.OnClientClick = ActiveWindow.GetHideReference();
BLL.UnitService.InitBranchUnitDropDownList(this.drpUnitId, false);//分公司
//是本单位不能增加
var thisUnit = BLL.CommonService.GetIsThisUnit();
if ((!string.IsNullOrEmpty(this.CurrUser.UnitId) && thisUnit.UnitId == this.CurrUser.UnitId) || this.CurrUser.UserId == BLL.Const.sysglyId || this.CurrUser.UserId == BLL.Const.hfnbdId)
{
//this.btnNew.Hidden = true;
//this.drpUnitId.Enabled = true;
}
else
{
this.drpUnitId.Enabled = false;
this.drpUnitId.SelectedValue = this.CurrUser.UnitId;
}
this.Id = Request.Params["Id"];
if (!string.IsNullOrEmpty(this.Id))
{
var model = PoleUnitService.Detail(this.Id);
if (model != null)
{
drpUnitId.SelectedValue = model.UnitId;
txtCreateMonth.Text = Convert.ToDateTime(model.CreateMonth).ToString("yyyy-MM");
txtScore1.Text = model.Score1.ToString();
//txtScore2.Text = model.Score2.ToString();
//加载日常管理得分
getDailyScore();
txtScore3.Text = model.Score3.ToString();
//加载安全生产、生态环保、质量获奖处罚加减分(然后加载总分)
getBonuspoints();
txtRecommendation.Text = model.Recommendation;
}
}
else
{
txtCreateMonth.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
}
}
}
///
/// 加载日常管理得分 *20%
///
void getDailyScore() {
var sTime = Convert.ToDateTime(txtCreateMonth.Text + "-01");
var eTime = sTime.AddMonths(1);
var uid = drpUnitId.SelectedValue;
var list = Funs.DB.HSSE_DailyScore.Where(x => x.UnitId == uid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
if (list.Count > 0)
{
var score = list.Sum(x => x.Scores) ?? 0;
txtScore2.Text = (Convert.ToDouble(score) * 0.2).ToString();
}
else {
txtScore2.Text = "0";
}
}
//根据单位加载奖励得分
void getBonuspoints() {
txtRemark.Text = "";
var sTime = Convert.ToDateTime(txtCreateMonth.Text + "-01");
var eTime = sTime.AddMonths(1);
decimal score = 0;
var uid = drpUnitId.SelectedValue;
var list = Funs.DB.HSSE_EnvironmentalAward.Where(x=>x.UnitId== uid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
if (list.Count > 0)
{
score= list.Sum(x => x.Scores) ?? 0;
foreach (var item in list)
{
txtRemark.Text += "奖项名称:" + item.AwardsName + ",加分值:" + item.Scores.ToString() + ";";
}
if (!string.IsNullOrEmpty(txtRemark.Text))
{
txtRemark.Text = txtRemark.Text.Substring(0, txtRemark.Text.Length - 1) + "。";
}
}
else {
txtRemark.Text = "无奖项";
}
decimal score1 = 0;
if (!string.IsNullOrEmpty(txtScore1.Text))
{
score1 = Convert.ToDecimal(txtScore1.Text);
}
decimal score2 = 0;
if (!string.IsNullOrEmpty(txtScore2.Text))
{
score2 = Convert.ToDecimal(txtScore2.Text);
}
decimal score3 = 0;
if (!string.IsNullOrEmpty(txtScore3.Text))
{
score3 = Convert.ToDecimal(txtScore3.Text);
}
txtAllScore.Text = (score1 + score2 + score3 + score).ToString();
}
void getBonuspointsNew()
{
var sTime = Convert.ToDateTime(txtCreateMonth.Text + "-01");
var eTime = sTime.AddMonths(1);
decimal score = 0;
var uid = drpUnitId.SelectedValue;
var list = Funs.DB.HSSE_EnvironmentalAward.Where(x => x.UnitId == uid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
if (list.Count > 0)
{
score = list.Sum(x => x.Scores) ?? 0;
}
else
{
txtRemark.Text = "无奖项";
}
decimal score1 = 0;
if (!string.IsNullOrEmpty(txtScore1.Text))
{
score1 = Convert.ToDecimal(txtScore1.Text);
}
decimal score2 = 0;
if (!string.IsNullOrEmpty(txtScore2.Text))
{
score2 = Convert.ToDecimal(txtScore2.Text);
}
decimal score3 = 0;
if (!string.IsNullOrEmpty(txtScore3.Text))
{
score3 = Convert.ToDecimal(txtScore3.Text);
}
txtAllScore.Text = (score1 + score2 + score3 + score).ToString();
}
protected void drpUnit_TextChanged(object sender, EventArgs e) {
if (!string.IsNullOrEmpty(drpUnitId.SelectedValue))
{
getDailyScore();
getBonuspoints();
}
}
//修改总得分
protected void txt_TextChanged(object sender, EventArgs e) {
getBonuspointsNew();
}
///
/// 保存按钮
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
this.SaveData(BLL.Const.BtnSave);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
private void SaveData(string type)
{
var model = new Model.HSSE_PoleUnit
{
UnitId = drpUnitId.SelectedValue,
Score1 = Convert.ToDecimal(txtScore1.Text),
Score2 = Convert.ToDecimal(txtScore2.Text),
Score3 = Convert.ToDecimal(txtScore3.Text),
AllScore = Convert.ToDecimal(txtAllScore.Text),
Recommendation = txtRecommendation.Text,
CreateTime = DateTime.Now,
CreateMonth= Convert.ToDateTime(txtCreateMonth.Text)
};
if (!string.IsNullOrEmpty(this.Id))
{
model.Id = this.Id;
PoleUnitService.Update(model);
}
else
{
this.Id = SQLHelper.GetNewID(typeof(Model.HSSESystem_SafetyInstitution));
model.Id = this.Id;
PoleUnitService.Insert(model);
}
}
}
}