This commit is contained in:
汪青 2024-06-09 22:40:15 +08:00
commit decdd0ea09
23 changed files with 2098 additions and 203 deletions

View File

@ -25,9 +25,9 @@ REM --------------
@echo 设置.net控制台环境
@echo.
@call "%VS100COMNTOOLS%"vsvars32.bat
@call "%VS150%"
SqlMetal /views /server:.\SQL2016 /database:HJGLDB_ZJBSF /code:%Model_ROOT%\Model.cs /namespace:Model
SqlMetal /views /server:. /database:HJGLDB_ZJBSF /code:%Model_ROOT%\Model.cs /namespace:Model
@ECHO 完成
pause

Binary file not shown.

View File

@ -178,6 +178,7 @@
<Compile Include="WeldingProcess\TrustManage\Batch_BatchTrustService.cs" />
<Compile Include="WeldingProcess\TrustManage\Batch_PointBatchItemService.cs" />
<Compile Include="WeldingProcess\TrustManage\Batch_PointBatchService.cs" />
<Compile Include="WeldingProcess\WelderTest\WelderTestService.cs" />
<Compile Include="WeldingProcess\WeldingManage\Pipeline_PipelineDetectionTypeService.cs" />
<Compile Include="WeldingProcess\WeldingManage\Pipeline_PipelineService.cs" />
<Compile Include="WeldingProcess\WeldingManage\Pipeline_WeldingDailyService.cs" />

View File

@ -243,6 +243,10 @@ namespace BLL
/// </summary>
public const string WelderQueTemplateUrl = "File\\Excel\\WelderQue.xlsx";
/// <summary>
/// 焊工考试情况
/// </summary>
public const string WelderTestInfoTemplateUrl = "File\\Excel\\焊工考试情况.xlsx";
/// <summary>
/// 委托单导入模板
/// </summary>

View File

@ -0,0 +1,61 @@
using Model;
using NPOI.HSSF.EventUserModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class WelderTestService
{
public static void Add(Model.Welder_TestInfo input)
{
var model = new Model.Welder_TestInfo();
model.Id = SQLHelper.GetNewID(typeof(Welder_TestInfo));
model.WeldMethodId = input.WeldMethodId;
model.MaterialId = input.MaterialId;
model.Remark = input.Remark;
model.ProjectId = input.ProjectId;
model.CreatedDate = input.CreatedDate;
model.ProjectId = input.ProjectId;
model.WelderId = input.WelderId;
model.IsPass = input.IsPass;
Funs.DB.Welder_TestInfo.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
}
public static void Edit(Model.Welder_TestInfo input)
{
var result=Funs.DB.Welder_TestInfo.FirstOrDefault(t=>t.Id== input.Id);
if (result == null)
{
return ;
}
result.WelderId = input.WelderId;
result.WeldMethodId = input.WeldMethodId;
result.MaterialId = input.MaterialId;
result.Remark = input.Remark;
result.CreatedDate = input.CreatedDate;
result.IsPass = input.IsPass;
Funs.DB.SubmitChanges();
}
public static Model.Welder_TestInfo Get(string Id)
{
var result = Funs.DB.Welder_TestInfo.FirstOrDefault(t => t.Id == Id);
return result;
}
public static bool Delete(string Id)
{
var result = Funs.DB.Welder_TestInfo.FirstOrDefault(t => t.Id == Id);
if (result == null)
return false;
Funs.DB.Welder_TestInfo.DeleteOnSubmit(result);
Funs.DB.SubmitChanges();
return true;
}
}
}

View File

@ -1081,6 +1081,7 @@
<Content Include="WelderManage\QualificationAnalysis.aspx" />
<Content Include="WelderManage\QualifiedProject.aspx" />
<Content Include="WelderManage\QualifiedProjectEdit.aspx" />
<Content Include="WelderManage\WelderTestInfoImportError.aspx" />
<Content Include="WelderManage\WelderManage.aspx" />
<Content Include="WelderManage\WelderManageEdit.aspx" />
<Content Include="WelderManage\WelderManageView.aspx" />
@ -1225,6 +1226,8 @@
<Content Include="Report\TestReport.aspx" />
<Content Include="Report\TestReport2.aspx" />
<Content Include="Report\ReportPrint.aspx" />
<Content Include="WelderManage\WelderTestInfo.aspx" />
<Content Include="WelderManage\WelderTestInfoEdit.aspx" />
<Content Include="WeldingProcess\CheckManage\CheckManage.aspx" />
<Content Include="WeldingProcess\CheckManage\CheckManageEdit.aspx" />
<Content Include="WeldingProcess\CheckManage\CheckManageIn.aspx" />
@ -4410,6 +4413,13 @@
<Compile Include="WelderManage\QualifiedProjectEdit.aspx.designer.cs">
<DependentUpon>QualifiedProjectEdit.aspx</DependentUpon>
</Compile>
<Compile Include="WelderManage\WelderTestInfoImportError.aspx.cs">
<DependentUpon>WelderTestInfoImportError.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WelderManage\WelderTestInfoImportError.aspx.designer.cs">
<DependentUpon>WelderTestInfoImportError.aspx</DependentUpon>
</Compile>
<Compile Include="WelderManage\WelderManage.aspx.cs">
<DependentUpon>WelderManage.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -5353,6 +5363,20 @@
<DependentUpon>imageUp.ashx</DependentUpon>
</Compile>
<Compile Include="res\umeditor\net\Uploader.cs" />
<Compile Include="WelderManage\WelderTestInfo.aspx.cs">
<DependentUpon>WelderTestInfo.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WelderManage\WelderTestInfo.aspx.designer.cs">
<DependentUpon>WelderTestInfo.aspx</DependentUpon>
</Compile>
<Compile Include="WelderManage\WelderTestInfoEdit.aspx.cs">
<DependentUpon>WelderTestInfoEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WelderManage\WelderTestInfoEdit.aspx.designer.cs">
<DependentUpon>WelderTestInfoEdit.aspx</DependentUpon>
</Compile>
<Compile Include="WeldingProcess\CheckManage\CheckManage.aspx.cs">
<DependentUpon>CheckManage.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -9,7 +9,7 @@
<section name="FineUIPro" type="FineUIPro.ConfigSection, FineUIPro" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="HJGLDBConnectionString" connectionString="Data Source=.\sql2016;Initial Catalog=HJGLDB_ZJBSF;uid=sa;pwd=1111;"/>
<add name="HJGLDBConnectionString" connectionString="Data Source=.;Initial Catalog=HJGLDB_ZJBSF;uid=sa;pwd=Sh@nghai9;"/>
<!--<add name="HJGLDBConnectionString" connectionString="Data Source=.;Initial Catalog=HJGLDB;Integrated Security=True"
providerName="System.Data.SqlClient" />-->
</connectionStrings>

