TANG JIANG 1 рік тому
батько
коміт
2871d4455d

+ 62 - 73
src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

@@ -52,6 +52,7 @@ namespace Sharing.Api.Controllers
         private readonly IRepository<KnowledgeRawData> _knowledgeRawDataRepository;
         private readonly IChannelConfigurationManager _channelConfigurationManager;
         private readonly IDataOrderRepository _dataOrderRepository;
+        private readonly IRepository<DataOrderWorkFlow> _dataOrderWorkFlowRepository;
 
         /// <summary>
         /// 
@@ -82,6 +83,7 @@ namespace Sharing.Api.Controllers
         /// <param name="knowledgeRawDataRepository"></param>
         /// <param name="channelConfigurationManager"></param>
         /// <param name="dataOrderRepository"></param>
+        /// <param name="dataOrderWorkFlowRepository"></param>
         public HotlineMessageReceiveController(IMediator mediator,
           ILogger<HotlineMsgReceiver> logger,
           IMapper mapper,
@@ -107,7 +109,8 @@ namespace Sharing.Api.Controllers
           IProvinceService provinceService,
           IRepository<KnowledgeRawData> knowledgeRawDataRepository,
           IChannelConfigurationManager channelConfigurationManager,
-          IDataOrderRepository dataOrderRepository)
+          IDataOrderRepository dataOrderRepository,
+          IRepository<DataOrderWorkFlow> dataOrderWorkFlowRepository)
         {
             _mediator = mediator;
             _logger = logger;
@@ -135,6 +138,7 @@ namespace Sharing.Api.Controllers
             _knowledgeRawDataRepository = knowledgeRawDataRepository;
             _channelConfigurationManager = channelConfigurationManager;
             _dataOrderRepository = dataOrderRepository;
+            _dataOrderWorkFlowRepository = dataOrderWorkFlowRepository;
         }
         #endregion
 
