|
@@ -1,5 +1,6 @@
|
|
|
using DataSharing.RawData;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
+using Hotline.Share.Dtos.Snapshot;
|
|
|
using Hotline.Share.Enums.DataSharing;
|
|
|
using MapsterMapper;
|
|
|
using Microsoft.Extensions.Logging;
|
|
@@ -44,11 +45,19 @@ namespace DataSharing.Police110.DCJT110
|
|
|
/// </summary>
|
|
|
/// <param name="orderDto"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task InitPoliceSendChainAlarmAsync(OrderDto orderDto, CancellationToken cancellationToken)
|
|
|
+ public async Task InitPoliceSendChainAlarmAsync(Hotline.Share.Dtos.Order.OrderDto orderDto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
var areaCodeDefu = _sharingConfigurationManager.GetCityCode();
|
|
|
var config = _sharingConfigurationManager.GetZiGongConfig().PoliceDCJT;
|
|
|
- var registerNo = string.IsNullOrEmpty(orderDto.AcceptorId) == true ? "1001" : orderDto.AcceptorId.Substring(orderDto.AcceptorId.Length - 12);
|
|
|
+ var registerNo = "10001";
|
|
|
+ if (!string.IsNullOrEmpty(orderDto.AcceptorStaffNo))
|
|
|
+ registerNo = orderDto.AcceptorStaffNo;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(orderDto.AcceptorId))
|
|
|
+ registerNo = orderDto.AcceptorId.Substring(orderDto.AcceptorId.Length - 12);
|
|
|
+ }
|
|
|
+ // var registerNo = string.IsNullOrEmpty(orderDto.AcceptorId) == true ? "1001" : orderDto.AcceptorId.Substring(orderDto.AcceptorId.Length - 12);
|
|
|
var Content = orderDto.Content.Length > 1900 ? orderDto.Content.Substring(0, 1900) : orderDto.Content;
|
|
|
DsPoliceSendChainAlarmDcjt policeSend = new()
|
|
|
{
|
|
@@ -112,7 +121,19 @@ namespace DataSharing.Police110.DCJT110
|
|
|
{
|
|
|
var data = await _policeSendChainDealDcjtRepository.GetAsync(p => p.OrderId == dto.Order.Id && p.DisposalType == (int)EDsDisposalType.OrderFiled, cancellationToken);
|
|
|
var actualOpinion = dto.Order.ActualOpinion.Length > 1500 ? dto.Order.ActualOpinion.Substring(0, 1500) : dto.Order.ActualOpinion;
|
|
|
- var feedbackPersonNumber = string.IsNullOrEmpty(dto.Order.AcceptorId) == true ? "1001" : dto.Order.AcceptorId.Substring(dto.Order.AcceptorId.Length - 12);
|
|
|
+ var feedbackPersonNumber = "10001";
|
|
|
+ if (!string.IsNullOrEmpty(dto.Order.AcceptorStaffNo))
|
|
|
+ feedbackPersonNumber = dto.Order.AcceptorStaffNo;
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(dto.Order.AcceptorId))
|
|
|
+ feedbackPersonNumber = dto.Order.AcceptorId.Substring(dto.Order.AcceptorId.Length - 12);
|
|
|
+ }
|
|
|
+ //var feedbackPersonNumber = string.IsNullOrEmpty(dto.Order.AcceptorId) == true ? "1001" : dto.Order.AcceptorId.Substring(dto.Order.AcceptorId.Length - 12);
|
|
|
+ var actualHandleOrgCode = "001";
|
|
|
+ if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode))
|
|
|
+ actualHandleOrgCode = dto.Order.ActualHandleOrgCode.Length > 12 ? dto.Order.ActualHandleOrgCode.Substring(0, 12) : dto.Order.ActualHandleOrgCode;
|
|
|
+
|
|
|
if (data == null)
|
|
|
{
|
|
|
data = new()
|
|
@@ -123,7 +144,7 @@ namespace DataSharing.Police110.DCJT110
|
|
|
ResultDescription = actualOpinion,
|
|
|
FeedbackPersonNumber = feedbackPersonNumber,
|
|
|
FeedbackPersonName = dto.Order.ActualHandlerName,
|
|
|
- FeedbackUnitCode = dto.Order.ActualHandleOrgCode,
|
|
|
+ FeedbackUnitCode = actualHandleOrgCode,
|
|
|
FeedbackUnitName = dto.Order.ActualHandleOrgName,
|
|
|
WarehousingTime = DateTime.Now,
|
|
|
DisposalType = 1,
|
|
@@ -139,7 +160,7 @@ namespace DataSharing.Police110.DCJT110
|
|
|
data.ResultDescription = actualOpinion;
|
|
|
data.FeedbackPersonNumber = feedbackPersonNumber;
|
|
|
data.FeedbackPersonName = dto.Order.ActualHandlerName;
|
|
|
- data.FeedbackUnitCode = dto.Order.ActualHandleOrgCode;
|
|
|
+ data.FeedbackUnitCode = actualHandleOrgCode;
|
|
|
data.FeedbackUnitName = dto.Order.ActualHandleOrgName;
|
|
|
data.WarehousingTime = DateTime.Now;
|
|
|
await _policeSendChainDealDcjtRepository.UpdateAsync(data, cancellationToken);
|
|
@@ -152,18 +173,19 @@ namespace DataSharing.Police110.DCJT110
|
|
|
/// <param name="orderDto"></param>
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task ReturnPoliceAsync(OrderDto orderDto, CancellationToken cancellationToken)
|
|
|
+ public async Task ReturnPoliceAsync(Hotline.Share.Dtos.Order.OrderDto orderDto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
var checkData = await _policeSendChainDealDcjtRepository.AnyAsync(p => p.AlarmReceiptNumber == orderDto.ExternalId && p.DisposalType == (int)EDsDisposalType.Return, cancellationToken);
|
|
|
if (!checkData)
|
|
|
{
|
|
|
+ var actualOpinion = orderDto.ActualOpinion.Length > 100 ? orderDto.ActualOpinion.Substring(0, 80) : orderDto.ActualOpinion;
|
|
|
var dataPolice = new DsPoliceSendChainDealDcjt()
|
|
|
{
|
|
|
OrderId = orderDto.Id,
|
|
|
AlarmReceiptNumber = orderDto.ExternalId,
|
|
|
ReturnName = orderDto.ActualHandlerName,
|
|
|
ReturnUnit = orderDto.ActualHandleOrgName,
|
|
|
- ReturnOpinion = orderDto.ActualOpinion,
|
|
|
+ ReturnOpinion = actualOpinion,
|
|
|
ReturnTime = orderDto.ActualHandleTime,
|
|
|
WarehousingTime = DateTime.Now,
|
|
|
DisposalType = 2
|
|
@@ -187,14 +209,19 @@ namespace DataSharing.Police110.DCJT110
|
|
|
_ => "2",
|
|
|
};
|
|
|
var checkData = await _policeSendChainDealDcjtRepository.GetAsync(p => p.AlarmReceiptNumber == dto.Order.ExternalId && p.DisposalType == (int)EDsDisposalType.Visit, cancellationToken);
|
|
|
+ string visitRemark = "默认评价";
|
|
|
+ if (!string.IsNullOrEmpty(dto.VisitRemark))
|
|
|
+ {
|
|
|
+ visitRemark = visitRemark.Length > 140 ? dto.VisitRemark.Substring(0, 140) : dto.VisitRemark;
|
|
|
+ }
|
|
|
if (checkData == null)
|
|
|
{
|
|
|
checkData = new()
|
|
|
{
|
|
|
AlarmReceiptNumber = dto?.Order?.ExternalId,
|
|
|
RevisitTime = dto.VisitTime,
|
|
|
- CheckingContent = dto.VisitRemark,
|
|
|
- VisitContent = dto.VisitRemark,
|
|
|
+ CheckingContent = visitRemark,
|
|
|
+ VisitContent = visitRemark,
|
|
|
VisitResult = VisitResult,
|
|
|
DisposalType = 3
|
|
|
};
|
|
@@ -204,8 +231,8 @@ namespace DataSharing.Police110.DCJT110
|
|
|
{
|
|
|
checkData.AlarmReceiptNumber = dto?.Order?.ExternalId;
|
|
|
checkData.RevisitTime = dto.VisitTime;
|
|
|
- checkData.CheckingContent = dto.VisitRemark;
|
|
|
- checkData.VisitContent = dto.VisitRemark;
|
|
|
+ checkData.CheckingContent = visitRemark;
|
|
|
+ checkData.VisitContent = visitRemark;
|
|
|
checkData.VisitResult = VisitResult;
|
|
|
await _policeSendChainDealDcjtRepository.UpdateAsync(checkData, cancellationToken);
|
|
|
}
|