2024-02-04 试车分包管理添加
This commit is contained in:
@@ -0,0 +1,259 @@
|
||||
using BLL;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.DriverSub
|
||||
{
|
||||
public partial class DriverSubContactorIn : PageBase
|
||||
{
|
||||
public string ContractId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ContractId"];
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ContractId"] = value;
|
||||
}
|
||||
}
|
||||
#region 定义项
|
||||
|
||||
/// <summary>
|
||||
/// 上传预设的虚拟路径
|
||||
/// </summary>
|
||||
private readonly string initPath = Const.ExcelUrl; //"File\\Excel\\DataIn\\";
|
||||
|
||||
/// <summary>
|
||||
/// 错误集合
|
||||
/// </summary>
|
||||
public static string errorInfos = string.Empty;
|
||||
|
||||
#endregion
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
ContractId = Request.Params["ContractId"];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
errorInfos = string.Empty;
|
||||
if (fuAttachUrl.HasFile == false)
|
||||
{
|
||||
ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
var IsXls = Path.GetExtension(fuAttachUrl.FileName).Trim().ToLower();
|
||||
if (IsXls != ".xlsx")
|
||||
{
|
||||
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(errorInfos)) errorInfos = string.Empty;
|
||||
var rootPath = Server.MapPath("~/");
|
||||
var initFullPath = rootPath + initPath;
|
||||
if (!Directory.Exists(initFullPath)) Directory.CreateDirectory(initFullPath);
|
||||
//指定上传文件名称
|
||||
hdFileName.Text = Funs.GetNewFileName() + IsXls;
|
||||
//上传文件路径
|
||||
var filePath = initFullPath + hdFileName.Text;
|
||||
//文件上传服务器
|
||||
fuAttachUrl.PostedFile.SaveAs(filePath);
|
||||
//文件上传服务器后的名称
|
||||
var fileName = rootPath + initPath + hdFileName.Text;
|
||||
//读取Excel
|
||||
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false);
|
||||
|
||||
File.Delete(fileName);
|
||||
//将ds数据转换成 List<Model.DriverSub_DriverSubContractors>
|
||||
var list = new List<Model.DriverSub_DriverSubContractors>();
|
||||
|
||||
|
||||
if (ds == null)
|
||||
{
|
||||
this.fuAttachUrl.Reset();
|
||||
ShowNotify("模板错误,请从系统下载正确的模板!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(message))
|
||||
{
|
||||
ShowNotify(message, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ds.Tables[0].Rows.Count > 1)
|
||||
{
|
||||
var fileVerify = VerifyFile(ds);
|
||||
if (!fileVerify)
|
||||
{
|
||||
this.fuAttachUrl.Reset();
|
||||
ShowNotify("请获取正确模板!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
for (var i = 1; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
if (string.IsNullOrEmpty(ds.Tables[0].Rows[i][1].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][2].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][3].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][4].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][5].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][6].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][7].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][8].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][9].ToString()) ||
|
||||
string.IsNullOrEmpty(ds.Tables[0].Rows[i][10].ToString()) )
|
||||
{
|
||||
errorInfos += "第" + (i + 1) + "行数据不完整,请检查!";
|
||||
continue;
|
||||
}
|
||||
var model = new Model.DriverSub_DriverSubContractors();
|
||||
model.DriverSubContractorsId = Guid.NewGuid().ToString();
|
||||
model.SubUnitName = ds.Tables[0].Rows[i][1].ToString();
|
||||
model.EnterpriseNature = ds.Tables[0].Rows[i][2].ToString();
|
||||
model.SubcontractingType = ds.Tables[0].Rows[i][3].ToString();
|
||||
model.CollCropCode = ds.Tables[0].Rows[i][4].ToString();
|
||||
model.SafetyProductionLicense = ds.Tables[0].Rows[i][5].ToString();
|
||||
model.QualificationCertificateNumber = ds.Tables[0].Rows[i][6].ToString();
|
||||
model.QualificationType = ds.Tables[0].Rows[i][7].ToString();
|
||||
model.QualificationLevel = ds.Tables[0].Rows[i][8].ToString();
|
||||
model.Province = ds.Tables[0].Rows[i][9].ToString();
|
||||
model.City = ds.Tables[0].Rows[i][10].ToString();
|
||||
model.IsUse = true;
|
||||
|
||||
|
||||
var subcontractingType = model.SubcontractingType;
|
||||
var subcontractingTypeList = BLL.DropListService.drpDriverSubNameList();
|
||||
var typemodel= subcontractingTypeList.Where(x => x.Text == subcontractingType).FirstOrDefault();
|
||||
if (typemodel==null)
|
||||
{
|
||||
errorInfos += "第" + (i + 1) + "行分包类别不存在,请检查!";
|
||||
}
|
||||
else
|
||||
{
|
||||
model.SubcontractingType= typemodel.Value;
|
||||
}
|
||||
|
||||
list.Add(model);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(errorInfos))
|
||||
{
|
||||
DriversubcontractorsService.UpdateDriverSub_DriverSubContractorsIsUse();
|
||||
AddOrUpdate(list);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify(errorInfos, MessageBoxIcon.Warning);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 插入或更新数据
|
||||
/// </summary>
|
||||
/// <param name="list"></param>
|
||||
private void AddOrUpdate(List<Model.DriverSub_DriverSubContractors> list)
|
||||
{
|
||||
foreach (var item in list)
|
||||
{
|
||||
var model = BLL.DriversubcontractorsService.GetDriverSubContractorsByCollCropCode(item.CollCropCode);
|
||||
if (model != null)
|
||||
{
|
||||
model.SubUnitName = item.SubUnitName;
|
||||
model.EnterpriseNature = item.EnterpriseNature;
|
||||
model.SubcontractingType = item.SubcontractingType;
|
||||
model.CollCropCode = item.CollCropCode;
|
||||
model.SafetyProductionLicense = item.SafetyProductionLicense;
|
||||
model.QualificationCertificateNumber = item.QualificationCertificateNumber;
|
||||
model.QualificationType = item.QualificationType;
|
||||
model.QualificationLevel = item.QualificationLevel;
|
||||
model.Province = item.Province;
|
||||
model.City = item.City;
|
||||
model.IsUse = item.IsUse;
|
||||
BLL.DriversubcontractorsService.UpdateDriverSub_DriverSubContractors(model);
|
||||
}
|
||||
else
|
||||
{
|
||||
BLL.DriversubcontractorsService.AddDriverSub_DriverSubContractors(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool VerifyFile(DataSet ds)
|
||||
{
|
||||
var result = true;
|
||||
if (ds.Tables[0].Rows[1][0].ToString().Contains("序号")) result = false;
|
||||
if (ds.Tables[0].Rows[1][1].ToString().Contains("企业名称")) result = false;
|
||||
if (ds.Tables[0].Rows[1][2].ToString().Contains("企业性质")) result = false;
|
||||
if (ds.Tables[0].Rows[1][3].ToString().Contains("分包类别")) result = false;
|
||||
if (ds.Tables[0].Rows[1][4].ToString().Contains("统一社会信用代码")) result = false;
|
||||
if (ds.Tables[0].Rows[1][5].ToString().Contains("安全生产许可证")) result = false;
|
||||
if (ds.Tables[0].Rows[1][6].ToString().Contains("资质证书编号")) result = false;
|
||||
if (ds.Tables[0].Rows[1][7].ToString().Contains("资质类别")) result = false;
|
||||
if (ds.Tables[0].Rows[1][8].ToString().Contains("资质等级")) result = false;
|
||||
if (ds.Tables[0].Rows[1][9].ToString().Contains("省份")) result = false;
|
||||
if (ds.Tables[0].Rows[1][10].ToString().Contains("城市")) result = false;
|
||||
return result;
|
||||
}
|
||||
#region 模板下载
|
||||
|
||||
/// <summary>
|
||||
/// 模板下载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnDownLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
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")
|
||||
{
|
||||
var rootPath = Server.MapPath("~/");
|
||||
var uploadfilepath = rootPath + Const.DriverSubContactTemplateUrl;
|
||||
var filePath = Const.DriverSubContactTemplateUrl;
|
||||
var fileName = Path.GetFileName(filePath);
|
||||
var info = new FileInfo(uploadfilepath);
|
||||
var fileSize = info.Length;
|
||||
Response.ClearContent();
|
||||
Response.AddHeader("Content-Disposition",
|
||||
"attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
|
||||
Response.ContentType = "excel/plain";
|
||||
Response.ContentEncoding = Encoding.UTF8;
|
||||
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
|
||||
Response.TransmitFile(uploadfilepath, 0, fileSize);
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user