2024-05-08 10:17:02 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2024-09-18 10:36:26 +08:00
|
|
|
|
using System.Collections.Specialized;
|
|
|
|
|
using System.Diagnostics.Contracts;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Web;
|
|
|
|
|
using System.Web.UI;
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
using BLL;
|
2024-09-18 10:36:26 +08:00
|
|
|
|
using BLL.Common;
|
|
|
|
|
using Model;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
|
|
|
|
|
namespace FineUIPro.Web.SES
|
|
|
|
|
{
|
|
|
|
|
public partial class CQualityPunishEdit : PageBase
|
|
|
|
|
{
|
|
|
|
|
#region 加载
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!IsPostBack)
|
|
|
|
|
{
|
|
|
|
|
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|
|
|
|
string view = Request.Params["view"];
|
2024-09-18 10:36:26 +08:00
|
|
|
|
string audit = Request.Params["audit"];
|
|
|
|
|
if (!string.IsNullOrEmpty(audit))
|
|
|
|
|
{
|
|
|
|
|
GPAudit.Hidden = false;
|
|
|
|
|
}
|
2024-05-08 10:17:02 +08:00
|
|
|
|
if (view == "1")
|
|
|
|
|
{
|
|
|
|
|
this.btnSave.Hidden = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
GetButtonPower();//按钮权限
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var role = BLL.Sys_RoleService.GetRole(CurrUser.RoleId);
|
|
|
|
|
if (role != null && role.RoleName == "Contract Administrator")
|
|
|
|
|
{
|
|
|
|
|
txtSESNo.Required = true;
|
|
|
|
|
txtCompletionDate.Required = true;
|
|
|
|
|
txtSESNo.Enabled = true;
|
|
|
|
|
txtCompletionDate.Enabled = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtSESNo.Required = false;
|
|
|
|
|
txtCompletionDate.Required = false;
|
|
|
|
|
txtSESNo.Enabled = false;
|
|
|
|
|
txtCompletionDate.Enabled = false;
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
BLL.ViolationClauseService.InitViolationClause(this.drpViolationClause, true);//违章条款
|
2024-05-08 10:17:02 +08:00
|
|
|
|
//BLL.SESRelatedDataService.InitFONoDropDownList(this.drpFO_No, true);//合同号
|
2024-09-18 10:36:26 +08:00
|
|
|
|
//BLL.ContractorService.InitDropDownList(drpContractor, true); //承包商;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
BLL.DepartService.InitDropDownList(this.drpBYC_RU, true);//BYC负责部门
|
|
|
|
|
BLL.Sys_UserService.InitUserDropDownList(this.drpViolationInspector, true);//违章检查人
|
2024-09-18 10:36:26 +08:00
|
|
|
|
//BLL.Sys_UserService.InitUserDropDownList(this.drpBYC_Person, true);//
|
|
|
|
|
BLL.Sys_UserService.InitUserDropDownList(this.drpRequisitioner, true);//合同请购人
|
2024-05-08 10:17:02 +08:00
|
|
|
|
|
|
|
|
|
string punishmentId = Request.Params["punishmentId"];
|
|
|
|
|
if (!string.IsNullOrEmpty(punishmentId))
|
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
Model.View_EMC_Que_Punishment punishment = BLL.PunishmentService.GetQuePunishmentViewById(punishmentId);
|
2024-05-08 10:17:02 +08:00
|
|
|
|
Model.EMC_Punishment pun = BLL.PunishmentService.GetPunishmentById(punishmentId);
|
2024-09-18 10:36:26 +08:00
|
|
|
|
if (punishment != null && pun!=null)
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
|
|
|
|
this.txtPunishDate.Text = punishment.PunishDate != null ? string.Format("{0:yyyy-MM-dd}", punishment.PunishDate) : "";
|
|
|
|
|
this.txtPunishTime.Text = punishment.PunishDate != null ? punishment.PunishDate.Value.ToShortTimeString() : "";
|
2024-09-18 10:36:26 +08:00
|
|
|
|
this.txtFO_No.Text = punishment.FO_NO;
|
|
|
|
|
txtItemNo.Text = pun.ItemNo;
|
|
|
|
|
txtContractor.Text = punishment.Contractor;
|
|
|
|
|
txtDiscispline.Text = punishment.Discipline;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
|
|
|
|
|
this.txtLocation.Text = punishment.Location;
|
|
|
|
|
this.txtDescription.Text = punishment.Description;
|
|
|
|
|
|
|
|
|
|
this.txtCompany.Text = punishment.Company.HasValue ? punishment.Company.ToString() : "";
|
|
|
|
|
this.txtIndividual.Text = punishment.Individual.HasValue ? punishment.Individual.ToString() : "";
|
|
|
|
|
this.txtBackcharge.Text = punishment.Backcharge.HasValue ? punishment.Backcharge.Value.ToString("0.00") : "";
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
if (!string.IsNullOrEmpty(pun.ViolationDegree))
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
|
|
|
|
drpViolationDegree.SelectedValue = pun.ViolationDegree;
|
|
|
|
|
}
|
|
|
|
|
txtContractAdmin.Text = punishment.Contract_Admin;
|
|
|
|
|
txtMainCoordinator.Text = punishment.Main_Coordinator;
|
|
|
|
|
txtMCDept.Text = punishment.MCDept;
|
|
|
|
|
txtUserRepresentative.Text = punishment.User_Representative;
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(punishment.BYC_RU))
|
|
|
|
|
{
|
|
|
|
|
this.drpBYC_RU.SelectedValue = punishment.BYC_RU;
|
|
|
|
|
}
|
|
|
|
|
if (!string.IsNullOrEmpty(punishment.Violation_Inspector))
|
|
|
|
|
{
|
|
|
|
|
this.drpViolationInspector.SelectedValue = punishment.Violation_Inspector;
|
|
|
|
|
var user = BLL.Sys_UserService.GetUsersByUserId(punishment.Violation_Inspector);
|
|
|
|
|
string depName = BLL.DepartService.GetDepartNameById(user.DepartId);
|
|
|
|
|
txtInspectionDep.Text = depName;
|
|
|
|
|
}
|
2024-09-18 10:36:26 +08:00
|
|
|
|
|
|
|
|
|
if (pun.IsFrame == true)
|
|
|
|
|
{
|
|
|
|
|
rbIsFrame.SelectedValue = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
rbIsFrame.SelectedValue = "0";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(pun.ViolationClauseId))
|
|
|
|
|
{
|
|
|
|
|
drpViolationClause.SelectedValue = pun.ViolationClauseId;
|
|
|
|
|
}
|
|
|
|
|
txtViolationPerson.Text = pun.ViolationPerson;
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(punishment.Requisitioner))
|
|
|
|
|
{
|
|
|
|
|
drpRequisitioner.SelectedValue = punishment.Requisitioner;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (pun.IsFrame == true && (this.CurrUser.DepartId == punishment.BYC_RU || this.CurrUser.Account == Const.Gly))
|
|
|
|
|
{
|
|
|
|
|
GPDep.Hidden= false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
GPDep.Hidden = true;
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-08 10:17:02 +08:00
|
|
|
|
this.txtCompletionDate.Text = punishment.CompletionDate != null ? string.Format("{0:yyyy-MM-dd}", punishment.CompletionDate) : "";
|
|
|
|
|
this.txtSESNo.Text = punishment.SES_No;
|
2024-09-18 10:36:26 +08:00
|
|
|
|
txtViolationRelatedSes.Text = punishment.ViolationRelatedSes;
|
|
|
|
|
txtViolationRelatedSes1.Text = punishment.ViolationRelatedSes;
|
|
|
|
|
hdId.Text = punishmentId;
|
|
|
|
|
|
|
|
|
|
// 审核
|
|
|
|
|
if (pun.IsPass != null)
|
|
|
|
|
{
|
|
|
|
|
if (pun.IsPass == true)
|
|
|
|
|
{
|
|
|
|
|
rbIsPass.SelectedValue = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
rbIsPass.SelectedValue = "0";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
txtAuditResult.Text = pun.AuditResult;
|
|
|
|
|
|
|
|
|
|
if (punishment.IsFrame == true)
|
|
|
|
|
{
|
|
|
|
|
txtDiscispline.Readonly = true;
|
|
|
|
|
drpRequisitioner.Hidden = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtDiscispline.Readonly = false;
|
|
|
|
|
txtContractAdmin.Hidden = true;
|
|
|
|
|
txtMainCoordinator.Hidden = true;
|
|
|
|
|
txtUserRepresentative.Hidden = true;
|
|
|
|
|
txtMCDept.Hidden = true;
|
|
|
|
|
drpBYC_RU.Hidden = true;
|
|
|
|
|
GPRole.Hidden = true;
|
|
|
|
|
}
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
this.drpViolationInspector.SelectedValue = CurrUser.UserId;
|
|
|
|
|
string depName = BLL.DepartService.GetDepartNameById(CurrUser.DepartId);
|
|
|
|
|
txtInspectionDep.Text = depName;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 保存
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 保存
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string punishmentId = Request.Params["punishmentId"];
|
2024-09-18 10:36:26 +08:00
|
|
|
|
string audit = Request.Params["audit"];
|
2024-05-08 10:17:02 +08:00
|
|
|
|
Model.EMC_Punishment punishment = new Model.EMC_Punishment();
|
|
|
|
|
|
|
|
|
|
if (punishmentId == null)
|
|
|
|
|
{
|
|
|
|
|
punishmentId = string.Empty;
|
|
|
|
|
}
|
|
|
|
|
if (BLL.PunishmentService.IsExistSES_NO(punishmentId, this.txtSESNo.Text.Trim(), "2"))
|
|
|
|
|
{
|
|
|
|
|
Alert.ShowInTop("The Backcharge SES NO. already exists!");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
if (drpViolationClause.SelectedValue == Const._Null)
|
|
|
|
|
{
|
|
|
|
|
Alert.ShowInTop("Please select Violation Clause!", MessageBoxIcon.Warning);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-08 10:17:02 +08:00
|
|
|
|
punishment.PunishDate = Funs.GetNewDateTime(this.txtPunishDate.Text.Trim() + " " + txtPunishTime.Text.Trim());
|
2024-09-18 10:36:26 +08:00
|
|
|
|
punishment.FO_NO = txtFO_No.Text.Trim(); //drpFO_No.SelectedValue;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
if (txtSESNo.Text.Trim() != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
punishment.SES_No = txtSESNo.Text.Trim();
|
|
|
|
|
}
|
2024-09-18 10:36:26 +08:00
|
|
|
|
punishment.ItemNo = txtItemNo.Text.Trim();
|
2024-05-08 10:17:02 +08:00
|
|
|
|
punishment.Location = txtLocation.Text.Trim();
|
|
|
|
|
punishment.Description = txtDescription.Text.Trim();
|
|
|
|
|
if (txtCompany.Text != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
punishment.Company = Convert.ToDecimal(txtCompany.Text.Trim());
|
|
|
|
|
}
|
|
|
|
|
if (txtIndividual.Text != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
punishment.Individual = Convert.ToDecimal(txtIndividual.Text.Trim());
|
|
|
|
|
}
|
|
|
|
|
punishment.ViolationDegree = drpViolationDegree.SelectedValue;
|
|
|
|
|
if (drpBYC_RU.SelectedValue != Const._Null)
|
|
|
|
|
{
|
|
|
|
|
punishment.BYC_RU = drpBYC_RU.SelectedValue;
|
|
|
|
|
}
|
|
|
|
|
if (drpViolationInspector.SelectedValue != Const._Null)
|
|
|
|
|
{
|
|
|
|
|
punishment.Violation_Inspector = drpViolationInspector.SelectedValue;
|
|
|
|
|
}
|
|
|
|
|
punishment.CompletionDate = Funs.GetNewDateTime(this.txtCompletionDate.Text.Trim());
|
|
|
|
|
punishment.Flag = "2";
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
punishment.Contractor=txtContractor.Text.Trim();
|
|
|
|
|
punishment.Discipline=txtDiscispline.Text.Trim();
|
|
|
|
|
punishment.ViolationClauseId = drpViolationClause.SelectedValue;
|
|
|
|
|
if (rbIsFrame.SelectedValue == "1")
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
punishment.IsFrame = true;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
punishment.IsFrame=false;
|
|
|
|
|
}
|
|
|
|
|
punishment.ViolationPerson=txtViolationPerson.Text.Trim();
|
|
|
|
|
|
|
|
|
|
if (drpRequisitioner.SelectedValue != Const._Null)
|
|
|
|
|
{
|
|
|
|
|
punishment.Requisitioner = drpRequisitioner.SelectedValue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(txtViolationRelatedSes1.Text))
|
|
|
|
|
{
|
|
|
|
|
punishment.ViolationRelatedSes = txtViolationRelatedSes1.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (!string.IsNullOrEmpty(txtViolationRelatedSes.Text))
|
|
|
|
|
{
|
|
|
|
|
punishment.ViolationRelatedSes = txtViolationRelatedSes.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
// 保存
|
|
|
|
|
if (string.IsNullOrEmpty(audit))
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrEmpty(punishmentId))
|
|
|
|
|
{
|
|
|
|
|
punishment.PunishmentId = punishmentId;
|
|
|
|
|
var att = from x in Funs.DB.AttachFile where x.ToKeyId == punishmentId select x;
|
|
|
|
|
if (att.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
punishment.AttachUrl = att.First().AttachUrl;
|
|
|
|
|
}
|
|
|
|
|
BLL.PunishmentService.UpdatePunishment(punishment);
|
|
|
|
|
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Modify Contractor Quality Punishment!");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrEmpty(this.hdId.Text))
|
|
|
|
|
{
|
|
|
|
|
punishment.PunishmentId = this.hdId.Text.Trim();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
punishment.PunishmentId = SQLHelper.GetNewID(typeof(Model.EMC_Punishment));
|
|
|
|
|
this.hdId.Text = punishment.PunishmentId;
|
|
|
|
|
}
|
|
|
|
|
var att = from x in Funs.DB.AttachFile where x.ToKeyId == punishment.PunishmentId select x;
|
|
|
|
|
if (att.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
punishment.AttachUrl = att.First().AttachUrl;
|
|
|
|
|
}
|
|
|
|
|
punishment.CreateDate = DateTime.Now;
|
|
|
|
|
BLL.PunishmentService.AddPunishment(punishment);
|
|
|
|
|
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add Contractor Quality Punishment!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 发邮件给审核人通知审核
|
|
|
|
|
var pun = BLL.PunishmentService.GetPunishmentById(punishment.PunishmentId);
|
|
|
|
|
string auditMan = string.Empty;
|
|
|
|
|
if (pun != null)
|
|
|
|
|
{
|
|
|
|
|
if (pun.IsFrame == true)
|
|
|
|
|
{
|
|
|
|
|
var fc = BLL.SESRelatedDataService.GetSESRelatedDataByFoNo(pun.FO_NO);
|
|
|
|
|
string curUser = this.CurrUser.UserId; // 当前用户
|
|
|
|
|
string violationInspector = pun.Violation_Inspector; // 发起人
|
|
|
|
|
string leader = string.Empty; // 主协调员部门领导
|
|
|
|
|
string mainCoordinator = fc.Main_Coordinator;
|
|
|
|
|
|
|
|
|
|
var userInfo = BLL.Sys_UserService.GetUsersByUserId(fc.Main_Coordinator);
|
|
|
|
|
if (userInfo != null)
|
|
|
|
|
{
|
|
|
|
|
var dep = BLL.DepartService.GetDepartById(userInfo.DepartId);
|
|
|
|
|
if (dep != null)
|
|
|
|
|
{
|
|
|
|
|
leader = dep.DepartLeader;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 当前用户不是主调协员
|
|
|
|
|
if (curUser != mainCoordinator)
|
|
|
|
|
{
|
|
|
|
|
// 当前用户不是主调协员部门领导 发邮件给主调协员
|
|
|
|
|
if (curUser != leader)
|
|
|
|
|
{
|
|
|
|
|
auditMan = mainCoordinator;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else // 当前用户是主调协员
|
|
|
|
|
{
|
|
|
|
|
// 该主调协员不是部门领导时发邮件
|
|
|
|
|
if (curUser != leader)
|
|
|
|
|
{
|
|
|
|
|
auditMan = leader;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 非框架合同
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
string curUser = this.CurrUser.UserId; // 当前用户
|
|
|
|
|
string violationInspector = pun.Violation_Inspector; // 发起人
|
|
|
|
|
string leader = string.Empty; // 请购人部门领导
|
|
|
|
|
string requisitioner = pun.Requisitioner; // 请购人
|
|
|
|
|
|
|
|
|
|
var userInfo = BLL.Sys_UserService.GetUsersByUserId(pun.Requisitioner);
|
|
|
|
|
if (userInfo != null)
|
|
|
|
|
{
|
|
|
|
|
var dep = BLL.DepartService.GetDepartById(userInfo.DepartId);
|
|
|
|
|
if (dep != null)
|
|
|
|
|
{
|
|
|
|
|
leader = dep.DepartLeader;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 当前用户不是请购人
|
|
|
|
|
if (curUser != requisitioner)
|
|
|
|
|
{
|
|
|
|
|
// 当前用户是请购人部门领导 不发邮件
|
|
|
|
|
if (curUser != leader)
|
|
|
|
|
{
|
|
|
|
|
auditMan = requisitioner;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else // 当前用户是请购人
|
|
|
|
|
{
|
|
|
|
|
if (curUser != leader)
|
|
|
|
|
{
|
|
|
|
|
auditMan = leader;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (pun.EmailIsSend == null || pun.EmailIsSend == false)
|
|
|
|
|
{
|
|
|
|
|
Model.EmailPop pops = Funs.DB.EmailPop.FirstOrDefault(x => x.EmailID == BLL.Const.EmailPopId);
|
|
|
|
|
if (pops == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
string[] mailTo = null;
|
|
|
|
|
string[] mailCC = null;
|
|
|
|
|
string resultMessage = "";
|
|
|
|
|
|
|
|
|
|
var emailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("承包商质量违规审核通知"));
|
|
|
|
|
if (emailTemplate.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
var userTo = from x in Funs.DB.Sys_User
|
|
|
|
|
where x.UserId == auditMan
|
|
|
|
|
&& x.Email != null && x.Email != ""
|
|
|
|
|
select x;
|
|
|
|
|
if (userTo != null)
|
|
|
|
|
{
|
|
|
|
|
mailTo = userTo.Select(x => x.Email).ToArray();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mailTo.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
NameValueCollection myPram = new NameValueCollection();
|
|
|
|
|
myPram.Add("ContractNo", pun.FO_NO);
|
|
|
|
|
myPram.Add("Contractor", txtContractor.Text);
|
2024-09-25 16:10:43 +08:00
|
|
|
|
myPram.Add("ItemNo", pun.FO_NO + "-" + pun.ItemNo);
|
2024-09-18 10:36:26 +08:00
|
|
|
|
myPram.Add("Date", pun.PunishDate != null ? pun.PunishDate.Value.ToString("yyyy-MM-dd") : "");
|
|
|
|
|
myPram.Add("Time", pun.PunishDate != null ? pun.PunishDate.Value.ToString("HH:mm") : "");
|
|
|
|
|
myPram.Add("Violation Description", pun.Description);
|
|
|
|
|
bool result = MailHelper.SendPunishSesMail(pops, myPram, "承包商质量违规审核通知", mailTo, mailCC, out resultMessage);
|
|
|
|
|
|
|
|
|
|
if (result)
|
|
|
|
|
{
|
|
|
|
|
pun.EmailIsSend = true;
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
2024-05-08 10:17:02 +08:00
|
|
|
|
ShowNotify("Save successfully!", MessageBoxIcon.Success);
|
|
|
|
|
}
|
2024-09-18 10:36:26 +08:00
|
|
|
|
// 审核
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var pun = BLL.PunishmentService.GetPunishmentById(punishmentId);
|
|
|
|
|
if (pun.AuditEmailIsSend == null || pun.AuditEmailIsSend == false)
|
|
|
|
|
{
|
|
|
|
|
// 发起人即违章检查人
|
|
|
|
|
string createMan = pun.Violation_Inspector;
|
|
|
|
|
string auditMan = Request.Params["auditMan"];
|
|
|
|
|
pun.AuditMan = auditMan;
|
|
|
|
|
pun.IsAudit = true;
|
|
|
|
|
if (rbIsPass.SelectedValue == "1")
|
|
|
|
|
{
|
|
|
|
|
pun.IsPass = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
pun.IsPass = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pun.AuditResult = txtAuditResult.Text.Trim();
|
|
|
|
|
|
|
|
|
|
// 发邮件
|
|
|
|
|
#region 发邮件给发起人通知审核结果
|
|
|
|
|
if (rbIsPass.SelectedValue != null)
|
|
|
|
|
{
|
|
|
|
|
Model.EmailPop pops = Funs.DB.EmailPop.FirstOrDefault(x => x.EmailID == BLL.Const.EmailPopId);
|
|
|
|
|
if (pops == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
string[] mailTo = null;
|
|
|
|
|
string[] mailCC = null;
|
|
|
|
|
string resultMessage = "";
|
|
|
|
|
bool result = false;
|
|
|
|
|
|
|
|
|
|
// 承包商质量违规审核通过
|
|
|
|
|
if (rbIsPass.SelectedValue == "1")
|
|
|
|
|
{
|
|
|
|
|
var emailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("承包商质量违规审核通过"));
|
|
|
|
|
if (emailTemplate.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
// 发给发起人和孙燕
|
|
|
|
|
var userTo = from x in Funs.DB.Sys_User
|
|
|
|
|
where (x.UserId == createMan || x.Account == "suny2")
|
|
|
|
|
&& x.Email != null && x.Email != ""
|
|
|
|
|
select x;
|
|
|
|
|
if (userTo != null)
|
|
|
|
|
{
|
|
|
|
|
mailTo = userTo.Select(x => x.Email).ToArray();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mailTo.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
NameValueCollection myPram = new NameValueCollection();
|
|
|
|
|
myPram.Add("ContractNo", pun.FO_NO);
|
|
|
|
|
myPram.Add("Contractor", txtContractor.Text);
|
2024-09-25 16:10:43 +08:00
|
|
|
|
myPram.Add("ItemNo", pun.FO_NO + "-" + pun.ItemNo);
|
2024-09-18 10:36:26 +08:00
|
|
|
|
myPram.Add("Date", pun.PunishDate != null ? pun.PunishDate.Value.ToString("yyyy-MM-dd") : "");
|
|
|
|
|
myPram.Add("Time", pun.PunishDate != null ? pun.PunishDate.Value.ToString("HH:mm") : "");
|
|
|
|
|
myPram.Add("Violation Description", pun.Description);
|
|
|
|
|
result = MailHelper.SendPunishSesMail(pops, myPram, "承包商质量违规审核通过", mailTo, mailCC, out resultMessage);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (result)
|
|
|
|
|
{
|
|
|
|
|
pun.AuditEmailIsSend = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 承包商质量违规审核被拒绝
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var emailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("承包商质量违规审核被拒绝"));
|
|
|
|
|
if (emailTemplate.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
// 发给发起人
|
|
|
|
|
var userTo = from x in Funs.DB.Sys_User
|
|
|
|
|
where x.UserId == createMan
|
|
|
|
|
&& x.Email != null && x.Email != ""
|
|
|
|
|
select x;
|
|
|
|
|
if (userTo != null)
|
|
|
|
|
{
|
|
|
|
|
mailTo = userTo.Select(x => x.Email).ToArray();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mailTo.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
NameValueCollection myPram = new NameValueCollection();
|
|
|
|
|
myPram.Add("ContractNo", pun.FO_NO);
|
|
|
|
|
myPram.Add("Contractor", txtContractor.Text);
|
2024-09-25 16:10:43 +08:00
|
|
|
|
myPram.Add("ItemNo", pun.FO_NO + "-" + pun.ItemNo);//编号
|
2024-09-18 10:36:26 +08:00
|
|
|
|
myPram.Add("Date", pun.PunishDate != null ? pun.PunishDate.Value.ToString("yyyy-MM-dd") : "");
|
|
|
|
|
myPram.Add("Time", pun.PunishDate != null ? pun.PunishDate.Value.ToString("HH:mm") : "");
|
|
|
|
|
myPram.Add("Violation Description", pun.Description);
|
2024-09-25 16:10:43 +08:00
|
|
|
|
myPram.Add("RejectionDescription", txtAuditResult.Text.Trim());//拒绝描述
|
2024-09-18 10:36:26 +08:00
|
|
|
|
result = MailHelper.SendPunishSesMail(pops, myPram, "承包商质量违规审核被拒绝", mailTo, mailCC, out resultMessage);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (result)
|
|
|
|
|
{
|
|
|
|
|
pun.AuditEmailIsSend = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 当ViolationRelatedSes为空时发送邮件提醒BYC Resp. Dept的部门经理
|
|
|
|
|
if (rbIsPass.SelectedValue == "1")
|
|
|
|
|
{
|
|
|
|
|
var vses = (from x in Funs.DB.EMC_Punishment
|
|
|
|
|
where x.PunishmentId == punishmentId
|
|
|
|
|
&& x.IsFrame == true
|
|
|
|
|
&& x.BYC_RU != null && x.BYC_RU.ToUpper() != "NA"
|
|
|
|
|
&& (x.ViolationRelatedSes == "" || x.ViolationRelatedSes == null)
|
|
|
|
|
//x.Flag == "2"
|
|
|
|
|
//&& (x.RelatedSesMailIsSend == null || x.RelatedSesMailIsSend == false)
|
|
|
|
|
select x).ToList();
|
|
|
|
|
if (vses.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
Model.EmailPop pops = Funs.DB.EmailPop.FirstOrDefault(x => x.EmailID == BLL.Const.EmailPopId);
|
|
|
|
|
if (pops == null)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreach (var ses in vses)
|
|
|
|
|
{
|
|
|
|
|
string[] mailTo = null;
|
|
|
|
|
string[] mailCC = null;
|
|
|
|
|
string resultMessage = "";
|
|
|
|
|
|
|
|
|
|
var emailTemplate = Funs.DB.SendEmailTemplate.Where(x => x.EmailName.Contains("承包商质量违规关联SES号的填写通知"));
|
|
|
|
|
if (emailTemplate.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
var dep = BLL.DepartService.GetDepartById(ses.BYC_RU);
|
|
|
|
|
if (dep != null && !string.IsNullOrEmpty(dep.DepartLeader))
|
|
|
|
|
{
|
|
|
|
|
var userTo = from x in Funs.DB.Sys_User
|
|
|
|
|
where x.UserId == dep.DepartLeader
|
|
|
|
|
&& x.Email != null && x.Email != ""
|
|
|
|
|
select x;
|
|
|
|
|
if (userTo != null)
|
|
|
|
|
{
|
|
|
|
|
mailTo = userTo.Select(x => x.Email).ToArray();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mailTo.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
NameValueCollection myPram = new NameValueCollection();
|
|
|
|
|
myPram.Add("ContractNo", ses.FO_NO);
|
|
|
|
|
myPram.Add("Contractor", ses.Contractor);
|
|
|
|
|
myPram.Add("Date", ses.PunishDate != null ? ses.PunishDate.Value.ToString("yyyy-MM-dd") : "");
|
|
|
|
|
myPram.Add("Time", ses.PunishDate != null ? ses.PunishDate.Value.ToString("HH:mm") : "");
|
|
|
|
|
myPram.Add("Violation Description", ses.Description);
|
|
|
|
|
bool result = MailHelper.SendPunishSesMail(pops, myPram, "承包商质量违规关联SES号的填写通知", mailTo, mailCC, out resultMessage);
|
|
|
|
|
|
|
|
|
|
if (result)
|
|
|
|
|
{
|
|
|
|
|
ses.RelatedSesMailIsSend = true;
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
Funs.DB.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-05-08 10:17:02 +08:00
|
|
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
protected void txtText_TextChanged(object sender, EventArgs e)
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
if (!string.IsNullOrEmpty(txtFO_No.Text))
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
string foNO = txtFO_No.Text.Trim();
|
2024-05-08 10:17:02 +08:00
|
|
|
|
Model.View_FC_SESRelatedData fc = BLL.SESRelatedDataService.GetSESRelatedDataViewByFO(foNO);
|
|
|
|
|
if (fc != null)
|
2024-09-18 10:36:26 +08:00
|
|
|
|
{
|
|
|
|
|
txtContractor.Text = fc.Contractor;
|
2024-05-08 10:17:02 +08:00
|
|
|
|
txtDiscispline.Text = fc.Discipline;
|
|
|
|
|
txtContractAdmin.Text = fc.Contract_Admin;
|
|
|
|
|
txtMainCoordinator.Text = fc.Main_Coordinator;
|
|
|
|
|
txtUserRepresentative.Text = fc.User_Representative;
|
|
|
|
|
txtMCDept.Text = fc.MCDept;
|
2024-09-18 10:36:26 +08:00
|
|
|
|
|
|
|
|
|
txtContractAdmin.Hidden = false;
|
|
|
|
|
txtMainCoordinator.Hidden = false;
|
|
|
|
|
txtUserRepresentative.Hidden = false;
|
|
|
|
|
txtMCDept.Hidden = false;
|
|
|
|
|
drpBYC_RU.Hidden = false;
|
|
|
|
|
GPRole.Hidden = false;
|
|
|
|
|
drpRequisitioner.Hidden = true;
|
|
|
|
|
txtViolationRelatedSes.Hidden = false;
|
|
|
|
|
GPDep.Hidden = false;
|
|
|
|
|
|
|
|
|
|
txtDiscispline.Readonly = true;
|
|
|
|
|
drpRequisitioner.Required= false;
|
|
|
|
|
drpRequisitioner.ShowRedStar = false;
|
|
|
|
|
rbIsFrame.SelectedValue = "1";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtDiscispline.Text = string.Empty;
|
|
|
|
|
txtContractor.Text = string.Empty;
|
|
|
|
|
txtContractAdmin.Text = string.Empty;
|
|
|
|
|
txtMainCoordinator.Text = string.Empty;
|
|
|
|
|
txtUserRepresentative.Text = string.Empty;
|
|
|
|
|
txtMCDept.Text = string.Empty;
|
|
|
|
|
|
|
|
|
|
txtDiscispline.Readonly = false;
|
|
|
|
|
txtContractAdmin.Hidden = true;
|
|
|
|
|
txtMainCoordinator.Hidden = true;
|
|
|
|
|
txtUserRepresentative.Hidden = true;
|
|
|
|
|
txtMCDept.Hidden = true;
|
|
|
|
|
drpBYC_RU.Hidden = true;
|
|
|
|
|
GPRole.Hidden = true;
|
|
|
|
|
rbIsFrame.SelectedValue = "0";
|
|
|
|
|
drpRequisitioner.Required = true;
|
|
|
|
|
drpRequisitioner.ShowRedStar = true;
|
|
|
|
|
txtViolationRelatedSes.Hidden = true;
|
|
|
|
|
GPDep.Hidden = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 序号
|
|
|
|
|
var pun=from x in Funs.DB.EMC_Punishment where x.FO_NO== foNO && x.Flag=="2" select x;
|
|
|
|
|
if (pun.Count() == 0)
|
|
|
|
|
{
|
|
|
|
|
txtItemNo.Text = "001";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var max = pun.Max(x=>x.ItemNo);
|
|
|
|
|
if (!string.IsNullOrEmpty(max))
|
|
|
|
|
{
|
|
|
|
|
int maxNo = Convert.ToInt32(max) + 1;
|
|
|
|
|
txtItemNo.Text = "00" + maxNo.ToString();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
txtItemNo.Text = "001";
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
2024-09-18 10:36:26 +08:00
|
|
|
|
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
|
|
|
|
|
//protected void drpViolationInspector_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
//{
|
|
|
|
|
// if (drpViolationInspector.SelectedValue != Const._Null)
|
|
|
|
|
// {
|
|
|
|
|
// string manId = drpViolationInspector.SelectedValue;
|
|
|
|
|
// var user = BLL.Sys_UserService.GetUsersByUserId(manId);
|
|
|
|
|
// string depName = BLL.DepartService.GetDepartNameById(user.DepartId);
|
|
|
|
|
// txtInspectionDep.Text = depName;
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
protected void drpViolationClause_OnSelectedIndexChanged(object sender, EventArgs e)
|
2024-05-08 10:17:02 +08:00
|
|
|
|
{
|
2024-09-18 10:36:26 +08:00
|
|
|
|
if (drpViolationClause.SelectedValue != Const._Null)
|
|
|
|
|
{
|
|
|
|
|
var vio=BLL.ViolationClauseService.GetViolationClause(drpViolationClause.SelectedValue);
|
|
|
|
|
if (vio.DeductionComPany1 != 0)
|
|
|
|
|
{
|
|
|
|
|
drpViolationDegree.SelectedValue = "1";
|
|
|
|
|
txtCompany.Text = vio.DeductionComPany1.ToString();
|
|
|
|
|
txtIndividual.Text = vio.DeductionIndividual1.ToString();
|
|
|
|
|
txtBackcharge.Text = (vio.DeductionComPany1 + vio.DeductionIndividual1).ToString();
|
|
|
|
|
}
|
|
|
|
|
if (vio.DeductionComPany2 != 0)
|
|
|
|
|
{
|
|
|
|
|
drpViolationDegree.SelectedValue = "2";
|
|
|
|
|
txtCompany.Text = vio.DeductionComPany2.ToString();
|
|
|
|
|
txtIndividual.Text = vio.DeductionIndividual2.ToString();
|
|
|
|
|
txtBackcharge.Text = (vio.DeductionComPany2 + vio.DeductionIndividual2).ToString();
|
|
|
|
|
}
|
|
|
|
|
if (vio.DeductionComPany3 != 0)
|
|
|
|
|
{
|
|
|
|
|
drpViolationDegree.SelectedValue = "3";
|
|
|
|
|
txtCompany.Text = vio.DeductionComPany3.ToString();
|
|
|
|
|
txtIndividual.Text = vio.DeductionIndividual3.ToString();
|
|
|
|
|
txtBackcharge.Text = (vio.DeductionComPany2 + vio.DeductionIndividual3).ToString();
|
|
|
|
|
}
|
2024-05-08 10:17:02 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void txtPunish_OnTextChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
decimal? numCompany = 0;
|
|
|
|
|
decimal? numIndividual = 0;
|
|
|
|
|
if (txtCompany.Text != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
numCompany = Funs.GetNewDecimal(txtCompany.Text);
|
|
|
|
|
}
|
|
|
|
|
if (txtIndividual.Text != string.Empty)
|
|
|
|
|
{
|
|
|
|
|
numIndividual = Funs.GetNewDecimal(txtIndividual.Text);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
txtBackcharge.Text = (numCompany + numIndividual).Value.ToString("0.00");
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-18 10:36:26 +08:00
|
|
|
|
|
|
|
|
|
#region 附件上传
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 附件上传
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
protected void btnAttach_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
|
|
|
|
|
{
|
|
|
|
|
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.EMC_Punishment));
|
|
|
|
|
}
|
|
|
|
|
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader2.aspx?type=0&toKeyId={0}&path=FileUpload/SES/EMC_Punishment&menuId={1}", this.hdId.Text, BLL.Const.CQualityPunishMenuId)));
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
2024-05-08 10:17:02 +08:00
|
|
|
|
#region 权限设置
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 菜单按钮权限
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void GetButtonPower()
|
|
|
|
|
{
|
|
|
|
|
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.CQualityPunishMenuId);
|
|
|
|
|
if (buttonList.Count() > 0)
|
|
|
|
|
{
|
|
|
|
|
if (buttonList.Contains(BLL.Const.BtnSave))
|
|
|
|
|
{
|
|
|
|
|
this.btnSave.Hidden = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|