@@ -248,7 +252,7 @@ namespace Sharing.Api.Controllers
         public async Task SendSuperviseProcessInfo(PublishSuperviseDto dto)
         {
             //工单是省上派下来的,才能进行督办回复
-            if (dto.Order.Source == ESource.ProvinceStraight)
+            if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
                 var data = _mapper.Map<SendSuperviseProcessInfo>(dto);
                 //将上报信息写入本地库
@@ -269,7 +273,7 @@ namespace Sharing.Api.Controllers
         public async Task SendSuperviseResultInfo(PublishSuperviseDto dto)
         {
             //工单是省上派下来的,才能进行督办回复
-            if (dto.Order.Source == ESource.ProvinceStraight)
+            if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
                 var data = _mapper.Map<SendSuperviseResultInfo>(dto);
 
@@ -291,7 +295,7 @@ namespace Sharing.Api.Controllers
         public async Task ScreenCaseInfoSend(PublishScreenDto dto)
         {
             //如果是省上派下来的工单,才能调发起甄别的接口
-            if (dto.Order.Source == ESource.ProvinceStraight)
+            if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
                 var data = _mapper.Map<ScreenCaseInfoSend>(dto);
                 data.ApplyType = dto.Screen.TypeDicName switch
@@ -342,7 +346,7 @@ namespace Sharing.Api.Controllers
         public async Task OrderFlowStarted(OrderDto dto)
         {
             //如果不是省上派下来的工单,需要汇聚到省上
-            if (dto.Source != ESource.ProvinceStraight)
+            if (!dto.IsProvince)
             {
                 var submitCaseInfo = await _provinceService.InitData(dto);
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
@@ -361,21 +365,21 @@ namespace Sharing.Api.Controllers
                         SyncInterval = 0,
                         IsTimelyUpload = true,
                         CaseSource = dto.SourceChannel,
-                        CaseSourceCode=dto.SourceChannelCode,
+                        CaseSourceCode = dto.SourceChannelCode,
                         ExpiredTime = submitCaseInfo.TfdBackTimeBf,
                         CaseType = submitCaseInfo.CaseType,
                         CaseTypeCode = dto.AcceptTypeCode,
                         AllDuration = 0,
                         IsProvince = false,
                         HandleState = "办理中",
-                        Title= dto.Title,
-                        FromName=dto.FromName,
-                        Contact=dto.Contact,
-                        Content=dto.Content,
-                        HotspotId=dto.HotspotId,
-                        HotspotName=dto.HotspotName,
-                        HotspotSpliceName=dto.HotspotSpliceName,
-                        Source=dto.Source.ToString()
+                        Title = dto.Title,
+                        FromName = dto.FromName,
+                        Contact = dto.Contact,
+                        Content = dto.Content,
+                        HotspotId = dto.HotspotId,
+                        HotspotName = dto.HotspotName,
+                        HotspotSpliceName = dto.HotspotSpliceName,
+                        Source = dto.Source.ToString()
                     };
                     await _dataOrderRepository.AddAsync(dataOrder);
                 }
@@ -393,10 +397,8 @@ namespace Sharing.Api.Controllers
             }
         }
 
-        ///派单的时候,需要确定往哪里推,需要一个事件
-
         /// <summary>
-        ///撤回-- 热线工单期满时间变更--服务工单受理
+        ///热线工单期满时间变更--推送服务工单受理
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -405,7 +407,7 @@ namespace Sharing.Api.Controllers
         public async Task HotlineOrderFlowRecalled(OrderDto dto)
         {
             //如果不是省上派下来的工单,需要汇聚到省上
-            if (dto.Source != ESource.ProvinceStraight)
+            if (!dto.IsProvince)
             {
                 var submitCaseInfo = await _provinceService.InitData(dto);
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
@@ -413,36 +415,7 @@ namespace Sharing.Api.Controllers
         }
 
         /// <summary>
-        /// 退回--热线工单期满时间变更--服务工单受理
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [NonAction]
-        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowPrevious)]
-        public async Task HotlineOrderFlowPrevious(OrderDto dto)
-        {
-            //如果不是省上派下来的工单,需要汇聚到省上
-            if (dto.Source != ESource.ProvinceStraight)
-            {
-                var submitCaseInfo = await _provinceService.InitData(dto);
-                await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
-            }
-        }
-
-        /// <summary>
-        /// 派单是判断是否需要往第三方推送数据
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>  
-        [NonAction]
-        //  [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate)]
-        public async Task OrderDispatch(OrderFlowDto dto)
-        {
-            await _provinceService.OrderDispatch(dto);
-        }
-
-        /// <summary>
-        /// 热线工单办理---服务工单处理--缺少附件
+        /// 热线工单办理---服务工单处理/服务工单交办处理过程--缺少附件
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -458,27 +431,42 @@ namespace Sharing.Api.Controllers
                     dto.Order.ActualHandleOrgName = "热线中心";
                 }
             }
-            //如果不是省上派下来的工单
-            if (dto.Order.Source != ESource.ProvinceStraight)
-                await _provinceService.SubmitCaseProcess(dto);//本地工单走市州接口
-            else
+
+            //写本地办理数据-用于查询办理流程
+            var orderWorkFlow = _mapper.Map<DataOrderWorkFlow>(dto);
+            await _dataOrderWorkFlowRepository.AddAsync(orderWorkFlow);
+
+            //省上下来的工单走协同的接口
+            if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
-                //省上下来的工单走协同的接口
+
                 var data = _mapper.Map<GetCaseProcessReceive>(dto);
                 data.TacheName = "70:" + data.DeptName;
                 //将上报信息写入本地库
                 data.Id = await _getCaseProcessReceiveRepository.AddAsync(data);
                 //信息上报
                 await _mediator.Publish(new GetCaseProcessReceiveNotification(data));
+
+            }
+            else  //如果不是省上派下来的工单
+            {
+                //期满时间变更,重新推送数据
+                if (dto.ExpiredTimeChanged)
+                {
+                    var submitCaseInfo = await _provinceService.InitData(dto.Order);
+                    await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
+                }
+
+                //推送办理记录
+                await _provinceService.SubmitCaseProcess(dto);//本地工单走市州接口
             }
 
             //这里判断是否需要往其他平台推送数据
             await _provinceService.OrderDispatch(dto);
-
         }
 
         /// <summary>
