xusc 4 months ago
parent
commit
1bc552c28b
  1. 37
      src/aspnet-core/ICS.Application/Business/Service/IcsServiceOrder/IcsServiceOrderAppService.cs
  2. 88
      src/aspnet-core/ICS.Application/Business/Service/导入服务/ImportExportExtAppService.cs
  3. 3
      src/aspnet-core/src/YoyoBoot.Web.Host/appsettings.json

37
src/aspnet-core/ICS.Application/Business/Service/IcsServiceOrder/IcsServiceOrderAppService.cs

@ -31,6 +31,10 @@ using ICS.Common.Helpers;
using Abp.Domain.Entities;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using Humanizer;
using Abp.Notifications;
using Yoyo.Pro.Users;
using Microsoft.Extensions.DependencyInjection;
using Abp;
namespace ICS.Application.Business.Service
{
/// <summary>
@ -57,6 +61,8 @@ namespace ICS.Application.Business.Service
private readonly IRepository<SysLabelRule, long> _sysLabelRuleRepository;
private readonly IRepository<SysEnumValue, long> _enumValueRepository;
private readonly IRepository<VwQuerySysEnumValueList, long> _enumKeyValueListRepository;
protected readonly IRepository<User, string> _userRepository;
private readonly INotificationPublisher _notiticationPublisher;
/// <summary>
/// 构造函数
/// </summary>
@ -75,6 +81,8 @@ namespace ICS.Application.Business.Service
, IRepository<IcsProduct, long> productRepository
, IRepository<IcsSystemFiled, long> systemFiledRepository
, IRepository<IcsSystemModule, long> systemModuleRepository
, INotificationPublisher notiticationPublisher
, IServiceProvider serviceProvider
, IRepository<IcsServiceOrder, long> repository)
{
_icsServiceOrderManager = icsServiceOrderManager;
@ -93,6 +101,8 @@ namespace ICS.Application.Business.Service
_productRepository = productRepository;
_systemFiledRepository = systemFiledRepository;
_systemModuleRepository = systemModuleRepository;
_notiticationPublisher = notiticationPublisher;
_userRepository = serviceProvider.GetRequiredService<IRepository<User, string>>();
}
[AbpAuthorize(IcsServiceOrderPermissions.IcsServiceOrder_Query)]
@ -899,6 +909,23 @@ namespace ICS.Application.Business.Service
entity.Status = ServiceOrderOperateEnum.HasAccept.ToString();
await _repository.UpdateAsync(entity);
//var conId = _userRepository.GetAll().AsNoTracking().FirstOrDefault(x => x.Surname + x.Name == input.Parameter3);
//if(conId == null)
//{
// throw new UserFriendlyException(L("NoExistsCurrentCode", "服务单受理人不存在"));
//}
//var msg = new MessageNotificationData(log.LogContent);
//await _notiticationPublisher.PublishAsync(
// "SentFrendshipRequest",
// msg,
// null,
// NotificationSeverity.Info,
// //new Abp.UserIdentifier[] { new UserIdentifier("7d3b344cafdfad5d6cf23a0b35da4784", conId.Id) },
// null,
// null, null, null);
}
@ -1398,6 +1425,16 @@ namespace ICS.Application.Business.Service
entity.Status = ServiceOrderOperateEnum.Answer.ToString();
await _repository.UpdateAsync(entity);
//var msg = new MessageNotificationData(log.LogContent);
//await _notiticationPublisher.PublishAsync(
// "SentFrendshipRequest",
// msg,
// null,
// NotificationSeverity.Info,
// new Abp.UserIdentifier[] { new Abp.UserIdentifier(AbpSession.TenantId, "a3e442823d35c2c4c9713a0fe45242dc") },
// null, null, null);
}
/// <summary>

88
src/aspnet-core/ICS.Application/Business/Service/导入服务/ImportExportExtAppService.cs

@ -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();

3
src/aspnet-core/src/YoyoBoot.Web.Host/appsettings.json

@ -1,6 +1,7 @@
{
"ConnectionStrings": {
"Default": "server=192.168.1.155; Database=IcsAbp4ServiceCenter; User ID=sa; Password=aA123456;MultipleActiveResultSets=True"
//"Default": "server=192.168.1.155; Database=IcsAbp4ServiceCenter; User ID=sa; Password=aA123456;MultipleActiveResultSets=True"
"Default": "server=119.3.29.177; Database=IcsAbp4ServiceCenter; User ID=sa; Password=EYuX1bqSi^fIBWDX;MultipleActiveResultSets=True"
},
"App": {
"AdminServerRootAddress": "http://localhost:6298/",

Loading…
Cancel
Save