using Masuit.Tools;
using Newtonsoft.Json;
using System.Text.Json.Nodes;
using System.Xml.Serialization;
using WIDESEA.Common;
using WIDESEA_Common;
using WIDESEA_Common.ZY;
using WIDESEA_Core;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
using WIDESEA_Model.Models;
namespace WIDESEA_StoragIntegrationServices
{
public partial class ToAPPService
{
///
/// 保存制动盘数据
///
///
///
public WebResponseContent SaveZDPInfo(SaveModel saveModel)
{
WebResponseContent content = new WebResponseContent();
try
{
//如当前存在未开始入库的车轮或制动盘数据,则禁止保存新数据 以防数据混乱
var waitInbound = _InWheels_MesRepository.QueryFirst(x => x.Wheels_CurrentStatue == "0");
if (waitInbound != null) throw new Exception("当前存在未开始入库的制动盘,请先入库后再保存信息!");
//制动盘条码
string clCode = saveModel.MainData["code"].ToString();
if (string.IsNullOrEmpty(clCode))
throw new Exception($"制动盘条码不能为空");
var clinfo = _InZdp_MesRepository.QueryFirst(x => x.Zdp_code == clCode);
if (clinfo != null) throw new Exception("制动盘条码录入信息已存在");
//检测库存是否已存在
_ZdpStockRepository.QueryFirst(x => x.Zdp_code == clCode);
if (clinfo != null) throw new Exception("库内已存在,请检查库存");
//序列号
//string madeUnit = saveModel.MainData["xlh"].ToString();
//制动盘号
string ZPH = saveModel.MainData["ZPH"].ToString();
//车型
string Cartype = saveModel.MainData["chexing"].ToString();
//新旧
string newOrOld = saveModel.MainData["neworold"].ToString();
//位置(侧/中)
string POS = saveModel.MainData["POS"].ToString();
// 螺栓型号
string LSXH = saveModel.MainData["LSXH"].ToString();
//材质(铸钢)
string MAT = saveModel.MainData["MAT"].ToString();
//产地(进口/国产)
string SITE = saveModel.MainData["SITE"].ToString();
//毂孔直径A1
string GKA1 = saveModel.MainData["GKA1"].ToString();
//毂孔直径A2
string GKA2 = saveModel.MainData["GKA2"].ToString();
//毂孔直径A3
string GKA3 = saveModel.MainData["GKA3"].ToString();
//毂孔直径A
string GKA = saveModel.MainData["GKA"].ToString();
//毂孔直径B1
string GKB1 = saveModel.MainData["GKB1"].ToString();
//毂孔直径B2
string GKB2 = saveModel.MainData["GKB2"].ToString();
//毂孔直径A3
string GKB3 = saveModel.MainData["GKB3"].ToString();
//毂孔直径A
string GKB = saveModel.MainData["GKB"].ToString();
//毂孔直径C1
string GKC1 = saveModel.MainData["GKC1"].ToString();
//毂孔直径C2
string GKC2 = saveModel.MainData["GKC2"].ToString();
//毂孔直径C3
string GKC3 = saveModel.MainData["GKC3"].ToString();
//毂孔直径A
string GKC = saveModel.MainData["GKC"].ToString();
//毂孔直径
string GKJZ = saveModel.MainData["GKJZ"].ToString();
//螺栓侧剩余磨耗
string LSCSYMH = saveModel.MainData["LSCSYMH"].ToString();
//螺母侧剩余磨耗
string LMCSYMH = saveModel.MainData["LMCSYMH"].ToString();
//入库日期
string rksj = saveModel.MainData["rksj"].ToString();
if (_locationRepository.QueryData(x => x.LocationStatus == (int)LocationEnum.Free && x.EnalbeStatus == 1).Count < 2) throw new Exception($"库位数量不足,不允许入库");
Dt_InZdp_mes dt_InZdp_ = new Dt_InZdp_mes
{
Zdp_code = clCode, // 主键或编号
Zdp_ZPH = ZPH, // 制动盘号
Zdp_chexing = Cartype, // 车型
Zdp_neworold = newOrOld, // 新旧
Zdp_POS = POS, // 位置(侧/中)
Zdp_LSXH = LSXH, // 螺栓型号
Zdp_MAT = MAT, // 材质(铸钢)
Zdp_SITE = SITE, // 产地(进口/国产)
Zdp_GKA1 = GKA1, // 毂孔直径A1
Zdp_GKA2 = GKA2, // 毂孔直径A2
Zdp_GKA3 = GKA3, // 毂孔直径A3
Zdp_GKA = GKA, // 毂孔直径A
Zdp_GKB1 = GKB1, // 毂孔直径B1
Zdp_GKB2 = GKB2, // 毂孔直径B2
Zdp_GKB3 = GKB3, // 毂孔直径B3
Zdp_GKB = GKB, // 毂孔直径B
Zdp_GKC1 = GKC1, // 毂孔直径C1
Zdp_GKC2 = GKC2, // 毂孔直径C2
Zdp_GKC3 = GKC3, // 毂孔直径C3
Zdp_GKC = GKC, // 毂孔直径C
Zdp_GKJZ = GKJZ, // 毂孔直径基准
Zdp_LSCSYMH = LSCSYMH, // 螺栓侧剩余磨耗
Zdp_LMCSYMH = LMCSYMH, // 螺母侧剩余磨耗
Zdp_rksj = rksj, // 入库日期
Zdp_CurrentStatue="0"
};
if (_InZdp_MesRepository.AddData(dt_InZdp_) > 0)
{
return content.OK("保存成功");
}
else
{
return content.Error("保存失败");
}
}
catch (Exception ex)
{
return content.Error($"{ex.Message}");
}
}
}
}