using Mapster;
|
using Masuit.Tools;
|
using Microsoft.EntityFrameworkCore.Metadata.Internal;
|
using System.ComponentModel.DataAnnotations;
|
using WIDESEA_Core;
|
using WIDESEA_StorageBasicRepository;
|
|
namespace WIDESEA_StorageBasicService;
|
|
public class Dt_CZInfo_mes_htyService : ServiceBase<Dt_CZInfo_mes_hty, IDt_CZInfo_mes_htyRepository>, IDt_CZInfo_mes_htyService
|
{
|
private readonly IDt_WheelsStockRepository _WheelsStockRepository;
|
private readonly IDt_InWheels_mes_htyRepository _InWheels_Mes_HtyRepository;
|
|
public Dt_CZInfo_mes_htyService(IDt_WheelsStockRepository wheelsStockRepository, IDt_InWheels_mes_htyRepository inWheels_Mes_HtyRepository, IDt_CZInfo_mes_htyRepository BaseDal) : base(BaseDal)
|
{
|
_WheelsStockRepository = wheelsStockRepository;
|
_InWheels_Mes_HtyRepository = inWheels_Mes_HtyRepository;
|
}
|
|
public override PageGridData<Dt_CZInfo_mes_hty> 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["neworold"].ToString();
|
// ////轮对号
|
// //string ldh = saveModel.MainData["ldh"].ToString();
|
// ////轮对型号
|
// //string ldxh = saveModel.MainData["ldxh"].ToString();
|
// ////毂孔等级
|
// //string gkdj = saveModel.MainData["gkdj"].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();
|
// ////毂孔均值
|
// string gkcc = saveModel.MainData["gkcc"].ToString();
|
|
// //创建人
|
// //string user = saveModel.MainData["user"].ToString();
|
|
|
// Dt_InWheels_mes wheels_Mes = new Dt_InWheels_mes
|
// {
|
// Wheels_code = clCode,
|
// Wheels_Type = "1",
|
// Wheels_Num = "20240829-0010 /" + clCode,
|
// CreateDate = DateTime.Now,
|
// Creater = App.User.UserName == null ? "admin" : App.User.UserName,
|
// WheelsProps = "WheelsProps",
|
// Wheels_CarNo = "lcch",
|
// Wheels_CarType = Cartype,
|
// Wheels_ldxh = "ldxh",
|
// Wheels_CurrentStatue = "0",
|
// Wheels_ldtm = "ldtm",
|
// Wheels_InDate = "rksj",
|
// Wheels_level = "gkdj",
|
// Wheels_NewOrOld = "newOrOld",
|
// Wheels_psj = "psj",
|
// Wheels_gkcc = "gkcc",
|
// Wheels_gkzja = "520.120",//gkzja
|
// Wheels_gkzjb = "519.321",//gkzjb
|
// Wheels_gkzjc = "520.014",// gkzjc
|
// Wheels_ldh = "ldh",
|
// Wheels_ljz = "ljz",
|
// Wheels_mttype = mttype,
|
// //Wheels_SequenceNum = "",
|
// Wheels_ygljz = "yglj",
|
// };
|
|
// 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.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.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 = "2";
|
wheels_Mes_Hty.FinishDate = DateTime.Now;
|
wheels_Mes_Hty.OperateType = (int)OperateTypeEnum.人工删除;
|
|
_InWheels_Mes_HtyRepository.AddData(wheels_Mes_Hty);
|
|
return base.DeleteData(key);
|
}
|
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;
|
}
|
}
|