提交代码

This commit is contained in:
高飞 2023-10-08 10:38:24 +08:00
parent ac0efd6f37
commit e2b5b2e4b9
14 changed files with 2531 additions and 53 deletions

View File

@ -0,0 +1,27 @@
Create VIEW [dbo].[View_QualityAudit_GeneralEquipmentQuality] AS
/*机具设备资质信息列表视图*/
SELECT equ.GeneralEquipmentQualityId
,equ.ProjectId
,equ.GeneralEquipmentQualityCode
,equ.UnitId
,Unit.UnitName
,equ.SpecialEquipmentId
,sp.SpecialEquipmentName
,equ.[IsQualified]
,equ.EquipmentCount
,equ.InDate
,equ.Remark
,equ.CompileMan
,U.UserName AS CompileManName
,equ.CompileDate
,equ.QRCodeAttachUrl
,REPLACE(a.AttachUrl,'\', '/') AS AttachUrl
FROM QualityAudit_GeneralEquipmentQuality AS equ
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=equ.UnitId
LEFT JOIN Base_SpecialEquipment AS sp ON equ.SpecialEquipmentId = sp.SpecialEquipmentId
LEFT JOIN Sys_User AS U ON U.UserId = equ.CompileMan
LEFT JOIN AttachFile AS a ON a.ToKeyId = equ.GeneralEquipmentQualityId
GO

View File

@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EmitMapper;
namespace BLL
{
public static class APIGeneralEquipmentQualityService
{
#region equipmentQualityId获取机具设备信息
/// <summary>
/// 根据equipmentQualityId获取机具设备信息
/// </summary>
/// <param name="equipmentQualityId"></param>
/// <returns></returns>
public static Model.EquipmentQualityItem getEquipmentQualityByEquipmentQualityIdFactoryCode(string equipmentQualityId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getEquipmentQuality = (from x in db.View_QualityAudit_GeneralEquipmentQuality
where x.GeneralEquipmentQualityId == equipmentQualityId
select new Model.EquipmentQualityItem
{
EquipmentQualityId = x.GeneralEquipmentQualityId,
ProjectId = x.ProjectId,
EquipmentQualityCode = x.GeneralEquipmentQualityCode,
EquipmentCount = x.EquipmentCount.HasValue? x.EquipmentCount.Value.ToString():"",
UnitId = x.UnitId,
IsQualified =x.IsQualified.HasValue? x.IsQualified.Value?"是":"否":"",
UnitName = x.UnitName,
SpecialEquipmentName = x.SpecialEquipmentName,
InDate = string.Format("{0:yyyy-MM-dd}", x.InDate),
Remark = x.Remark,
CompileManId = x.CompileMan,
CompileManName = x.CompileManName,
CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
AttachUrl = x.AttachUrl.Replace('\\', '/')
}); ;
return getEquipmentQuality.FirstOrDefault();
}
}
#endregion
#region
/// <summary>
/// 获取机具设备列表信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="strParam"></param>
/// <returns></returns>
public static List<Model.EquipmentQualityItem> getEquipmentQualityList(string projectId, string unitId, string strParam)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getEquipmentQuality = from x in db.View_QualityAudit_GeneralEquipmentQuality
where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null)
&& (strParam == null || x.SpecialEquipmentName.Contains(strParam) )
orderby x.GeneralEquipmentQualityCode descending
select new Model.EquipmentQualityItem
{
EquipmentQualityId = x.GeneralEquipmentQualityId,
ProjectId = x.ProjectId,
EquipmentQualityCode = x.GeneralEquipmentQualityCode,
EquipmentCount = x.EquipmentCount.HasValue ? x.EquipmentCount.Value.ToString() : "",
UnitId = x.UnitId,
IsQualified = x.IsQualified.HasValue ? x.IsQualified.Value ? "是" : "否" : "",
UnitName = x.UnitName,
SpecialEquipmentName = x.SpecialEquipmentName,
InDate = string.Format("{0:yyyy-MM-dd}", x.InDate),
Remark = x.Remark,
CompileManId = x.CompileMan,
CompileManName = x.CompileManName,
CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate),
AttachUrl = x.AttachUrl.Replace('\\', '/')
};
return getEquipmentQuality.ToList();
}
}
#endregion
#region QualityAudit_EquipmentQuality
/// <summary>
/// 保存QualityAudit_EquipmentQuality
/// </summary>
/// <param name="newItem">机具设备资质</param>
/// <returns></returns>
public static void SaveEquipmentQuality(Model.EquipmentQualityItem newItem)
{
Model.SGGLDB db = Funs.DB;
Model.QualityAudit_GeneralEquipmentQuality newEquipmentQuality = new Model.QualityAudit_GeneralEquipmentQuality
{
GeneralEquipmentQualityId = newItem.EquipmentQualityId,
ProjectId = newItem.ProjectId,
GeneralEquipmentQualityCode = newItem.EquipmentQualityCode,
UnitId = newItem.UnitId,
SpecialEquipmentId = newItem.SpecialEquipmentId,
InDate = Funs.GetNewDateTime(newItem.InDate),
Remark = newItem.Remark,
CompileMan = newItem.CompileManId,
};
if (!string.IsNullOrEmpty(newItem.IsQualified))
{
if ("1".Equals(newItem.IsQualified))
{
newEquipmentQuality.IsQualified = true;
}
else
{
newEquipmentQuality.IsQualified = false;
}
}
if (!string.IsNullOrEmpty(newItem.EquipmentCount))
{
try
{
newEquipmentQuality.EquipmentCount = int.Parse(newItem.EquipmentCount);
}
catch (Exception e) { }
}
var updateEquipmentQuality = db.QualityAudit_GeneralEquipmentQuality.FirstOrDefault(x => x.GeneralEquipmentQualityId == newItem.EquipmentQualityId);
if (updateEquipmentQuality == null)
{
newEquipmentQuality.CompileDate = DateTime.Now;
newEquipmentQuality.GeneralEquipmentQualityId = SQLHelper.GetNewID();
newEquipmentQuality.GeneralEquipmentQualityCode = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.GeneralEquipmentQualityMenuId, newItem.ProjectId, newItem.UnitId);
GeneralEquipmentQualityService.AddGeneralEquipmentQuality(newEquipmentQuality);
}
else
{
GeneralEquipmentQualityService.UpdateGeneralEquipmentQuality(newEquipmentQuality);
}
if (!string.IsNullOrEmpty(newItem.AttachUrl))
{
////保存附件
UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl, 10, null), newItem.AttachUrl, Const.GeneralEquipmentQualityMenuId, newEquipmentQuality.GeneralEquipmentQualityId);
}
else
{
CommonService.DeleteAttachFileById(newEquipmentQuality.GeneralEquipmentQualityId);
}
}
#endregion
}
}

View File

@ -103,6 +103,7 @@
<Compile Include="API\HJGL\APIPreWeldingDailyService.cs" />
<Compile Include="API\HJGL\APIReportQueryService.cs" />
<Compile Include="API\HJGL\APITestPackageService.cs" />
<Compile Include="API\HSSE\APIGeneralEquipmentQualityService.cs" />
<Compile Include="API\HSSE\APIPageDataService.cs" />
<Compile Include="API\HSSE\APIChartAnalysisService.cs" />
<Compile Include="API\HSSE\APICheckSpecialService.cs" />
@ -174,6 +175,7 @@
<Compile Include="Common\CommonService.cs" />
<Compile Include="Common\CreateQRCodeService.cs" />
<Compile Include="Common\IDCardValid.cs" />
<Compile Include="Common\NPOIExcel.cs" />
<Compile Include="Common\NPOIHelper.cs" />
<Compile Include="Common\PrinterDocService.cs" />
<Compile Include="Common\ProjectDataFlowSetService.cs" />

1559
SGGL/BLL/Common/NPOIExcel.cs Normal file

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,8 @@
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</f:Button>
</f:Button>
<f:Button ID="btnQR" runat="server" ToolTip="导出二维码" EnableAjax="false" EnableAjaxLoading="false" Icon="ArrowInout" OnClick="btnQR_Click"></f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>

View File

