using Infrastructure.Attribute; using SqlSugar; using System; using ZR.Model.MES.ql; using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; using ZR.Service.mes.ql.IService; namespace ZR.Service.mes.ql { /// /// 查询报表 /// [AppService(ServiceType = typeof(IPLRawMaterialService), ServiceLifetime = LifeTime.Transient)] public class PLRawMaterialService : BaseService, IPLRawMaterialService { /// /// 增加一组,数据记录 /// /// /// /// public int AddRawMaterialRecords(int num, int size) { PLRawMaterial t1 = GetDefaultPLRawMaterial(); PLRawMaterial t2 = GetDefaultPLRawMaterial(); PLRawMaterial t3 = GetDefaultPLRawMaterial(); PLRawMaterial t4 = GetDefaultPLRawMaterial(); PLRawMaterial t5 = GetDefaultPLRawMaterial(); t1.Value01 = "15°"; t1.Value07 = "底漆"; t2.Value01 = "25°"; t2.Value07 = "色漆"; t3.Value01 = "45°"; t3.Value07 = "云母"; t4.Value01 = "75°"; t4.Value07 = "清漆"; t5.Value01 = "110°"; t5.Value07 = "总膜厚"; t2.IdGroup = t1.IdGroup; t3.IdGroup = t1.IdGroup; t4.IdGroup = t1.IdGroup; t5.IdGroup = t1.IdGroup; List lst = new List(); lst.Add(t1); lst.Add(t2); lst.Add(t3); lst.Add(t4); lst.Add(t5); int ret = Context.Insertable(lst).ExecuteReturnIdentity(); return ret; } /// /// 删除数据记录 /// /// /// /// public int DelRawMaterialRecords(string idGroup) { return Context.Deleteable().Where(it => it.IdGroup.Equals(idGroup)).ExecuteCommand(); } /// /// 查询数据记录,要改成分页查询 /// /// public (List, int) GetRawMaterialTable(DateTime starttime, DateTime endTime, string pci, string colorCode, string description, int pageNum, int pageSize) { starttime = starttime.ToLocalTime(); endTime = endTime.ToLocalTime(); int totalNum = 0; var predicate = Expressionable.Create() .AndIF(starttime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.CreatedTime >= starttime.ToLocalTime()) .AndIF(endTime > new DateTime(2023, 1, 1, 0, 0, 0), it => it.CreatedTime <= endTime.ToLocalTime()) .AndIF(!string.IsNullOrEmpty(pci), it => it.Pci.Contains(pci)) .AndIF(!string.IsNullOrEmpty(colorCode), it => it.Code.Contains(colorCode)) .AndIF(!string.IsNullOrEmpty(description), it => it.Description.Contains(description)) .ToExpression(); //List data = Context.Queryable().Where(predicate).OrderBy(it => it.WorkorderId).OrderBy(it => it.Remark2).ToPageList(pageNum, pageSize, ref totalNum); //foreach (QcQualityStatisticsAgain item in data) //{ // WmMaterial material = Context.Queryable() // .Where(it => it.Partnumber == item.FinishedPartNumber) // .First(); // if (material == null) // { // item.ProductDescription = "此零件号不在物料清单内!"; // continue; // } // item.ProductDescription = !string.IsNullOrEmpty(material.Description) ? material.Description : material.ProductName; //} //return (data, totalNum); List data = Context.Queryable() .Where(predicate) .OrderByDescending(it => it.IdGroup) .OrderBy(it => it.Id) .ToPageList(pageNum, pageSize, ref totalNum); return (data, totalNum); //return (Context.Queryable().Where(it => it.Id > 0).ToList(),100); } /// /// 更新数据记录 /// /// /// /// public int UpdateRawMaterialRecords(List list) { return Context.Updateable(list).ExecuteCommand(); } private PLRawMaterial GetDefaultPLRawMaterial() { return new PLRawMaterial() { Id = 0, IdGroup = DateTime.Now.ToString("yyyyMMddHHmmssfff"), Description = "", Code = "", Pci = "", Value01 = "", Value02 = "", Value03 = "", Value04 = "", Value05 = "", Value06 = "", Value07 = "", Value08 = "", Value09 = "", Value10 = "", Value11 = "", CreatedBy = "user", CreatedTime = DateTime.Now, UpdatedBy = "user", UpdatedTime = DateTime.Now, }; } public List QueryMaterialOptions(string query) { var predicate = Expressionable .Create() .Or(it => it.Partnumber.Contains(query)) .Or(it => it.Description.Contains(query)) .Or(it => it.ProductName.Contains(query)) .And(it => it.Type == 1) .And(it => it.Status == 1); List options = Context .Queryable() .Where(predicate.ToExpression()) .Select( (it) => new WmMaterialSelectOptions { Key = it.Id, Label = "[ " + it.Partnumber + " ] " + it.Description, Value = it.Description, Color = it.Color } ) .Take(10) .ToList(); return options; } } }