using Apache.NMS.ActiveMQ.Commands; using Rhea.Common; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using Tiger.IBusiness; using Tiger.Model; using Tiger.Model.Minsun; namespace Tiger.Business.WMS { /// /// 库存信息接口 /// public class InventroyInfo : IInventroyInfo { /// /// 入库信息 /// /// /// public List GetInStoreInfo(iParams param) { DbClient db = Biz.DataSource["WMS57"].Client; var query = db.Queryable((i, m,v) => new JoinQueryInfos( JoinType.Left, i.ITEM_CODE == m.ITEM_CODE, JoinType.Left, i.WH_ID == v.WH_ID && i.LOCATION_ID == v.LOCATION_ID )) .Where((i, m, v) => i.STATUS == WMS_ITEM.STATUSs.InStore.GetValue() && (i.TRANS_CODE == "BIZ_ERP_OTH_IN" || i.TRANS_CODE == "BIZ_ERP_RECEIPT")) .WhereIF(!string.IsNullOrEmpty(param.sn), (i, m, v) => i.SN == param.sn) .WhereIF(!string.IsNullOrEmpty(param.startDate), (i, m, v) => i.UPDATE_TIME >= Convert.ToDateTime(param.startDate)) .WhereIF(!string.IsNullOrEmpty(param.endDate), (i, m, v) => i.UPDATE_TIME < Convert.ToDateTime(param.endDate)) .Select((i, m, v) => new iInStoreInfo { sn = i.SN, MaterialCode = i.ITEM_CODE, MaterialName = m.ITEM_NAME, VendorCode = i.SUPP_CODE, WarehouseCode = v.WH_CODE, LocationCode = v.LOCATION_CODE, LotNo = i.LOTNO, SourceCode = i.TRANS_NO, QTY = i.QTY, CreateDate = i.CREATE_TIME, UpdateDate = i.UPDATE_TIME }) .ToList(); return query; } /// /// 出库信息 /// /// /// public List GetOutStoreInfo(iParams param) { DbClient db = Biz.DataSource["WMS57"].Client; var query = db.Queryable((i, m, v) => new JoinQueryInfos( JoinType.Left, i.ITEM_CODE == m.ITEM_CODE, JoinType.Left, i.WH_ID == v.WH_ID && i.LOCATION_ID == v.LOCATION_ID )) .Where((i, m, v) => i.STATUS == WMS_ITEM.STATUSs.OffShelf.GetValue() || i.STATUS == WMS_ITEM.STATUSs.Sended.GetValue() || i.STATUS == WMS_ITEM.STATUSs.Shipped.GetValue()) .WhereIF(!string.IsNullOrEmpty(param.sn), (i, m, v) => i.SN == param.sn) .WhereIF(!string.IsNullOrEmpty(param.startDate), (i, m, v) => i.UPDATE_TIME >= Convert.ToDateTime(param.startDate)) .WhereIF(!string.IsNullOrEmpty(param.endDate), (i, m, v) => i.UPDATE_TIME < Convert.ToDateTime(param.endDate)) .Select((i, m, v) => new iOutStoreInfo { sn = i.SN, MaterialCode = i.ITEM_CODE, MaterialName = m.ITEM_NAME, WarehouseCode = v.WH_CODE, LocationCode = v.LOCATION_CODE, BillCode = i.TRANS_NO, QTY = i.QTY, CreateDate = i.CREATE_TIME, UpdateDate = i.UPDATE_TIME }) .ToList(); return query; } public List GetReturnInfo(iParamsBase param) { throw new NotImplementedException(); } public List GetSplitInfo(iParams param) { throw new NotImplementedException(); } /// /// 物料库存信息 /// /// /// public List GetStorageInfo(iParamsBase param) { DbClient db = Biz.DataSource["WMS57"].Client; var query = db.Queryable((i, m,s) => new JoinQueryInfos( JoinType.Left, i.ITEM_CODE == m.ITEM_CODE, JoinType.Left, i.SUPP_CODE == s.SUPP_CODE )) .Where((i, m, s) => i.STATUS == WMS_ITEM.STATUSs.InStore.GetValue()) .WhereIF(!string.IsNullOrEmpty(param.startDate), (i, m, s) => i.UPDATE_TIME >= Convert.ToDateTime(param.startDate)) .WhereIF(!string.IsNullOrEmpty(param.endDate), (i, m, s) => i.UPDATE_TIME < Convert.ToDateTime(param.endDate)) .Select((i, m, s) => new iStorageInfo { MaterialCode = i.ITEM_CODE, MaterialName = m.ITEM_NAME, VenderCode = i.SUPP_CODE, VenderName = s.SUPP_NAME_CN, Unit = m.UNIT, QTY = i.QTY, UpdateDate = i.UPDATE_TIME }) .ToList(); return query; } } }