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, 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 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(); //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(); 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 ValidateModel(object model) { // 创建一个验证结果列表 var validationResults = new List(); // 创建一个验证上下文 var validationContext = new ValidationContext(model, serviceProvider: null, items: null); // 使用验证器尝试验证模型,并将验证结果添加到验证结果列表中 Validator.TryValidateObject(model, validationContext, validationResults, validateAllProperties: true); // 返回验证结果列表 return validationResults; } }