diff --git a/ARW.Model/Models/Business/TableDataManage/TableDatas/TableData.cs b/ARW.Model/Models/Business/TableDataManage/TableDatas/TableData.cs
index 109383b..ca097cd 100644
--- a/ARW.Model/Models/Business/TableDataManage/TableDatas/TableData.cs
+++ b/ARW.Model/Models/Business/TableDataManage/TableDatas/TableData.cs
@@ -75,7 +75,6 @@ namespace ARW.Model.Models.Business.TableDataManage.TableDatas
/// 描述 :供应商的对应报价
/// 空值 : true
///
- [EpplusTableColumn(Header = "供应商的对应报价")]
[SugarColumn(ColumnName = "table_data_supplier_offer")]
public decimal TableDataSupplierOffer { get; set; }
@@ -104,7 +103,7 @@ namespace ARW.Model.Models.Business.TableDataManage.TableDatas
///
[EpplusTableColumn(Header = "日期", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
[SugarColumn(ColumnName = "table_data_date")]
- public DateTime? TableDataDate { get; set; }
+ public DateTime TableDataDate { get; set; }
///
@@ -113,7 +112,7 @@ namespace ARW.Model.Models.Business.TableDataManage.TableDatas
///
[EpplusTableColumn(Header = "截止日期", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
[SugarColumn(ColumnName = "table_data_deadline")]
- public DateTime? TableDataDeadline { get; set; }
+ public DateTime TableDataDeadline { get; set; }
///
diff --git a/ARW.Model/Vo/Business/TableDataManage/TableDatas/TableDataVo.cs b/ARW.Model/Vo/Business/TableDataManage/TableDatas/TableDataVo.cs
index 94a8798..4fb6c96 100644
--- a/ARW.Model/Vo/Business/TableDataManage/TableDatas/TableDataVo.cs
+++ b/ARW.Model/Vo/Business/TableDataManage/TableDatas/TableDataVo.cs
@@ -59,105 +59,126 @@ namespace ARW.Model.Vo.Business.TableDataManage.TableDatas
///
/// 描述 :采购方式
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "采购方式")]
public string TableDataProcurementMethod { get; set; }
///
/// 描述 :供应商名称
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "供应商名称")]
public string TableDataSupplierName { get; set; }
///
/// 描述 :供应商的对应报价
///
- [EpplusIgnore]
+ [EpplusIgnore]
public decimal TableDataSupplierOffer { get; set; }
///
/// 描述 :项目计价形式
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "项目计价形式")]
public string TableDataProjectPricingForm { get; set; }
///
/// 描述 :链接
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "链接")]
public string TableDataLink { get; set; }
///
/// 描述 :日期
///
- [EpplusTableColumn(Header = "日期", NumberFormat = "yyyy-MM-dd HH:mm:ss")]
- public DateTime? TableDataDate { get; set; }
+ [EpplusTableColumn(Header = "日期", NumberFormat = "yyyy/m/d")]
+ public DateTime TableDataDate { get; set; }
+
+
+ [EpplusIgnore]
+ public string TableDataDateName { get; set; }
///
/// 描述 :截止日期
///
- [EpplusIgnore]
- public DateTime? TableDataDeadline { get; set; }
+ [EpplusTableColumn(Header = "截止日期", NumberFormat = "yyyy/m/d")]
+ public DateTime TableDataDeadline { get; set; }
///
/// 描述 :中标人或候选人
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "中标人或候选人")]
public string TableDataWinningBidde { get; set; }
///
/// 描述 :中标金额
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "中标金额")]
public decimal TableDataBidWinningPrice { get; set; }
///
/// 描述 :是否为中标公告
///
- [EpplusTableColumn(Header = "是否为中标公告")]
+ [EpplusIgnore]
public int TableDataIsBidAnnouncement { get; set; }
+ [EpplusTableColumn(Header = "是否为中标公告")]
+ public string TableDataIsBidAnnouncementName { get; set; }
+
+
///
/// 描述 :是否是人力资源池或框架协议
///
- [EpplusTableColumn(Header = "是否是人力资源池或框架协议")]
+ [EpplusIgnore]
public int TableDataIsHumanResourcePoolOrFrameworkAgreement { get; set; }
+ [EpplusTableColumn(Header = "是否是人力资源池或框架协议")]
+ public string TableDataIsHumanResourcePoolOrFrameworkAgreementName { get; set; }
+
+
///
/// 描述 :公告中是否包含多个包/标段/采购内容
///
- [EpplusTableColumn(Header = "公告中是否包含多个包/标段/采购内容")]
+ [EpplusIgnore]
public int TableDataIsMultiple { get; set; }
+ [EpplusTableColumn(Header = "公告中是否包含多个包/标段/采购内容")]
+ public string TableDataIsMultipleName { get; set; }
+
+
///
/// 描述 :是否仅有一个中标人
///
- [EpplusTableColumn(Header = "是否仅有一个中标人")]
+ [EpplusIgnore]
public int TableDataIsOnlyBidder { get; set; }
+ [EpplusTableColumn(Header = "是否仅有一个中标人")]
+ public string TableDataIsOnlyBidderName { get; set; }
+
+
+
///
/// 描述 :单一来源理由(如有)
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "单一来源理由(如有)")]
public string TableDataSingleSource { get; set; }
///
/// 描述 :详情
///
- [EpplusIgnore]
+ [EpplusTableColumn(Header = "详情")]
public string TableDataDetails { get; set; }
diff --git a/ARW.Service/Business/BusinessService/TableDataManage/TableDatas/TableDataService.cs b/ARW.Service/Business/BusinessService/TableDataManage/TableDatas/TableDataService.cs
index c792252..520eeb7 100644
--- a/ARW.Service/Business/BusinessService/TableDataManage/TableDatas/TableDataService.cs
+++ b/ARW.Service/Business/BusinessService/TableDataManage/TableDatas/TableDataService.cs
@@ -18,6 +18,7 @@ using ARW.Model.Models.Business.ProductsInvolveds;
using ARW.Model.Models.Business.TableDataManage.TableDataProductsInvolves;
using ARW.Repository.Business.TableDataManage.TableDataProductsInvolves;
using ARW.Repository.Business.ProductsInvolveds;
+using Senparc.CO2NET.Extensions;
namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
{
@@ -72,6 +73,7 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
TableDataProjectPricingForm = s.TableDataProjectPricingForm,
TableDataLink = s.TableDataLink,
TableDataDate = s.TableDataDate,
+ TableDataDateName = s.TableDataDate.ToString("yyyy/m/d"),
TableDataDeadline = s.TableDataDeadline,
TableDataWinningBidde = s.TableDataWinningBidde,
TableDataBidWinningPrice = s.TableDataBidWinningPrice,
@@ -173,19 +175,108 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
///
public async Task HandleImportData(TableDataVo TableData)
{
+ // 空值判断
+ if (string.IsNullOrEmpty(TableData.TableDataProcurementContent)) throw new CustomException("采购内容不能为空");
+
+ if (string.IsNullOrEmpty(TableData.TableDataIsHumanResourcePoolOrFrameworkAgreementName))
+ throw new CustomException("是否是人力资源池或框架协议不能为空");
+ else
+ TableData.TableDataIsHumanResourcePoolOrFrameworkAgreement = GetYesOrNoNum(TableData.TableDataIsHumanResourcePoolOrFrameworkAgreementName);
+
+ if (string.IsNullOrEmpty(TableData.TableDataIsBidAnnouncementName))
+ throw new CustomException("是否为中标公告不能为空");
+ else
+ TableData.TableDataIsBidAnnouncement = GetYesOrNoNum(TableData.TableDataIsBidAnnouncementName);
+
+ if (string.IsNullOrEmpty(TableData.TableDataIsMultipleName))
+ throw new CustomException("公告中是否包含多个包/标段/采购内容 不能为空");
+ else
+ TableData.TableDataIsMultiple = GetYesOrNoNum(TableData.TableDataIsMultipleName);
+
+ if (string.IsNullOrEmpty(TableData.TableDataIsOnlyBidderName))
+ throw new CustomException("是否仅有一个中标人 不能为空");
+ else
+ TableData.TableDataIsOnlyBidder = GetYesOrNoNum(TableData.TableDataIsOnlyBidderName);
+
+ if (TableData.TableDataSort == 0) TableData.TableDataSort = 100;
+
+
return TableData;
}
+ private int GetYesOrNoNum(string str)
+ {
+ if (str == "是")
+ return 1;
+ if (str == "否")
+ return 2;
+
+ return 0;
+ }
+
+ private string GetYesOrNoStr(int num)
+ {
+ if (num ==1)
+ return "是";
+ if (num == 2)
+ return "否";
+
+ return "";
+ }
+
+
///
/// Excel导入
///
- public async Task ImportExcel(TableData TableData, int index, bool isUpdateSupport, string user)
+ public async Task ImportExcel(TableDataVo TableDataVo, int index, bool isUpdateSupport, string user)
{
try
{
- // 空值判断
- // if (TableData.TableDataId == null) throw new CustomException("表格数据不能为空");
+ TableDataVo = await HandleImportData(TableDataVo);
+
+ // 表格数据所属涉及产品
+ var dto = new TableDataDto();
+ var productsInvolvedIdList = new List();
+ if (!string.IsNullOrEmpty(TableDataVo.ProductsInvolvedName))
+ {
+ var nameList = TableDataVo.ProductsInvolvedName.Split(',').ToList();
+ foreach (var item in nameList)
+ {
+ var productsInvolved = await _ProductsInvolveRepository.GetFirstAsync(s => s.ProductsInvolvedName == item);
+ if (productsInvolved == null)
+ throw new CustomException($"{item} 涉及产品不存在!");
+ else
+ {
+ productsInvolvedIdList.Add(productsInvolved.ProductsInvolvedId.ToString());
+ }
+ }
+ if (productsInvolvedIdList.Count > 0)
+ {
+ dto.ProductsInvolvedGuid = string.Join(",", productsInvolvedIdList);
+ }
+ }
+
+ var TableData = new TableData
+ {
+ TableDataProcurementContent = TableDataVo.TableDataProcurementContent,
+ TableDataProcurementUnit = TableDataVo.TableDataProcurementUnit,
+ TableDataProcurementMethod = TableDataVo.TableDataProcurementMethod,
+ TableDataSupplierName = TableDataVo.TableDataSupplierName,
+ TableDataProjectPricingForm = TableDataVo.TableDataProjectPricingForm,
+ TableDataLink = TableDataVo.TableDataLink,
+ TableDataDate = TableDataVo.TableDataDate,
+ TableDataDeadline = TableDataVo.TableDataDeadline,
+ TableDataWinningBidde = TableDataVo.TableDataWinningBidde,
+ TableDataBidWinningPrice = TableDataVo.TableDataBidWinningPrice,
+ TableDataIsBidAnnouncement = TableDataVo.TableDataIsBidAnnouncement,
+ TableDataIsHumanResourcePoolOrFrameworkAgreement = TableDataVo.TableDataIsHumanResourcePoolOrFrameworkAgreement,
+ TableDataIsMultiple = TableDataVo.TableDataIsMultiple,
+ TableDataIsOnlyBidder = TableDataVo.TableDataIsOnlyBidder,
+ TableDataSingleSource = TableDataVo.TableDataSingleSource,
+ TableDataDetails = TableDataVo.TableDataDetails,
+ TableDataSort = TableDataVo.TableDataSort,
+ };
if (isUpdateSupport)
{
@@ -198,9 +289,9 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
// 开启事务
var res = await UseTranAsync(async () =>
{
- var addRes = await AddOrUpdateTableData(TableData, new TableDataDto());
+ var addRes = await AddOrUpdateTableData(TableData, dto);
});
- var addStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataId}】新增成功!
";
+ var addStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataProcurementContent}】新增成功!
";
return addStr;
}
else
@@ -213,9 +304,9 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
TableData.TableDataGuid = model.TableDataGuid;
TableData.Update_by = user;
TableData.Update_time = DateTime.Now;
- var editRes = await AddOrUpdateTableData(TableData, new TableDataDto());
+ var editRes = await AddOrUpdateTableData(TableData,dto);
});
- var editStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataId}】更新成功!
";
+ var editStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataProcurementContent}】更新成功!
";
return editStr;
}
}
@@ -224,16 +315,16 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
// 开启事务
var res = await UseTranAsync(async () =>
{
- var addRes = await AddOrUpdateTableData(TableData, new TableDataDto());
+ var addRes = await AddOrUpdateTableData(TableData,dto);
});
//Console.WriteLine(res.IsSuccess);
- var addStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataId}】新增成功!
";
+ var addStr = $"第 {index} 行 => 表格数据:【{TableData.TableDataProcurementContent}】新增成功!
";
return addStr;
}
}
catch (Exception ex)
{
- var errorRes = $"第 {index} 行 => 表格数据:【{TableData.TableDataId}】导入失败!{ex.Message}
";
+ var errorRes = $"第 {index} 行 => 表格数据:【{TableDataVo.TableDataProcurementContent}】导入失败!{ex.Message}
";
return errorRes;
throw;
}
@@ -246,6 +337,14 @@ namespace ARW.Service.Business.BusinessService.TableDataManage.TableDatas
///
public async Task> HandleExportData(List data)
{
+ foreach (var item in data)
+ {
+ item.TableDataIsBidAnnouncementName = GetYesOrNoStr(item.TableDataIsBidAnnouncement);
+ item.TableDataIsHumanResourcePoolOrFrameworkAgreementName = GetYesOrNoStr(item.TableDataIsHumanResourcePoolOrFrameworkAgreement);
+ item.TableDataIsMultipleName = GetYesOrNoStr(item.TableDataIsMultiple);
+ item.TableDataIsOnlyBidderName = GetYesOrNoStr(item.TableDataIsOnlyBidder);
+ }
+
return data;
}
diff --git a/ARW.Service/Business/IBusinessService/TableDataManage/TableDatas/ITableDataService.cs b/ARW.Service/Business/IBusinessService/TableDataManage/TableDatas/ITableDataService.cs
index 714c2c9..1170ce5 100644
--- a/ARW.Service/Business/IBusinessService/TableDataManage/TableDatas/ITableDataService.cs
+++ b/ARW.Service/Business/IBusinessService/TableDataManage/TableDatas/ITableDataService.cs
@@ -47,7 +47,7 @@ namespace ARW.Service.Business.IBusinessService.TableDataManage.TableDatas
///
///
///
- Task ImportExcel(TableData TableData,int index,bool isUpdateSupport,string user);
+ Task ImportExcel(TableDataVo TableData,int index,bool isUpdateSupport,string user);
///
/// Excel导出
diff --git a/ARW.WebApi/Controllers/Business/TableDataManage/TableDatas/TableDataController.cs b/ARW.WebApi/Controllers/Business/TableDataManage/TableDatas/TableDataController.cs
index 768dfe1..cf18756 100644
--- a/ARW.WebApi/Controllers/Business/TableDataManage/TableDatas/TableDataController.cs
+++ b/ARW.WebApi/Controllers/Business/TableDataManage/TableDatas/TableDataController.cs
@@ -108,10 +108,10 @@ namespace ARW.WebApi.Controllers.Business.TableDataManage.TableDatas
foreach (TableDataVo item in parm)
{
i++;
- var TableData = await _TableDataService.HandleImportData(item);
- var modal = TableData.Adapt().ToCreate(HttpContext);
+ //var TableData = await _TableDataService.HandleImportData(item);
+ //var modal = TableData.Adapt().ToCreate(HttpContext);
var user = JwtUtil.GetLoginUser(App.HttpContext).UserName;
- var msg = await _TableDataService.ImportExcel(modal, i, isUpdateSupport, user);
+ var msg = await _TableDataService.ImportExcel(item, i, isUpdateSupport, user);
msgList.Add(msg);
}
@@ -132,7 +132,7 @@ namespace ARW.WebApi.Controllers.Business.TableDataManage.TableDatas
MemoryStream stream = new MemoryStream();
// 示例数据
- var values = new List() { "111", "222", "333" };
+ var values = new List() { "房产,人工智能", "渤银理财理财分销对接代销系统采购项目", "渤银理财有限责任公司", "竞争性采购", "北京开科唯识技术股份有限公司", "总价", "https://www.jianyu360.cn/nologin/content/ABCY1xGZCkFAjg6RHt3cFxbCzMCEjJ3XGB1Kw4ZKDogcFFzcz9UCaI=.html", "22/11/2023", "23/11/2023", "北京开科唯识技术股份有限公司","31926", "是", "否", "是", "是", "", "渤银理财理财分销对接代销系统采购项目成交公示 受渤海银行股份有限公司委托,金采联合(北京)招标有限公司于2022年8月4日以竞争性采购方式,对渤银理财理财分销对接代销系统采购项目(项目编号:FUTC-2022-H031B)组织了采购。现将成交供应商公布如下:北京开科唯识技术股份有限公司为成交供应商。公示期限:自2022年8月22日至2022年8月24日采购代理机构:金采联合(北京)招标有限公司联系地址:北京市西城区佟麟阁路95号尚信大厦联系人:刘世平、刘松樵、谭永江代理机构联系方式:13682015217、16622986307、010-51813597特此公告金采联合(北京)招标有限公司2022年8月19日", "100" };
string sFileName = DownloadImportTemplate(TableData, stream, "表格数据导入模板", values);
return File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"{sFileName}");