View File

@ -0,0 +1,144 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderTestInfo.aspx.cs" Inherits="FineUIPro.Web.WelderManage.WelderTestInfo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="240px" Title="焊工合格项目" ShowBorder="true" Layout="VBox"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="drpUnitId" runat="server" Label="单位" EmptyText="输入查询条件" LabelAlign="Right"
AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px">
</f:DropDownList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtWelderCodeS" runat="server" Label="焊工号" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtWelderNameS" runat="server" Label="焊工姓名" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="500px" Title="单位-焊工" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableTextSelection="true" Expanded="true">
</f:Tree>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="焊工考试情况"
TitleToolTip="焊工考试情况" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="焊工合格项目" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true"
SortField="CreatedDate" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Label ID="lblCode" runat="server" Label="焊工代号" LabelAlign="Right" Width="150px"></f:Label>
<f:Label ID="lblName" runat="server" Label="焊工姓名" LabelAlign="Right" Width="250px"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:FileUpload runat="server" ID="fileUpload" EmptyText="请选择要导入的Excel文件"
LabelWidth="50px" LabelAlign="Right" Width="300px">
</f:FileUpload>
<f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="导入" ToolTip="焊工资质导入"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="模板下载" ToolTip="模板下载" OnClick="btnDownLoad_Click">
</f:Button>
<f:Button ID="btnAdd" ToolTip="新增" Text="增加" Icon="Add" runat="server" OnClick="btnAdd_Click">
</f:Button>
<f:HiddenField ID="hidFileName" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" Width="40px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="130px" ColumnID="WeldingMethodCode" DataField="WeldingMethodCode" SortField="ExamProject"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接方法" Locked="true">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="MaterialCode" DataField="MaterialCode" SortField="MaterialCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="焊接材质">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="TestDate" DataField="TestDate" SortField="TestDate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="考试日期">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="PassName" DataField="PassName" SortField="PassName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="是否合格" Locked="true">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Remark" DataField="Remark" SortField="ThicknessMax"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" HeaderText="备注">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="焊工考试情况" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="top" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="600px" Height="420px">
</f:Window>
<f:Window ID="Window2" Title="导入错误日志" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="top" EnableResize="true" runat="server" OnClose="Window2_Close" IsModal="true"
Width="700" Height="420px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
</script>
</body>
</html>

View File

