TANG JIANG 1 year ago
parent
commit
d89871af76

+ 61 - 170
src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

@@ -9,6 +9,7 @@ using Sharing.Application;
 using Sharing.Notifications.HuiJu;
 using Sharing.Notifications.Knowledge;
 using Sharing.Notifications.XieTong;
+using Sharing.Province.Dtos.Extend;
 using Sharing.Province.Dtos.HuiJu.Send;
 using Sharing.Province.Dtos.XieTong.Send;
 using Sharing.Province.Extend;
@@ -52,18 +53,6 @@ namespace Sharing.Api.Controllers
         private readonly ISendRealTimeStatusRepository _sendRealTimeStatusRepository;
         private readonly IScreenCaseInfoSendRepository _screenCaseInfoSendRepository;
         private readonly IZMHDCaseInfoPublicRepository _zMHDCaseInfoPublicRepository;
-        private readonly IReceiveCaseExtendsRepository _receiveCaseExtendsRepository;
-        private readonly IFormEnvironMentRepository _formEnvironMentRepository;
-        private readonly IFormTrafficRepository _formTrafficRepository;
-        private readonly IFormExpressWayRepository _formExpressWayRepository;
-        private readonly IFormMedicalRepository _formMedicalRepository;
-        private readonly IFormNetWorktecRepository _formNetWorktecRepository;
-        private readonly IFormPostRepository _formPostRepository;
-        private readonly IFormReturnexChangeRepository _formReturnexChangeRepository;
-        private readonly IFormShamPubRepository _formShamPubRepository;
-        private readonly IFormTaxationComplaintRepository _formTaxationComplaintRepository;
-        private readonly IFormTaxationConsultingRepository _formTaxationConsultingRepository;
-        private readonly IFormMarketRepository _formMarketRepository;
         private readonly IProvinceService _provinceService;
         private readonly IConfiguration _config;
         private readonly string AreaCode = "";
@@ -99,18 +88,6 @@ namespace Sharing.Api.Controllers
         /// <param name="sendRealTimeStatusRepository"></param>
         /// <param name="screenCaseInfoSendRepository"></param>
         /// <param name="zMHDCaseInfoPublicRepository"></param>
-        /// <param name="receiveCaseExtendsRepository"></param>
-        /// <param name="formEnvironMentRepository"></param>
-        /// <param name="formTaxationConsultingRepository"></param>
-        /// <param name="formTrafficRepository"></param>
-        /// <param name="formExpressWayRepository"></param>
-        /// <param name="formMedicalRepository"></param>
-        /// <param name="formNetWorktecRepository"></param>
-        /// <param name="formPostRepository"></param>
-        /// <param name="formReturnexChangeRepository"></param>
-        /// <param name="formShamPubRepository"></param>
-        /// <param name="formTaxationComplaintRepository"></param>
-        /// <param name="formMarketRepository"></param>
         /// <param name="provinceService"></param>
         /// <param name="config"></param>
         /// <param name="knowledgeRawDataRepository"></param>
@@ -127,13 +104,7 @@ namespace Sharing.Api.Controllers
             , IRemindCaseInfoRepository remindCaseInfoRepository, IGetKnowledgeInfoSendRepository getKnowledgeInfoSendRepository
             , IGetKnowledgeInfoUpdateRepository getKnowledgeInfoUpdateRepository, IGetKnowledgeInfoAbandonRepository getKnowledgeInfoAbandonRepository
             , ISendRealTimeStatusRepository sendRealTimeStatusRepository, IScreenCaseInfoSendRepository screenCaseInfoSendRepository
-            , IZMHDCaseInfoPublicRepository zMHDCaseInfoPublicRepository, IReceiveCaseExtendsRepository receiveCaseExtendsRepository
-            , IFormEnvironMentRepository formEnvironMentRepository, IFormTaxationConsultingRepository formTaxationConsultingRepository
-            , IFormTrafficRepository formTrafficRepository, IFormExpressWayRepository formExpressWayRepository
-            , IFormMedicalRepository formMedicalRepository, IFormNetWorktecRepository formNetWorktecRepository
-            , IFormPostRepository formPostRepository, IFormReturnexChangeRepository formReturnexChangeRepository
-            , IFormShamPubRepository formShamPubRepository, IFormTaxationComplaintRepository formTaxationComplaintRepository
-            , IFormMarketRepository formMarketRepository, IProvinceService provinceService, IConfiguration config
+            , IZMHDCaseInfoPublicRepository zMHDCaseInfoPublicRepository, IProvinceService provinceService, IConfiguration config
             , IKnowledgeRawDataRepository knowledgeRawDataRepository, IWaitingPushDataRepository waitingPushDataRepository)
         {
             _mediator = mediator;
@@ -162,18 +133,7 @@ namespace Sharing.Api.Controllers
             _sendRealTimeStatusRepository = sendRealTimeStatusRepository;
             _screenCaseInfoSendRepository = screenCaseInfoSendRepository;
             _zMHDCaseInfoPublicRepository = zMHDCaseInfoPublicRepository;
-            _receiveCaseExtendsRepository = receiveCaseExtendsRepository;
-            _formEnvironMentRepository = formEnvironMentRepository;
-            _formTrafficRepository = formTrafficRepository;
-            _formExpressWayRepository = formExpressWayRepository;
-            _formMedicalRepository = formMedicalRepository;
-            _formNetWorktecRepository = formNetWorktecRepository;
-            _formPostRepository = formPostRepository;
-            _formReturnexChangeRepository = formReturnexChangeRepository;
-            _formShamPubRepository = formShamPubRepository;
-            _formTaxationComplaintRepository = formTaxationComplaintRepository;
-            _formTaxationConsultingRepository = formTaxationConsultingRepository;
-            _formMarketRepository = formMarketRepository;
+
             _provinceService = provinceService;
             _config = config;
             AreaCode = _config.GetSection("AreaCode").Get<string>();//获取区域配置信息
@@ -184,7 +144,7 @@ namespace Sharing.Api.Controllers
 
         #region 协同-第一批次
         /// <summary>
-        /// 服务工单交办处理 
+        /// 服务工单交办处理结果  ---已在汇聚众完成
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -203,7 +163,7 @@ namespace Sharing.Api.Controllers
         }
 
         /// <summary>
