using ProductionSystem_Log; using ProductionSystem_Model.DbModel; using ProductionSystem_Model.ViewModel.Request; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProductionSystem_Service { public class TCurveService : DbContext { /// /// 新增 /// /// /// public int AddTResult2(T_Curve t_curve) { try { return db.Insertable(t_curve).ExecuteCommand(); } catch (Exception ex) { LogHelper.Error(ex, "执行TResult2Service下AddTResult2时异常"); return -1; } } /// /// 根据产品类型和产品条码查询 /// /// /// /// public T_Curve QueryLatestStep(string productType, string productBarcode, string step) { return db.Queryable().Where(m => m.ProductType == productType && m.ProductBarcode.Contains(productBarcode) && m.Step == step && m.Electricity != "0" && m.Electricity != "0,000").First(); } /// /// 分页查询 /// /// /// public TestCurveRes Query(TestCurveVm vm) { int totalRecord = 0; var iq = db.Queryable(). WhereIF(!string.IsNullOrEmpty(vm.ProductType), x => x.ProductType == vm.ProductType) .WhereIF(!string.IsNullOrEmpty(vm.ProductCode), x => x.ProductBarcode == vm.ProductCode) .WhereIF(!string.IsNullOrEmpty(vm.BeginTime), x => x.CreateTime >= Convert.ToDateTime(vm.BeginTime)) .WhereIF(!string.IsNullOrEmpty(vm.EndTime), xy => xy.CreateTime <= Convert.ToDateTime(vm.EndTime)) .OrderByDescending(x => x.CreateTime) .ToPageList(vm.PageIndex, vm.PageSize, ref totalRecord); int totalPage = (totalRecord + vm.PageSize - 1) / vm.PageSize; TestCurveRes testCurveRes = new TestCurveRes(); testCurveRes.Total = totalPage; testCurveRes.Data = iq; testCurveRes.Next = totalPage > vm.PageIndex; return testCurveRes; } /// /// 列表 /// /// /// public List Query2(TestCurveVm vm) { int totalRecord = 0; var iq = db.Queryable(). WhereIF(!string.IsNullOrEmpty(vm.ProductType), x => x.ProductType == vm.ProductType) .WhereIF(!string.IsNullOrEmpty(vm.ProductCode), x => x.ProductBarcode == vm.ProductCode) .WhereIF(!string.IsNullOrEmpty(vm.BeginTime), x => x.CreateTime >= Convert.ToDateTime(vm.BeginTime)) .WhereIF(!string.IsNullOrEmpty(vm.EndTime), xy => xy.CreateTime <= Convert.ToDateTime(vm.EndTime)) .OrderByDescending(x => x.CreateTime) .ToList(); return iq; } } public class TestCurveRes { public int Total { get; set; } public bool Next { get; set; } public List Data { get; set; } } }