@ -0,0 +1,650 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using System.Web.Configuration;
using System.Security.Principal;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderTestInfo : PageBase
{
//定义变量
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
#region
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.drpUnitId.DataTextField = "UnitName";
this.drpUnitId.DataValueField = "UnitId";
this.drpUnitId.DataSource = (from x in Funs.DB.Base_Unit select x).ToList();
this.drpUnitId.DataBind();
Funs.FineUIPleaseSelect(this.drpUnitId);
this.InitTreeMenu();//加载树
}
}
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "单位-焊工";
rootNode.ToolTip = "单位";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
List<Model.Welder_Welder> welders = new List<Model.Welder_Welder>();
List<Model.Base_Unit> units = (from x in Funs.DB.Base_Unit select x).ToList();
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
units = units.Where(e => e.UnitId == this.drpUnitId.SelectedValue).ToList();
}
foreach (var item in units)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.UnitName;
rootProjectNode.NodeID = item.UnitId;
//rootProjectNode.Expanded = true;
rootProjectNode.ToolTip = "单位";
rootNode.Nodes.Add(rootProjectNode);
welders = (from x in Funs.DB.Welder_Welder
where x.UnitId == item.UnitId
select x).ToList();
this.BindNodes(rootProjectNode, welders);
}
}
#endregion
#region
/// <summary>
/// 绑定树节点
/// </summary>
/// <param name="node"></param>
private void BindNodes(TreeNode node, List<Model.Welder_Welder> welders)
{
if (node.ToolTip == "单位")
{
if (!string.IsNullOrEmpty(this.txtWelderCodeS.Text.Trim()))
{
welders = welders.Where(e => e.WelderCode.Contains(this.txtWelderCodeS.Text.Trim())).ToList();
}
if (!string.IsNullOrEmpty(txtWelderNameS.Text.Trim()))
{
welders = welders.Where(e => e.WelderName.Contains(this.txtWelderNameS.Text.Trim())).ToList();
}
welders = welders.OrderBy(x => x.WelderCode).ToList();
foreach (var item in welders)
{
TreeNode newNode = new TreeNode();
newNode.Text = item.WelderName + "(" + item.WelderCode + ")";
newNode.NodeID = item.WelderId;
newNode.ToolTip = item.WelderCode;
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region Grid
private void BindGrid()
{
var welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID);
if (welder != null)
{
this.lblCode.Text = welder.WelderCode;
this.lblName.Text = welder.WelderName;
}
string strSql = @"SELECT A.*,b.WeldingMethodCode,C.MaterialCode,
(case when A.IsPass=1 then '是' else '否' end ) As PassName ,
convert(varchar,A.CreatedDate,23) as TestDate
FROM Welder_TestInfo AS A
inner join Base_WeldingMethod as B
on A.WeldMethodId=B.WeldingMethodId
inner join Base_Material as C on
A.MaterialId=C.MaterialId
WHERE A.WelderId=@WelderId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnAdd))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderTestInfoEdit.aspx?Id={0}", Grid1.SelectedRowID, "维护 - ")));
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Welder_QualifiedProjectMenuId, BLL.Const.BtnModify))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderTestInfoEdit.aspx?Id={0}", Grid1.SelectedRowID, "维护 - ")));
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnDelete))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
bool isShow = true;
if (Grid1.SelectedRowIndexArray.Length > 1)
{
isShow = false;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
if (judgementDelete(rowID, isShow))
{
BLL.WelderTestService.Delete(rowID);
//BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除合格项目焊工");
}
}
ShowNotify("删除成功!", MessageBoxIcon.Success);
this.BindGrid();
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
private bool judgementDelete(string id, bool isShow)
{
string content = string.Empty;
if (string.IsNullOrEmpty(content))
{
return true;
}
else
{
if (isShow)
{
Alert.ShowInTop(content, MessageBoxIcon.Error);
}
return false;
}
}
#endregion
#region
/// <summary>
/// 模板下载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderTestInfoTemplateUrl;
string filePath = Const.WelderTestInfoTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
//PageContext.RegisterStartupScript(Confirm.GetShowReference("确定要下载焊工资质导入模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderQueTemplateUrl;
string filePath = Const.WelderQueTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
protected void btnImport_Click(object sender, EventArgs e)
{
string message = string.Empty;
errorInfos = string.Empty;
try
{
if (this.fileUpload.HasFile == false)
{
ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fileUpload.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls" && IsXls != ".xlsx")
{
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
//指定上传文件名称
this.hidFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
//上传文件路径
string filePath = initFullPath + this.hidFileName.Text;
//文件上传服务器
this.fileUpload.PostedFile.SaveAs(filePath);
//文件上传服务器后的名称
string fileName = rootPath + initPath + this.hidFileName.Text;
//读取Excel
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
//验证Excel读取是否有误
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning);
return;
}
DataTable dt = ds.Tables[0];
if (dt.Rows.Count > 0)
{
List<Model.Welder_TestInfo> listData = new List<Model.Welder_TestInfo>();
var validate = ValidateImportFileds(dt);
if(validate!=null && validate.Count > 0)
{
Cache["errLog"] = validate;
//提示错误信息
PageContext.RegisterStartupScript(Window2.GetShowReference("WelderTestInfoImportError.aspx"));
}
else
{
foreach (DataRow dr in dt.Rows)
{
Model.Welder_TestInfo model = new Model.Welder_TestInfo();
string welderCode = dr[0].ToString();
string weldMethod = dr[1].ToString();
string weldMeatrail = dr[2].ToString();
string isPass = dr[3].ToString();
string testDate = dr[4].ToString();
string remark = dr[5].ToString();
var welderId = Funs.DB.Welder_Welder.FirstOrDefault(t => t.WelderCode == welderCode)?.WelderId;
var methodId = Funs.DB.Base_WeldingMethod.FirstOrDefault(t => t.WeldingMethodCode == weldMethod)?.WeldingMethodId;
var materId = Funs.DB.Base_Material.FirstOrDefault(t => t.MaterialCode == weldMeatrail)?.MaterialId;
model.Id = SQLHelper.GetNewID(typeof(Model.Welder_TestInfo));
model.WeldMethodId= methodId;
model.MaterialId= materId;
model.IsPass = isPass == "是" ? true : false;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WelderId= welderId;
model.CreatedDate = DateTime.Parse(testDate);
model.Remark = remark;
listData.Add(model);
}
}
if(listData.Count > 0)
{
Funs.DB.Welder_TestInfo.InsertAllOnSubmit(listData);
Funs.DB.SubmitChanges();
ShowNotify("导入成功", MessageBoxIcon.Success);
this.BindGrid();
}
}
else
{
ShowAlert("没有数据!", MessageBoxIcon.Warning);
return;
}
}
catch (Exception ex)
{
ShowAlert("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region
/// <summary>
/// 弹出编辑窗体关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnAdd))
{
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderTestInfoEdit.aspx?WelderId={0}", this.tvControlItem.SelectedNodeID, "新增 - ")));
}
else
{
Alert.ShowInTop("请选择一名焊工!", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
protected void Window2_Close(object sender, EventArgs e)
{
Cache["errLog"] = null;
}
private List<Model.ViewModels.ImportErrorViewModel> ValidateImportFileds(DataTable dt)
{
var listData = new List<Model.ViewModels.ImportErrorViewModel>();
int i = 0;
foreach (DataRow dr in dt.Rows)
{
i++;
string welderCode = dr[0].ToString();
string weldMethod = dr[1].ToString();
string weldMeatrail = dr[2].ToString();
string isPass = dr[3].ToString();
string testDate = dr[4].ToString();
string remark = dr[5].ToString();
//验证焊工号
if (string.IsNullOrEmpty(welderCode))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊工号";
model.errMsg = "焊工号不能为空";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(weldMethod))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接方法";
model.errMsg = "焊接方法不能为空";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(weldMeatrail))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "焊接材质不能为空";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(weldMeatrail))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "焊接材质不能为空";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(isPass))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "是否合格";
model.errMsg = "是否合格不能为空";
model.isSuccess = false;
listData.Add(model);
}
if(isPass!="是" && isPass != "否")
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "是否合格";
model.errMsg = "合格字段只能是或者否";
model.isSuccess = false;
listData.Add(model);
}
if (string.IsNullOrEmpty(testDate))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "考试日期";
model.errMsg = "考试日期不能为空";
model.isSuccess = false;
listData.Add(model);
}
DateTime t1 = new DateTime();
if(!DateTime.TryParse(testDate,out t1))
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "考试日期";
model.errMsg = "请输入正确的考试日期(yyyy-MM-dd)";
model.isSuccess = false;
listData.Add(model);
}
//验证是否存在
var isAnyWelderCode = Funs.DB.Welder_Welder.Any(t => t.WelderCode == welderCode);
if (!isAnyWelderCode)
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊工号";
model.errMsg = "焊工号不存在";
model.isSuccess = false;
listData.Add(model);
}
var isAnyWeldMethod = Funs.DB.Base_WeldingMethod.Any(t => t.WeldingMethodCode == weldMethod);
if (!isAnyWeldMethod)
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接方法";
model.errMsg = "焊接方法不存在";
model.isSuccess = false;
listData.Add(model);
}
var isAnyMeaterail = Funs.DB.Base_Material.Any(t => t.MaterialCode == weldMeatrail);
if (!isAnyMeaterail)
{
var model = new Model.ViewModels.ImportErrorViewModel();
model.rowId = i;
model.createdTime = DateTime.Now;
model.columnName = "焊接材质";
model.errMsg = "焊接材质不存在";
model.isSuccess = false;
listData.Add(model);
}
}
return listData;
}
}
}