-        /// 服务工单交办处理过程  
+        /// 服务工单交办处理过程  ---已在汇聚众完成
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -222,7 +182,7 @@ namespace Sharing.Api.Controllers
         }
 
         /// <summary>
-        /// 服务工单交办评价  
+        /// 服务工单交办评价    ---已在汇聚众完成
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -367,11 +327,18 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowStarted)]
         public async Task OrderFlowStarted(OrderDto dto)
         {
-            //IsProvince 如果是false 则推送服务工单受理
-            if (!dto.IsProvince)
+            //如果不是省上派下来的工单,需要汇聚到省上
+            if (dto.Source != ESource.ProvinceStraight)
             {
                 var submitCaseInfo = await _provinceService.InitData(dto);
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
+
+                //如果是12315市场监管局受理单 推送扩展信息
+                if (dto.OrderType == EOrderType.MarketSupervisionBy12315)
+                {
+                    //推送工单扩展信息
+                    await _provinceService.SubmitCaseExtends(dto);
+                }
             }
         }
 
@@ -384,8 +351,8 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate)]
         public async Task OrderExpiredTimeUpdate(OrderDto dto)
         {
-            //IsProvince 如果是false 则推送服务工单受理
-            if (!dto.IsProvince)
+            //如果不是省上派下来的工单,需要汇聚到省上
+            if (dto.Source != ESource.ProvinceStraight)
             {
                 var submitCaseInfo = await _provinceService.InitData(dto);
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
@@ -401,7 +368,19 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderLevelOneOrgHandled)]
         public async Task SubmitCaseProcess(OrderFlowDto dto)
         {
-            await _provinceService.SubmitCaseProcess(dto);
+            //如果不是省上派下来的工单
+            if (dto.Order.Source != ESource.ProvinceStraight)
+                await _provinceService.SubmitCaseProcess(dto);//本地工单走市州接口
+            else
+            {
+                //省上下来的工单走协同的接口
+                var data = _mapper.Map<GetCaseProcessReceive>(dto);
+                data.TacheName = "70:" + data.DeptName;
+                //将上报信息写入本地库
+                data.Id = await _getCaseProcessReceiveRepository.AddAsync(data);
+                //信息上报
+                await _mediator.Publish(new GetCaseProcessReceiveNotification(data));
+            }
         }
 
         /// <summary>
@@ -413,7 +392,17 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderVisited)]
         public async Task SubmitVisitInfo(PublishVisitDto dto)
         {
-            await _provinceService.SubmitVisitInfo(dto);
+            //如果不是省上派下来的工单
+            if (dto.Order.Source != ESource.ProvinceStraight)
+                await _provinceService.SubmitVisitInfo(dto);
+            else
+            {
+                var data = _mapper.Map<GetVisitInfoReceive>(dto);
+                //将上报信息写入本地库
+                data.Id = await _getVisitInfoReceiveRepository.AddAsync(data);
+                //信息上报
+                await _mediator.Publish(new GetVisitInfoReceiveNotification(data));
+            }
         }
 
         /// <summary>
@@ -425,13 +414,29 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderScreenSuccess)]
         public async Task SubmitOrderScreenSuccess(PublishVisitDto dto)
         {
-            await _provinceService.SubmitVisitInfo(dto);
+            //如果不是省上派下来的工单
+            if (dto.Order.Source != ESource.ProvinceStraight)
+                await _provinceService.SubmitVisitInfo(dto);
+            else
+            {
+                var data = _mapper.Map<GetVisitInfoReceive>(dto);
+                //将上报信息写入本地库
+                data.Id = await _getVisitInfoReceiveRepository.AddAsync(data);
+                //信息上报
+                await _mediator.Publish(new GetVisitInfoReceiveNotification(data));
+            }
         }
 
         #endregion
 
 
 
+
+
+
+
+
+
         /// <summary>
         ///热线工单归档---服务工单结果
         /// </summary>
@@ -447,13 +452,14 @@ namespace Sharing.Api.Controllers
                 //推送工单信息
                 var submitCaseInfo = await _provinceService.InitData(dto.Order);
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
-            }
 
+            }
             //推送服务工单处理信息
             await _provinceService.SubmitCaseProcess(dto);
 
             //推送服务工单结果信息-组装110数据
             await _provinceService.SubmitCaseResult(dto);
+
         }
 
 
@@ -519,122 +525,7 @@ namespace Sharing.Api.Controllers
             await _mediator.Publish(new SubmitCaseTotalNotification(data));
         }
 
