20250723 修改工厂预制管理

This commit is contained in:
2025-07-23 13:27:58 +08:00
parent acbd44856f
commit be011ed6a3
23 changed files with 265 additions and 188 deletions
@@ -19,8 +19,8 @@
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtPipelineCode" runat="server" Label="管线"
EmptyText="输入查询条件" Width="280px" LabelWidth="60px">
<f:TextBox ID="txtPipelineCode" runat="server" Label="管线"
EmptyText="输入查询条件" Width="280px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
<f:HiddenField runat="server" ID="hdUnitWorkId"></f:HiddenField>
</Items>
@@ -71,7 +71,7 @@
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="组件信息" ForceFit="false"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="PipelineCode" AllowCellEditing="true"
AllowColumnLocking="true" EnableColumnLines="true" ClicksToEdit="2" DataIDField="PipelineCode"
AllowSorting="true" SortField="PipelineCode" SortDirection="ASC" OnSort="Grid1_Sort"
AllowSorting="true" SortField="PipelineCode" SortDirection="ASC" OnSort="Grid1_Sort" EnableTextSelection="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号"
@@ -287,6 +287,11 @@ namespace FineUIPro.Web.HJGL.PreDesign
// strSql += " AND cte.FlowingSection =@FlowingSection";
// listStr.Add(new SqlParameter("@FlowingSection", drpFlowingSection.SelectedValue.ToString()));
//}
if (!string.IsNullOrEmpty(txtPipelineCode.Text))
{
strSql += " AND cte.PipelineCode like @pipeline";
listStr.Add(new SqlParameter("@pipeline", "%" + this.txtPipelineCode.Text.Trim() + "%"));
}
strSql += " ORDER BY PipelineCode,PipelineComponentCode ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
@@ -358,6 +363,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
protected void btnTreeFind_Click1(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
@@ -396,11 +402,11 @@ namespace FineUIPro.Web.HJGL.PreDesign
= x.Field<string>("FlowingSection")
});
string path = Funs.RootPath + @"File\Excel\Temp\PrePipelineInstallList.xlsx";
path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HHmm}", DateTime.Now) + ".xlsx");
path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd}", DateTime.Now) + ".xlsx");
MiniExcel.SaveAs(path, q);
string fileName = $"安装清单{(string.Format("{0:yyyy-MM-dd-HHmm}", DateTime.Now))}.xlsx";
string fileName = $"安装清单-" + this.tvControlItem.SelectedNode.Text + "-" + string.Format("{0:yyyy-MM-dd}", DateTime.Now) + ".xlsx";
FileInfo info = new FileInfo(path);
long fileSize = info.Length;
System.Web.HttpContext.Current.Response.Clear();
@@ -40,17 +40,17 @@
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="PackagingCode" DataField="PackagingCode"
<f:RenderField Width="250px" ColumnID="PackagingCode" DataField="PackagingCode"
FieldType="String" HeaderText="包装编号" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="TypeString" DataField="TypeString"
FieldType="String" HeaderText="包装编号" HeaderTextAlign="Center" TextAlign="Center">
FieldType="String" HeaderText="货物类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<%--<f:RenderField Width="120px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="String"
HeaderText="最早安装时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="120px" ColumnID="StackingPosition" DataField="StackingPosition" FieldType="String"
HeaderText="堆放位置" HeaderTextAlign="Center" TextAlign="Center">
HeaderText="预制工作包" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="TrainNumberOld" DataField="TrainNumberOld" FieldType="String"
HeaderText="车次(旧)" HeaderTextAlign="Center" TextAlign="Center">
@@ -64,7 +64,7 @@
<asp:Label ID="Label1" runat="server" Text='<%# ConvertState(Eval("State")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="DriverName" DataField="DriverName" FieldType="String"
<%--<f:RenderField Width="120px" ColumnID="DriverName" DataField="DriverName" FieldType="String"
HeaderText="驾驶员姓名" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DriverPhone" DataField="DriverPhone" FieldType="String"
@@ -78,7 +78,7 @@
</f:RenderField>
<f:RenderField Width="120px" ColumnID="ContactPhone" DataField="ContactPhone" FieldType="String"
HeaderText="联系人电话" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</f:RenderField>--%>
<f:RenderField Width="120px" ColumnID="ReceiveMan" DataField="ReceiveMan" FieldType="String"
HeaderText="接收人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
@@ -107,7 +107,7 @@
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑包装管理台账" Hidden="true" EnableIFrame="true" EnableMaximize="true"
<f:Window ID="Window1" Title="发货管理" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="900px" Height="500px">
</f:Window>
@@ -308,16 +308,21 @@ namespace FineUIPro.Web.HJGL.PreDesign
}
protected void btnOutPrint_Click(object sender, EventArgs e)
{
string Id = this.Grid1.SelectedRowID;
var model = HJGL_PackagingmanageService.GetHJGL_PackagingManageById(Id);
var PipelineComponent = model.PipelineComponentId.Split(',');
foreach (var item in PipelineComponent)
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
{
HJGL_PipelineComponentService.UpdateOutState(item, model.PackagingCode);
string Id = this.Grid1.SelectedRowID;
var model = HJGL_PackagingmanageService.GetHJGL_PackagingManageById(Id);
if (model != null)
{
var PipelineComponent = model.PipelineComponentId.Split(',');
foreach (var item in PipelineComponent)
{
HJGL_PipelineComponentService.UpdateOutState(item, model.PackagingCode);
}
HJGL_PackagingmanageService.PutOutOrder(Id);
Pring(Id);
}
}
HJGL_PackagingmanageService.PutOutOrder(Id);
Pring(Id);
}
private void Pring(string Id)
{
@@ -329,38 +334,41 @@ namespace FineUIPro.Web.HJGL.PreDesign
return;
}
DataTable tb = BLL.HJGL_PackagingmanageService.GetPackagingDetailById(Id);
var model = HJGL_PackagingmanageService.GetHJGL_PackagingManageById(Id);
var dtTable = tb.AsEnumerable().OrderBy(o => o["PlanStartDate"]).CopyToDataTable();
string PlanStartDate = "";
if (dtTable.Rows != null && dtTable.Rows.Count > 0)
if (tb.Rows.Count > 0)
{
PlanStartDate = dtTable.Rows[0]["PlanStartDate"].ToString();
}
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId));
keyValuePairs.Add("PackagingCode", model.PackagingCode);
keyValuePairs.Add("PlanStartDate", PlanStartDate);
keyValuePairs.Add("StackingPosition", model.StackingPosition);
keyValuePairs.Add("ContactName", model.ContactName + "| " + model.ContactPhone);
keyValuePairs.Add("ID", "PackagingManage$" + model.PackagingManageId);
DataRow dataRow = tb.NewRow();
dataRow["num"] = "合计:" + tb.Rows.Count;
tb.Rows.Add(dataRow);
if (tb != null)
{
tb.TableName = "Data";
}
BLL.FastReportService.AddFastreportTable(tb);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
initTemplatePath = "File\\Fastreport\\装箱单.frx";
var model = HJGL_PackagingmanageService.GetHJGL_PackagingManageById(Id);
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
var dtTable = tb.AsEnumerable().OrderBy(o => o["PlanStartDate"]).CopyToDataTable();
string PlanStartDate = "";
if (dtTable.Rows != null && dtTable.Rows.Count > 0)
{
PlanStartDate = dtTable.Rows[0]["PlanStartDate"].ToString();
}
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId));
keyValuePairs.Add("PackagingCode", model.PackagingCode);
keyValuePairs.Add("PlanStartDate", PlanStartDate);
keyValuePairs.Add("StackingPosition", model.StackingPosition);
keyValuePairs.Add("ContactName", model.ContactName + "| " + model.ContactPhone);
keyValuePairs.Add("ID", "PackagingManage$" + model.PackagingManageId);
DataRow dataRow = tb.NewRow();
dataRow["num"] = "合计:" + tb.Rows.Count;
tb.Rows.Add(dataRow);
if (tb != null)
{
tb.TableName = "Data";
}
BLL.FastReportService.AddFastreportTable(tb);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
initTemplatePath = "File\\Fastreport\\装箱单.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
}
#endregion
@@ -17,7 +17,7 @@
<f:TextBox ID="txtPackagingCode" runat="server" Label="包装编号" LabelAlign="Right"
LabelWidth="140px">
</f:TextBox>
<f:DropDownList ID="drpTypeInt" runat="server" Label="类型" ColumnWidth="20%" OnSelectedIndexChanged="drpTypeInt_SelectedIndexChanged" AutoPostBack="true"
<f:DropDownList ID="drpTypeInt" runat="server" Label="货物类型" ColumnWidth="20%" OnSelectedIndexChanged="drpTypeInt_SelectedIndexChanged" AutoPostBack="true"
LabelWidth="70px" LabelAlign="Right" Width="170px">
</f:DropDownList>
</Items>
@@ -45,7 +45,7 @@
<Toolbars>
<f:Toolbar runat="server" Position="Top">
<Items>
<f:TextBox ID="txtpipelineCode" runat="server" Label="管线号" LabelAlign="Right" EmptyText="主项号+区域编号"
<f:TextBox ID="txtpipelineCode" runat="server" Label="管线号" LabelAlign="Right"
LabelWidth="180px">
</f:TextBox>
<f:TextBox ID="txtpipelineComponentCode" runat="server" Label="预制组件编号" LabelAlign="Right"
@@ -35,6 +35,9 @@
<f:RenderField Width="120px" ColumnID="CU" DataField="CU" FieldType="String"
HeaderText="单位" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="FlowingSection" DataField="FlowingSection" FieldType="String"
HeaderText="预制工作包" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="UnitWorkName" DataField="UnitWorkName" FieldType="String"
HeaderText="所属主项" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
@@ -67,7 +67,8 @@ namespace FineUIPro.Web.HJGL.PreDesign
PipelineComponentCode = x.MaterialCode,
num = x.Number,
CU = x.MaterialUnit,
UnitWorkName = x.UnitWorkId == null ? "" : UnitWorkService.GetNameById(x.UnitWorkId)
UnitWorkName = x.UnitWorkId == null ? "" : UnitWorkService.GetNameById(x.UnitWorkId),
x.FlowingSection,
};
Grid1.RecordCount = detailList.Count();
Grid1.DataSource = detailList;
@@ -64,10 +64,10 @@
DataField="FlowNum" SortField="FlowNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="120px">
</f:RenderField>
<f:RenderField HeaderText="主项名称" ColumnID="MainItemName"
<%--<f:RenderField HeaderText="主项名称" ColumnID="MainItemName"
DataField="MainItemName" SortField="MainItemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="120px">
</f:RenderField>
</f:RenderField>--%>
<f:RenderField HeaderText="材质" ColumnID="Material"
DataField="Material" SortField="Material" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="100px">
@@ -251,11 +251,10 @@ namespace FineUIPro.Web.HJGL.PreDesign
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("Sp_ProductionSchedulingPlanStatistics", parameter);
//删除原有数据
BLL.ProductionSchedulingPlanService.DeleteProductionSchedulingPlanByUnitWorkIdAndFlowNum(this.CurrUser.LoginProjectId,this.tvControlItem.SelectedNode.ParentNode.Text, this.tvControlItem.SelectedNode.Text);
for (int i = 0; i < tb.Rows.Count; i++)
{
//decimal totalDia = 0;
//totalDia += Convert.ToDecimal(tb.Rows[i]["Dia"].ToString());//总达因
var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlan(this.CurrUser.LoginProjectId, tb.Rows[i]["FlowingSection"].ToString(), tb.Rows[i]["UnitWorkId"].ToString(), tb.Rows[i]["Material"].ToString(), tb.Rows[i]["Caliber"].ToString());
if (plan == null)
{
@@ -296,7 +295,8 @@ namespace FineUIPro.Web.HJGL.PreDesign
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("Sp_ProductionSchedulingPlanStatistics", parameter);
//删除原有数据
BLL.ProductionSchedulingPlanService.DeleteProductionSchedulingPlanByUnitWork(this.CurrUser.LoginProjectId, this.tvControlItem.SelectedNode.Text);
for (int i = 0; i < tb.Rows.Count; i++)
{
var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlan(this.CurrUser.LoginProjectId, tb.Rows[i]["FlowingSection"].ToString(), tb.Rows[i]["UnitWorkId"].ToString(), tb.Rows[i]["Material"].ToString(), tb.Rows[i]["Caliber"].ToString());
@@ -319,51 +319,51 @@ namespace FineUIPro.Web.HJGL.PreDesign
}
}
}
else if (this.tvControlItem.SelectedNodeID == "1" || this.tvControlItem.SelectedNodeID == "2")
{
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.hdUnitWorkId.Text))
{
listStr.Add(new SqlParameter("@unitWorkId", this.hdUnitWorkId.Text));
}
else
{
listStr.Add(new SqlParameter("@unitWorkId", null));
}
if (!string.IsNullOrEmpty(this.txtSize.Text.Trim()))
{
listStr.Add(new SqlParameter("@caliber", this.txtSize.Text.Trim()));
}
//else if (this.tvControlItem.SelectedNodeID == "1" || this.tvControlItem.SelectedNodeID == "2")
//{
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
// if (!string.IsNullOrEmpty(this.hdUnitWorkId.Text))
// {
// listStr.Add(new SqlParameter("@unitWorkId", this.hdUnitWorkId.Text));
// }
// else
// {
// listStr.Add(new SqlParameter("@unitWorkId", null));
// }
// if (!string.IsNullOrEmpty(this.txtSize.Text.Trim()))
// {
// listStr.Add(new SqlParameter("@caliber", this.txtSize.Text.Trim()));
// }
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunProc("Sp_ProductionSchedulingPlanStatistics", parameter);
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunProc("Sp_ProductionSchedulingPlanStatistics", parameter);
for (int i = 0; i < tb.Rows.Count; i++)
{
if (!string.IsNullOrEmpty(tb.Rows[i]["FlowingSection"].ToString()))
{
var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlan(this.CurrUser.LoginProjectId, tb.Rows[i]["FlowingSection"].ToString(), tb.Rows[i]["UnitWorkId"].ToString(), tb.Rows[i]["Material"].ToString(), tb.Rows[i]["Caliber"].ToString());
if (plan == null)
{
Model.HJGL_ProductionSchedulingPlan newPlan = new HJGL_ProductionSchedulingPlan();
newPlan.ProductionSchedulingPlanId = SQLHelper.GetNewID(typeof(Model.HJGL_ProductionSchedulingPlan));
newPlan.ProjectId = this.CurrUser.LoginProjectId;
newPlan.PipelineId = tb.Rows[i]["UnitWorkId"].ToString();//装置ID
newPlan.FlowNum = tb.Rows[i]["FlowingSection"].ToString();
newPlan.MainItemName = tb.Rows[i]["UnitWorkName"].ToString();
newPlan.Material = tb.Rows[i]["Material"].ToString();
newPlan.Caliber = tb.Rows[i]["Caliber"].ToString();
newPlan.Dain = Funs.GetNewDecimalOrZero(tb.Rows[i]["Dia"].ToString());
newPlan.TotalDyne = Funs.GetNewDecimalOrZero(tb.Rows[i]["TotalDia"].ToString());
newPlan.CompletedCount = Funs.GetNewIntOrZero(tb.Rows[i]["cTotalCount"].ToString());
newPlan.CompletedRate = Funs.GetNewDecimalOrZero(tb.Rows[i]["rate"].ToString());
newPlan.TotalCompletedRate = Funs.GetNewDecimalOrZero(tb.Rows[i]["Srate"].ToString());
BLL.ProductionSchedulingPlanService.AddProductionSchedulingPlan(newPlan);
}
}
}
}
// for (int i = 0; i < tb.Rows.Count; i++)
// {
// if (!string.IsNullOrEmpty(tb.Rows[i]["FlowingSection"].ToString()))
// {
// var plan = BLL.ProductionSchedulingPlanService.GetProductionSchedulingPlan(this.CurrUser.LoginProjectId, tb.Rows[i]["FlowingSection"].ToString(), tb.Rows[i]["UnitWorkId"].ToString(), tb.Rows[i]["Material"].ToString(), tb.Rows[i]["Caliber"].ToString());
// if (plan == null)
// {
// Model.HJGL_ProductionSchedulingPlan newPlan = new HJGL_ProductionSchedulingPlan();
// newPlan.ProductionSchedulingPlanId = SQLHelper.GetNewID(typeof(Model.HJGL_ProductionSchedulingPlan));
// newPlan.ProjectId = this.CurrUser.LoginProjectId;
// newPlan.PipelineId = tb.Rows[i]["UnitWorkId"].ToString();//装置ID
// newPlan.FlowNum = tb.Rows[i]["FlowingSection"].ToString();
// newPlan.MainItemName = tb.Rows[i]["UnitWorkName"].ToString();
// newPlan.Material = tb.Rows[i]["Material"].ToString();
// newPlan.Caliber = tb.Rows[i]["Caliber"].ToString();
// newPlan.Dain = Funs.GetNewDecimalOrZero(tb.Rows[i]["Dia"].ToString());
// newPlan.TotalDyne = Funs.GetNewDecimalOrZero(tb.Rows[i]["TotalDia"].ToString());
// newPlan.CompletedCount = Funs.GetNewIntOrZero(tb.Rows[i]["cTotalCount"].ToString());
// newPlan.CompletedRate = Funs.GetNewDecimalOrZero(tb.Rows[i]["rate"].ToString());
// newPlan.TotalCompletedRate = Funs.GetNewDecimalOrZero(tb.Rows[i]["Srate"].ToString());
// BLL.ProductionSchedulingPlanService.AddProductionSchedulingPlan(newPlan);
// }
// }
// }
//}
}
}
#endregion
@@ -551,7 +551,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
if (lists != null)
{
newUrl = uploadfilepath.Replace("排产计划导出模板", "排产计划" + DateTime.Now.ToString("yyyyMMdd") + ")");
newUrl = uploadfilepath.Replace("排产计划导出模板", "排产计划-" + this.tvControlItem.SelectedNode.Text + "-" + DateTime.Now.ToString("yyyyMMdd"));
if (File.Exists(newUrl))
{
File.Delete(newUrl);
@@ -707,7 +707,7 @@ namespace FineUIPro.Web.HJGL.PreDesign
SaveProductionSchedulingPlan();
}
}
else
else //建筑工程/安装工程
{
var unitWorkList = (from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
@@ -77,7 +77,7 @@
<f:RenderField Width="150px" ColumnID="Remark" DataField="Remark" SortField="Remark"
FieldType="String" HeaderText="备注" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="120px" TextAlign="Center" CommandName="TrainDetail" Text="车次明细" />
<f:LinkButtonField Width="120px" TextAlign="Center" CommandName="TrainDetail" Text="包装明细" />
</Columns>
@@ -106,7 +106,7 @@
Title="编辑" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Window ID="Window2" Title="车次明细" Hidden="true" EnableIFrame="true" EnableMaximize="true"
<f:Window ID="Window2" Title="包装明细" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="900px" Height="660px">
</f:Window>