-        /// 回访完成---服务工单回访评价
+        /// 回访完成---服务工单回访评价/服务工单交办评价
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -486,11 +474,8 @@ namespace Sharing.Api.Controllers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderVisited)]
         public async Task SubmitVisitInfo(PublishVisitDto dto)
         {
-          //  dto.Order.ProvinceNo = dto.Order.No;
-            //如果不是省上派下来的工单,走服务工单评价接口,是省上下来的工单走服务工单交办评价接口
-            if (dto.Order.Source != ESource.ProvinceStraight && dto.Order.IsProvince == false)
-                await _provinceService.SubmitVisitInfo(dto);
-            else
+            //如果省上下来的工单走服务工单交办评价接口,不是省上派下来的工单,走服务工单评价接口
+            if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
             {
                 var data = _mapper.Map<GetVisitInfoReceive>(dto);
                 switch (dto.VisitType)
@@ -521,22 +506,22 @@ namespace Sharing.Api.Controllers
                 //处理附件
                 await _provinceService.FileData(new List<Hotline.Share.Dtos.File.FileDto>(), data.CaseSerial, data.CliengGuid, data.AreaCode);
             }
+            else
+                await _provinceService.SubmitVisitInfo(dto);
 
         }
 
         /// <summary>
-        /// 甄别通过---服务工单回访评价
+        /// 甄别通过---服务工单回访评价//服务工单交办评价
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
         [NonAction]
-       // [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderScreenApplyed)]
+        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderScreenApplyed)]
         public async Task SubmitOrderScreenSuccess(PublishVisitDto dto)
         {
-            //如果不是省上派下来的工单,走服务工单评价接口,是省上下来的工单走服务工单交办评价接口(除开政民互动直派)
-            if (dto.Order.Source != ESource.ProvinceStraight && dto.Order.IsProvince == false)
-                await _provinceService.SubmitVisitInfo(dto);
-            else
+            //如果省上下来的工单走服务工单交办评价接口,不是省上派下来的工单,走服务工单评价接口
+            if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
             {
                 var data = _mapper.Map<GetVisitInfoReceive>(dto);
                 switch (dto.VisitType)
@@ -560,17 +545,20 @@ namespace Sharing.Api.Controllers
                         break;
                 }
                 data.CliengGuid = Guid.NewGuid().ToString();
-                //将上报信息写入本地库
+                //将上报信息写入本地库 
                 data.Id = await _getVisitInfoReceiveRepository.AddAsync(data);
                 //信息上报
                 await _mediator.Publish(new GetVisitInfoReceiveNotification(data));
                 //处理附件
                 await _provinceService.FileData(new List<Hotline.Share.Dtos.File.FileDto>(), data.CaseSerial, data.CliengGuid, data.AreaCode);
             }
+            else
+                await _provinceService.SubmitVisitInfo(dto);
+
         }
 
         /// <summary>
-        ///热线工单归档---服务工单结果--缺少附件
+        ///热线工单归档---服务工单结果/服务工单交办处理结果--缺少附件
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
@@ -594,19 +582,20 @@ namespace Sharing.Api.Controllers
                 await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
 
             }
-            //推送服务工单处理信息
-            await _provinceService.SubmitCaseProcess(dto);
+            ////推送服务工单处理信息
+            //await _provinceService.SubmitCaseProcess(dto);
 
             //推送服务工单结果信息-组装110数据
             await _provinceService.SubmitCaseResult(dto);
 
+            //修改本地工单数据
             var data = await _dataOrderRepository.GetAsync(p => p.OrderId == dto.Order.Id);
             if (data != null)
             {
                 data.HandleState = "办理完成";
-                data.ActualHandleOrgName = dto.Order.ActualHandleOrgName;
-                data.ActualHandleOrgCode= dto.Order.ActualHandleOrgCode;
-                data.ActualOpinion = dto.Order.ActualOpinion;
+                data.ActualHandleOrgName = dto.WorkflowTrace.HandlerOrgName;
+                data.ActualHandleOrgCode = dto.WorkflowTrace.HandlerOrgAreaCode;
+                data.ActualOpinion = dto.WorkflowTrace.Opinion;
                 await _dataOrderRepository.UpdateAsync(data);
             }
 

+ 47 - 45
src/Sharing.Api/ProvinceService.cs

@@ -9,6 +9,7 @@ using Sharing.Notifications.DataExchange;
 using Sharing.Notifications.Enterprise;
 using Sharing.Notifications.HuiJu;
 using Sharing.Notifications.XieTong;
+using Sharing.Orders;
 using Sharing.Province.Dtos.Extend;
 using Sharing.Province.Dtos.HuiJu.Send;
 using Sharing.Province.Extend;
@@ -69,9 +70,7 @@ namespace Sharing.Api
         /// <param name="policeSendChainDealDsRepository"></param>
         /// <param name="submitCaseResultRepository"></param>
         /// <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>
@@ -80,6 +79,8 @@ namespace Sharing.Api
         /// <param name="formReturnexChangeRepository"></param>
         /// <param name="formShamPubRepository"></param>
         /// <param name="formTaxationComplaintRepository"></param>
+        /// <param name="formTaxationConsultingRepository"></param>
+        /// <param name="formMarketRepository"></param>
         /// <param name="dataWorkOrderSendRepository"></param>
         /// <param name="cityDataSendRepository"></param>
         /// <param name="sendCaseInfoRepository"></param>
@@ -243,8 +244,6 @@ namespace Sharing.Api
             }
             #endregion
 
-            //写本地办理数据
-
         }
 
         /// <summary>
@@ -392,18 +391,13 @@ namespace Sharing.Api
         /// <returns></returns>
         public async Task SubmitCaseExtends(OrderDto dto)
         {
+            var orderExtension = dto.OrderExtension;
+            if (orderExtension is null)
+                return;
+
+
             //工单类型
-            string formType = "";
-            switch (dto.OrderType)
-            {
-                case EOrderType.Common:
-                    break;
-                case EOrderType.MarketSupervisionBy12315:
-                    formType = "scjgj";
-                    break;
-                default:
-                    break;
-            }
+            string formType = orderExtension.OrderTypeCode;
 
             //扩展主表信息
             ReceiveCaseExtends receiveCaseExtends = new()
@@ -417,103 +411,116 @@ namespace Sharing.Api
             //将上报信息写入本地库  
             var id = await _receiveCaseExtendsRepository.AddAsync(receiveCaseExtends);
 
-            FormMarket dtoscjgj = new();
+            //处理为统一的市场监管表单
+            if (formType == "scjgjts" || formType == "scjgjjb")
+                formType = "scjgj";
+
+            SubmitCaseExtendsInfo submitCaseExtendsInfo = new()
+            {
+                CaseSerial = dto.ProvinceNo,
+                FormType = formType
+            };
+
             //处理扩展信息
             switch (formType.ToLower())
             {
                 case "yl"://医疗表单
                     //转换数据
-                    var dtoyl = _mapper.Map<FormMedical>(dto);
+                    var dtoyl = _mapper.Map<FormMedical>(orderExtension);
                     dtoyl.RCEId = id;
                     //添加数据
                     await _formMedicalRepository.AddAsync(dtoyl);
+                    submitCaseExtendsInfo.FormMedical = _mapper.Map<FormMedicalInfo>(dtoyl);
                     break;
                 case "zwfw"://四川政务服务网技术工单
                     //转换数据
-                    var dtozwfw = _mapper.Map<FormNetWorktec>(dto);
+                    var dtozwfw = _mapper.Map<FormNetWorktec>(orderExtension);
                     dtozwfw.RCEId = id;
                     //添加数据
                     await _formNetWorktecRepository.AddAsync(dtozwfw);
+                    submitCaseExtendsInfo.FormNetWorktec = _mapper.Map<FormNetWorktecInfo>(dtozwfw);
                     break;
                 case "th"://电视购物及商铺购买退换货工单
                     //转换数据
-                    var dtoth = _mapper.Map<FormReturnexChange>(dto);
+                    var dtoth = _mapper.Map<FormReturnexChange>(orderExtension);
                     dtoth.RCEId = id;
                     //添加数据
                     await _formReturnexChangeRepository.AddAsync(dtoth);
+                    submitCaseExtendsInfo.FormReturnexChange = _mapper.Map<FormReturnexChangeInfo>(dtoth);
                     break;
                 case "gsgl"://高速公路工单
                     //转换数据
-                    var dtogsgl = _mapper.Map<FormExpressWay>(dto);
+                    var dtogsgl = _mapper.Map<FormExpressWay>(orderExtension);
                     dtogsgl.RCEId = id;
                     //添加数据
                     await _formExpressWayRepository.AddAsync(dtogsgl);
+                    submitCaseExtendsInfo.FormExpressWay = _mapper.Map<FormExpressWayInfo>(dtogsgl);
                     break;
                 case "xjgg"://电视台虚假广告工单
                     //转换数据
-                    var dtoxjgg = _mapper.Map<FormShamPub>(dto);
+                    var dtoxjgg = _mapper.Map<FormShamPub>(orderExtension);
                     dtoxjgg.RCEId = id;
                     //添加数据
                     await _formShamPubRepository.AddAsync(dtoxjgg);
+                    submitCaseExtendsInfo.FormShamPub = _mapper.Map<FormShamPubInfo>(dtoxjgg);
                     break;
                 case "swfwsq"://12366热线诉求交办
                     //转换数据
-                    var dtoswfwsq = _mapper.Map<FormTaxationComplaint>(dto);
+                    var dtoswfwsq = _mapper.Map<FormTaxationComplaint>(orderExtension);
                     dtoswfwsq.RCEId = id;
                     //添加数据
                     await _formTaxationComplaintRepository.AddAsync(dtoswfwsq);
+                    submitCaseExtendsInfo.FormTaxationComplaint = _mapper.Map<FormTaxationComplaintInfo>(dtoswfwsq);
                     break;
                 case "swfwzx"://12366热线咨询交办
                     //转换数据
-                    var dtoswfwzx = _mapper.Map<FormTaxationConsulting>(dto);
+                    var dtoswfwzx = _mapper.Map<FormTaxationConsulting>(orderExtension);
                     dtoswfwzx.RCEId = id;
                     //添加数据
                     await _formTaxationConsultingRepository.AddAsync(dtoswfwzx);
+                    submitCaseExtendsInfo.FormTaxationConsulting = _mapper.Map<FormTaxationConsultingInfo>(dtoswfwzx);
                     break;
                 case "jtfwjd"://12328服务监督
                     //转换数据
-                    var dtojtfwjd = _mapper.Map<FormTraffic>(dto);
+                    var dtojtfwjd = _mapper.Map<FormTraffic>(orderExtension);
                     dtojtfwjd.RCEId = id;
                     //添加数据
                     await _formTrafficRepository.AddAsync(dtojtfwjd);
+                    submitCaseExtendsInfo.FormTraffic = _mapper.Map<FormTrafficInfo>(dtojtfwjd);
                     break;
                 case "yzxf"://邮政业消费者申诉
                     //转换数据
-                    var dtoyzxf = _mapper.Map<FormPost>(dto);
+                    var dtoyzxf = _mapper.Map<FormPost>(orderExtension);
                     dtoyzxf.RCEId = id;
                     //添加数据
                     await _formPostRepository.AddAsync(dtoyzxf);
+                    submitCaseExtendsInfo.FormPost = _mapper.Map<FormPostInfo>(dtoyzxf);
                     break;
                 case "hbjb"://环保举报业务
                     //转换数据
-                    var dtohbjb = _mapper.Map<FormEnvironMent>(dto);
+                    var dtohbjb = _mapper.Map<FormEnvironMent>(orderExtension);
                     dtohbjb.RCEId = id;
                     //添加数据
                     await _formEnvironMentRepository.AddAsync(dtohbjb);
+                    submitCaseExtendsInfo.FormEnvironMent = _mapper.Map<FormEnvironMentInfo>(dtohbjb);
                     break;
                 case "scjgj"://12315个性化表单
+                    var dtoscjgj = _mapper.Map<FormMarket>(orderExtension);
                     //转换数据
-                    switch (dto.AcceptTypeCode)
+                    switch (orderExtension.OrderTypeCode)
                     {
-                        case "10":
-                            dtoscjgj.Rqsttypy = "10";
-                            break;
-                        case "30":
-                            dtoscjgj = _mapper.Map<FormMarket>(dto.OrderReport);
+                        case "scjgjjb":
                             dtoscjgj.Rqsttypy = "25";
                             break;
-                        case "35":
-                            dtoscjgj = _mapper.Map<FormMarket>(dto.OrderComplain);
+                        case "scjgjts":
                             dtoscjgj.Rqsttypy = "20";
-                            string str = "";
-                            foreach (var item in dto.OrderComplain.ComplainTypes)
-                                str += item.Value + ",";
-                            dtoscjgj.AppealContent = str;
+                            foreach (var item in orderExtension.ComplainTypes)
+                                dtoscjgj.AppealContent += item.Value + ",";
+                            dtoscjgj.AppealContent = dtoscjgj.AppealContent.TrimEnd(',');
                             break;
                         default:
                             break;
                     }
-
                     dtoscjgj.HandDepCode = dto.AcceptorOrgCode;
                     dtoscjgj.HandDep = dto.AcceptorOrgName;
                     dtoscjgj.Zxgh = dto.AcceptorStaffNo;
@@ -524,17 +531,12 @@ namespace Sharing.Api
                     dtoscjgj.RCEId = id;
                     //添加数据
                     await _formMarketRepository.AddAsync(dtoscjgj);
+                    submitCaseExtendsInfo.FormMarket = _mapper.Map<FormMarketInfo>(dtoscjgj);
                     break;
                 default:
                     break;
             }
 
-            SubmitCaseExtendsInfo submitCaseExtendsInfo = new()
-            {
-                CaseSerial = dto.ProvinceNo,
-                FormType = formType,
-                FormMarket = _mapper.Map<FormMarketInfo>(dtoscjgj)
-            };
             //组装数据
             SubmitCaseExtendsInfoId submitCaseExtendsInfoId = new()
             {

+ 178 - 114
src/Sharing.Application/Mappers/MapperConfigs.cs

@@ -3,6 +3,7 @@ using Hotline.Share.Enums.CallCenter;
 using Mapster;
 using Sharing.DataExchange;
 using Sharing.Enterprise;
+using Sharing.Orders;
 using Sharing.Province.Extend;
 using Sharing.Province.HuiJu.Send;
 using Sharing.Province.XieTong.Receive;
@@ -73,7 +74,7 @@ namespace Sharing.Application.Mappers
             .Map(d => d.ProcessNote, x => x.WorkflowTrace.Opinion)
             .Map(d => d.EndAreaCode, x => x.WorkflowTrace.HandlerOrgAreaCode)
             .Map(d => d.EndAreaName, x => x.WorkflowTrace.HandlerOrgAreaName)
-          //  .Map(d => d.CaseId, x => x.WorkflowTrace.Id)
+            //  .Map(d => d.CaseId, x => x.WorkflowTrace.Id)
             .Map(d => d.AreaCode, x => x.Order.AreaCode)
             ;
 
@@ -102,116 +103,6 @@ namespace Sharing.Application.Mappers
             .Map(d => d.SubjectResultSatify, x => x.SubjectResultSatifyCode)
             ;
 
-            //汇聚扩展数据--投诉
-            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.BusinessPosition.AreaCode)
-            .Map(d => d.Sfdd, x => x.BusinessPosition.FullAddress)
-            .Map(d => d.ControversyTime, x => x.OccurrenceTime)
-            .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.SalesChannelCode)
-            .Map(d => d.Jtqdname, x => x.SalesChannel)
-            .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.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.SalesChannelCode)
-            .Map(d => d.Jtqdname, x => x.SalesChannel)
-            .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.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<ReceiveCaseInfo, AddOrderDto>()
@@ -224,11 +115,11 @@ namespace Sharing.Application.Mappers
            .Map(d => d.FromName, x => x.AppLicantName)
            .Map(d => d.AgeRangeCode, x => x.AppLicantAge)
            .Map(d => d.LicenceNo, x => x.AppLicantId)
