using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WMS.Info; using WMS.Util; namespace WMS.Core.ServiceCore { public class FxEntryOrderCore { /// /// 获取分页数据 /// /// public IEnumerable GetEntryOrderPageList(Pagination pagination, string queryJson) { SqlSugarClient client = null; try { client = SysDbCore.GetDbCtx(); int count = 0; var queryParam = queryJson.ToJObject(); var db = client.Queryable(); //单据日期 if (!queryParam["Btime"].IsEmpty() && !queryParam["Etime"].IsEmpty()) { db.Where(ord => ord.F_addTime >= queryParam["Btime"].ToDate() && ord.F_addTime <= queryParam["Etime"].ToDate()); } if (!queryParam["keyword"].IsEmpty()) { string kw = queryParam["keyword"].ToString(); db.Where(ord => ord.F_no.Contains(kw) ||ord.F_relatedOrderNo.Contains(kw)); } if (pagination.sord.ToUpper() != "ASC") { pagination.sidx = pagination.sidx + " DESC"; } var list = db.OrderBy(pagination.sidx).Select(@" [F_no], [F_warehouseNo], [F_relatedOrderNo], [F_totalOrderLines], [F_orderType], [F_orderStatus], [F_memo], [F_addTime], [F_addUserNo], [F_editTime], [F_editUserNo], [F_isDelete], [F_isBonded], [F_fullPlate], [F_trayNo], [F_locationNo], [F_matHeight]").ToPageList(pagination.page, pagination.rows, ref count); pagination.records = count; return list; } catch (Exception ex) { throw ex; } finally { client.Dispose(); } } /// /// 获取单据数据 /// /// public IEnumerable GeEntrytOrderItem(string OrderNo) { try { var lst = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_pNo == OrderNo); var list = lst.Select(@"[F_rowNo], [F_pNo], [F_trayNo], [F_boxNo], [F_quantity], [F_addUserNo], [F_addTime], [F_matNo], [F_editUserNo], [F_editTime], [F_memo], [F_batchNo], [F_matName], [F_matType]").ToList(); return list; } catch (Exception ex) { throw ex; } } /// /// 作废 /// /// 主键 public void CanelEntity(LoginUserInfo loginUserInfo, string _F_No) { SqlSugarClient client = null; try { client = SysDbCore.GetDbCtx(); var db = client.Queryable().Where(it => it.F_no == _F_No).First(); if (db == null) throw new Exception("入库单不存在"); if (db.F_orderStatus > 1) throw new Exception("单据已经执行中,不可删除"); //db.F_canceledUserNo = loginUserInfo.UserNo; //db.F_canceledTime = DateTime.Now; //db.F_orderStatus = 6; //SysDbCore.GetDbCtx().Updateable(db).UpdateColumns(it => new { it.F_canceledUserNo, it.F_canceledTime, it.F_orderStatus }).ExecuteCommand(); } catch (Exception ex) { throw ex; } } } }