using Mapster;
|
using Masuit.Tools;
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
using System.ComponentModel.DataAnnotations;
|
using WIDESEA_Core;
|
using WIDESEA_Core.HttpContextUser;
|
using WIDESEA_StorageBasicRepository;
|
|
namespace WIDESEA_StorageBasicService;
|
|
public class Dt_InWheels_mesService : ServiceBase<Dt_InWheels_mes, IDt_InWheels_mesRepository>, IDt_InWheels_mesService
|
{
|
private readonly IDt_WheelsStockRepository _WheelsStockRepository;
|
private readonly IDt_InWheels_mes_htyRepository _InWheels_Mes_HtyRepository;
|
|
public Dt_InWheels_mesService(IDt_WheelsStockRepository wheelsStockRepository, IDt_InWheels_mes_htyRepository inWheels_Mes_HtyRepository, IDt_InWheels_mesRepository BaseDal) : base(BaseDal)
|
{
|
_WheelsStockRepository = wheelsStockRepository;
|
_InWheels_Mes_HtyRepository = inWheels_Mes_HtyRepository;
|
}
|
|
public override PageGridData<Dt_InWheels_mes> GetPageData(PageDataOptions options)
|
{
|
return base.GetPageData(options);
|
}
|
|
public override WebResponseContent AddData(SaveModel saveModel)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
//如当前存在未开始入库的车轮或制动盘数据,则禁止保存新数据 以防数据混乱
|
var waitInbound = BaseDal.QueryFirst(x => x.Wheels_CurrentStatue == "0");
|
if (waitInbound != null) throw new Exception("当前存在未开始入库的车轮或制动盘,请先入库后再保存信息!");
|
|
|
//车轮码
|
string clCode = saveModel.MainData["Wheels_code"].ToString();
|
if (string.IsNullOrEmpty(clCode))
|
throw new Exception($"车轮条码不能为空");
|
|
var clinfo = BaseDal.QueryFirst(x => x.Wheels_code == clCode);
|
if (clinfo != null) throw new Exception("车轮录入信息已存在");
|
|
//检测库存是否已存在
|
var wheelsStock = _WheelsStockRepository.QueryFirst(x => x.Wheels_code == clCode);
|
if (wheelsStock != null) throw new Exception("库内已存在,请检查库存");
|
|
//序列号
|
//string madeUnit = saveModel.MainData["xlh"].ToString();
|
//车轮号
|
//string clh = saveModel.MainData["clh"].ToString();
|
//轮对条码
|
//string ldtm = saveModel.MainData["ldtm"].ToString();
|
////车型
|
string Cartype = saveModel.MainData["Wheels_ldxh"].ToString();
|
////配属局
|
//string psj = saveModel.MainData["psj"].ToString();
|
////车组号
|
//string lcch = saveModel.MainData["lcch"].ToString();
|
////新旧
|
string newOrOld = saveModel.MainData["wheels_NewOrOld"].ToString();
|
////轮对号
|
//string ldh = saveModel.MainData["ldh"].ToString();
|
////轮对型号
|
//string ldxh = saveModel.MainData["ldxh"].ToString();
|
////毂孔等级
|
string gkdj = saveModel.MainData["wheels_level"].ToString();
|
////毂孔a界面均值
|
//string gkzja = saveModel.MainData["gkzja"].ToString();
|
////毂孔b界面均值
|
//string gkzjb = saveModel.MainData["gkzjb"].ToString();
|
////毂孔c界面均值
|
//string gkzjc = saveModel.MainData["gkzjc"].ToString();
|
////轮径值
|
//string ljz = saveModel.MainData["ljz"].ToString();
|
////预估轮径值
|
//string yglj = saveModel.MainData["yglj"].ToString();
|
////入库时间
|
//string rksj = saveModel.MainData["rksj"].ToString();
|
////属性
|
//string WheelsProps = saveModel.MainData["clsx"].ToString();
|
////动拖属性
|
string mttype = saveModel.MainData["Wheels_mttype"].ToString();
|
if (mttype != "M" && mttype != "T") throw new Exception("动拖属性仅能为M或T");
|
|
//毂孔均值
|
string gkcc = saveModel.MainData["gkcc"].ToString();
|
|
//创建人
|
//string user = saveModel.MainData["user"].ToString();
|
|
|
Dt_InWheels_mes wheels_Mes = new Dt_InWheels_mes
|
{
|
Wheels_code = DateTime.Now.ToString("yyyyMMddHHmmss") + clCode,
|
Wheels_Type = "1",
|
Wheels_Num = DateTime.Now.ToString("yyyyMMddHHmmss") + clCode,
|
CreateDate = DateTime.Now,
|
Creater = App.User.UserName == null ? "admin" : App.User.UserName,
|
WheelsProps = "",
|
Wheels_CarNo = "",
|
Wheels_CarType = Cartype,
|
Wheels_ldxh = "",
|
Wheels_CurrentStatue = "0",
|
Wheels_ldtm = "",
|
Wheels_InDate = DateTime.Now.ToString(),
|
Wheels_level = gkdj,
|
Wheels_NewOrOld = newOrOld,
|
Wheels_psj = "psj",
|
Wheels_gkcc = gkcc,
|
Wheels_gkzja = "",//gkzja
|
Wheels_gkzjb = "",//gkzjb
|
Wheels_gkzjc = "",// gkzjc
|
Wheels_ldh = "",
|
Wheels_ljz = "",
|
Wheels_mttype = mttype,
|
//Wheels_SequenceNum = "",
|
Wheels_ygljz = "",
|
};
|
|
if (BaseDal.AddData(wheels_Mes) > 0)
|
{
|
return content.OK("保存成功");
|
}
|
else
|
{
|
return content.Error("保存失败");
|
}
|
}
|
catch (Exception ex)
|
{
|
return content.Error($"保存失败:{ex.Message}");
|
}
|
}
|
|
public override WebResponseContent DeleteData(object[] keys)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
var wheels_Mes = BaseDal.QueryFirst(x => x.Wheels_ID == keys[0].ObjToInt());
|
|
if (wheels_Mes == null) throw new Exception("未找到信息,请重试");
|
|
var wheels_Mes_Hty = wheels_Mes.Adapt<Dt_InWheels_mes_hty>();
|
|
//wheels_Mes_Hty.Wheels_CurrentStatue = "2";
|
wheels_Mes_Hty.FinishDate = DateTime.Now;
|
wheels_Mes_Hty.Wheels_CurrentStatue = "4";
|
wheels_Mes_Hty.OperateType = (int)OperateTypeEnum.人工删除;
|
|
_InWheels_Mes_HtyRepository.AddData(wheels_Mes_Hty);
|
|
return base.DeleteData(keys[0]);
|
}
|
catch (Exception ex)
|
{
|
return content.Error($"删除失败:{ex.Message}");
|
}
|
}
|
|
public override WebResponseContent DeleteData(object key)
|
{
|
WebResponseContent content = new WebResponseContent();
|
try
|
{
|
var wheels_Mes = BaseDal.QueryFirst(x => x.Wheels_ID == key.ObjToInt());
|
|
if (wheels_Mes == null) throw new Exception("未找到信息,请重试");
|
|
var wheels_Mes_Hty = wheels_Mes.Adapt<Dt_InWheels_mes_hty>();
|
|
wheels_Mes_Hty.Wheels_CurrentStatue = "4";
|
wheels_Mes_Hty.FinishDate = DateTime.Now;
|
wheels_Mes_Hty.OperateType = (int)OperateTypeEnum.人工删除;
|
wheels_Mes_Hty.Modifier = App.User.UserName;
|
|
_InWheels_Mes_HtyRepository.AddData(wheels_Mes_Hty);
|
|
if (BaseDal.DeleteData(wheels_Mes))
|
{
|
return content.OK("删除完成");
|
}
|
else
|
{
|
return content.Error("删除失败");
|
}
|
}
|
catch (Exception ex)
|
{
|
return content.Error($"删除失败:{ex.Message}");
|
}
|
}
|
|
|
// 验证模型
|
public static List<ValidationResult> ValidateModel(object model)
|
{
|
// 创建一个验证结果列表
|
var validationResults = new List<ValidationResult>();
|
// 创建一个验证上下文
|
var validationContext = new ValidationContext(model, serviceProvider: null, items: null);
|
|
// 使用验证器尝试验证模型,并将验证结果添加到验证结果列表中
|
Validator.TryValidateObject(model, validationContext, validationResults, validateAllProperties: true);
|
|
// 返回验证结果列表
|
return validationResults;
|
}
|
}
|