View File

@ -0,0 +1,287 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage
{
public partial class WelderTestInfo
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// drpUnitId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtWelderCodeS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderCodeS;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtWelderNameS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderNameS;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// lblCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblCode;
/// <summary>
/// lblName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// fileUpload 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fileUpload;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <summary>
/// hidFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidFileName;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}

View File

@ -0,0 +1,75 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderTestInfoEdit.aspx.cs" Inherits="FineUIPro.Web.WelderManage.WelderTestInfoEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lbWedlerName" Label="焊工姓名" LabelWidth="120px"></f:Label>
<f:Label runat="server" ID="lbWedlerCode" Label="焊工代号" LabelWidth="120px"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpWeldMethod" Required="true" ShowRedStar="true" Label="焊接方法" EmptyText="请选择" runat="server">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpMaterial" Required="true" ShowRedStar="true" Label="焊接材质" EmptyText="请选择" runat="server">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker runat="server" Required="true" ShowRedStar="true" DateFormatString="yyyy-MM-dd" Label="考试日期" ID="txtCheckDate" LabelWidth="120px" EnableEdit="false">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpIsPass" runat="server" Label="是否合格" Required="true" ShowRedStar="true" LabelWidth="120px">
<f:ListItem Value="是" Text="是" Selected="true" />
<f:ListItem Value="否" Text="否" />
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" TableRowspan="6"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Label runat="server" ID="lbTemp"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,118 @@
using BLL;
using Microsoft.JScript;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderTestInfoEdit : PageBase
{
private string Id = string.Empty;
private string welderId=string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
this.welderId = Request.Params["WelderId"];
this.Id= Request.Params["id"];
if (!IsPostBack)
{
this.BindDrpInit();
this.GetWelderInfo();
if(!string.IsNullOrEmpty(this.Id))
this.GetTestInfo();
}
}
public void GetTestInfo() {
var result=Funs.DB.Welder_TestInfo.FirstOrDefault(t=>t.Id==this.Id);
if (result == null)
{
ShowNotify("请不要非法操作",MessageBoxIcon.Error);
return;
}
drpIsPass.SelectedValue = result.IsPass.ToString();
drpMaterial.SelectedValue=result.MaterialId.ToString();
drpWeldMethod.SelectedValue = result.WeldMethodId.ToString();
txtCheckDate.Text = result.CreatedDate.Value.ToString("yyyy-MM-dd");
txtRemark.Text = result.Remark.ToString();
}
private void GetWelderInfo()
{
var result = Funs.DB.Welder_Welder.FirstOrDefault(t => t.WelderId == this.welderId);
if(result == null)
{
return;
}
lbWedlerName.Text= result.WelderName;
lbWedlerCode.Text= result.WelderCode;
}
private void BindDrpInit()
{
var methodList = Funs.DB.Base_WeldingMethod.OrderBy(t=>t.WeldingMethodCode).ToList();
drpWeldMethod.DataSource= methodList;
drpWeldMethod.DataTextField = "WeldingMethodCode";
drpWeldMethod.DataValueField = "WeldingMethodId";
drpWeldMethod.DataBind();
drpWeldMethod.Items.Insert(0, new ListItem("请选择", ""));
var materList = Funs.DB.Base_Material.OrderBy(t=>t.MaterialCode).ToList();
drpMaterial.DataSource= materList;
drpMaterial.DataTextField = "MaterialCode";
drpMaterial.DataValueField = "MaterialId";
drpMaterial.DataBind();
drpMaterial.Items.Insert(0, new ListItem("请选择", ""));
}
protected void btnSave_Click(object sender, EventArgs e)
{
var result = SaveData();
if (result.Item1)
{
ShowNotify("保存成功", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify(result.Item2, MessageBoxIcon.Error);
}
}
(bool,string) SaveData()
{
try
{
var input = new Model.Welder_TestInfo();
input.CreatedDate = System.Convert.ToDateTime(txtCheckDate.Text);
input.ProjectId = this.CurrUser.LoginProjectId;
input.WeldMethodId = drpWeldMethod.SelectedValue;
input.WelderId = this.welderId;
input.MaterialId = drpMaterial.SelectedValue;
input.Remark = txtRemark.Text.Trim();
input.IsPass = drpIsPass.SelectedValue == "是" ? true : false;
if (string.IsNullOrEmpty(this.Id))
{
BLL.WelderTestService.Add(input);
}
else
{
input.Id = this.Id;
BLL.WelderTestService.Edit(input);
}
return (true, "保存成功");
}
catch (Exception ex)
{
BLL.ErrLogInfo.WriteLog(ex, "保存焊工考试结果失败");
return (false, ex.Message);
}
}
}
}

View File

