This commit is contained in:
2024-09-25 15:13:49 +08:00
parent 5d5bc5598d
commit 5d70e1689a
16 changed files with 372 additions and 419 deletions
@@ -11,7 +11,7 @@ namespace FineUIPro.Web.CLGL
public partial class OutPlanMasterSelect : PageBase
{
#region
/// <summary>
/// 单位工程主键
/// </summary>
@@ -52,7 +52,10 @@ namespace FineUIPro.Web.CLGL
{
if (!IsPostBack)
{
UnitWorkId=Request.QueryString["UnitWorkId"];
Id = Request.QueryString["Id"];
this.InitTreeMenu();//加载树
InitDropList();
}
}
#endregion
@@ -209,20 +212,64 @@ namespace FineUIPro.Web.CLGL
/// </summary>
private void BindGrid()
{
//var tb=from x in Funs.DB.HJGL_PipeLineMat
// join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
// join z in Funs.DB.Tw_MaterialStock on x.MaterialCode equals z.PipeLineMatCode
// where y.ProjectId == this.CurrUser.LoginProjectId && y.UnitWorkId == this.UnitWorkId && y.PipelineId== this.tvControlItem.SelectedNodeID
// 确保 SelectedNodeID 不为空
if (this.tvControlItem.SelectedNodeID == null)
{
return; // 或者显示一个提示
}
int Category=(int)TwInOutplanmasterService.GetById(Id).Category;
var tb = (from x in Funs.DB.HJGL_PipeLineMat
join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
join z in Funs.DB.Tw_MaterialStock on x.MaterialCode equals z.PipeLineMatCode into zz
from z in zz.DefaultIfEmpty()
join lib in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals lib.MaterialCode
where y.ProjectId == this.CurrUser.LoginProjectId
&& y.UnitWorkId == this.UnitWorkId
&& y.PipelineId == this.tvControlItem.SelectedNodeID
&& (x.PrefabricatedComponents==null||x.PrefabricatedComponents=="")
select new
{
x.PipeLineMatId,
x.PipelineId,
x.MaterialCode,
lib.MaterialName,
lib.MaterialSpec,
lib.MaterialUnit,
PlanNum = x.Number,
StockNum=z.StockNum??0,
x.IsLooseParts,
}).ToList();
if (Category == (int)TwConst.Category.)
{
tb=tb.Where(x=>x.MaterialUnit.Contains("米")).ToList();
}
else
{
tb = tb.Where(x => x.MaterialUnit.Contains("个")).ToList();
}
var inoutplandetail = (from x in Funs.DB.Tw_InOutPlanDetail_Relation
where x.InOutPlanMasterId == Id && x.PipelineId == this.tvControlItem.SelectedNodeID
select x).ToList();
// 优化 Linq 过滤条件
tb = (from x in tb
join y in inoutplandetail on x.MaterialCode equals y.MaterialCode into yy
from y in yy.DefaultIfEmpty()
where y == null
select x).ToList();
////var tb = PipelineMatService.GetPipeLineMatsByPipelineId(this.tvControlItem.SelectedNodeID);
//Grid1.DataSource = tb;
//Grid1.DataBind();
Grid1.RecordCount = tb.Count;
Grid1.DataSource = tb;
Grid1.DataBind();
}
private void InitDropList()
{
/* var pipeline = (from x in Funs.DB.HJGL_Pipeline
var pipeline = (from x in Funs.DB.HJGL_Pipeline
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.UnitWorkId == this.UnitWorkId
select x.FlowingSection).Distinct().ToList();
@@ -230,7 +277,7 @@ namespace FineUIPro.Web.CLGL
this.drpFlowingSection.DataValueField = "Value";
this.drpFlowingSection.DataSource = pipeline;
this.drpFlowingSection.DataBind();
Funs.FineUIPleaseSelect(drpFlowingSection);*/
Funs.FineUIPleaseSelect(drpFlowingSection);
}
#endregion
@@ -268,254 +315,43 @@ namespace FineUIPro.Web.CLGL
/// <param name="e"></param>
protected void btnAccept_Click(object sender, EventArgs e)
{
//PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(txtTaskDate.Text) + ActiveWindow.GetHidePostBackReference());
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
protected void btnSave_Click(object sender, EventArgs e)
{
/*if (string.IsNullOrEmpty(this.txtTaskCode.Text.Trim()))
{
ShowNotify("请输入焊接任务单编号", MessageBoxIcon.Warning);
return;
}
if (!string.IsNullOrEmpty(txtTaskDate.Text))
{
if (!string.IsNullOrEmpty(TaskDate))
{
SaveTask(false);
BindGrid();
}
else
{
var task = from x in Funs.DB.HJGL_WeldTask
where x.UnitWorkId == UnitWorkId && x.UnitId == this.drpUnit.SelectedValue
&& x.TaskDate.Value.Date.ToString() == Convert.ToDateTime(txtTaskDate.Text.Trim()).ToString("yyyy-MM-dd")
select x;
if (task.Count() > 0)
{
ShowNotify("所选预计焊接日期已存在,请重新选择!", MessageBoxIcon.Warning);
return;
}
else
{
SaveTask(false);
TaskDate = txtTaskDate.Text;
BindGrid();
}
}
}
else
{
ShowNotify("请选择预计焊接日期", MessageBoxIcon.Warning);
return;
}*/
}
private void SaveTask(bool IsCloseForm)
{
/*var weldingRods = from x in Funs.DB.Base_Consumables where x.ConsumablesType == "2" select x;
var weldingWires = from x in Funs.DB.Base_Consumables where x.ConsumablesType == "1" select x;
string[] selectRowId = Grid1.SelectedRowIDArray;
for (int i = 0; i < selectRowId.Count(); i++)
{
string canWeldingRodName = string.Empty;
string canWeldingWireName = string.Empty;
Model.HJGL_WeldTask NewTask = new Model.HJGL_WeldTask();
NewTask.ProjectId = this.CurrUser.LoginProjectId;
NewTask.UnitWorkId = this.UnitWorkId;
NewTask.UnitId = drpUnit.SelectedValue;
NewTask.TaskCode = this.txtTaskCode.Text.Trim();
NewTask.WeldTaskId = SQLHelper.GetNewID();
NewTask.WeldJointId = selectRowId[i];
var oldWeldTask = BLL.WeldTaskService.GetWeldTaskByWeldJointId(NewTask.WeldJointId);
if (oldWeldTask != null)
{
ShowNotify("所选焊口已存在任务单,无法保存!", MessageBoxIcon.Warning);
return;
}
Model.HJGL_WeldJoint weldJoint = BLL.WeldJointService.GetWeldJointByWeldJointId(NewTask.WeldJointId);
if (weldJoint != null)
{
NewTask.WeldingRod = weldJoint.WeldingRod;
NewTask.WeldingWire = weldJoint.WeldingWire;
//获取可替代焊丝焊条
var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(weldJoint.Material1Id);
string matClass = mat.MaterialClass;
var matRod = weldingRods.FirstOrDefault(x => x.ConsumablesId == weldJoint.WeldingRod);
if (matRod != null)
{
foreach (var item in weldingRods)
{
if (matClass == "Fe-1" || matClass == "Fe-3")
{
if (IsCoverClass(matRod.SteelType, item.SteelType))
{
canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
}
}
else
{
if (matRod.SteelType == item.SteelType)
{
canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
}
}
}
if (!string.IsNullOrEmpty(canWeldingRodName))
{
NewTask.CanWeldingRodName = canWeldingRodName.Substring(0, canWeldingRodName.Length - 1);
}
}
var matWire = weldingWires.FirstOrDefault(x => x.ConsumablesId == weldJoint.WeldingWire);
if (matWire != null)
{
foreach (var item in weldingWires)
{
if (matClass == "Fe-1" || matClass == "Fe-3")
{
if (IsCoverClass(matWire.SteelType, item.SteelType))
{
canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
}
}
else
{
if (matWire.SteelType == item.SteelType)
{
canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
}
}
}
if (!string.IsNullOrEmpty(canWeldingWireName))
{
NewTask.CanWeldingWireName = canWeldingWireName.Substring(0, canWeldingWireName.Length - 1);
}
}
}
//NewTask.JointAttribute = drpJointAttribute.SelectedValue;
NewTask.JointAttribute = weldJoint.JointAttribute;
NewTask.WeldingMode = drpWeldingMode.SelectedValue;
NewTask.TaskDate = Convert.ToDateTime(txtTaskDate.Text);
NewTask.Tabler = this.CurrUser.PersonId;
NewTask.TableDate = DateTime.Now;
weldJoint.WeldingMode = drpWeldingMode.SelectedValue;
BLL.WeldJointService.UpdateWeldJoint(weldJoint);
BLL.WeldTaskService.AddWeldTask(NewTask);
}
//string pipelineId = this.tvControlItem.SelectedNodeID;
//var model = BLL.PipelineService.GetPipelineByPipelineId(pipelineId);
//model.State = 1;
//PipelineService.UpdatePipeline(model);
ShowNotify("保存成功!", MessageBoxIcon.Success);
if (IsCloseForm)
{
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(txtTaskDate.Text) + ActiveWindow.GetHidePostBackReference());
}*/
//PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 判断耗材强度是否大于WPS耗材强度,如是为true,否则为false
/// </summary>
/// <param name="wpsClass"></param>
/// <param name="matClass"></param>
/// <returns></returns>
private bool IsCoverClass(string wpsClass, string matClass)
{
bool isCover = false;
/*int wpsSn = 0;
int matSn = 0;
if (wpsClass.Length > 2 && matClass.Length > 2)
{
string wpsPre = wpsClass.Substring(0, wpsClass.Length - 2);
string matPre = matClass.Substring(0, matClass.Length - 2);
string wps = wpsClass.Substring(wpsClass.Length - 1, 1);
wpsSn = Funs.GetNewInt(wps).HasValue ? Funs.GetNewInt(wps).Value : 0;
string mat = matClass.Substring(matClass.Length - 1, 1);
matSn = Funs.GetNewInt(mat).HasValue ? Funs.GetNewInt(mat).Value : 0;
if (wpsPre == matPre && matSn >= wpsSn)
{
return true;
}
}*/
return isCover;
}
#endregion
protected void txtTaskDate_TextChanged(object sender, EventArgs e)
{
// this.txtTaskCode.Text = BLL.WeldTaskService.GetTaskCodeByDate(this.CurrUser.LoginProjectId, this.txtTaskDate.Text, UnitWorkId, drpUnit.SelectedValue);
}
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
{
//this.txtTaskCode.Text = BLL.WeldTaskService.GetTaskCodeByDate(this.CurrUser.LoginProjectId, this.txtTaskDate.Text, UnitWorkId, drpUnit.SelectedValue);
}
protected void drpJointAttribute_SelectedIndexChanged(object sender, EventArgs e)
{
Save();
BindGrid();
}
/// <summary>
/// 行绑定事件(没有焊接方法无法选择)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
private void Save()
{
/*DataRowView row = e.DataItem as DataRowView;
if (string.IsNullOrEmpty(row["WeldingMethodCode"].ToString()))
var List_Id = Grid1.SelectedRowIDArray;
if (List_Id != null)
{
e.RowSelectable = false;
};*/
}
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "ResetWpq")
{
/*var weldJointId = e.RowID;
var model = WeldJointService.GetWeldJointByWeldJointId(weldJointId);
if (model != null)
foreach (var id in List_Id)
{
model.WPQId = null;
WeldJointService.UpdateWeldJoint(model);
List<Model.View_HJGL_WPQ> wpqList = BLL.WPQListServiceService.GetMatchWPQ(model, this.CurrUser.LoginProjectId, drpUnit.SelectedValue);
if (wpqList != null)
var hJGL_PipeLineMat = BLL.PipelineMatService.GetPipeLineMat(id);
if (hJGL_PipeLineMat != null)
{
Model.HJGL_WeldJoint newJot = new Model.HJGL_WeldJoint();
Model.WPQ_WPQList wps = BLL.WPQListServiceService.GetWPQById(wpqList.First().WPQId);
newJot.WPQId = wps.WPQId;
newJot.WeldJointId = model.WeldJointId;
newJot.WeldingRod = wps.WeldingRod;
newJot.WeldingWire = wps.WeldingWire;
newJot.WeldingMethodId = wps.WeldingMethodId;
newJot.GrooveTypeId = wps.GrooveType;
newJot.PreTemperature = wps.PreTemperature;
newJot.IsHotProess = wps.IsHotProess;
newJot.MatchableWPQ = string.Join(",", wpqList.Select(x => x.WPQCode));
BLL.WeldJointService.UpdateConWeldJoint(newJot);
var model = new Model.Tw_InOutPlanDetail_Relation()
{
Id = SQLHelper.GetNewID(),
PipelineId = hJGL_PipeLineMat.PipelineId,
MaterialCode = hJGL_PipeLineMat.MaterialCode,
Number = hJGL_PipeLineMat.Number,
PrefabricatedComponents = hJGL_PipeLineMat.PrefabricatedComponents,
InOutPlanMasterId = Id,
};
TwInoutplandetailRelationService.Add(model);
}
BindGrid();
ShowNotify("焊评已重置!", MessageBoxIcon.Success);
}*/
}
}
}
TwInOutplandetailService.GenInOutPlanDetailByInoutPlanMasterId(Id);
}
#endregion
}
}