-          // .Map(d => d.Hotspot.ProvinceCode, x => x.CaseAccord)
+           // .Map(d => d.Hotspot.ProvinceCode, x => x.CaseAccord)
            .Map(d => d.Content, x => x.CaseContent)
-          // .Map(d => d.ProcessType, x => x.CaseProcessType)
+           // .Map(d => d.ProcessType, x => x.CaseProcessType)
            .Map(d => d.IsSecret, x => x.CaseIsSecrect == "1" ? true : false)
-         //  .Map(d => d.IsPublicity, x => x.CaseIsPublic == "1" ? true : false)
+           //  .Map(d => d.IsPublicity, x => x.CaseIsPublic == "1" ? true : false)
            .Map(d => d.ExpiredTimeProvince, x => x.TfdBackTimeBf)
            .Map(d => d.AreaCode, x => x.AreaCode)
            .Map(d => d.Street, x => x.CaseAddress)
@@ -274,6 +165,7 @@ namespace Sharing.Application.Mappers
            .Map(d => d.HandleTimeLong, x => x.Order.HandleDurationWorkday)
             ;
 
+            //通话记录
             config.ForType<CallConnectOrderDto, SubmitCaseRecord>()
             .Map(d => d.CallId, x => x.CallRecord.CallId)
             .Map(d => d.PhoneNumber, x => x.CallRecord.CPN)
@@ -327,6 +219,168 @@ namespace Sharing.Application.Mappers
            ;
 
 
+            #region 汇聚扩展数据--拓展信息
+
+            //医疗工单
+            config.ForType<OrderExtensionDto, FormMedical>()
+            .Ignore(d => d.Id)
+            .Map(d => d.MedicalName, x => x.MedName)
+            .Map(d => d.MedicalAddr, x => x.MedAddress)
+            .Map(d => d.DepartMent, x => x.MedDepartment)
+            .Map(d => d.Doctor, x => x.MedDoctor)
+            .Map(d => d.PatientName, x => x.MedPatient)
+            .Map(d => d.ClinicCardNum, x => x.MedNo)
+            .Map(d => d.CardNum, x => x.MedIdNo)
+            ;
+
+            //四川政务服务网技术工单
+            config.ForType<OrderExtensionDto, FormNetWorktec>()
+            .Ignore(d => d.Id)
+            .Map(d => d.ZwfwAccount, x => x.ZwfwwAccount)
+            .Map(d => d.LinkPeson, x => x.ZwfwwContact)
+            ;
+
+            //电视购物及商铺购买退换货工单
+            config.ForType<OrderExtensionDto, FormReturnexChange>()
+            .Ignore(d => d.Id)
+            .Map(d => d.SubjectName, x => x.ExchTv)
+            .Map(d => d.PurchaseTime, x => x.ExchTradeTime)
+            .Map(d => d.ProductName, x => x.ExchProduct)
+            .Map(d => d.Charge, x => x.ExchAmount)
+            .Map(d => d.BusinessName, x => x.ExchName)
+            .Map(d => d.BusunessAddr, x => x.ExchAddress)
+            .Map(d => d.ReceivePerson, x => x.ExchConsignee)
+            .Map(d => d.ReceiveAddr, x => x.ExchConsigneeAddress)
+            ;
+
+            //高速公路工单
+            config.ForType<OrderExtensionDto, FormExpressWay>()
+            .Ignore(d => d.Id)
+            .Map(d => d.InWay, x => x.ExpwyEntrance)
+            .Map(d => d.OutWay, x => x.ExpwyExit)
+            .Map(d => d.OperateDate, x => x.ExpwyTime)
+            .Map(d => d.CardNum, x => x.ExpwyNo)
+            ;
+
+            //电视台虚假广告工单
+            config.ForType<OrderExtensionDto, FormShamPub>()
+            .Ignore(d => d.Id)
+            .Map(d => d.SubjectName, x => x.AdTv)
+            .Map(d => d.ProductName, x => x.AdProduct)
+            .Map(d => d.PubContent, x => x.AdContent)
+            ;
+
+            //12366热线诉求交办
+            config.ForType<OrderExtensionDto, FormTaxationComplaint>()
+            .Ignore(d => d.Id)
+            .Map(d => d.TaxAuthority, x => x.Location12366Sq)
+            .Map(d => d.ComplaintSubject, x => x.Info12366Sq)
+            .Map(d => d.ComplaintType, x => x.Type12366Sq)
+            ;
+
+            //12366热线咨询交办
+            config.ForType<OrderExtensionDto, FormTaxationConsulting>()
+            .Ignore(d => d.Id)
+            .Map(d => d.TaxAuthority, x => x.Location12366Zx)
+            .Map(d => d.ComplaintSubject, x => x.Info12366Zx)
+            ;
+
+            //12328服务监督
+            config.ForType<OrderExtensionDto, FormTraffic>()
+            .Ignore(d => d.Id)
+            .Map(d => d.AcceptType, x => x.AcceptType12328)
+            .Map(d => d.Customer, x => x.Client12328)
+            ;
+
+            //邮政业消费者申诉
+            config.ForType<OrderExtensionDto, FormPost>()
+            .Ignore(d => d.Id)
+            .Map(d => d.AppealName, x => x.MailClaimantName)
+            .Map(d => d.AppealNum, x => x.MailClaimantPhone)
+            .Map(d => d.AppealEnterprise, x => x.MailClaimantEnterprise)
+            .Map(d => d.SenderName, x => x.MailSenderName)
+            .Map(d => d.SenderNum, x => x.MailSenderPhone)
+            .Map(d => d.SenderAddr, x => x.MailSenderAddress)
+            .Map(d => d.AddresseeName, x => x.MailReceiverName)
+            .Map(d => d.AddresseeNum, x => x.MailReceiverPhone)
+            .Map(d => d.AddresseeAddr, x => x.MailReceiverAddress)
+            .Map(d => d.InsuredPrice, x => x.MailAmount)
+            .Map(d => d.IsContact, x => x.MailIsContacted == true ? "是" : "否")
+            .Map(d => d.OperateResult, x => x.MailResult)
+            ;
+
+            //环保举报业务
+            config.ForType<OrderExtensionDto, FormEnvironMent>()
+            .Ignore(d => d.Id)
+            .Map(d => d.ComplaintMailBox, x => x.EpEmail)
+            .Map(d => d.PostalAddress, x => x.EpAddress)
+            .Map(d => d.ReportObject, x => x.EpObject)
+            .Map(d => d.DetailedAddr, x => x.EpObjectAddress)
+            .Map(d => d.IndustryType, x => x.EpIndustryType)
+            .Map(d => d.KeyPoint, x => x.EpKeyPoint)
+            ;
+
+            //12315个性化表单--投诉、举报
+            config.ForType<OrderExtensionDto, FormMarket>()
+            .Ignore(d => d.Id)
+            .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.BusinessPosition.AreaCode)
+            .Map(d => d.Sfdd, x => x.BusinessPosition.FullAddress)
+            .Map(d => d.ControversyTime, x => x.OccurrenceTime)
+            .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.SalesChannelCode)
+            .Map(d => d.Jtqdname, x => x.SalesChannel)
+            .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.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)
+            ;
+
+            #endregion
+
+            #region 市州数据交换
             //市州数据-接受
             config.ForType<CityDataReceive, OrderDto>()
                .Ignore(d => d.Id)