@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage
{
public partial class WelderTestInfoEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// lbWedlerName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbWedlerName;
/// <summary>
/// lbWedlerCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbWedlerCode;
/// <summary>
/// drpWeldMethod 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWeldMethod;
/// <summary>
/// drpMaterial 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpMaterial;
/// <summary>
/// txtCheckDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCheckDate;
/// <summary>
/// drpIsPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsPass;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbTemp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbTemp;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
}
}

View File

@ -0,0 +1,30 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderTestInfoImportError.aspx.cs" Inherits="FineUIPro.Web.WelderManage.WelderImportError" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Grid1" runat="server" />
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="焊工考试数据导入错误" runat="server" EnableCollapse="false"
DataKeyNames="ID" PageSize="100" AllowPaging="true">
<Columns>
<f:RenderField ColumnID="rowId" MinWidth="80" DataField="rowId" HeaderText="行号" />
<f:RenderField ColumnID="columnName" MinWidth="80" DataField="columnName" HeaderText="列名称" />
<f:TemplateField MinWidth="200" HeaderText="错误原因">
<ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("errMsg") %>' ForeColor="Red"></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="CreatedTime" MinWidth="150" DataField="createdTime" HeaderText="导入时间" />
</Columns>
</f:Grid>
</form>
</body>
</html>

View File

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderImportError : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BindGrid();
}
}
void BindGrid()
{
var cacheData = Cache["errLog"];
if(cacheData != null)
{
var listData = Cache["errLog"] as List<Model.ViewModels.ImportErrorViewModel>;
Grid1.DataSource= listData;
Grid1.DataBind();
}
}
}
}

View File

@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage
{
public partial class WelderImportError
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// lablRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lablRemark;
}
}

View File

@ -4,34 +4,34 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>试压包导入错误日志</title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Grid1" runat="server" />
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="试压包导入错误日志" runat="server" EnableCollapse="false"
DataKeyNames="ID" EnableCheckBoxSelect="true" EnableMultiSelect="true" PageSize="100" AllowPaging="true" >
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="batchNo" Width="160px" DataField="BatchNo" HeaderText="批次号" />
<f:RenderField ColumnID="TestPackageNo" MinWidth="80" DataField="TestPackageNo" HeaderText="试压包编号" />
<f:RenderField ColumnID="UnitCode" MinWidth="80" DataField="UnitCode" HeaderText="单位代码" />
<f:RenderField ColumnID="InstallCode" MinWidth="80" DataField="InstallCode" HeaderText="装置编号" />
<f:RenderField ColumnID="AreaCode" MinWidth="80" DataField="AreaCode" HeaderText="区域" />
<f:RenderField ColumnID="PiplineCode" MinWidth="160" DataField="PiplineCode" HeaderText="管线号" />
<f:RenderField ColumnID="IsAll" MinWidth="80" DataField="IsAll" HeaderText="是否全部焊口" />
<f:RenderField ColumnID="JointCode" MinWidth="200" DataField="JointCode" HeaderText="焊口编号" />
<f:TemplateField MinWidth="200" HeaderText="错误原因" >
<ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("Remark") %>' ForeColor="Red"></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="CreatedTime" MinWidth="150" DataField="CreatedTime" HeaderText="导入时间" />
</Columns>
</f:Grid>
<f:PageManager ID="PageManager1" AutoSizePanelID="Grid1" runat="server" />
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="试压包导入错误日志" runat="server" EnableCollapse="false"
DataKeyNames="ID" EnableCheckBoxSelect="true" EnableMultiSelect="true" PageSize="100" AllowPaging="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="batchNo" Width="160px" DataField="BatchNo" HeaderText="批次号" />
<f:RenderField ColumnID="TestPackageNo" MinWidth="80" DataField="TestPackageNo" HeaderText="试压包编号" />
<f:RenderField ColumnID="UnitCode" MinWidth="80" DataField="UnitCode" HeaderText="单位代码" />
<f:RenderField ColumnID="InstallCode" MinWidth="80" DataField="InstallCode" HeaderText="装置编号" />
<f:RenderField ColumnID="AreaCode" MinWidth="80" DataField="AreaCode" HeaderText="区域" />
<f:RenderField ColumnID="PiplineCode" MinWidth="160" DataField="PiplineCode" HeaderText="管线号" />
<f:RenderField ColumnID="IsAll" MinWidth="80" DataField="IsAll" HeaderText="是否全部焊口" />
<f:RenderField ColumnID="JointCode" MinWidth="200" DataField="JointCode" HeaderText="焊口编号" />
<f:TemplateField MinWidth="200" HeaderText="错误原因">
<ItemTemplate>
<asp:Label ID="lablRemark" runat="server" Text='<%#Eval("Remark") %>' ForeColor="Red"></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="CreatedTime" MinWidth="150" DataField="CreatedTime" HeaderText="导入时间" />
</Columns>
</f:Grid>
</form>
</body>
</html>

View File

