using MailKit;
using Mapster;
using Masuit.Tools;
using Masuit.Tools.Security;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Core;
using WIDESEA_Core.Enums;
using WIDESEA_IStoragIntegrationServices;
using WIDESEA_Model.Models;
using WIDESEA_StorageTaskRepository;
namespace WIDESEA_StoragIntegrationServices
{
public partial class ToCheckService
{
///
/// 接受并上传智粤测量设备结果数据
///
///
///
public WebResponseContent UploadCheckResult(object jsondata)
{
WebResponseContent content = new WebResponseContent();
try
{
if (jsondata == null) throw new Exception("数据为空");
CheckResult checkResult = JsonConvert.DeserializeObject(jsondata.ToString());
Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == checkResult.CLTM && x.TaskState == (int)TaskOutStatusEnum.Lien_Check);
if (task == null) throw new Exception("未查询到车轮任务");
task.TaskState = (int)TaskOutStatusEnum.Lien_CheckFinish; //测量完成后将任务删除
var taskHty = task.Adapt();
taskHty.FinishTime = DateTime.Now;
taskHty.OperateType = (int)OperateTypeEnum.自动完成;
Dt_CheckResult result = new Dt_CheckResult();
checkResult.Adapt(result);
//result.CreateDate = DateTime.Now;
//result.Creater = "CK";
// 上传智粤 上传成功后标记成功,失败则不管后续人工可补录
if (_toZYService.ReportToSCE(result).Status)
{
result.IsUploadMES = true;
}
result.InDate = DateTime.Now;
LogFactory.GetLog("测量设备上传测量结果数据").Info(true, $"\r\r--------------------------------------");
LogFactory.GetLog("测量设备上传测量结果数据").Info(true, result.ToJsonString());
if (_checkResultRepository.AddData(result) > 0)
{
_taskRepository.DeleteData(task);
_task_HtyRepository.AddData(taskHty);
return content.OK();
}
else
{
return content.Error();
}
}
catch (Exception ex)
{
LogFactory.GetLog("测量设备上传测量结果数据").Info(true, $"\r\r--------------------------------------");
LogFactory.GetLog("测量设备上传测量结果数据").Info(true, ex.Message);
return content.Error($"请求异常:{ex.Message}");
}
}
}
}