-        /// <summary>
-        /// 服务工单拓展信息
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [NonAction]
-        //[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderSubmitCaseExtends)]
-        public async Task SubmitCaseExtends(SubmitCaseExtendsInfo dto)
-        {
-            //扩展主表信息
-            ReceiveCaseExtends receiveCaseExtends = new()
-            {
-                CaseSerial = dto.CaseSerial,
-                FormType = dto.FormType,
-                SyncState = "0",
-                Direction = "1"
-            };
-
-            //将上报信息写入本地库  
-            var id = await _receiveCaseExtendsRepository.AddAsync(receiveCaseExtends);
-
-            //处理扩展信息
-            switch (dto.FormType.ToLower())
-            {
-                case "yl"://医疗表单
-                    //转换数据
-                    var dtoyl = _mapper.Map<FormMedical>(dto.FormMedical);
-                    dtoyl.RCEId = id;
-                    //添加数据
-                    await _formMedicalRepository.AddAsync(dtoyl);
-                    break;
-                case "zwfw"://四川政务服务网技术工单
-                    //转换数据
-                    var dtozwfw = _mapper.Map<FormNetWorktec>(dto.FormNetWorktec);
-                    dtozwfw.RCEId = id;
-                    //添加数据
-                    await _formNetWorktecRepository.AddAsync(dtozwfw);
-                    break;
-                case "th"://电视购物及商铺购买退换货工单
-                    //转换数据
-                    var dtoth = _mapper.Map<FormReturnexChange>(dto.FormReturnexChange);
-                    dtoth.RCEId = id;
-                    //添加数据
-                    await _formReturnexChangeRepository.AddAsync(dtoth);
-                    break;
-                case "gsgl"://高速公路工单
-                    //转换数据
-                    var dtogsgl = _mapper.Map<FormExpressWay>(dto.FormExpressWay);
-                    dtogsgl.RCEId = id;
-                    //添加数据
-                    await _formExpressWayRepository.AddAsync(dtogsgl);
-                    break;
-                case "xjgg"://电视台虚假广告工单
-                    //转换数据
-                    var dtoxjgg = _mapper.Map<FormShamPub>(dto.FormShamPub);
-                    dtoxjgg.RCEId = id;
-                    //添加数据
-                    await _formShamPubRepository.AddAsync(dtoxjgg);
-                    break;
-                case "swfwsq"://12366热线诉求交办
-                    //转换数据
-                    var dtoswfwsq = _mapper.Map<FormTaxationComplaint>(dto.FormTaxationComplaint);
-                    dtoswfwsq.RCEId = id;
-                    //添加数据
-                    await _formTaxationComplaintRepository.AddAsync(dtoswfwsq);
-                    break;
-                case "swfwzx"://12366热线咨询交办
-                    //转换数据
-                    var dtoswfwzx = _mapper.Map<FormTaxationConsulting>(dto.FormTaxationConsulting);
-                    dtoswfwzx.RCEId = id;
-                    //添加数据
-                    await _formTaxationConsultingRepository.AddAsync(dtoswfwzx);
-                    break;
-                case "jtfwjd"://12328服务监督
-                    //转换数据
-                    var dtojtfwjd = _mapper.Map<FormTraffic>(dto.FormTraffic);
-                    dtojtfwjd.RCEId = id;
-                    //添加数据
-                    await _formTrafficRepository.AddAsync(dtojtfwjd);
-                    break;
-                case "yzxf"://邮政业消费者申诉
-                    //转换数据
-                    var dtoyzxf = _mapper.Map<FormPost>(dto.FormPost);
-                    dtoyzxf.RCEId = id;
-                    //添加数据
-                    await _formPostRepository.AddAsync(dtoyzxf);
-                    break;
-                case "hbjb"://环保举报业务
-                    //转换数据
-                    var dtohbjb = _mapper.Map<FormEnvironMent>(dto.FormEnvironMent);
-                    dtohbjb.RCEId = id;
-                    //添加数据
-                    await _formEnvironMentRepository.AddAsync(dtohbjb);
-                    break;
-                case "scjgj"://12315个性化表单
-                    //转换数据
-                    var dtoscjgj = _mapper.Map<FormMarket>(dto.FormMarket);
-                    dtoscjgj.RCEId = id;
-                    //添加数据
-                    await _formMarketRepository.AddAsync(dtoscjgj);
-                    break;
-                default:
-                    break;
-            }
-
-            //组装数据
-            SubmitCaseExtendsInfoId submitCaseExtendsInfoId = new()
-            {
-                Id = id,
-                Info = dto
-            };
-
-            //信息上报
-            //await _mediator.Publish(new SubmitCaseExtendsNotification(Newtonsoft.Json.JsonConvert.SerializeObject(submitCaseExtendsInfoId)));
-            await _mediator.Publish(new SubmitCaseExtendsNotification(System.Text.Json.JsonSerializer.Serialize(submitCaseExtendsInfoId)));
-        }
+       
         #endregion
 
         #region 协同-第三批次

+ 7 - 0
src/Sharing.Api/IProvinceService.cs

@@ -35,5 +35,12 @@ namespace Sharing.Api
         /// <param name="dto"></param>
         /// <returns></returns>
         Task SubmitCaseResult(OrderFlowDto dto);
+
+        /// <summary>
+        /// 服务工单拓展信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        Task SubmitCaseExtends(OrderDto dto);
     }
 }

+ 212 - 4
src/Sharing.Api/ProvinceService.cs

@@ -5,8 +5,13 @@ using Sharing.DaoShu110;
 using Sharing.DaoShu110.Dtos;
 using Sharing.Province.HuiJu.Send;
 using Sharing.Province.Other;
+using Sharing.Province.Dtos.Extend;
+using Sharing.Province.Dtos.HuiJu.Send;
+using Sharing.Province.Extend;
 using Sharing.Share.Enums.DaoShu110;
 using XF.Domain.Dependency;
+using Sharing.Notifications.HuiJu;
+using MediatR;
 
 namespace Sharing.Api
 {
@@ -17,37 +22,83 @@ namespace Sharing.Api
     {
         private readonly ISubmitCaseInfoRepository _submitCaseInfoRepository;
         private readonly IMapper _mapper;
+        private readonly IMediator _mediator;
         private readonly IPoliceSendChainAlarmDsRepository _policeSendChainAlarmDsRepository;
         private readonly ISubmitVisitInfoRepository _submitVisitInfoRepository;
         private readonly IWaitingPushDataRepository _waitingPushDataRepository;
         private readonly ISubmitCaseProcessRepository _submitCaseProcessRepository;
         private readonly IPoliceSendChainDealDsRepository _policeSendChainDealDsRepository;
         private readonly ISubmitCaseResultRepository _submitCaseResultRepository;
+        private readonly IReceiveCaseExtendsRepository _receiveCaseExtendsRepository;
+        private readonly IFormEnvironMentRepository _formEnvironMentRepository;
+        private readonly IFormTrafficRepository _formTrafficRepository;
+        private readonly IFormExpressWayRepository _formExpressWayRepository;
+        private readonly IFormMedicalRepository _formMedicalRepository;
+        private readonly IFormNetWorktecRepository _formNetWorktecRepository;
+        private readonly IFormPostRepository _formPostRepository;
+        private readonly IFormReturnexChangeRepository _formReturnexChangeRepository;
+        private readonly IFormShamPubRepository _formShamPubRepository;
+        private readonly IFormTaxationComplaintRepository _formTaxationComplaintRepository;
+        private readonly IFormTaxationConsultingRepository _formTaxationConsultingRepository;
+        private readonly IFormMarketRepository _formMarketRepository;
 
         /// <summary>
         /// 
         /// </summary>
         /// <param name="submitCaseInfoRepository"></param>
         /// <param name="mapper"></param>
+        /// <param name="mediator"></param>
         /// <param name="policeSendChainAlarmDsRepository"></param>
         /// <param name="submitVisitInfoRepository"></param>
         /// <param name="waitingPushDataRepository"></param>
         /// <param name="submitCaseProcessRepository"></param>
         /// <param name="policeSendChainDealDsRepository"></param>
         /// <param name="submitCaseResultRepository"></param>
-        public ProvinceService(ISubmitCaseInfoRepository submitCaseInfoRepository, IMapper mapper
+        /// <param name="receiveCaseExtendsRepository"></param>
+        /// <param name="formMarketRepository"></param>
+        /// <param name="formEnvironMentRepository"></param>
+        /// <param name="formTaxationConsultingRepository"></param>
+        /// <param name="formTrafficRepository"></param>
+        /// <param name="formExpressWayRepository"></param>
+        /// <param name="formMedicalRepository"></param>
+        /// <param name="formNetWorktecRepository"></param>
+        /// <param name="formPostRepository"></param>
+        /// <param name="formReturnexChangeRepository"></param>
+        /// <param name="formShamPubRepository"></param>
+        /// <param name="formTaxationComplaintRepository"></param>
+        public ProvinceService(ISubmitCaseInfoRepository submitCaseInfoRepository, IMapper mapper, IMediator mediator
             , IPoliceSendChainAlarmDsRepository policeSendChainAlarmDsRepository, ISubmitVisitInfoRepository submitVisitInfoRepository
             , IWaitingPushDataRepository waitingPushDataRepository, ISubmitCaseProcessRepository submitCaseProcessRepository
-            , IPoliceSendChainDealDsRepository policeSendChainDealDsRepository, ISubmitCaseResultRepository submitCaseResultRepository)
+            , IPoliceSendChainDealDsRepository policeSendChainDealDsRepository, ISubmitCaseResultRepository submitCaseResultRepository
+          , IReceiveCaseExtendsRepository receiveCaseExtendsRepository, IFormMarketRepository formMarketRepository
+            , IFormEnvironMentRepository formEnvironMentRepository, IFormTaxationConsultingRepository formTaxationConsultingRepository
+            , IFormTrafficRepository formTrafficRepository, IFormExpressWayRepository formExpressWayRepository
+            , IFormMedicalRepository formMedicalRepository, IFormNetWorktecRepository formNetWorktecRepository
+            , IFormPostRepository formPostRepository, IFormReturnexChangeRepository formReturnexChangeRepository
+            , IFormShamPubRepository formShamPubRepository, IFormTaxationComplaintRepository formTaxationComplaintRepository
+           )
         {
             _submitCaseInfoRepository = submitCaseInfoRepository;
             _mapper = mapper;
+            _mediator = mediator;
             _policeSendChainAlarmDsRepository = policeSendChainAlarmDsRepository;
             _submitVisitInfoRepository = submitVisitInfoRepository;
             _waitingPushDataRepository = waitingPushDataRepository;
             _submitCaseProcessRepository = submitCaseProcessRepository;
             _policeSendChainDealDsRepository = policeSendChainDealDsRepository;
             _submitCaseResultRepository = submitCaseResultRepository;
+            _receiveCaseExtendsRepository = receiveCaseExtendsRepository;
+            _formEnvironMentRepository = formEnvironMentRepository;
+            _formTrafficRepository = formTrafficRepository;
+            _formExpressWayRepository = formExpressWayRepository;
+            _formMedicalRepository = formMedicalRepository;
+            _formNetWorktecRepository = formNetWorktecRepository;
+            _formPostRepository = formPostRepository;
+            _formReturnexChangeRepository = formReturnexChangeRepository;
+            _formShamPubRepository = formShamPubRepository;
+            _formTaxationComplaintRepository = formTaxationComplaintRepository;
+            _formTaxationConsultingRepository = formTaxationConsultingRepository;
+            _formMarketRepository = formMarketRepository;
         }
 
         /// <summary>
@@ -199,7 +250,7 @@ namespace Sharing.Api
             await _waitingPushDataRepository.AddAsync(pushData);
 
             //组装110数据
-            if (dto.Order.IsNo110)
+            if (dto.Order.Source == ESource.Police110)
             {
                 var checkData = await _policeSendChainDealDsRepository.GetAsync(p => p.AlarmReceiptNumber == dto.Order.No110 && p.DisposalType == (int)EDisposalType.Visit);
                 if (checkData == null)
@@ -281,12 +332,169 @@ namespace Sharing.Api
 
             //判断如果是110过来的数据,就组装数据
             //组装110
-            if (true)
+            if (dto.Order.Source == ESource.Police110)
             {
                 await InitPoliceSendChainDealDs(dto);
             }
         }
 
+        /// <summary>
+        /// 服务工单拓展信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task SubmitCaseExtends(OrderDto dto)
+        {
+            //工单类型
+            string formType = "";
+            switch (dto.OrderType)
+            {
+                case EOrderType.Common:
+                    break;
+                case EOrderType.MarketSupervisionBy12315:
+                    formType = "scjgj";
+                    break;
+                default:
+                    break;
+            }
+
+            //扩展主表信息
+            ReceiveCaseExtends receiveCaseExtends = new()
+            {
+                CaseSerial = dto.ToProvinceNo,
+                FormType = formType,
+                SyncState = "0",
+                Direction = "1"
+            };
+
+            //将上报信息写入本地库  
+            var id = await _receiveCaseExtendsRepository.AddAsync(receiveCaseExtends);
+
+            FormMarket dtoscjgj = new();
+            //处理扩展信息
+            switch (formType.ToLower())
+            {
+                case "yl"://医疗表单
+                    //转换数据
+                    var dtoyl = _mapper.Map<FormMedical>(dto);
+                    dtoyl.RCEId = id;
+                    //添加数据
+                    await _formMedicalRepository.AddAsync(dtoyl);
+                    break;
+                case "zwfw"://四川政务服务网技术工单
+                    //转换数据
+                    var dtozwfw = _mapper.Map<FormNetWorktec>(dto);
+                    dtozwfw.RCEId = id;
+                    //添加数据
+                    await _formNetWorktecRepository.AddAsync(dtozwfw);
+                    break;
+                case "th"://电视购物及商铺购买退换货工单
+                    //转换数据
+                    var dtoth = _mapper.Map<FormReturnexChange>(dto);
+                    dtoth.RCEId = id;
+                    //添加数据
+                    await _formReturnexChangeRepository.AddAsync(dtoth);
+                    break;
+                case "gsgl"://高速公路工单
+                    //转换数据
+                    var dtogsgl = _mapper.Map<FormExpressWay>(dto);
+                    dtogsgl.RCEId = id;
+                    //添加数据
+                    await _formExpressWayRepository.AddAsync(dtogsgl);
+                    break;
+                case "xjgg"://电视台虚假广告工单
+                    //转换数据
+                    var dtoxjgg = _mapper.Map<FormShamPub>(dto);
+                    dtoxjgg.RCEId = id;
+                    //添加数据
+                    await _formShamPubRepository.AddAsync(dtoxjgg);
+                    break;
+                case "swfwsq"://12366热线诉求交办
+                    //转换数据
+                    var dtoswfwsq = _mapper.Map<FormTaxationComplaint>(dto);
+                    dtoswfwsq.RCEId = id;
+                    //添加数据
+                    await _formTaxationComplaintRepository.AddAsync(dtoswfwsq);
+                    break;
+                case "swfwzx"://12366热线咨询交办
+                    //转换数据
+                    var dtoswfwzx = _mapper.Map<FormTaxationConsulting>(dto);
+                    dtoswfwzx.RCEId = id;
+                    //添加数据
+                    await _formTaxationConsultingRepository.AddAsync(dtoswfwzx);
+                    break;
+                case "jtfwjd"://12328服务监督
+                    //转换数据
+                    var dtojtfwjd = _mapper.Map<FormTraffic>(dto);
+                    dtojtfwjd.RCEId = id;
+                    //添加数据
+                    await _formTrafficRepository.AddAsync(dtojtfwjd);
+                    break;
+                case "yzxf"://邮政业消费者申诉
+                    //转换数据
+                    var dtoyzxf = _mapper.Map<FormPost>(dto);
+                    dtoyzxf.RCEId = id;
+                    //添加数据
+                    await _formPostRepository.AddAsync(dtoyzxf);
+                    break;
+                case "hbjb"://环保举报业务
+                    //转换数据
+                    var dtohbjb = _mapper.Map<FormEnvironMent>(dto);
+                    dtohbjb.RCEId = id;
+                    //添加数据
+                    await _formEnvironMentRepository.AddAsync(dtohbjb);
+                    break;
+                case "scjgj"://12315个性化表单
+                    //转换数据
+                    switch (dto.AcceptType)
+                    {
+                        case EAcceptType.Consult:
+                            dtoscjgj.Rqsttypy = "10";
+                            break;
+                        case EAcceptType.Report:
+                            dtoscjgj = _mapper.Map<FormMarket>(dto.OrderReport);
+                            dtoscjgj.Rqsttypy = "25";
+                            break;
+                        case EAcceptType.Complain:
+                            dtoscjgj = _mapper.Map<FormMarket>(dto.OrderComplain);
+                            dtoscjgj.Rqsttypy = "20";
+                            break;
+                        default:
+                            break;
+                    }
+
+                    dtoscjgj.HandDepCode = dto.FromProvinceNo;//未找到字段
+                    dtoscjgj.HandDep = dto.FromProvinceNo;//未找到字段
+                    dtoscjgj.Zxgh = dto.AcceptorStaffNo;
+                    dtoscjgj.AccregperId = dto.AcceptorId;
+                    dtoscjgj.AccregperName = dto.AcceptorName;
+                    dtoscjgj.RegTime = Convert.ToDateTime(dto.CreationTime);
+                    dtoscjgj.CmTime = dto.StartTime;
+                    dtoscjgj.RCEId = id;
+                    //添加数据
+                    await _formMarketRepository.AddAsync(dtoscjgj);
+                    break;
+                default:
+                    break;
+            }
+
+            SubmitCaseExtendsInfo submitCaseExtendsInfo = new()
+            {
+                CaseSerial = dto.ToProvinceNo,
+                FormType = formType,
+                FormMarket = _mapper.Map<FormMarketInfo>(dtoscjgj)
+            };
+            //组装数据
+            SubmitCaseExtendsInfoId submitCaseExtendsInfoId = new()
+            {
+                Id = id,
+                Info = submitCaseExtendsInfo
+            };
+
+            //信息上报
+            await _mediator.Publish(new SubmitCaseExtendsNotification(Newtonsoft.Json.JsonConvert.SerializeObject(submitCaseExtendsInfoId)));
+        }
+
         #region 私有方法
 
         #region 组装110数据

+ 172 - 9
src/Sharing.Application/Mappers/MapperConfigs.cs

@@ -1,9 +1,13 @@
 using Hotline.Share.Dtos.Knowledge;
 using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Order;
 using Mapster;
 using Sharing.DaoShu110.Dtos;
+using Sharing.Province.Extend;
 using Sharing.Province.HuiJu.Send;
 using Sharing.Province.XieTong.Knowledge;
+using Sharing.Province.XieTong.Send;
+using System.Collections.Generic;
 
 namespace Sharing.Application.Mappers
 {
@@ -41,39 +45,198 @@ namespace Sharing.Application.Mappers
                 .Map(d => d.CaseIsVisit, x => x.ProcessType == Hotline.Share.Enums.Order.EProcessType.Zhiban ? "0" : "1")
                 .Map(d => d.EventDate, x => x.IncidentTime == null ? null : x.IncidentTime.Value.ToString("yyyy-MM-dd HH:mm:ss"))
                 .Map(d => d.PushType, x => x.PushTypeCode)
-                .Map(d=>d.AreaCode,x=>x.AreaCode)
-               .Map(d=>d.CaseSerial,x=>x.ToProvinceNo)
+                .Map(d => d.AreaCode, x => x.AreaCode)
+               .Map(d => d.CaseSerial, x => x.ToProvinceNo)
               ;
 
             config.ForType<OrderFlowDto, SubmitCaseProcess>()
            .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
             .Map(d => d.DeptName, x => x.WorkflowTrace.OrgName)
-            //.Map(d => d.TacheName, x => x.WorkflowTrace.OrgName)
             .Map(d => d.ProcessTime, x => x.WorkflowTrace.CompleteTime == null ? null : x.WorkflowTrace.CompleteTime.Value.ToString("yyyy-MM-dd HH:mm:ss"))
             .Map(d => d.ProcessName, x => x.WorkflowTrace.UserName)
             .Map(d => d.ProcessNote, x => x.WorkflowTrace.Opinion)
             .Map(d => d.EndAreaCode, x => x.WorkflowTrace.OrgAreaCode)
             .Map(d => d.EndAreaName, x => x.WorkflowTrace.OrgAreaName)
             .Map(d => d.CaseId, x => x.WorkflowTrace.Id)
+            .Map(d => d.AreaCode, x => x.Order.AreaCode)
               ;
 
+            config.ForType<OrderFlowDto, GetCaseProcessReceive>()
+          .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
+           .Map(d => d.DeptName, x => x.WorkflowTrace.OrgName)
+           .Map(d => d.ProcessTime, x => x.WorkflowTrace.CompleteTime == null ? null : x.WorkflowTrace.CompleteTime.Value.ToString("yyyy-MM-dd HH:mm:ss"))
+           .Map(d => d.ProcessName, x => x.WorkflowTrace.UserName)
+           .Map(d => d.ProcessNote, x => x.WorkflowTrace.Opinion)
+           .Map(d => d.EndAreaCode, x => x.WorkflowTrace.OrgAreaCode)
+           .Map(d => d.EndAreaName, x => x.WorkflowTrace.OrgAreaName)
+           .Map(d => d.TrowGuid, x => x.WorkflowTrace.Id)
+            .Map(d => d.AreaCode, x => x.Order.AreaCode)
+             ;
+
+            config.ForType<PublishVisitDto, SubmitVisitInfo>()
+            .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
+            ;
+            config.ForType<PublishVisitDto, GetVisitInfoReceive>()
+            .Map(d => d.CaseSerial, x => x.Order.FromProvinceNo)
+            ;
+
+            //汇聚扩展数据--投诉
+            config.ForType<OrderComplainDto, FormMarket>()
+            .Map(d => d.ApplBasQue, x => x.ComplainClassifyCode)
+            .Map(d => d.ApplBasQueName, x => x.ComplainClassify)
+            .Map(d => d.Zlh, x => x.PatentNo)
+            .Map(d => d.Zlqr, x => x.Patentee)
+            .Map(d => d.Fmmc, x => x.PatentName)
+            .Map(d => d.Zllx, x => x.PatentTypeCode)
+            .Map(d => d.ZllxMc, x => x.PatentType)
+            .Map(d => d.Accsce, x => x.BussinessArea)
+            .Map(d => d.Sfdd, x => x.BussinessAddress)
+            .Map(d => d.ControversyTime, x => x.OccurrenceTime)
+            .Map(d => d.AppealContent, x => String.Join(",", x.ComplainTypes))//未找到字段
+            .Map(d => d.OBType, x => x.ObjectClassifyCode)
+            .Map(d => d.OBTypeName, x => x.ObjectClassify)
+            .Map(d => d.MdseName, x => x.ObjectClassify)
+            .Map(d => d.SaleMode, x => x.SalesModeCode)
+            .Map(d => d.DsptType, x => x.ComplainTargetCode)
+            .Map(d => d.DsptCode, x => x.ECommercePlatformCode)
+            .Map(d => d.DsptName, x => x.ECommercePlatform)
+            .Map(d => d.BrandCode, x => x.BrandCode)
+            .Map(d => d.BrandName, x => x.Brand)
+            .Map(d => d.BIdNo, x => x.ExternalOrderNo)
+            .Map(d => d.InvoAm, x => x.Amount)
+             .Map(d => d.Jtqdtype, x => x.Amount)////未找到字段
+             .Map(d => d.Jtqdname, x => x.Channel)
+             .Map(d => d.ProdName, x => x.ProductName)
+             .Map(d => d.ProdAppNo, x => x.ApprovalNumber)
+             .Map(d => d.ProdPatchNo, x => x.ProductBatchNo)
+             .Map(d => d.ProdTypeSpf, x => x.ProductStandard)
+             .Map(d => d.ProdFty, x => x.Manufacturer)
+             .Map(d => d.ProdSalEnt, x => x.SalesEnterprise)
+             .Map(d => d.ProdValid, x => x.ProductExpiredTime.ToString())
+             .Map(d => d.ProviderAddr, x => x.ConsumerAddress)
+             .Map(d => d.Invopt, x => x.EnterpriseName)
+             .Map(d => d.UBindType, x => x.IndustryClassifyCode)
+             .Map(d => d.UBindTypeName, x => x.IndustryClassify)
+             .Map(d => d.EntType, x => x.MarketTypeCode)
+             .Map(d => d.EntTypeName, x => x.MarketType)
+             .Map(d => d.ReqUnit, x => x.Amount)////未找到字段
+             .Map(d => d.Addr, x => x.RegisterAddress)
+             .Map(d => d.Sjztlxr, x => x.EnterpriseContact)
+             .Map(d => d.Nbxh, x => x.UnifiedSocialCreditCode)
+             .Map(d => d.RegNo, x => x.RegisterNumber)
+             .Map(d => d.CertType, x => x.LicenceTypeCode)
+             .Map(d => d.CertTypeName, x => x.LicenceType)
+             .Map(d => d.CertNo, x => x.LicenceNo)
+             .Map(d => d.ReveType, x => x.IdentityTypeCode)
+             .Map(d => d.ReveTypeName, x => x.IdentityType)
+             .Map(d => d.Nationality, x => x.NationalityCode)
+             .Map(d => d.NationalityName, x => x.Nationality)
+             .Map(d => d.Folk, x => x.NationCode)
+             .Map(d => d.FolkName, x => x.Nation)
+             .Map(d => d.Peride, x => x.IdentityCode)
+             .Map(d => d.PerideName, x => x.Identity)
+             .Map(d => d.ProviderMail, x => x.Email)
+             .Map(d => d.Qtlxfs, x => x.OtherContact)
+            ;
+            //汇聚扩展数据--举报
+            config.ForType<OrderReportDto, FormMarket>()
+            .Map(d => d.ApplBasQue, x => x.ReportClassifyCode)
+            .Map(d => d.ApplBasQueName, x => x.ReportClassify)
+            .Map(d => d.Zlh, x => x.PatentNo)
+            .Map(d => d.Zlqr, x => x.Patentee)
+            .Map(d => d.Fmmc, x => x.PatentName)
+            .Map(d => d.Zllx, x => x.PatentTypeCode)
+            .Map(d => d.ZllxMc, x => x.PatentType)
+            .Map(d => d.OBType, x => x.ObjectClassifyCode)
+            .Map(d => d.OBTypeName, x => x.ObjectClassify)
+            .Map(d => d.MdseName, x => x.ObjectClassify)
+            .Map(d => d.SaleMode, x => x.SalesModeCode)
+            .Map(d => d.DsptType, x => x.ReportTargetCode)
+            .Map(d => d.DsptCode, x => x.ECommercePlatformCode)
+            .Map(d => d.DsptName, x => x.ECommercePlatform)
+            .Map(d => d.BrandCode, x => x.BrandCode)
+            .Map(d => d.BrandName, x => x.Brand)
+            .Map(d => d.BIdNo, x => x.ExternalOrderNo)
+            .Map(d => d.InvoAm, x => x.Amount)
+             .Map(d => d.Jtqdtype, x => x.Amount)////未找到字段
+             .Map(d => d.Jtqdname, x => x.Channel)
+             .Map(d => d.ProdName, x => x.ProductName)
+             .Map(d => d.ProdAppNo, x => x.ApprovalNumber)
+             .Map(d => d.ProdPatchNo, x => x.ProductBatchNo)
+             .Map(d => d.ProdTypeSpf, x => x.ProductStandard)
+             .Map(d => d.ProdFty, x => x.Manufacturer)
+             .Map(d => d.ProdSalEnt, x => x.SalesEnterprise)
+             .Map(d => d.ProdValid, x => x.ProductExpiredTime.ToString())
+             .Map(d => d.ProviderAddr, x => x.ConsumerAddress)
+             .Map(d => d.Invopt, x => x.EnterpriseName)
+             .Map(d => d.UBindType, x => x.IndustryClassifyCode)
+             .Map(d => d.UBindTypeName, x => x.IndustryClassify)
+             .Map(d => d.EntType, x => x.MarketTypeCode)
+             .Map(d => d.EntTypeName, x => x.MarketType)
+             .Map(d => d.ReqUnit, x => x.Amount)////未找到字段
+             .Map(d => d.Addr, x => x.RegisterAddress)
+             .Map(d => d.Sjztlxr, x => x.EnterpriseContact)
+             .Map(d => d.Nbxh, x => x.UnifiedSocialCreditCode)
+             .Map(d => d.RegNo, x => x.RegisterNumber)
+             .Map(d => d.CertType, x => x.LicenceTypeCode)
+             .Map(d => d.CertTypeName, x => x.LicenceType)
+             .Map(d => d.CertNo, x => x.LicenceNo)
+             .Map(d => d.ReveType, x => x.IdentityTypeCode)
+             .Map(d => d.ReveTypeName, x => x.IdentityType)
+             .Map(d => d.Nationality, x => x.NationalityCode)
+             .Map(d => d.NationalityName, x => x.Nationality)
+             .Map(d => d.Folk, x => x.NationCode)
+             .Map(d => d.FolkName, x => x.Nation)
+             .Map(d => d.Peride, x => x.IdentityCode)
+             .Map(d => d.PerideName, x => x.Identity)
+             .Map(d => d.ProviderMail, x => x.Email)
+             .Map(d => d.Qtlxfs, x => x.OtherContact)
+            ;
+
+
+            //以下未完全转换
             config.ForType<OrderFlowDto, SubmitCaseResult>()
            .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
            .Map(d => d.DeptName, x => x.Order.ActualHandleOrgName)
-           .Map(d=>d.FinishTime,x=>x.Order.ActualHandleTime)
+           .Map(d => d.FinishTime, x => x.Order.ActualHandleTime)
            .Map(d => d.FinishName, x => x.Order.ActualHandlerName)
            .Map(d => d.FinishNote, x => x.Order.ActualOpinion)
            .Map(d => d.EndDept, x => x.Order.ActualHandleOrgName)
            .Map(d => d.EndName, x => x.Order.ActualHandlerName)
            .Map(d => d.SendTime, x => x.Order.Workflow.AssignTime == null ? null : x.Order.Workflow.AssignTime.ToString("yyyy-MM-dd HH:mm:ss"))
            .Map(d => d.FdBack, x => x.Order.ActualOpinion)
-           .Map(d=>d.AreaCode,x=>x.Order.AreaCode)
+           .Map(d => d.AreaCode, x => x.Order.AreaCode)
+           .Map(d => d.EndAreaCode, x => x.WorkflowTrace.OrgAreaCode)
+           .Map(d => d.EndAreaName, x => x.WorkflowTrace.OrgAreaName)
+
+           .Map(d => d.SignTimeBf, x => x.Order.StartTime)
+            .Map(d => d.SignTime, x => x.Order.StartTime)
+             .Map(d => d.FdBackTimeBf, x => x.Order.StartTime)
+              .Map(d => d.FdBackTime, x => x.Order.StartTime)
              ;
 
-            config.ForType<PublishVisitDto, SubmitVisitInfo>()
-  .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
-  ;
-            
+            config.ForType<OrderFlowDto, GetCaseResultReceive>()
+          .Map(d => d.CaseSerial, x => x.Order.ToProvinceNo)
+          .Map(d => d.DeptName, x => x.Order.ActualHandleOrgName)
+          .Map(d => d.FinishTime, x => x.Order.ActualHandleTime)
+          .Map(d => d.FinishName, x => x.Order.ActualHandlerName)
+          .Map(d => d.FinishNote, x => x.Order.ActualOpinion)
+          .Map(d => d.EndDept, x => x.Order.ActualHandleOrgName)
+          .Map(d => d.EndName, x => x.Order.ActualHandlerName)
+          .Map(d => d.SendTime, x => x.Order.Workflow.AssignTime == null ? null : x.Order.Workflow.AssignTime.ToString("yyyy-MM-dd HH:mm:ss"))
+          .Map(d => d.FdBack, x => x.Order.ActualOpinion)
+          .Map(d => d.AreaCode, x => x.Order.AreaCode)
+          .Map(d => d.EndAreaCode, x => x.WorkflowTrace.OrgAreaCode)
+          .Map(d => d.EndAreaName, x => x.WorkflowTrace.OrgAreaName)
+
+            //.Map(d => d.SignTimeBf, x => x.Order.StartTime)
+            // .Map(d => d.SignTime, x => x.Order.StartTime)
+            //  .Map(d => d.FdBackTimeBf, x => x.Order.StartTime)
+            //   .Map(d => d.FdBackTime, x => x.Order.StartTime)
+            ;
+
+
         }
+
     }
 }