@ -745,7 +745,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 11).Height = 11 * 20;
ws.GetRow(rowIndex + 10).GetCell(1).SetCellValue("试压包号\r\nTest Package No.");
ws.GetRow(rowIndex + 10).GetCell(4).SetCellValue("UG-130-FW-HT-0001");
ws.GetRow(rowIndex + 10).GetCell(4).SetCellValue(info?.testpackageNo);
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 13, 2, 4));
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 13, 6, 7));
@ -756,7 +756,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("ACTIVITY");
ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None,
BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial");
ws.GetRow(rowIndex + 12).GetCell(6).SetCellValue("CC7");
ws.GetRow(rowIndex + 12).GetCell(6).SetCellValue(info?.workAreaCode);
ws.GetRow(rowIndex + 12).GetCell(6).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None,
BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial");
ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("JIANLI");
@ -1138,12 +1138,6 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
//打印边距设置 厘米/3
ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
//页眉页脚间距
ws.SetMargin(MarginType.HeaderMargin, 0);
ws.SetMargin(MarginType.FooterMargin, 0);
@ -6980,25 +6974,30 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
{
hssfworkbook = (XSSFWorkbook)WorkbookFactory.Create(file);
}
//操作目录模版sheet是否存在,不存在就把对应的sheet删除掉特殊处理
int index = 0;
if (!templateFileIds.Contains("2BEFB0F4-A466-4C59-963F-9092BACF2E52"))
{
hssfworkbook.RemoveAt(0);
index++;
}
//'2-TP-02-试压包封面UG-FW-001
if (!templateFileIds.Contains("D4B4DD64-8361-4A75-AA3E-E484934B9B06"))
{
hssfworkbook.RemoveAt(0);
hssfworkbook.RemoveAt(1);
index++;
}
//3-TP-03-试压包目录UG-FW-001
if (!templateFileIds.Contains("6CD2710C-2AD6-4E7D-BED7-C8BEDAD300DE"))
{
hssfworkbook.RemoveAt(1 - index);
hssfworkbook.RemoveAt(2 - index);
index++;
}
//4-TP-04-试压标识
if (!templateFileIds.Contains("87A66CAA-CA30-4A1E-8382-E8503059A0D0"))
{
hssfworkbook.RemoveAt(2 - index);
hssfworkbook.RemoveAt(3 - index);
index++;
}
@ -7010,11 +7009,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
continue;
switch (templateFileId)
{
//1-TP-01-试压包路径表UG-FW-001
case "2BEFB0F4-A466-4C59-963F-9092BACF2E52":
XSSFSheet sheet1 = (XSSFSheet)hssfworkbook.CreateSheet(oneTemp.Title);
template1(hssfworkbook, sheet1);
break;
//6-TP-05-P&ID清单UG-FW-001 模版
case "811EF650-7686-447F-BEE8-776D50041CD0":
XSSFSheet sheet6 = (XSSFSheet)hssfworkbook.CreateSheet(oneTemp.Title);

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1231
# Visual Studio Version 17
VisualStudioVersion = 17.7.34221.43
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FineUIPro.Web", "FineUIPro.Web\FineUIPro.Web.csproj", "{C88D3156-2D56-4DB0-922E-1995FB61C9BD}"
EndProject

View File

@ -272,6 +272,9 @@ namespace Model
partial void InsertWelder_TeamGroup(Welder_TeamGroup instance);
partial void UpdateWelder_TeamGroup(Welder_TeamGroup instance);
partial void DeleteWelder_TeamGroup(Welder_TeamGroup instance);
partial void InsertWelder_TestInfo(Welder_TestInfo instance);
partial void UpdateWelder_TestInfo(Welder_TestInfo instance);
partial void DeleteWelder_TestInfo(Welder_TestInfo instance);
partial void InsertWelder_Welder(Welder_Welder instance);
partial void UpdateWelder_Welder(Welder_Welder instance);
partial void DeleteWelder_Welder(Welder_Welder instance);
@ -1235,6 +1238,14 @@ namespace Model
}
}
public System.Data.Linq.Table<Welder_TestInfo> Welder_TestInfo
{
get
{
return this.GetTable<Welder_TestInfo>();
}
}
public System.Data.Linq.Table<Welder_Welder> Welder_Welder
{
get
@ -20700,6 +20711,8 @@ namespace Model
private System.Nullable<bool> _IsPMI;
private System.Nullable<int> _AuditStatus;
private EntitySet<Batch_BatchTrustItem> _Batch_BatchTrustItem;
private EntitySet<Batch_PointBatchItem> _Batch_PointBatchItem;
@ -20840,6 +20853,8 @@ namespace Model
partial void OnANSISCHChanged();
partial void OnIsPMIChanging(System.Nullable<bool> value);
partial void OnIsPMIChanged();
partial void OnAuditStatusChanging(System.Nullable<int> value);
partial void OnAuditStatusChanged();
#endregion
public Pipeline_WeldJoint()
@ -21894,6 +21909,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AuditStatus", DbType="Int")]
public System.Nullable<int> AuditStatus
{
get
{
return this._AuditStatus;
}
set
{
if ((this._AuditStatus != value))
{
this.OnAuditStatusChanging(value);
this.SendPropertyChanging();
this._AuditStatus = value;
this.SendPropertyChanged("AuditStatus");
this.OnAuditStatusChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Batch_BatchTrustItem_Pipeline_WeldJoint", Storage="_Batch_BatchTrustItem", ThisKey="WeldJointId", OtherKey="WeldJointId", DeleteRule="NO ACTION")]
public EntitySet<Batch_BatchTrustItem> Batch_BatchTrustItem
{
@ -22518,12 +22553,12 @@ namespace Model
private string _DetectionStandard;
private string _Tabler;
private string _Remark;
private System.Nullable<System.DateTime> _CreatedTime;
private string _Tabler;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@ -22542,12 +22577,12 @@ namespace Model
partial void OnUnitIdChanged();
partial void OnDetectionStandardChanging(string value);
partial void OnDetectionStandardChanged();
partial void OnTablerChanging(string value);
partial void OnTablerChanged();
partial void OnRemarkChanging(string value);
partial void OnRemarkChanged();
partial void OnCreatedTimeChanging(System.Nullable<System.DateTime> value);
partial void OnCreatedTimeChanged();
partial void OnTablerChanging(string value);
partial void OnTablerChanged();
#endregion
public PMI_Delegation()
@ -22615,7 +22650,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string ProjectId
{
get
@ -22695,6 +22730,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
public string Tabler
{
get
{
return this._Tabler;
}
set
{
if ((this._Tabler != value))
{
this.OnTablerChanging(value);
this.SendPropertyChanging();
this._Tabler = value;
this.SendPropertyChanged("Tabler");
this.OnTablerChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(255)")]
public string Remark
{
@ -22735,26 +22790,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Tabler", DbType="NVarChar(50)")]
public string Tabler
{
get
{
return this._Tabler;
}
set
{
if ((this._Tabler != value))
{
this.OnTablerChanging(value);
this.SendPropertyChanging();
this._Tabler = value;
this.SendPropertyChanged("Tabler");
this.OnTablerChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@ -22794,10 +22829,10 @@ namespace Model
private int _Status;
private string _ReportNo;
private System.Nullable<System.DateTime> _CheckTime;
private string _ReportNo;
private System.Nullable<System.DateTime> _ReportTime;
private string _WorkAreaId;
@ -22818,10 +22853,10 @@ namespace Model
partial void OnAcceptanceChanged();
partial void OnStatusChanging(int value);
partial void OnStatusChanged();
partial void OnReportNoChanging(string value);
partial void OnReportNoChanged();
partial void OnCheckTimeChanging(System.Nullable<System.DateTime> value);
partial void OnCheckTimeChanged();
partial void OnReportNoChanging(string value);
partial void OnReportNoChanged();
partial void OnReportTimeChanging(System.Nullable<System.DateTime> value);
partial void OnReportTimeChanged();
partial void OnWorkAreaIdChanging(string value);
@ -22933,7 +22968,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="status", Storage="_Status", DbType="Int NOT NULL")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Status", DbType="Int NOT NULL")]
public int Status
{
get
@ -22953,26 +22988,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
public string ReportNo
{
get
{
return this._ReportNo;
}
set
{
if ((this._ReportNo != value))
{
this.OnReportNoChanging(value);
this.SendPropertyChanging();
this._ReportNo = value;
this.SendPropertyChanged("ReportNo");
this.OnReportNoChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="checkTime", Storage="_CheckTime", DbType="DateTime")]
public System.Nullable<System.DateTime> CheckTime
{
@ -22993,6 +23008,26 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportNo", Storage="_ReportNo", DbType="NVarChar(50)")]
public string ReportNo
{
get
{
return this._ReportNo;
}
set
{
if ((this._ReportNo != value))
{
this.OnReportNoChanging(value);
this.SendPropertyChanging();
this._ReportNo = value;
this.SendPropertyChanged("ReportNo");
this.OnReportNoChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="reportTime", Storage="_ReportTime", DbType="DateTime")]
public System.Nullable<System.DateTime> ReportTime
{
@ -37307,6 +37342,8 @@ namespace Model
private string _PipelineId;
private string _WeldJointId;
private string _PipelineCode;
private string _WeldJointCode;
@ -37345,6 +37382,22 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointId", DbType="NVarChar(50)")]
public string WeldJointId
{
get
{
return this._WeldJointId;
}
set
{
if ((this._WeldJointId != value))
{
this._WeldJointId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCode", DbType="NVarChar(100)")]
public string PipelineCode
{
@ -39587,8 +39640,6 @@ namespace Model
private string _ProjectId;
private System.Nullable<bool> _IsPMI;
private string _PipelineCode;
private string _PipelineId;
@ -39719,22 +39770,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="isPMI", Storage="_IsPMI", DbType="Bit")]
public System.Nullable<bool> IsPMI
{
get
{
return this._IsPMI;
}
set
{
if ((this._IsPMI != value))
{
this._IsPMI = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCode", DbType="NVarChar(100)")]
public string PipelineCode
{
@ -41743,6 +41778,8 @@ namespace Model
private string _PipingClassCode;
private string _PIPClassCode;
private string _WeldingDate;
private System.Nullable<bool> _IsCancel;
@ -41757,8 +41794,6 @@ namespace Model
private string _DetectionType;
private string _PIPClassCode;
private string _PageNum;
public View_Pipeline_WeldJoint()
@ -42853,6 +42888,22 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
public string PIPClassCode
{
get
{
return this._PIPClassCode;
}
set
{
if ((this._PIPClassCode != value))
{
this._PIPClassCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldingDate", DbType="VarChar(100)")]
public string WeldingDate
{
@ -42965,22 +43016,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PIPClassCode", DbType="NVarChar(50)")]
public string PIPClassCode
{
get
{
return this._PIPClassCode;
}
set
{
if ((this._PIPClassCode != value))
{
this._PIPClassCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageNum", DbType="NVarChar(10)")]
public string PageNum
{
@ -43560,10 +43595,6 @@ namespace Model
public partial class View_PTP_TestPackageAudit
{
private string _PipelineId;
private string _PT_PipeId;
private string _PTP_ID;
private string _ProjectId;
@ -43572,59 +43603,29 @@ namespace Model
private string _PipelineCode;
private int _WeldJointCount;
private string _PipelineId;
private int _WeldJointCountT;
private System.Nullable<bool> _IsAll;
private int _CountS;
private System.Nullable<long> _WeldJointCount;
private System.Nullable<int> _WeldJointCountT;
private System.Nullable<int> _CountS;
private System.Nullable<int> _CountU;
private string _NDTR_Name;
private int _NDTR_Rate;
private string _Ratio;
private int _NDTR_Rate;
private System.Nullable<decimal> _RatioC;
public View_PTP_TestPackageAudit()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineId", DbType="NVarChar(50)")]
public string PipelineId
{
get
{
return this._PipelineId;
}
set
{
if ((this._PipelineId != value))
{
this._PipelineId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PT_PipeId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PT_PipeId
{
get
{
return this._PT_PipeId;
}
set
{
if ((this._PT_PipeId != value))
{
this._PT_PipeId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PTP_ID", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PTP_ID", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PTP_ID
{
get
@ -43688,8 +43689,40 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointCount", DbType="Int NOT NULL")]
public int WeldJointCount
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineId", DbType="NVarChar(50)")]
public string PipelineId
{
get
{
return this._PipelineId;
}
set
{
if ((this._PipelineId != value))
{
this._PipelineId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="isAll", Storage="_IsAll", DbType="Bit")]
public System.Nullable<bool> IsAll
{
get
{
return this._IsAll;
}
set
{
if ((this._IsAll != value))
{
this._IsAll = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointCount", DbType="BigInt")]
public System.Nullable<long> WeldJointCount
{
get
{
@ -43704,8 +43737,8 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointCountT", DbType="Int NOT NULL")]
public int WeldJointCountT
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointCountT", DbType="Int")]
public System.Nullable<int> WeldJointCountT
{
get
{
@ -43720,8 +43753,8 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CountS", DbType="Int NOT NULL")]
public int CountS
[global::System.Data.Linq.Mapping.ColumnAttribute(Name="countS", Storage="_CountS", DbType="Int")]
public System.Nullable<int> CountS
{
get
{
@ -43752,18 +43785,18 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NDTR_Name", DbType="VarChar(30)")]
public string NDTR_Name
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NDTR_Rate", DbType="Int NOT NULL")]
public int NDTR_Rate
{
get
{
return this._NDTR_Name;
return this._NDTR_Rate;
}
set
{
if ((this._NDTR_Name != value))
if ((this._NDTR_Rate != value))
{
this._NDTR_Name = value;
this._NDTR_Rate = value;
}
}
}
@ -43784,22 +43817,6 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NDTR_Rate", DbType="Int NOT NULL")]
public int NDTR_Rate
{
get
{
return this._NDTR_Rate;
}
set
{
if ((this._NDTR_Rate != value))
{
this._NDTR_Rate = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RatioC", DbType="Decimal(19,2)")]
public System.Nullable<decimal> RatioC
{
@ -45895,6 +45912,236 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Welder_TestInfo")]
public partial class Welder_TestInfo : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private string _Id;
private string _ProjectId;
private bool _IsPass;
private string _WeldMethodId;
private string _MaterialId;
private System.Nullable<System.DateTime> _CreatedDate;
private string _Remark;
private string _WelderId;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnIdChanging(string value);
partial void OnIdChanged();
partial void OnProjectIdChanging(string value);
partial void OnProjectIdChanged();
partial void OnIsPassChanging(bool value);
partial void OnIsPassChanged();
partial void OnWeldMethodIdChanging(string value);
partial void OnWeldMethodIdChanged();
partial void OnMaterialIdChanging(string value);
partial void OnMaterialIdChanged();
partial void OnCreatedDateChanging(System.Nullable<System.DateTime> value);
partial void OnCreatedDateChanged();
partial void OnRemarkChanging(string value);
partial void OnRemarkChanged();
partial void OnWelderIdChanging(string value);
partial void OnWelderIdChanged();
#endregion
public Welder_TestInfo()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string Id
{
get
{
return this._Id;
}
set
{
if ((this._Id != value))
{
this.OnIdChanging(value);
this.SendPropertyChanging();
this._Id = value;
this.SendPropertyChanged("Id");
this.OnIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this.OnProjectIdChanging(value);
this.SendPropertyChanging();
this._ProjectId = value;
this.SendPropertyChanged("ProjectId");
this.OnProjectIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPass", DbType="Bit NOT NULL")]
public bool IsPass
{
get
{
return this._IsPass;
}
set
{
if ((this._IsPass != value))
{
this.OnIsPassChanging(value);
this.SendPropertyChanging();
this._IsPass = value;
this.SendPropertyChanged("IsPass");
this.OnIsPassChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldMethodId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string WeldMethodId
{
get
{
return this._WeldMethodId;
}
set
{
if ((this._WeldMethodId != value))
{
this.OnWeldMethodIdChanging(value);
this.SendPropertyChanging();
this._WeldMethodId = value;
this.SendPropertyChanged("WeldMethodId");
this.OnWeldMethodIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string MaterialId
{
get
{
return this._MaterialId;
}
set
{
if ((this._MaterialId != value))
{
this.OnMaterialIdChanging(value);
this.SendPropertyChanging();
this._MaterialId = value;
this.SendPropertyChanged("MaterialId");
this.OnMaterialIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatedDate", DbType="DateTime")]
public System.Nullable<System.DateTime> CreatedDate
{
get
{
return this._CreatedDate;
}
set
{
if ((this._CreatedDate != value))
{
this.OnCreatedDateChanging(value);
this.SendPropertyChanging();
this._CreatedDate = value;
this.SendPropertyChanged("CreatedDate");
this.OnCreatedDateChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(255)")]
public string Remark
{
get
{
return this._Remark;
}
set
{
if ((this._Remark != value))
{
this.OnRemarkChanging(value);
this.SendPropertyChanging();
this._Remark = value;
this.SendPropertyChanged("Remark");
this.OnRemarkChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderId", DbType="NVarChar(50)")]
public string WelderId
{
get
{
return this._WelderId;
}
set
{
if ((this._WelderId != value))
{
this.OnWelderIdChanging(value);
this.SendPropertyChanging();
this._WelderId = value;
this.SendPropertyChanged("WelderId");
this.OnWelderIdChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Welder_Welder")]
public partial class Welder_Welder : INotifyPropertyChanging, INotifyPropertyChanged
{
@ -47811,7 +48058,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="VarChar(1000)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WelderIds", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string WelderIds
{
get

View File

@ -75,6 +75,7 @@
<Compile Include="SpSysMenuItem.cs" />
<Compile Include="SpTDesktopItem.cs" />
<Compile Include="SpWeldingDailyItem.cs" />
<Compile Include="ViewModels\ImportErrorViewModel.cs" />
<Compile Include="ViewModels\TestPackageInfoViewModel.cs" />
</ItemGroup>
<ItemGroup>

View File

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model.ViewModels
{
public class ImportErrorViewModel
{
public int rowId { get; set; }
public string columnName { get; set; }
public string errMsg { get; set; }
public bool isSuccess { get; set; } = true;
public DateTime createdTime { get; set; }
}
}