@@ -357,7 +411,9 @@ namespace Sharing.Application.Mappers
                .Map(d => d.Source, x => x.Source)
               ;
 
+            #endregion
 
+            #region 企业服务
             //企业数据推送
             config.ForType<OrderDto, DataWorkOrderSend>()
                .Ignore(d => d.Id)
@@ -375,6 +431,14 @@ namespace Sharing.Application.Mappers
                .Map(d => d.ExpirationTime, x => x.ExpiredTime)
                .Map(d => d.IncidentTime, x => x.IncidentTime)
               ;
+
+            //企业数据推送
+            config.ForType<OrderFlowDto, DataOrderWorkFlow>()
+               .Ignore(d => d.Id)
+               .Map(d => d.OrderId, x => x.Order.Id)
+               .Map(d => d.WorkflowId, x => x.Order.WorkflowId)
+              ;
+            #endregion
         }
 
     }

+ 1 - 1
src/Sharing.Application/Sharing.Application.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="Hotline.Api.Sdk" Version="1.0.2" />
-    <PackageReference Include="Hotline.Share" Version="1.0.29" />
+    <PackageReference Include="Hotline.Share" Version="1.0.31" />
     <PackageReference Include="XF.EasyCaching" Version="1.0.0" />
   </ItemGroup>
 

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

@@ -17,7 +17,7 @@ namespace Sharing.Province.Extend
         public string RCEId { get; set; }
 
         /// <summary>
-        /// 表单类型  投诉:20举报:25咨询:10
+        /// 表单类型  投诉:20举报:25咨询:10
         /// </summary>
         [SugarColumn(ColumnDescription = "表单类型", ColumnDataType = "varchar(20)")]
         public string Rqsttypy { get; set; }

+ 2 - 2
src/Sharing/Province/Extend/FormPost.cs

@@ -73,8 +73,8 @@ namespace Sharing.Province.Extend
         /// <summary>
         /// 涉及金额 
         /// </summary>
-        [SugarColumn(ColumnDescription = "涉及金额")]
-        public double? InsuredPrice { get; set; }
+        [SugarColumn(ColumnDescription = "涉及金额", ColumnDataType = "varchar(50)", IsNullable = true)]
+        public string? InsuredPrice { get; set; }
 
         /// <summary>
         /// 是否联系快递公司投诉