392 lines
19 KiB
C#
392 lines
19 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using BLL;
|
|
|
|
namespace FineUIPro.Web.WeldingProcess.TrustManage
|
|
{
|
|
public partial class PointAudit : PageBase
|
|
{
|
|
#region 加载页面
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 数据绑定
|
|
/// <summary>
|
|
/// 数据绑定
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
string strSql = @"SELECT PointBatchItem.PointBatchItemId,PointBatch.PointBatchCode, jot.WeldJointCode,
|
|
ins.InstallationCode, WorkArea.WorkAreaCode,unit.UnitCode, Pipeline.PipelineCode,
|
|
(CASE PointBatchItem.IsAudit WHEN 1 THEN '是' ELSE '否' END) AS PointIsAudit,
|
|
jot.JointArea,WeldingDaily.WeldingDate,PipingClass.PipingClassName,
|
|
trustItem.TrustBatchItemId,
|
|
(CASE WHEN jot.BackingWelderId!=jot.CoverWelderId THEN backingWelder.WelderCode+'/'+coverWelder.WelderCode ELSE backingWelder.WelderCode END) AS WelderCode--焊工号
|
|
FROM Batch_PointBatchItem AS PointBatchItem
|
|
LEFT JOIN Batch_PointBatch AS PointBatch ON PointBatch.PointBatchId=PointBatchItem.PointBatchId
|
|
LEFT JOIN Pipeline_WeldJoint AS jot ON jot.WeldJointId=PointBatchItem.WeldJointId
|
|
LEFT JOIN Pipeline_Pipeline AS Pipeline ON Pipeline.PipelineId=jot.PipelineId
|
|
LEFT JOIN dbo.Welder_Welder backingWelder ON backingWelder.WelderId = jot.BackingWelderId
|
|
LEFT JOIN dbo.Welder_Welder coverWelder ON coverWelder.WelderId = jot.CoverWelderId
|
|
LEFT JOIN Project_WorkArea AS WorkArea ON WorkArea.WorkAreaId=Pipeline.WorkAreaId
|
|
LEFT JOIN Pipeline_WeldingDaily AS WeldingDaily ON WeldingDaily.WeldingDailyId=jot.WeldingDailyId
|
|
LEFT JOIN Base_PipingClass AS PipingClass ON PipingClass.PipingClassId=Pipeline.PipingClassId
|
|
LEFT JOIN dbo.Project_Installation ins ON ins.InstallationId = PointBatch.InstallationId
|
|
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = PointBatch.UnitId
|
|
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = PointBatchItem.PointBatchItemId
|
|
WHERE PointBatchItem.PointState IS NOT NULL AND trustItem.TrustBatchItemId IS NULL
|
|
AND PointBatch.ProjectId=@ProjectId";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
|
if (!string.IsNullOrEmpty(this.txtPipelineCode.Text.Trim()))
|
|
{
|
|
strSql += " AND Pipeline.PipelineCode LIKE @PipelineCode";
|
|
listStr.Add(new SqlParameter("@PipelineCode", "%" + this.txtPipelineCode.Text.Trim() + "%"));
|
|
}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
|
|
Grid1.RecordCount = tb.Rows.Count;
|
|
// tb = GetFilteredTable(Grid1.FilteredData, tb);
|
|
var table = this.GetPagedDataTable(Grid1, tb);
|
|
Grid1.DataSource = table;
|
|
Grid1.DataBind();
|
|
}
|
|
#endregion
|
|
|
|
protected void btnQuery_Click(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
|
|
#region 排序
|
|
/// <summary>
|
|
/// 排序
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 确定按钮
|
|
/// <summary>
|
|
/// 确定按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnAccept_Click(object sender, EventArgs e)
|
|
{
|
|
string[] selectRowId = Grid1.SelectedRowIDArray;
|
|
if (selectRowId.Count() > 0)
|
|
{
|
|
foreach (var item in selectRowId)
|
|
{
|
|
BLL.Batch_PointBatchItemService.PointAudit(item, true);
|
|
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnJLAudit, item);
|
|
}
|
|
this.BindGrid();
|
|
Alert.ShowInTop("勾选的焊口已审核!");
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请勾选要审核的焊口!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
|
|
protected void btnCancelAccept_Click(object sender, EventArgs e)
|
|
{
|
|
string[] selectRowId = Grid1.SelectedRowIDArray;
|
|
if (selectRowId.Count() > 0)
|
|
{
|
|
foreach (var item in selectRowId)
|
|
{
|
|
BLL.Batch_PointBatchItemService.PointAudit(item, false);
|
|
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnJLAudit, item);
|
|
}
|
|
this.BindGrid();
|
|
Alert.ShowInTop("勾选的焊口已取消审核!");
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请勾选要取消审核的焊口!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 生成委托单
|
|
/// <summary>
|
|
/// 生成委托单
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnGenerate_Click(object sender, EventArgs e)
|
|
{
|
|
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGenerate))
|
|
{
|
|
var project = BLL.Base_ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
|
|
if (project.ProjectArea == "1" || project.ProjectArea == "2")
|
|
{
|
|
var getViewGenerateTrustLists = (from x in Funs.DB.View_GenerateTrust where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
|
if (getViewGenerateTrustLists.Count() > 0)
|
|
{
|
|
var getUnit = BLL.Base_UnitService.GetUnit(this.CurrUser.UnitId);
|
|
if (getUnit == null || getUnit.UnitTypeId == "1" || getUnit.UnitTypeId == "2" || getUnit.UnitTypeId == "3")
|
|
{
|
|
GenerateTrust(getViewGenerateTrustLists);
|
|
}
|
|
else
|
|
{
|
|
var getUnitViewGenerateTrustLists = getViewGenerateTrustLists.Where(x => x.UnitId == this.CurrUser.UnitId);
|
|
if (getUnitViewGenerateTrustLists.Count() > 0)
|
|
{
|
|
// 当前单位未委托批
|
|
GenerateTrust(getUnitViewGenerateTrustLists.ToList());
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("所属单位审核的点口已全部生成委托单!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGenerate, null);
|
|
this.BindGrid();
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("已全部生成委托单!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var getViewGenerateTrustLists = (from x in Funs.DB.View_GenerateTrust_FJ where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
|
if (getViewGenerateTrustLists.Count() > 0)
|
|
{
|
|
var getUnit = BLL.Base_UnitService.GetUnit(this.CurrUser.UnitId);
|
|
if (getUnit == null || getUnit.UnitTypeId == "1" || getUnit.UnitTypeId == "2" || getUnit.UnitTypeId == "3")
|
|
{
|
|
GenerateTrust_FJ(getViewGenerateTrustLists);
|
|
}
|
|
else
|
|
{
|
|
var getUnitViewGenerateTrustLists = getViewGenerateTrustLists.Where(x => x.UnitId == this.CurrUser.UnitId);
|
|
if (getUnitViewGenerateTrustLists.Count() > 0)
|
|
{
|
|
// 当前单位未委托批
|
|
GenerateTrust_FJ(getUnitViewGenerateTrustLists.ToList());
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("所属单位审核的点口已全部生成委托单!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
BLL.Sys_LogService.AddLog(BLL.Const.System_3, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_PointManageMenuId, Const.BtnGenerate, null);
|
|
this.BindGrid();
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("已全部生成委托单!", MessageBoxIcon.Warning);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 生成委托单-宁波
|
|
/// </summary>
|
|
/// <param name="unitId"></param>
|
|
private void GenerateTrust(List<Model.View_GenerateTrust> GenerateTrustLists)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
foreach (var trust in GenerateTrustLists)
|
|
{
|
|
Model.Batch_BatchTrust newBatchTrust = new Model.Batch_BatchTrust();
|
|
var project = BLL.Base_ProjectService.GetProjectByProjectId(trust.ProjectId);
|
|
var unit = BLL.Base_UnitService.GetUnit(trust.UnitId);
|
|
var ndt = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(trust.DetectionTypeId);
|
|
var area = BLL.Project_WorkAreaService.GetProject_WorkAreaByWorkAreaId(trust.WorkAreaId);
|
|
|
|
string perfix = string.Empty;
|
|
perfix = project.ProjectCode + "-" + unit.UnitCode + "-" + ndt.DetectionTypeCode + "-" + area.WorkAreaCode + "-";
|
|
newBatchTrust.TrustBatchCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode", "dbo.Batch_BatchTrust", "TrustBatchCode", project.ProjectId, perfix);
|
|
|
|
string trustBatchId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrust));
|
|
newBatchTrust.TrustBatchId = trustBatchId;
|
|
|
|
newBatchTrust.TrustDate = DateTime.Now;
|
|
newBatchTrust.ProjectId = trust.ProjectId;
|
|
newBatchTrust.UnitId = trust.UnitId;
|
|
newBatchTrust.InstallationId = trust.InstallationId;
|
|
newBatchTrust.WorkAreaId = trust.WorkAreaId;
|
|
newBatchTrust.DetectionTypeId = trust.DetectionTypeId;
|
|
|
|
BLL.Batch_BatchTrustService.AddBatchTrust(newBatchTrust); // 新增委托单
|
|
|
|
// 生成委托条件对比
|
|
var generateTrustItem = from x in db.View_GenerateTrustItem
|
|
where x.ProjectId == trust.ProjectId && x.InstallationId == trust.InstallationId
|
|
&& x.WorkAreaId == trust.WorkAreaId && x.UnitId == trust.UnitId
|
|
&& x.DetectionTypeId == trust.DetectionTypeId
|
|
select x;
|
|
string toPointBatch = string.Empty;
|
|
// 生成委托明细,并回写点口明细信息
|
|
foreach (var item in generateTrustItem)
|
|
{
|
|
if (BLL.Batch_PointBatchService.GetIsGenerateTrust(item.PointBatchItemId)) ////生成委托单的条件判断
|
|
{
|
|
toPointBatch = toPointBatch + item.PointBatchId + ",";
|
|
Model.Batch_BatchTrustItem trustItem = new Model.Batch_BatchTrustItem
|
|
{
|
|
TrustBatchItemId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrustItem)),
|
|
TrustBatchId = trustBatchId,
|
|
PointBatchItemId = item.PointBatchItemId,
|
|
WeldJointId = item.WeldJointId,
|
|
CreateDate = DateTime.Now
|
|
};
|
|
Batch_BatchTrustItemService.AddBatchTrustItem(trustItem);
|
|
}
|
|
|
|
Model.Batch_PointBatchItem pointBatchItem = db.Batch_PointBatchItem.FirstOrDefault(e => e.PointBatchItemId == item.PointBatchItemId);
|
|
|
|
pointBatchItem.IsBuildTrust = true;
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
// 回写委托批对应点口信息
|
|
if (!string.IsNullOrEmpty(toPointBatch))
|
|
{
|
|
List<string> pointBatchList = Funs.GetStrListByStr(toPointBatch, ',');
|
|
|
|
toPointBatch = toPointBatch.Substring(0, toPointBatch.Length - 1);
|
|
var updateTrut = BLL.Batch_BatchTrustService.GetBatchTrustById(trustBatchId);
|
|
if (updateTrut != null)
|
|
{
|
|
updateTrut.TopointBatch = toPointBatch;
|
|
BLL.Batch_BatchTrustService.UpdateBatchTrust(updateTrut);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Alert.ShowInTop("已成功生成委托单!", MessageBoxIcon.Success);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 生成委托单-福建
|
|
/// </summary>
|
|
/// <param name="unitId"></param>
|
|
private void GenerateTrust_FJ(List<Model.View_GenerateTrust_FJ> GenerateTrustLists)
|
|
{
|
|
Model.HJGLDB db = Funs.DB;
|
|
foreach (var trust in GenerateTrustLists)
|
|
{
|
|
Model.Batch_BatchTrust newBatchTrust = new Model.Batch_BatchTrust();
|
|
var project = BLL.Base_ProjectService.GetProjectByProjectId(trust.ProjectId);
|
|
var unit = BLL.Base_UnitService.GetUnit(trust.UnitId);
|
|
var ndt = BLL.Base_DetectionTypeService.GetDetectionTypeByDetectionTypeId(trust.DetectionTypeId);
|
|
var ins = BLL.Project_InstallationService.GetProject_InstallationByInstallationId(trust.InstallationId);
|
|
|
|
string perfix = string.Empty;
|
|
perfix = unit.UnitCode + "-" + ins.InstallationCode + "-GD-" + ndt.DetectionTypeCode + "-";
|
|
newBatchTrust.TrustBatchCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode", "dbo.Batch_BatchTrust", "TrustBatchCode", project.ProjectId, perfix);
|
|
|
|
string trustBatchId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrust));
|
|
newBatchTrust.TrustBatchId = trustBatchId;
|
|
|
|
newBatchTrust.TrustDate = DateTime.Now;
|
|
newBatchTrust.ProjectId = trust.ProjectId;
|
|
newBatchTrust.UnitId = trust.UnitId;
|
|
newBatchTrust.InstallationId = trust.InstallationId;
|
|
newBatchTrust.WorkAreaId = trust.WorkAreaId;
|
|
newBatchTrust.DetectionTypeId = trust.DetectionTypeId;
|
|
newBatchTrust.PipelineId = trust.PipelineId;
|
|
|
|
BLL.Batch_BatchTrustService.AddBatchTrust(newBatchTrust); // 新增委托单
|
|
|
|
// 生成委托条件对比
|
|
var generateTrustItem = from x in db.View_GenerateTrustItem_FJ
|
|
where x.ProjectId == trust.ProjectId && x.InstallationId == trust.InstallationId
|
|
&& x.WorkAreaId == trust.WorkAreaId && x.UnitId == trust.UnitId
|
|
&& x.DetectionTypeId == trust.DetectionTypeId && x.PipelineId == trust.PipelineId
|
|
select x;
|
|
string toPointBatch = string.Empty;
|
|
// 生成委托明细,并回写点口明细信息
|
|
foreach (var item in generateTrustItem)
|
|
{
|
|
if (BLL.Batch_PointBatchService.GetIsGenerateTrust(item.PointBatchItemId)) ////生成委托单的条件判断
|
|
{
|
|
toPointBatch = toPointBatch + item.PointBatchId + ",";
|
|
int? fileNum = null;
|
|
if (item.Dia >= 500)
|
|
{
|
|
fileNum = Batch_BatchTrustItemService.GetFilmNumByRateAndDia(item.DetectionRateValue, item.Dia);
|
|
}
|
|
|
|
Model.Batch_BatchTrustItem trustItem = new Model.Batch_BatchTrustItem
|
|
{
|
|
TrustBatchItemId = SQLHelper.GetNewID(typeof(Model.Batch_BatchTrustItem)),
|
|
TrustBatchId = trustBatchId,
|
|
PointBatchItemId = item.PointBatchItemId,
|
|
WeldJointId = item.WeldJointId,
|
|
FilmNum = fileNum,
|
|
CreateDate = DateTime.Now
|
|
};
|
|
Batch_BatchTrustItemService.AddBatchTrustItem(trustItem);
|
|
}
|
|
|
|
Model.Batch_PointBatchItem pointBatchItem = db.Batch_PointBatchItem.FirstOrDefault(e => e.PointBatchItemId == item.PointBatchItemId);
|
|
pointBatchItem.IsBuildTrust = true;
|
|
db.SubmitChanges();
|
|
}
|
|
|
|
// 回写批变为已委托状态
|
|
if (generateTrustItem.Count() > 0)
|
|
{
|
|
var batch = BLL.Batch_PointBatchService.GetPointBatchById(generateTrustItem.First().PointBatchId);
|
|
batch.IsTrust = true;
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
|
|
// 回写委托批对应点口信息
|
|
if (!string.IsNullOrEmpty(toPointBatch))
|
|
{
|
|
List<string> pointBatchList = Funs.GetStrListByStr(toPointBatch, ',');
|
|
|
|
toPointBatch = toPointBatch.Substring(0, toPointBatch.Length - 1);
|
|
var updateTrut = BLL.Batch_BatchTrustService.GetBatchTrustById(trustBatchId);
|
|
if (updateTrut != null)
|
|
{
|
|
updateTrut.TopointBatch = toPointBatch;
|
|
BLL.Batch_BatchTrustService.UpdateBatchTrust(updateTrut);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Alert.ShowInTop("已成功生成委托单!", MessageBoxIcon.Success);
|
|
}
|
|
#endregion
|
|
}
|
|
} |