+ 7 - 7
src/Sharing/Province/Extend/FormMarket.cs

@@ -23,15 +23,15 @@ namespace Sharing.Province.Extend
         public string Rqsttypy { get; set; }
 
         /// <summary>
-        /// 投诉问题类别
+        /// 投诉、举报问题类别
         /// </summary>
-        [SugarColumn(ColumnDescription = "投诉问题类别", ColumnDataType = "varchar(20)")]
+        [SugarColumn(ColumnDescription = "投诉、举报问题类别", ColumnDataType = "varchar(20)")]
         public string ApplBasQue { get; set; }
 
         /// <summary>
-        /// 投诉问题类别名称
+        /// 投诉、举报问题类别名称
         /// </summary>
-        [SugarColumn(ColumnDescription = "投诉问题类别名称", ColumnDataType = "varchar(400)")]
+        [SugarColumn(ColumnDescription = "投诉、举报问题类别名称", ColumnDataType = "varchar(400)")]
         public string ApplBasQueName { get; set; }
 
         /// <summary>
@@ -43,7 +43,7 @@ namespace Sharing.Province.Extend
         /// <summary>
         /// 专利权人
         /// </summary>
-        [SugarColumn(ColumnDescription = "专利", ColumnDataType = "varchar(50)", IsNullable = true)]
+        [SugarColumn(ColumnDescription = "专利权人", ColumnDataType = "varchar(50)", IsNullable = true)]
         public string Zlqr { get; set; }
 
         /// <summary>
