|
|
@ -74,12 +74,17 @@ namespace ICS.Application.Business.Service |
|
|
|
/// <summary>
|
|
|
|
/// 自定义档案
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
private readonly IRepository<IcsProduct, long> _productRepository; |
|
|
|
private readonly IRepository<IcsProduct2Filed, long> _product2FiledRepository; |
|
|
|
private readonly IRepository<IcsSystemFiled, long> _systemFiledRepository; |
|
|
|
private readonly IRepository<IcsSystemFiled2Module, long> _filed2ModuleRepository; |
|
|
|
private readonly IRepository<IcsSystemModule, long> _systemModuleRepository; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 服务三导入
|
|
|
|
/// </summary>
|
|
|
|
private readonly IRepository<IcsCustomer, long> _customerRepository; |
|
|
|
private readonly IRepository<IcsCustomer2Product2Filed, long> _customer2Product2FiledRepository; |
|
|
|
private readonly IRepository<IcsServiceOrder, long> _serviceOrderRepository; |
|
|
|
private readonly IRepository<IcsServiceOrder4Log, long> _serviceOrder4LogRepository; |
|
|
|
private readonly IcsImportManager<IcsServiceOrderImportDto> _serviceOrderImportManager; |
|
|
@ -102,6 +107,12 @@ namespace ICS.Application.Business.Service |
|
|
|
, IcsImportManager<IcsServiceOrderImportDto> serviceOrderImportManager |
|
|
|
, IRepository<SysEnumValue, long> sysEnumValueRepository |
|
|
|
,IRepository<SysLabelRule, long> sysLabelRuleRepository |
|
|
|
, IRepository<IcsProduct, long> productRepository |
|
|
|
, IRepository<IcsSystemFiled, long> systemFiledRepository |
|
|
|
, IRepository<IcsSystemModule, long> systemModuleRepository |
|
|
|
, IRepository<IcsProduct2Filed, long> product2FiledRepository |
|
|
|
, IRepository<IcsSystemFiled2Module, long> filed2ModuleRepository |
|
|
|
, IRepository<IcsCustomer2Product2Filed, long> customer2Product2FiledRepository |
|
|
|
) |
|
|
|
{ |
|
|
|
|
|
|
@ -121,6 +132,12 @@ namespace ICS.Application.Business.Service |
|
|
|
_serviceOrderImportManager = serviceOrderImportManager; |
|
|
|
_sysLabelRuleRepository = sysLabelRuleRepository; |
|
|
|
_customerRepository = customerRepository; |
|
|
|
_productRepository = productRepository; |
|
|
|
_systemFiledRepository = systemFiledRepository; |
|
|
|
_systemModuleRepository = systemModuleRepository; |
|
|
|
_product2FiledRepository = product2FiledRepository; |
|
|
|
_filed2ModuleRepository = filed2ModuleRepository; |
|
|
|
_customer2Product2FiledRepository = customer2Product2FiledRepository; |
|
|
|
} |
|
|
|
|
|
|
|
public async Task<FileDto> DownloadTemplate(string templateName) |
|
|
@ -299,24 +316,51 @@ namespace ICS.Application.Business.Service |
|
|
|
entity = ObjectMapper.Map<IcsServiceOrder>(item); |
|
|
|
//调用领域服务
|
|
|
|
//产品类型
|
|
|
|
var businessSystem = enumValueList.Where(x=>x.EnumKey== "BusinessSystem" && x.EnumText== item.BusinessSystem).FirstOrDefault()?.EnumValue; |
|
|
|
if (string.IsNullOrEmpty(businessSystem)) |
|
|
|
var businessSystem = _productRepository.GetAll().AsNoTracking().FirstOrDefault(x=>x.ProductName==item.BusinessSystem); |
|
|
|
if (businessSystem==null) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "业务系统不存在"); |
|
|
|
error += L("TheLine", i + 1, "产品不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
var serviceField = enumValueList.Where(x => x.EnumKey == "ServiceField" && x.EnumText == item.ServiceField).FirstOrDefault()?.EnumValue; |
|
|
|
if (string.IsNullOrEmpty(serviceField)) |
|
|
|
var serviceField = _systemFiledRepository.GetAll().AsNoTracking().FirstOrDefault(x => x.FiledName == item.ServiceField); |
|
|
|
if (serviceField==null) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "领域在自定义档案中不存在"); |
|
|
|
error += L("TheLine", i + 1, "领域不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
var customer2Product= _customer2Product2FiledRepository.Count(x => x.CusCode == entity.CustomerCode&&x.ProductCode== businessSystem.ProductCode); |
|
|
|
if (customer2Product ==0) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "客户产品关系不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
var product2Filed = _product2FiledRepository.Count(x => x.ProductCode == businessSystem.ProductCode && x.FiledCode == serviceField.FiledCode); |
|
|
|
if (product2Filed == 0) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "产品领域关系不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
if (!item.ServiceModule.IsNullOrEmpty()) |
|
|
|
{ |
|
|
|
var serviceModule = enumValueList.Where(x => x.EnumKey == "ServiceModule" && x.EnumText == item.ServiceModule).FirstOrDefault()?.EnumValue; |
|
|
|
if (string.IsNullOrEmpty(serviceModule)) |
|
|
|
var serviceModule = _systemModuleRepository.GetAll().AsNoTracking().FirstOrDefault(x => x.ModuleName == item.ServiceModule); |
|
|
|
if (serviceModule==null) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "模块在自定义档案中不存在"); |
|
|
|
error += L("TheLine", i + 1, "模块不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
entity.ServiceModule = serviceModule.ModuleCode; |
|
|
|
|
|
|
|
|
|
|
|
var filed2Module= _filed2ModuleRepository.Count(x => x.FiledCode == serviceField.FiledCode&&x.ModuleCode== serviceModule.ModuleCode); |
|
|
|
|
|
|
|
if (filed2Module == 0) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "领域模块关系不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
entity.ServiceModule = serviceModule; |
|
|
|
} |
|
|
|
if (!item.EventClass.IsNullOrEmpty()) |
|
|
|
{ |
|
|
@ -324,6 +368,7 @@ namespace ICS.Application.Business.Service |
|
|
|
if (string.IsNullOrEmpty(patra3)) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "事件分类在自定义档案中不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
entity.EventClass = patra3; |
|
|
|
} |
|
|
@ -333,6 +378,7 @@ namespace ICS.Application.Business.Service |
|
|
|
if (string.IsNullOrEmpty(patra4)) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "紧急度在自定义档案中不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
entity.Urgency = patra4; |
|
|
|
} |
|
|
@ -340,12 +386,16 @@ namespace ICS.Application.Business.Service |
|
|
|
if (cus == null) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "客户档案不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
var existUser = _userRepository.Count(x => x.Surname + x.Name == entity.ContactPerson)>0; |
|
|
|
if (!existUser) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "人员不存在"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
entity.BusinessSystem = businessSystem; |
|
|
|
entity.ServiceField = serviceField; |
|
|
|
|
|
|
|
entity.BusinessSystem = businessSystem; |
|
|
|
entity.BusinessSystem = businessSystem; |
|
|
|
entity.BusinessSystem = businessSystem.ProductCode; |
|
|
|
entity.ServiceField = serviceField.FiledCode; |
|
|
|
entity.CustomerName = cus.CusName; |
|
|
|
entity.Status = ServiceOrderOperateEnum.HasVerified.ToString(); |
|
|
|
entity.ServiceOrderCode = await _extensionService.QuerySerialCode(labelRuleInput); |
|
|
@ -356,7 +406,11 @@ namespace ICS.Application.Business.Service |
|
|
|
entity.CreatorUserName = AbpSession.GetUserName(); |
|
|
|
entity.CreationTime = dtNow; |
|
|
|
insertDara.Add(entity); |
|
|
|
|
|
|
|
if (entity.ServiceOrderCode.IsNullOrEmpty()) |
|
|
|
{ |
|
|
|
error += L("TheLine", i + 1, "服务单编号生成失败"); |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
#region 操作日志
|
|
|
|
IcsServiceOrder4Log log = new IcsServiceOrder4Log(); |
|
|
|