@ -1,10 +1,13 @@
using BLL;
using BLL.Common;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using ThoughtWorks.QRCode.Codec;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.QualityAudit
@ -294,5 +297,120 @@ namespace FineUIPro.Web.HSSE.QualityAudit
}
}
#endregion
protected void btnQR_Click(object sender, EventArgs e)
{
string strSql = @"SELECT EquipmentQuality.EquipmentQualityId, CodeRecords.Code AS EquipmentQualityCode,
EquipmentQuality.FactoryCode ,EquipmentQuality.QRCodeAttachUrl
FROM QualityAudit_EquipmentQuality AS EquipmentQuality
LEFT JOIN Sys_CodeRecords AS CodeRecords ON EquipmentQuality.EquipmentQualityId = CodeRecords.DataId
LEFT JOIN Base_SpecialEquipment AS SpecialEquipment ON SpecialEquipment.SpecialEquipmentId = EquipmentQuality.SpecialEquipmentId WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
strSql += " AND EquipmentQuality.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
}
if (!string.IsNullOrEmpty(this.txtEquipmentQualityCode.Text.Trim()))
{
strSql += " AND EquipmentQualityCode LIKE @EquipmentQualityCode";
listStr.Add(new SqlParameter("@EquipmentQualityCode", "%" + this.txtEquipmentQualityCode.Text.Trim() + "%"));
}
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
strSql += " AND EquipmentQuality.UnitId = @UnitId";
listStr.Add(new SqlParameter("@UnitId", this.drpUnitId.SelectedValue.Trim()));
}
if (!string.IsNullOrEmpty(this.txtSpecialEquipmentName.Text.Trim()))
{
strSql += " AND SpecialEquipmentName LIKE @SpecialEquipmentName";
listStr.Add(new SqlParameter("@SpecialEquipmentName", "%" + this.txtSpecialEquipmentName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
NPOIExcel excel = new NPOIExcel();
excel.SetColumnWidth(0, 50);
excel.SetColumnWidth(1, 50);
excel.SetColumnWidth(2, 50);
for (int i = 0; i < tb.Rows.Count; i++)
{
if (i % 3 == 0)
{
excel.SetRowHeight(2 * (int)(i / 3), 200);
}
string QRCodeAttachUrl = tb.Rows[i]["QRCodeAttachUrl"].ToString();
string EquipmentQualityCode = tb.Rows[i]["EquipmentQualityCode"].ToString();
if (string.IsNullOrEmpty(QRCodeAttachUrl))
{
try
{
var equipmentQuality = Funs.DB.QualityAudit_EquipmentQuality.FirstOrDefault(x => x.EquipmentQualityId == tb.Rows[i]["EquipmentQualityId"].ToString());
equipmentQuality.QRCodeAttachUrl = CreateCode_Simple("equipment$" + tb.Rows[i]["FactoryCode"].ToString());
QRCodeAttachUrl = equipmentQuality.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
catch (Exception e1) { }
}
//add picture data to this workbook.
excel.SetPicValue(2 * (int)(i / 3), i % 3, Server.MapPath("~/") + QRCodeAttachUrl);
excel.SetValue(2 * (int)(i / 3) + 1, i % 3, EquipmentQualityCode);
}
string initTemplatePath = Const.ExcelUrl + Funs.GetNewFileName() + ".xls";
string uploadfilepath = Server.MapPath("~/") + initTemplatePath;
string fileName = Path.GetFileName(initTemplatePath);
excel.Save(uploadfilepath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.Flush();
Response.End();
}
private string CreateCode_Simple(string nr)
{
try
{
string imageUrl = string.Empty;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder
{
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
QRCodeScale = nr.Length,
QRCodeVersion = 0,
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
};
System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8);
string filepath = Server.MapPath("~/") + UploadFileService.QRCodeImageFilePath;
//如果文件夹不存在,则创建
if (!Directory.Exists(filepath))
{
Directory.CreateDirectory(filepath);
}
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
imageUrl = filepath + filename;
FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
return UploadFileService.QRCodeImageFilePath + filename;
}
catch (Exception ex)
{
}
return "";
}
}
}

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.QualityAudit {
public partial class EquipmentQuality {
namespace FineUIPro.Web.HSSE.QualityAudit
{
public partial class EquipmentQuality
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtEquipmentQualityCode 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtEquipmentQualityCode;
/// <summary>
/// drpUnitId 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// txtSpecialEquipmentName 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtSpecialEquipmentName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
@ -101,7 +103,16 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnQR 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQR;
/// <summary>
/// btnOut 控件。
/// </summary>
@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblNumber 控件。
/// </summary>
@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>

View File

@ -38,7 +38,8 @@
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" Hidden="true"
runat="server">
</f:Button>
</f:Button>
<f:Button ID = "btnQR" runat="server" ToolTip="导出二维码" EnableAjax="false" EnableAjaxLoading="false" Icon="ArrowInout" OnClick="btnQR_Click"></f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>

View File

@ -1,10 +1,13 @@
using BLL;
using BLL.Common;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using ThoughtWorks.QRCode.Codec;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.QualityAudit
@ -50,7 +53,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
@ -109,7 +112,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
@ -265,11 +268,134 @@ namespace FineUIPro.Web.HSSE.QualityAudit
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("一般机具设备资质" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.Grid1.PageSize = this.Grid1.RecordCount;
BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
protected void btnQR_Click(object sender, EventArgs e)
{
string strSql = @"SELECT GeneralEquipmentQuality.GeneralEquipmentQualityId,"
+ @"CodeRecords.Code AS GeneralEquipmentQualityCode,"
+ @"GeneralEquipmentQuality.GeneralEquipmentQualityCode,"
+ @"GeneralEquipmentQuality.QRCodeAttachUrl,"
+ @"SpecialEquipment.SpecialEquipmentName"
+ @" FROM QualityAudit_GeneralEquipmentQuality AS GeneralEquipmentQuality "
+ @" LEFT JOIN Base_SpecialEquipment AS SpecialEquipment ON SpecialEquipment.SpecialEquipmentId = GeneralEquipmentQuality.SpecialEquipmentId "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON GeneralEquipmentQuality.GeneralEquipmentQualityId = CodeRecords.DataId WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
strSql += " AND GeneralEquipmentQuality.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
}
if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId))
{
strSql += " AND GeneralEquipmentQuality.UnitId = @UnitId"; ///状态为已完成
listStr.Add(new SqlParameter("@UnitId", this.CurrUser.UnitId));
}
if (!string.IsNullOrEmpty(this.txtGeneralEquipmentQualityCode.Text.Trim()))
{
strSql += " AND GeneralEquipmentQualityCode LIKE @GeneralEquipmentQualityCode";
listStr.Add(new SqlParameter("@GeneralEquipmentQualityCode", "%" + this.txtGeneralEquipmentQualityCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtUnitName.Text.Trim()))
{
strSql += " AND UnitName LIKE @UnitName";
listStr.Add(new SqlParameter("@UnitName", "%" + this.txtUnitName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtSpecialEquipmentName.Text.Trim()))
{
strSql += " AND SpecialEquipmentName LIKE @SpecialEquipmentName";
listStr.Add(new SqlParameter("@SpecialEquipmentName", "%" + this.txtSpecialEquipmentName.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
NPOIExcel excel = new NPOIExcel();
excel.SetColumnWidth(0, 50);
excel.SetColumnWidth(1, 50);
excel.SetColumnWidth(2, 50);
for (int i = 0; i < tb.Rows.Count; i++)
{
if (i % 3 == 0)
{
excel.SetRowHeight(2 * (int)(i / 3), 200);
}
string QRCodeAttachUrl = tb.Rows[i]["QRCodeAttachUrl"].ToString();
string GeneralEquipmentQualityCode = tb.Rows[i]["GeneralEquipmentQualityCode"].ToString();
if (string.IsNullOrEmpty(QRCodeAttachUrl))
{
try
{
var equipmentQuality = Funs.DB.QualityAudit_GeneralEquipmentQuality.FirstOrDefault(x => x.GeneralEquipmentQualityId == tb.Rows[i]["GeneralEquipmentQualityId"].ToString());
equipmentQuality.QRCodeAttachUrl = CreateCode_Simple("equipment$" + tb.Rows[i]["GeneralEquipmentQualityId"].ToString());
QRCodeAttachUrl = equipmentQuality.QRCodeAttachUrl;
Funs.DB.SubmitChanges();
}
catch (Exception e1) { }
}
//add picture data to this workbook.
excel.SetPicValue(2 * (int)(i / 3), i % 3, Server.MapPath("~/") + QRCodeAttachUrl);
excel.SetValue(2 * (int)(i / 3) + 1, i % 3, GeneralEquipmentQualityCode);
}
string initTemplatePath = Const.ExcelUrl + Funs.GetNewFileName() + ".xls";
string uploadfilepath = Server.MapPath("~/") + initTemplatePath;
string fileName = Path.GetFileName(initTemplatePath);
excel.Save(uploadfilepath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.Flush();
Response.End();
}
private string CreateCode_Simple(string nr)
{
try
{
string imageUrl = string.Empty;
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder
{
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
QRCodeScale = nr.Length,
QRCodeVersion = 0,
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
};
System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8);
string filepath = Server.MapPath("~/") + UploadFileService.QRCodeImageFilePath;
//如果文件夹不存在,则创建
if (!Directory.Exists(filepath))
{
Directory.CreateDirectory(filepath);
}
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
imageUrl = filepath + filename;
FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
return UploadFileService.QRCodeImageFilePath + filename;
}
catch (Exception ex)
{
}
return "";
}
}
}

View File

@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.QualityAudit {
public partial class GeneralEquipmentQuality {
namespace FineUIPro.Web.HSSE.QualityAudit
{
public partial class GeneralEquipmentQuality
{
/// <summary>
/// form1 控件。
/// </summary>
@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtGeneralEquipmentQualityCode 控件。
/// </summary>
@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtGeneralEquipmentQualityCode;
/// <summary>
/// txtUnitName 控件。
/// </summary>
@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnitName;
/// <summary>
/// txtSpecialEquipmentName 控件。
/// </summary>
@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtSpecialEquipmentName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
@ -101,7 +103,16 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnQR 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQR;
/// <summary>
/// btnOut 控件。
/// </summary>
@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblNumber 控件。
/// </summary>
@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>

View File

@ -95,5 +95,13 @@ namespace Model
/// 附件
/// </summary>
public string AttachUrl { get; set; }
/// <summary>
/// 是否合格
/// </summary>
public string IsQualified { get; set; }
/// <summary>
/// 数量
/// </summary>
public string EquipmentCount { get; set; }
}
}

View File

@ -9179,6 +9179,14 @@ namespace Model
}
}
public System.Data.Linq.Table<View_QualityAudit_GeneralEquipmentQuality> View_QualityAudit_GeneralEquipmentQuality
{
get
{
return this.GetTable<View_QualityAudit_GeneralEquipmentQuality>();
}
}
public System.Data.Linq.Table<View_QualityAudit_PersonQuality> View_QualityAudit_PersonQuality
{
get
@ -393032,6 +393040,303 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_QualityAudit_GeneralEquipmentQuality")]
public partial class View_QualityAudit_GeneralEquipmentQuality
{
private string _GeneralEquipmentQualityId;
private string _ProjectId;
private string _GeneralEquipmentQualityCode;
private string _UnitId;
private string _UnitName;
private string _SpecialEquipmentId;
private string _SpecialEquipmentName;
private System.Nullable<bool> _IsQualified;
private System.Nullable<int> _EquipmentCount;
private System.Nullable<System.DateTime> _InDate;
private string _Remark;
private string _CompileMan;
private string _CompileManName;
private System.Nullable<System.DateTime> _CompileDate;
private string _QRCodeAttachUrl;
private string _AttachUrl;
public View_QualityAudit_GeneralEquipmentQuality()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralEquipmentQualityId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string GeneralEquipmentQualityId
{
get
{
return this._GeneralEquipmentQualityId;
}
set
{
if ((this._GeneralEquipmentQualityId != value))
{
this._GeneralEquipmentQualityId = value;
}
}
}
[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._ProjectId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralEquipmentQualityCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string GeneralEquipmentQualityCode
{
get
{
return this._GeneralEquipmentQualityCode;
}
set
{
if ((this._GeneralEquipmentQualityCode != value))
{
this._GeneralEquipmentQualityCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string UnitId
{
get
{
return this._UnitId;
}
set
{
if ((this._UnitId != value))
{
this._UnitId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")]
public string UnitName
{
get
{
return this._UnitName;
}
set
{
if ((this._UnitName != value))
{
this._UnitName = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string SpecialEquipmentId
{
get
{
return this._SpecialEquipmentId;
}
set
{
if ((this._SpecialEquipmentId != value))
{
this._SpecialEquipmentId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentName", DbType="NVarChar(50)")]
public string SpecialEquipmentName
{
get
{
return this._SpecialEquipmentName;
}
set
{
if ((this._SpecialEquipmentName != value))
{
this._SpecialEquipmentName = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsQualified", DbType="Bit")]
public System.Nullable<bool> IsQualified
{
get
{
return this._IsQualified;
}
set
{
if ((this._IsQualified != value))
{
this._IsQualified = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentCount", DbType="Int")]
public System.Nullable<int> EquipmentCount
{
get
{
return this._EquipmentCount;
}
set
{
if ((this._EquipmentCount != value))
{
this._EquipmentCount = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InDate", DbType="DateTime")]
public System.Nullable<System.DateTime> InDate
{
get
{
return this._InDate;
}
set
{
if ((this._InDate != value))
{
this._InDate = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(500)")]
public string Remark
{
get
{
return this._Remark;
}
set
{
if ((this._Remark != value))
{
this._Remark = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")]
public string CompileMan
{
get
{
return this._CompileMan;
}
set
{
if ((this._CompileMan != value))
{
this._CompileMan = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileManName", DbType="NVarChar(50)")]
public string CompileManName
{
get
{
return this._CompileManName;
}
set
{
if ((this._CompileManName != value))
{
this._CompileManName = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")]
public System.Nullable<System.DateTime> CompileDate
{
get
{
return this._CompileDate;
}
set
{
if ((this._CompileDate != value))
{
this._CompileDate = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QRCodeAttachUrl", DbType="NVarChar(200)")]
public string QRCodeAttachUrl
{
get
{
return this._QRCodeAttachUrl;
}
set
{
if ((this._QRCodeAttachUrl != value))
{
this._QRCodeAttachUrl = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttachUrl", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
public string AttachUrl
{
get
{
return this._AttachUrl;
}
set
{
if ((this._AttachUrl != value))
{
this._AttachUrl = value;
}
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_QualityAudit_PersonQuality")]
public partial class View_QualityAudit_PersonQuality
{

View File

@ -0,0 +1,160 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using BLL;
namespace WebAPI.Controllers
{
/// <summary>
/// 一般机具设备资质
/// </summary>
public class GeneralEquipmentQualityController : ApiController
{
#region equipmentQualityId获取机具设备资质信息
/// <summary>
/// 根据equipmentQualityId获取机具设备资质信息
/// </summary>
/// <param name="equipmentQualityId"></param>
/// <returns></returns>
public Model.ResponeData getEquipmentQualityByEquipmentQualityId(string equipmentQualityId)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIGeneralEquipmentQualityService.getEquipmentQualityByEquipmentQualityIdFactoryCode(equipmentQualityId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取机具设备资质信息
/// <summary>
/// 根据projectId、unitid获取机具设备资质信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public Model.ResponeData getEquipmentQualityByProjectIdUnitId(string projectId, string unitId, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIGeneralEquipmentQualityService.getEquipmentQualityList(projectId, unitId, null);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取机具设备资质信息-
/// <summary>
/// 根据projectId、unitid获取机具设备资质信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="pageIndex"></param>
/// <param name="strParam">查询条件</param>
/// <returns></returns>
public Model.ResponeData getEquipmentQualityByProjectIdUnitIdQuery(string projectId, string unitId, string strParam, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIGeneralEquipmentQualityService.getEquipmentQualityList(projectId, unitId, strParam);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取特岗机具设备资质资质各状态数
/// <summary>
/// 根据projectId、unitid获取特岗机具设备资质资质各状态数
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <returns></returns>
public Model.ResponeData getEquipmentQualityCount(string projectId, string unitId)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = new Model.SGGLDB(Funs.ConnString).QualityAudit_GeneralEquipmentQuality.Where(x => x.ProjectId == projectId);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(projectId, unitId))
{
getDataList = getDataList.Where(x => x.UnitId == unitId);
}
////总数
int tatalCount = getDataList.Count();
responeData.data = new { tatalCount };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region QualityAudit_EquipmentQuality
/// <summary>
/// 保存QualityAudit_EquipmentQuality
/// </summary>
/// <param name="newitem">机具设备资质</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveEquipmentQuality([FromBody] Model.EquipmentQualityItem newitem)
{
var responeData = new Model.ResponeData();
try
{
APIGeneralEquipmentQualityService.SaveEquipmentQuality(newitem);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}

View File

@ -153,6 +153,7 @@
<Compile Include="Controllers\FaceController.cs" />
<Compile Include="Controllers\DoorServerController.cs" />
<Compile Include="Controllers\HJGL\GetHJDataController.cs" />
<Compile Include="Controllers\HSSE\GeneralEquipmentQualityController.cs" />
<Compile Include="Controllers\HSSE\HSSELogController.cs" />
<Compile Include="Controllers\HSSE\TestingController.cs" />
<Compile Include="Controllers\Person\PersonCheckController.cs" />