@@ -155,9 +155,9 @@ namespace Sharing.Province.Extend
         public string SaleMode { get; set; }
 
         /// <summary>
-        /// 投诉目标:网购时必填项选择【1:投诉电商平台2:投诉电商平台入驻商户】
+        /// 投诉、举报目标:网购时必填项选择【1:投诉电商平台2:投诉电商平台入驻商户】
         /// </summary>
-        [SugarColumn(ColumnDescription = "投诉目标", ColumnDataType = "varchar(2)", IsNullable = true)]
+        [SugarColumn(ColumnDescription = "投诉、举报目标", ColumnDataType = "varchar(2)", IsNullable = true)]
         public string DsptType { get; set; }
 
         /// <summary>

+ 1 - 1
src/Sharing/Province/HuiJu/Send/SubmitCaseResult.cs

@@ -85,7 +85,7 @@ namespace Sharing.Province.HuiJu.Send
         /// 应反馈时间
         /// </summary>
         [SugarColumn(ColumnDescription = "应反馈时间")]
-        public DateTime? FdBackTime_Bf { get; set; }
+        public DateTime? FdBackTimeBf { get; set; }
 
         /// <summary>
         /// 反馈时间

+ 2 - 2
src/Sharing/Province/XieTong/Send/GetCaseProcessReceive.cs

@@ -44,13 +44,13 @@ namespace Sharing.Province.XieTong.Send
         /// 办理部门所在区、市、县行政区划代码
         /// </summary>
         [SugarColumn(ColumnDescription = "办理部门所在区、市、县行政区划代码", ColumnDataType = "varchar(24)")]
-        public string EndAreacode { get; set; }
+        public string EndAreaCode { get; set; }
 
         /// <summary>
         /// 办理部门所在区、市、县行政区划名称
         /// </summary>
         [SugarColumn(ColumnDescription = "办理部门所在区、市、县行政区划名称", ColumnDataType = "varchar(24)")]
-        public string EndAreaname { get; set; }
+        public string EndAreaName { get; set; }
 
         /// <summary>
         /// 任务关联单 guid