TG.WXCRM.V4/BLL/Wx/WX_SZZYORDER_HANDGIFT_BL.cs

642 lines
29 KiB
C#

using CRM.Core.DTO;
using CRM.Core.DTO.Ord;
using Newtonsoft.Json;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using WX.CRM.BLL.Application.UserComBox;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.Common.Employee;
using WX.CRM.Common.Layui;
using WX.CRM.IBLL.Wx;
using WX.CRM.Model.Entity;
using WX.CRM.Model.Enum;
using WX.CRM.Model.MAP;
namespace WX.CRM.BLL.Wx
{
public class WX_SZZYORDER_HANDGIFT_BL : IWX_SZZYORDER_HANDGIFT
{
private CACHE_BL cache_BL = new CACHE_BL();
public SecurityHelper sHelper = new SecurityHelper();
public List<Wx_SzzyOrder_HandGift_Map> GetHandGifList(ref Laypage pager, Wx_SzzyOrder_HandGift_Query param, QueryUserComboDto usercomboDto)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
IQueryable<WX_SZZYORDER_HANDGIFT> queryData = db.WX_SZZYORDER_HANDGIFT.AsQueryable();
if (param.ORDERSTATUS.HasValue)
{
queryData = queryData.Where(m => m.ORDERSTATUS == param.ORDERSTATUS.Value);
}
if (param.ORDERID.HasValue)
{
queryData = queryData.Where(m => m.ORDERID == param.ORDERID.Value);
}
if (param.MAINORDERID.HasValue)
{
queryData = queryData.Where(m => m.MAINORDERID == param.MAINORDERID.Value);
}
if (!string.IsNullOrEmpty(param.RESID))
{
param.RESID = param.RESID.Trim();
queryData = queryData.Where(m => m.RESID == param.RESID);
}
if (!string.IsNullOrEmpty(param.SOFTUSERNAME))
{
queryData = queryData.Where(m => m.SOFTUSERNAME == param.SOFTUSERNAME);
}
if (param.STIME.HasValue)
{
queryData = queryData.Where(m => m.CTIME >= param.STIME.Value);
}
if (param.ETIME.HasValue)
{
param.ETIME = param.ETIME.Value.AddDays(1);
queryData = queryData.Where(m => m.CTIME < param.ETIME.Value);
}
if (param.CONTRACTSTATUS.HasValue)
{
queryData = queryData.Where(m => m.CONTRACTSTATUS == param.CONTRACTSTATUS);
}
var data = from a in queryData
join b in db.WX_SZZYORDER on a.MAINORDERID equals b.ORDERID into t1
from b in t1.DefaultIfEmpty()
join c in db.WX_ORDEREXT on a.MAINORDERID equals c.ORDERID into t2
from c in t2.DefaultIfEmpty()
join d in db.BAS_INNERUSER on b.INNERUSERID equals d.PKID into t3
from d in t3.DefaultIfEmpty()
select new Wx_SzzyOrder_HandGift_Map()
{
ORDERID = a.ORDERID,
CHANNEL = c.CHANNEL,
HandGiftChannel = a.CHANNEL,
CHECKMEMO = a.CHECKMEMO,
COMPANYCODE = a.COMPANYCODE,
CREATEUSER = a.CREATEUSER,
CTIME = a.CTIME,
GIFTDAYS = a.GIFTDAYS,
MAINORDERID = a.MAINORDERID,
MAINPDAYS = b.OPENDAYS,
MAINPGIF = b.GIFTDAYS,
MAINPRODUCTNAME = b.SUBPRODUCTNAME,
MEMO = a.MEMO,
OLDOUTORDERNO = a.OLDOUTORDERNO,
OPENUSER = a.OPENUSER,
ORDERSTATUS = a.ORDERSTATUS,
OPTIME = a.OPTIME,
OTIME = a.OTIME,
OUTORDERCLOSETIME = a.OUTORDERCLOSETIME,
OUTORDERNO = a.OUTORDERNO,
PRODUCTCODE = a.PRODUCTCODE,
PRODUCTID = a.PRODUCTID,
RESID = a.RESID,
SOFTUSERNAME = a.SOFTUSERNAME,
SUBPRODUCTCODE = a.SUBPRODUCTCODE,
SUBPRODUCTNAME = a.SUBPRODUCTNAME,
SZZYORDERID = a.SZZYORDERID,
USERID = a.USERID,
CLOSEMEMO = a.CLOSEMEMO,
CLOSETIME = a.CLOSETIME,
CLOSEUSER = a.CLOSEUSER,
DEPTCODE = b.DEPTCODE,
CONTRACTCTIME = a.CONTRACTCTIME,
CONTRACTSTATUS = a.CONTRACTSTATUS,
CONTRACTCODE = a.CONTRACTCODE,
CREATEEID = a.CREATEEID,
OrderEid = d.EID
};
if (usercomboDto.txt_eid.HasValue)
{
data = data.Where(m => m.CREATEEID == usercomboDto.txt_eid.Value || m.OrderEid == usercomboDto.txt_eid.Value);
}
else if (!string.IsNullOrEmpty(usercomboDto.txt_groupIds))
{
var _groupids = OperationUtil.ConvertToDecimal(usercomboDto.txt_groupIds.Split(','));
data = (from a in data
join c in db.BAS_INNERUSER on a.CREATEEID equals c.EID
join b in db.BAS_INNERUSERGROUP on c.PKID equals b.INNERUSERID
where _groupids.Contains(b.GID.Value)
select a);
}
else if (!string.IsNullOrEmpty(usercomboDto.txt_deptId))
{
var depts = OperationUtil.ConvertToDecimal(usercomboDto.txt_deptId.Split(','));
List<decimal> ALLdeptIDS = new List<decimal>();
List<decimal> ALLgidS = new List<decimal>();
UserServices userservices = new UserServices(cache_BL);
foreach (var item in depts)
{
List<decimal> deptIDS = new List<decimal>();
List<decimal> gidS = new List<decimal>();
userservices.GetAllDeptIDOrGidByDeptId(item, ref deptIDS, ref gidS);//获取所有的组别和gid
ALLdeptIDS.AddRange(deptIDS);
ALLgidS.AddRange(gidS);
}
var deptcodes = (from a in db.BAS_BUSINESSDEPARTMENT
join b in db.BAS_SALESDEPARTMENT on a.DEPTID equals b.SALEDEPTID
where ALLdeptIDS.Contains(a.DEPTID)
select b.SALEDEPTCODE).ToArray();
data = (from a in data
join c in db.BAS_INNERUSER on a.CREATEEID equals c.EID
join x in db.BAS_INNERUSERGROUP on c.PKID equals x.INNERUSERID into tempB
from b in tempB.DefaultIfEmpty()
//join g in db.BAS_INNERGROUP on b.GID equals g.GID
where ALLdeptIDS.Contains(b.DEPTID.Value) || ALLgidS.Contains(b.GID.Value)
select a);
}
else if (usercomboDto.txt_companyId.HasValue)
{
data = (from a in data
join c in db.BAS_INNERUSER on a.CREATEEID equals c.EID
join b in db.BAS_INNERUSERGROUP on c.PKID equals b.INNERUSERID
join g in db.BAS_INNERGROUP on b.GID equals g.GID
join m in db.BAS_SALESDEPARTMENT on g.SALEDEPTID equals m.SALEDEPTID
where m.COMPANYID == usercomboDto.txt_companyId.Value
select a);
}
data = data.OrderByDescending(m => m.CTIME);
PagerUtil.SetPager<Wx_SzzyOrder_HandGift_Map>(ref data, ref pager);//分页
var res = data.ToList();
//查询事业部
var deptNameList = cache_BL.GetDeptNameMapList();
var channelList = res.Where(n => !string.IsNullOrWhiteSpace(n.CHANNEL)).Select(n => Convert.ToInt32(n.CHANNEL)).ToList();
var giftChannel = res.Where(n => n.HandGiftChannel > 0).Select(n => Convert.ToInt32(n.HandGiftChannel)).ToList();
channelList.AddRange(giftChannel);
var dicMap = cache_BL.ConvertChannelName(deptNameList, channelList);
var creatorList = res.Where(m => !string.IsNullOrEmpty(m.CREATEUSER)).Select(n => n.CREATEUSER).Distinct().ToList();
List<decimal> eidList = new List<decimal>();
foreach (var creator in creatorList)
{
decimal eid = -1;
if (decimal.TryParse(creator.Split('-').FirstOrDefault(), out eid))
{
eidList.Add(eid);
}
}
var deptEidMap = cache_BL.GetUserDeptNameByEid(eidList);
foreach (var item in res)
{
var num = 0;
if (Int32.TryParse(item.CHANNEL, out num))
{
item.DEPTCODE = dicMap.ContainsKey(num) ? dicMap[num] : "未知";
}
if (string.IsNullOrWhiteSpace(item.CHANNEL) && item.HandGiftChannel > 0)
{
num = Convert.ToInt32(item.HandGiftChannel);
item.DEPTCODE = dicMap.ContainsKey(num) ? dicMap[num] : "未知";
}
var eid = item.CREATEUSER.Split('-').FirstOrDefault();
if (string.IsNullOrEmpty(eid) && item.CREATEEID.HasValue)
{
eid = item.CREATEEID.ToString();
}
if (!string.IsNullOrWhiteSpace(eid))
{
var mapModel = deptEidMap.FirstOrDefault(n => n.Eid.ToString() == eid);
item.RequestDeptName = mapModel?.DeptName;
}
}
return res;
}
}
public WX_SZZYORDER_HANDGIFT GetHandleGifById(decimal orderid)
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
return db.WX_SZZYORDER_HANDGIFT.FirstOrDefault(n => n.ORDERID == orderid);
}
}
public int GetAuditCount(decimal orderid)
{
var auditCount = 0;
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var order = db.WX_SZZYORDER_HANDGIFT.FirstOrDefault(n => n.ORDERID == orderid);
List<decimal> eidList = new List<decimal>();
decimal eid = -1;
if (decimal.TryParse(order.CREATEUSER.Split('-').FirstOrDefault(), out eid))
{
eidList.Add(eid);
}
var deptEidMap = cache_BL.GetUserDeptNameByEid(eidList);
int? saleDeptId = -1;
if (deptEidMap.Count > 0)
{
saleDeptId = deptEidMap.FirstOrDefault().SaleDeptId == null ? -1 : deptEidMap.FirstOrDefault().SaleDeptId;
}
if (saleDeptId == -1)
{
int curChannel = 0;
var channelSetting = Utility.GetSettingOrNullByKey("Channel");
if (!string.IsNullOrWhiteSpace(channelSetting))
{
curChannel = Convert.ToInt32(channelSetting);
}
var defaultDept = cache_BL.ConvertChannelName(new List<int> { curChannel });
if (defaultDept.FirstOrDefault() != null && defaultDept.FirstOrDefault().id > 0)
{
saleDeptId = Convert.ToInt32(defaultDept.FirstOrDefault().id);
}
}
var nowMonthDate = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date;
var nowMonthList = db.WX_SZZYORDER_HANDGIFT.Where(n => n.AUDITTYPE == 1 && n.ORDERSTATUS == 1 && n.OPTIME > nowMonthDate && n.SALEDEPTID == saleDeptId).ToList();
auditCount = nowMonthList.Count();
}
return auditCount;
}
public OrderHandGiftDto GetSuProductIdByOrderId(long orderId, ref ValidationErrors errors)
{
OrderHandGiftDto dto = new OrderHandGiftDto()
{
orderid = orderId,
companycode = Utility.GetSettingOrNullByKey("DataClientCode")
};
var sHelper = new SecurityHelper();
var url = new CACHE_BL().GetValue_Parameter(Parameter.Core_ZxdService_GetSuProductIdByOrderId);
var json = sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
//url = "http://localhost:55047//OrderService.svc/Order/GetSuProductIdByOrderId";
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
var retmessage = Newtonsoft.Json.JsonConvert.DeserializeObject<retMsgNew<OrderHandGiftDto>>(retmsg);
if (retmessage.result)
{
dto = retmessage.data;
}
else
{
errors.Add(retmessage.retmsg);
}
return dto;
}
public bool Save(WX_SZZYORDER_HANDGIFT model, ref ValidationErrors errors)
{
bool result = false;
#region
decimal curChannel = 0;
var channelSetting = Utility.GetSettingOrNullByKey("Channel");
if (!string.IsNullOrWhiteSpace(channelSetting))
{
curChannel = Convert.ToInt32(channelSetting);
}
#endregion
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
//var orderext = db.WX_ORDEREXT.FirstOrDefault(m => m.ORDERID == model.MAINORDERID);
//if (orderext == null)
//{
// errors.Add("订单信息错误!");
// return false;
//}
//var mainorder = db.WX_SZZYORDER.FirstOrDefault(m => m.ORDERID == model.MAINORDERID);
//if (mainorder == null)
//{
// errors.Add("订单信息错误!");
// return false;
//}
//model.PRODUCTID = mainorder.SUBPRODUCTID;
//var product = db.WX_SZZYSUBPRODUCT.FirstOrDefault(m => m.SUBPRODUCTID == model.PRODUCTID);
//if (product.ISGIFT != 1)
//{
// errors.Add("此订单产品未开启赠送!");
// return false;
//}
//model.PRODUCTCODE = product.PRODUCTCODE;
//model.SOFTUSERNAME = orderext.SOFTUSERNAME;
//model.ORDERSTATUS = 0;
//model.RESID = mainorder.RESID;
//model.ORDERID = new SEQUENCES_BL().Seq_base_get();
model.CTIME = DateTime.Now;
var model2 = GetSuProductIdByOrderId(long.Parse(model.MAINORDERID.ToString()), ref errors);
model.PRODUCTID = model2.subproductid;
model.PRODUCTCODE = model2.productcode;
#region
//调用中心点赠送订单申请接口
//dto.companycode = companyCode;
OrderHandGiftDto dto = new OrderHandGiftDto()
{
channel = Convert.ToInt32(model.CHANNEL),
checkmemo = model.CHECKMEMO,
companycode = Utility.GetSettingOrNullByKey("DataClientCode"),
createuser = model.CREATEUSER,
ctime = model.CTIME,
giftdays = Convert.ToInt32(model.GIFTDAYS),
mainorderid = Convert.ToInt64(model.MAINORDERID),
memo = model.MEMO,
orderid = Convert.ToInt64(model.ORDERID),
orderstatus = Convert.ToInt32(model.ORDERSTATUS),
productcode = model.PRODUCTCODE,
productid = Convert.ToInt32(model.PRODUCTID),
resid = model.RESID,
softusername = model.SOFTUSERNAME,
subproductcode = model.SUBPRODUCTCODE,
subproductname = model.SUBPRODUCTNAME,
requireChannel = Convert.ToInt32(curChannel)
};
var sHelper = new SecurityHelper();
var url = new CACHE_BL().GetValue_Parameter(Parameter.Core_ZxdService_OrderHandleGift);
var json = sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
var retmessage = Newtonsoft.Json.JsonConvert.DeserializeObject<retMsgNew<OrderHandGiftDto>>(retmsg);
if (retmessage.result)
{
model.ORDERID = retmessage.data.orderid;
model.SUBPRODUCTNAME = retmessage.data.subproductname;
model.SUBPRODUCTCODE = retmessage.data.subproductcode;
model.PRODUCTTYPE = retmessage.data.producttype;//0-单一产品、1-组合产品
model.SZZYORDERID = retmessage.data.szzyorderid;
//赠送订单的自动审核功能根据配置启用/禁用
var autoAuditGiftStr = cache_BL.GetValue_Parameter(Parameter.Auto_AuditGift);
if (!string.IsNullOrWhiteSpace(autoAuditGiftStr))
{
var autoAuditGift = Newtonsoft.Json.JsonConvert.DeserializeObject<AutoAuditGiftParameterDto>(autoAuditGiftStr);
if (autoAuditGift.IsAutoAudit)
{
model.ORDERSTATUS = retmessage.data.orderstatus;
model.OPTIME = retmessage.data.otime.HasValue ? retmessage.data.otime.Value.AddHours(8) : DateTime.Now;
model.CHECKMEMO = retmessage.data.checkmemo;
model.OPENUSER = retmessage.data.openuser;
}
}
model.SZZYORDERID = retmessage.data.szzyorderid;
model.SALEDEPTID = retmessage.data.saleDeptId;
db.WX_SZZYORDER_HANDGIFT.Add(model);
db.SaveChanges();
result = true;
}
else
{
errors.Add(retmessage.retmsg);
result = false;
}
#endregion
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
}
return result;
}
public bool CheckSave(WX_SZZYORDER_HANDGIFT editmodel, ref ValidationErrors errors)
{
bool result = false;
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var model = db.WX_SZZYORDER_HANDGIFT.FirstOrDefault(n => n.ORDERID == editmodel.ORDERID);
var model2 = GetSuProductIdByOrderId(long.Parse(model.MAINORDERID.ToString()), ref errors);
model.PRODUCTID = model2.subproductid;
model.PRODUCTCODE = model2.productcode;
#region
//调用中心点赠送订单申请接口
//dto.companycode = companyCode;
AuditHandGiftDto dto = new AuditHandGiftDto()
{
orderstatus = Convert.ToInt32(editmodel.ORDERSTATUS),
OrderId = editmodel.ORDERID,
Memo = editmodel.MEMO,
OpenUser = editmodel.OPENUSER
};
var sHelper = new SecurityHelper();
var url = new CACHE_BL().GetValue_Parameter(Parameter.Core_ZxdService_AuditOrderGift);
var json = sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
//url = "http://localhost:55047/OrderService.svc/OrderHandleGift/Audit";
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
var retmessage = Newtonsoft.Json.JsonConvert.DeserializeObject<retMsgNew<WX_SZZYORDER_HANDGIFT>>(retmsg);
if (retmessage.result)
{
model.CHECKMEMO = retmessage.data.CHECKMEMO;
model.OPENUSER = retmessage.data.OPENUSER;
model.OPTIME = retmessage.data.OPTIME.HasValue ? retmessage.data.OPTIME.Value.AddHours(8) : DateTime.Now;
model.ORDERSTATUS = retmessage.data.ORDERSTATUS;//0-单一产品、1-组合产品
if (model.ORDERSTATUS == 1)
{
model.AUDITTYPE = 1;
}
db.SaveChanges();
result = true;
}
else
{
errors.Add(retmessage.retmsg);
result = false;
}
#endregion
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
}
return result;
}
public bool UpdateCheckStatus(WX_SZZYORDER_HANDGIFT model, ref ValidationErrors errors)
{
bool result = false;
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var entry = db.WX_SZZYORDER_HANDGIFT.FirstOrDefault(m => m.ORDERID == model.ORDERID);
if (entry == null)
{
LogHelper.Info("WX_SZZYORDER_HANDGIFT找不到订单号,补数据:" + model.ORDERID);
db.WX_SZZYORDER_HANDGIFT.Add(model);
db.SaveChanges();
return true;
}
entry.ORDERSTATUS = model.ORDERSTATUS;
entry.OPENUSER = model.OPENUSER;
entry.OPTIME = model.OPTIME;
entry.SZZYORDERID = model.SZZYORDERID;
entry.CHECKMEMO = model.CHECKMEMO;
entry.CLOSEMEMO = model.CLOSEMEMO;
entry.CLOSEUSER = model.CLOSEUSER;
entry.CLOSETIME = model.CLOSETIME;
entry.CONTRACTSTATUS = model.CONTRACTSTATUS;
entry.CONTRACTCODE = model.CONTRACTCODE;
entry.CONTRACTCTIME = model.CONTRACTCTIME;
entry.ISFORCE = model.ISFORCE;
db.SaveChanges();
result = true;
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
}
return result;
}
public bool AddHandGift(WX_SZZYORDER_HANDGIFT model, ref ValidationErrors errors)
{
bool result = false;
try
{
using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext())
{
var entry = db.WX_SZZYORDER_HANDGIFT.FirstOrDefault(m => m.ORDERID == model.ORDERID);
if (entry == null)
{
LogHelper.Info("WX_SZZYORDER_HANDGIFT找不到订单号,补数据:" + model.ORDERID);
db.WX_SZZYORDER_HANDGIFT.Add(model);
db.SaveChanges();
return true;
}
entry.ORDERSTATUS = model.ORDERSTATUS;
entry.OPENUSER = model.OPENUSER;
entry.OPTIME = model.OPTIME;
entry.SZZYORDERID = model.SZZYORDERID;
entry.CHECKMEMO = model.CHECKMEMO;
entry.CLOSEMEMO = model.CLOSEMEMO;
entry.CLOSEUSER = model.CLOSEUSER;
entry.CLOSETIME = model.CLOSETIME;
entry.CONTRACTSTATUS = model.CONTRACTSTATUS;
entry.CONTRACTCODE = model.CONTRACTCODE;
entry.CONTRACTCTIME = model.CONTRACTCTIME;
db.SaveChanges();
result = true;
}
}
catch (Exception ex)
{
errors.Add(ex.Message);
}
return result;
}
public ApiResult<List<ImportGiftOrderViewModel>> ImportBasicsGift(string filename, Stream filestream)
{
try
{
var file_ext = Path.GetExtension(filename).ToLower();
var importData = ImportBasicsGiftFromExcel(filestream, file_ext);
if (importData.Count > 0)
{
var apiPath = cache_BL.GetValue_Parameter(Parameter.ZXD_CORE_WEBAPI);
//apiPath = "http://localhost:5244";
var headers = new Dictionary<string, string>();
var json = importData.ToJson();
string result = Utility.PostAjaxData($"{apiPath}/Api/Order/ImportHandGiftPreview", json, headers, Encoding.UTF8);//返回信息
var response = JsonConvert.DeserializeObject<ApiResult<List<ImportGiftOrderViewModel>>>(result);
return response;
}
else
{
return new ApiResult<List<ImportGiftOrderViewModel>>
{
code = -1,
msg = "数据不合法"
};
}
}
catch (Exception ex)
{
return new ApiResult<List<ImportGiftOrderViewModel>>
{
code = -1,
msg = ex.Message
};
}
return null;
}
public List<ImportGiftOrderDto> ImportBasicsGiftFromExcel(Stream filestream, string file_ext = "xls")
{
List<ImportGiftOrderDto> result = new List<ImportGiftOrderDto>();
IWorkbook workBook = null;
switch (file_ext)
{
case ".xls":
workBook = new HSSFWorkbook(filestream);
break;
case ".xlsx":
workBook = new XSSFWorkbook(filestream);
break;
default: throw new ArgumentException("非法后缀");
}
var sheet = workBook.GetSheetAt(0);
var rownum = sheet.LastRowNum;
for (int i = 1; i <= rownum; i++)
{
try
{
var row = sheet.GetRow(i);
if (row == null)
break;
var s = row.Cells[1].RichStringCellValue;
if (string.IsNullOrEmpty(s.String)) continue;
ImportGiftOrderDto bill_Account = new ImportGiftOrderDto()
{
OrderId = row.Cells[0].ToString(),
ProductName = row.Cells[1].ToString(),
ProductCode = row.Cells[2].ToString(),
DeptName = row.Cells[3].ToString(),
Day = row.Cells[4].ToString()
};
result.Add(bill_Account);
}
catch (Exception ex)
{
LogHelper.Error($"异常行:{i}", ex);
throw (new Exception($"异常行:{i}", ex));
}
}
return result;
}
}
}