|  | @@ -45,6 +45,12 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  sqlWhere += string.Format(" And ( FullName Like '%{0}%' Or ShortName Like '%{0}%' ) ", _dto.VendorName);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +            if (!string.IsNullOrEmpty(_dto.BusRange))//供应商经营范围
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                //List<int> list = _dto.BusRange.Split(',').ToList().ConvertAll(t => Convert.ToInt32(t));
 | 
	
		
			
				|  |  | +                //单数值匹配
 | 
	
		
			
				|  |  | +                sqlWhere += string.Format(" And BusRange Like '%,{0},%' ", _dto.BusRange);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //if (!string.IsNullOrEmpty(sqlWhere.Trim()))
 | 
	
		
			
				|  |  |              //{
 | 
	
	
		
			
				|  | @@ -56,13 +62,26 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              int currPIndex = (((_dto.PageIndex > 0) ? (_dto.PageIndex - 1) : 0) * _dto.PageSize) + 1;
 | 
	
		
			
				|  |  |              int currPSize = (((_dto.PageIndex > 0) ? (_dto.PageIndex - 1) : 0) + 1) * _dto.PageSize;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            string sql = string.Format(@" Select ROW_NUMBER() Over(order By Id desc) as RowNumber,* From ( 
 | 
	
		
			
				|  |  | - Select Id,FullName,ShortName,Address,Linker,Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
 | 
	
		
			
				|  |  | -) ) as tb Where tb.RowNumber Between {0} And {1} ", currPIndex, currPSize, sqlWhere);
 | 
	
		
			
				|  |  | +            string sql = string.Format(@" Select * From(Select ROW_NUMBER() Over(order By Id desc) as RowNumber, Id,FullName,ShortName,Address,Linker,
 | 
	
		
			
				|  |  | +Job,Mobile,Remark From Res_ItemVendor With(Nolock) {2}
 | 
	
		
			
				|  |  | +) as tb Where tb.RowNumber Between {0} And {1} ", currPIndex, currPSize, sqlWhere);
 | 
	
		
			
				|  |  |              Res_ItemVendorListView rst = new Res_ItemVendorListView();
 | 
	
		
			
				|  |  |              rst.CurrPageIndex = currPIndex;
 | 
	
		
			
				|  |  |              rst.CurrPageSize = currPSize;
 | 
	
		
			
				|  |  | -            rst.DataList = _sqlSugar.SqlQueryable<Res_ItemVendorView>(sql).ToList();
 | 
	
		
			
				|  |  | +            List<Res_ItemVendorView> dataSource = _sqlSugar.SqlQueryable<Res_ItemVendorView>(sql).ToList();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            foreach (var item in dataSource)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                string rangeStr = "";
 | 
	
		
			
				|  |  | +                List<int> rangeList = item.BusRange.TrimStart(',').Split(',').ToList().ConvertAll(t => Convert.ToInt32(t));
 | 
	
		
			
				|  |  | +                foreach (var item2 in rangeList)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    rangeStr += GetText_BusRanger(item2) + ",";
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                item.BusRange_Text = rangeStr;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            rst.DataList = new List<Res_ItemVendorView>(dataSource);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if (rst.DataList.Count > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  string sqlCount = string.Format(@" Select Id From Res_ItemVendor With(Nolock) {0} ", sqlWhere);
 | 
	
	
		
			
				|  | @@ -73,6 +92,17 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              return rst;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        private string GetText_BusRanger(int sdid)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            List<Sys_SetData> dataList = _sqlSugar.Queryable<Sys_SetData>().Where(s => s.STid == 21).ToList();
 | 
	
		
			
				|  |  | +            string result = "未知类型" + sdid;
 | 
	
		
			
				|  |  | +            if (dataList.FirstOrDefault(s => s.Id == sdid) != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                result = dataList.FirstOrDefault(s => s.Id == sdid).Name;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            return result;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  |          /// 供应商信息查询
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
	
		
			
				|  | @@ -85,6 +115,13 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              if (_dto.VendorId > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  Res_ItemVendorView _view = _sqlSugar.Queryable<Res_ItemVendorView>().Where(s => s.Id == _dto.VendorId).First();
 | 
	
		
			
				|  |  | +                string rangeStr = "";
 | 
	
		
			
				|  |  | +                List<int> rangeList = _view.BusRange.TrimStart(',').Split(',').ToList().ConvertAll(t => Convert.ToInt32(t));
 | 
	
		
			
				|  |  | +                foreach (var item2 in rangeList)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    rangeStr += GetText_BusRanger(item2) + ",";
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                _view.BusRange_Text = rangeStr;
 | 
	
		
			
				|  |  |                  return _view;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              else
 | 
	
	
		
			
				|  | @@ -116,6 +153,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              dic.Add("DeleteTime", "Null");
 | 
	
		
			
				|  |  |              dic.Add("Remark", _dto.Remark);
 | 
	
		
			
				|  |  |              dic.Add("IsDel", 0);
 | 
	
		
			
				|  |  | +            dic.Add("BusRange", string.IsNullOrEmpty(_dto.BusRange) ? "," : _dto.BusRange);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return await InsertDataByDictionary(dic, "Res_ItemVendor");
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -131,7 +169,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              var result = await _sqlSugar.Updateable<Res_ItemVendor>()
 | 
	
		
			
				|  |  |                  .Where(s => s.Id == _entity.Id)
 | 
	
		
			
				|  |  | -                .UpdateColumns(s => new { s.FullName, s.ShortName, s.Address, s.Linker, s.Mobile, s.Job, s.Remark })
 | 
	
		
			
				|  |  | +                .UpdateColumns(s => new { s.FullName, s.ShortName, s.Address, s.Linker, s.Mobile, s.BusRange, s.Job, s.Remark })
 | 
	
		
			
				|  |  |                  .ExecuteCommandAsync();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return result > 0;
 | 
	
	
		
			
				|  | @@ -178,9 +216,9 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  sqlWhere += string.Format(" And d.VendorId = {0} ", _dto.VendorId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            if (_dto.SetDataId > 0)//类型Id
 | 
	
		
			
				|  |  | +            if (_dto.ItemTypeId > 0)//类型Id
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sqlWhere += string.Format(" And d.SetDataId = {0} ", _dto.SetDataId);
 | 
	
		
			
				|  |  | +                sqlWhere += string.Format(" And d.ItemTypeId = {0} ", _dto.ItemTypeId);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (_dto.MinRate > 0)//价格区间(最低)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -201,20 +239,23 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              int currPIndex = (((_dto.PageIndex > 0) ? (_dto.PageIndex - 1) : 0) * _dto.PageSize) + 1;
 | 
	
		
			
				|  |  |              int currPSize = (((_dto.PageIndex > 0) ? (_dto.PageIndex - 1) : 0) + 1) * _dto.PageSize;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            string sql = string.Format(@" Select ROW_NUMBER() Over(order By Id desc) as RowNumber,* From ( 
 | 
	
		
			
				|  |  | - Select d.Id as ItemId,d.VendorId,v.FullName as VendorFullName,v.ShortName as VendorShortName,sd.Id as SetDataId,sd.Name as ItemTypeName,d.MinRate,d.MaxRate,d.CurrRate,d.Remark
 | 
	
		
			
				|  |  | +            string sql = string.Format(@" SELECT * FROM(
 | 
	
		
			
				|  |  | + Select ROW_NUMBER() Over(order By d.Id desc) as RowNumber, d.ItemName,d.Id as ItemId,d.VendorId,v.FullName as VendorFullName,
 | 
	
		
			
				|  |  | + v.ShortName as VendorShortName,t.Id as ItemTypeId,t.TypeName as ItemTypeName,
 | 
	
		
			
				|  |  | + d.MinRate,d.MaxRate,d.CurrRate,d.Remark
 | 
	
		
			
				|  |  |   From Res_ItemDetail as d With(Nolock) 
 | 
	
		
			
				|  |  |   Inner Join Res_ItemVendor as v With(Nolock) On d.VendorId=v.Id
 | 
	
		
			
				|  |  | - Inner Join Sys_SetData as sd With(Nolock) On d.SetDataId=sd.Id
 | 
	
		
			
				|  |  | -{2}
 | 
	
		
			
				|  |  | -) ) as tb Where tb.RowNumber Between {0} And {1} ", currPIndex, currPSize, sqlWhere);
 | 
	
		
			
				|  |  | + Inner Join Res_ItemType as t With(Nolock) On d.ItemTypeId=t.Id
 | 
	
		
			
				|  |  | + {2}
 | 
	
		
			
				|  |  | +)  as tb Where tb.RowNumber Between {0} And {1} ", currPIndex, currPSize, sqlWhere);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              Res_ItemInfoListView rst = new Res_ItemInfoListView();
 | 
	
		
			
				|  |  |              rst.CurrPageIndex = currPIndex;
 | 
	
		
			
				|  |  |              rst.CurrPageSize = currPSize;
 | 
	
		
			
				|  |  |              rst.DataList = _sqlSugar.SqlQueryable<Res_ItemInfoView>(sql).ToList();
 | 
	
		
			
				|  |  |              if (rst.DataList.Count > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                string sqlCount = string.Format(@" Select Id From Res_ItemDetail as d 5 With(Nolock) {0} ", sqlWhere);
 | 
	
		
			
				|  |  | +                string sqlCount = string.Format(@" Select Id From Res_ItemDetail as d  With(Nolock) {0} ", sqlWhere);
 | 
	
		
			
				|  |  |                  int dataCount = _sqlSugar.SqlQueryable<Res_ItemInfoView>(sqlCount).Count();
 | 
	
		
			
				|  |  |                  rst.DataCount = dataCount;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -233,9 +274,12 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (_dto.ItemId > 0)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                string sql = string.Format(@" Select d.Id as ItemId,d.VendorId,v.FullName as VendorFullName,v.ShortName as VendorShortName,sd.Id as SetDataId,sd.Name as ItemTypeName,
 | 
	
		
			
				|  |  | +                string sql = string.Format(@" Select d.ItemName,d.Id as ItemId,d.VendorId,v.FullName as VendorFullName,v.ShortName as VendorShortName,t.Id as ItemTypeId,t.TypeName as ItemTypeName,
 | 
	
		
			
				|  |  |   d.MinRate,d.MaxRate,d.CurrRate,d.Remark
 | 
	
		
			
				|  |  | - From Res_ItemDetail as d With(Nolock) Where d.Id={0} ", _dto.ItemId);
 | 
	
		
			
				|  |  | + From Res_ItemDetail as d With(Nolock)
 | 
	
		
			
				|  |  | + Inner Join Res_ItemType as t With(Nolock) On d.ItemTypeId=t.Id
 | 
	
		
			
				|  |  | +Inner Join Res_ItemVendor as v With(Nolock) On d.VendorId=v.Id
 | 
	
		
			
				|  |  | +Where d.Id={0} ", _dto.ItemId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  Res_ItemInfoView _view = _sqlSugar.SqlQueryable<Res_ItemInfoView>(sql).First();
 | 
	
		
			
				|  |  |                  return _view;
 | 
	
	
		
			
				|  | @@ -248,6 +292,11 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |              return null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// 修改物料信息
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="_entity"></param>
 | 
	
		
			
				|  |  | +        /// <returns></returns>
 | 
	
		
			
				|  |  |          public async Task<bool> updItemInfo(Res_ItemDetailInfo _entity)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              var source = await _sqlSugar.Queryable<Res_ItemDetailInfo>().Where(s => s.Id == _entity.Id).FirstAsync();
 | 
	
	
		
			
				|  | @@ -283,7 +332,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                  var result = await _sqlSugar.Updateable<Res_ItemDetailInfo>()
 | 
	
		
			
				|  |  |                     .Where(s => s.Id == _entity.Id)
 | 
	
		
			
				|  |  | -                   .UpdateColumns(s => new { s.CurrDt, s.CurrRate, s.ItemName, s.MaxDt, s.MaxRate, s.MinDt, s.MinRate, s.Remark, s.SetDataId, s.VendorId })
 | 
	
		
			
				|  |  | +                   .UpdateColumns(s => new { s.CurrDt, s.CurrRate, s.ItemName, s.MaxDt, s.MaxRate, s.MinDt, s.MinRate, s.Remark, s.ItemTypeId, s.VendorId })
 | 
	
		
			
				|  |  |                     .ExecuteCommandAsync();
 | 
	
		
			
				|  |  |                  return result > 0;
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -291,7 +340,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 删除供应商信息
 | 
	
		
			
				|  |  | +        /// 删除物料信息
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="_entity"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -310,19 +359,5 @@ namespace OASystem.Infrastructure.Repositories.Resource
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        /// <summary>
 | 
	
		
			
				|  |  | -        /// 获取 物料类型列表
 | 
	
		
			
				|  |  | -        /// </summary>
 | 
	
		
			
				|  |  | -        /// <returns></returns>
 | 
	
		
			
				|  |  | -        public List<SetDataView> GetItemTypeListBySetData()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            string sql = string.Format(@" Select d.Id,d.Name,d.STid From Sys_SetData as d With(Nolock) 
 | 
	
		
			
				|  |  | -Inner Join Sys_SetDataType as t With(Nolock) On d.STid=t.Id 
 | 
	
		
			
				|  |  | -Where t.IsDel=0 And d.IsDel=0 And t.Id=58 ");
 | 
	
		
			
				|  |  | -            List<SetDataView> list = _sqlSugar.SqlQueryable<SetDataView>(sql).ToList();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            return list;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |