| | |
| | | namespace Admin.NET.Application |
| | | { |
| | | /// <summary> |
| | | /// 工厂信息表服务 |
| | | /// 工厂信息服务 |
| | | /// </summary> |
| | | [ApiDescriptionSettings("WmsBase", Name = "WmsFactory", Order = 100)] |
| | | [Route("api")] |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 分页查询工厂信息表 |
| | | /// 分页查询工厂信息 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 不分页查询工厂信息表列表 |
| | | /// 不分页查询工厂信息列表 |
| | | /// </summary> |
| | | /// <param name="input">工厂信息表查询参数</param> |
| | | /// <returns>(工厂信息表)实例列表</returns> |
| | | /// <param name="input">工厂信息查询参数</param> |
| | | /// <returns>(工厂信息)实例列表</returns> |
| | | [HttpGet("WmsFactory/listNonPage")] |
| | | public async Task<List<WmsFactoryOutput>> ListNonPageAsync([FromQuery] WmsFactorySearchNonPage input) |
| | | { |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取工厂信息表 |
| | | /// 获取工厂信息 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取工厂信息表列表 |
| | | /// 获取工厂信息列表 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | #region 增、删、改 |
| | | |
| | | /// <summary> |
| | | /// 增加工厂信息表 |
| | | /// 增加工厂信息 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 删除工厂信息表 |
| | | /// 删除工厂信息 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新工厂信息表 |
| | | /// 更新工厂信息 |
| | | /// </summary> |
| | | /// <param name="input"></param> |
| | | /// <returns></returns> |
| | |
| | | #region 导入 |
| | | |
| | | /// <summary> |
| | | /// Excel模板导入工厂信息表功能 |
| | | /// Excel模板导入工厂信息功能 |
| | | /// </summary> |
| | | /// <param name="file">Excel模板文件</param> |
| | | /// <returns>导入的记录数</returns> |
| | |
| | | var _FactoryName = "";//名称 |
| | | var _FactoryAddress = "";//地址 |
| | | var _IsDisabled = "";//是否禁用 |
| | | var _Id = "";//Id主键 |
| | | #endregion |
| | | |
| | | |
| | |
| | | _FactoryName = row["名称"]?.ToString() ; |
| | | _FactoryAddress = row["地址"]?.ToString() ; |
| | | _IsDisabled = row["是否禁用"]?.ToString() ; |
| | | _Id = row["Id主键"]?.ToString() ; |
| | | #endregion |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_Id)) |
| | | { |
| | | if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[Id主键]{_Id}值不正确!"); |
| | | } |
| | | if (outId <= 0&&!string.IsNullOrEmpty(_Id)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[Id主键]{_Id}值不能小于等于0!"); |
| | | } |
| | | else |
| | | { |
| | | addItem.Id = outId; |
| | | } |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据版本下载工厂信息表的Excel导入模板 |
| | | /// 根据版本下载工厂信息的Excel导入模板 |
| | | /// </summary> |
| | | /// <param name="version">模板版本</param> |
| | | /// <returns>下载的模板文件</returns> |
| | |
| | | public IActionResult DownloadExcelTemplate([FromQuery] string version) |
| | | { |
| | | string _path = TemplateConst.EXCEL_TEMPLATEFILE_导入模版路径 + $"\\WmsFactory{TemplateConst.EXCEL_TEMPLATEFILE_导入模版名称后缀}.xlsx"; |
| | | var fileName = HttpUtility.UrlEncode($"导入模板(工厂信息表).xlsx", Encoding.GetEncoding("UTF-8")); |
| | | var fileName = HttpUtility.UrlEncode($"导入模板(工厂信息).xlsx", Encoding.GetEncoding("UTF-8")); |
| | | return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; |
| | | } |
| | | |
| | |
| | | /// <returns></returns> |
| | | private async Task CheckExisit( WmsFactory input,bool isEdit=false) |
| | | { |
| | | |
| | | |
| | | |
| | | |
| | | string errorMsg = string.Empty; |
| | | bool isExist = false; |
| | | if (!isEdit)//新增 |
| | | { |
| | |
| | | isExist = await _wmsFactoryRep.AnyAsync(u => |
| | | u.FactoryCode.Equals(input.FactoryCode) |
| | | ,false); |
| | | } |
| | | |
| | | errorMsg = $"系统中,编号[{input.FactoryCode}]已存在"; |
| | | if (isExist) |
| | | { |
| | | throw Oops.Oh(errorMsg); |
| | | } |
| | | |
| | | //数据是否存在重复 |
| | | isExist = await _wmsFactoryRep.AnyAsync(u => |
| | | u.FactoryName.Equals(input.FactoryName) |
| | | , false); |
| | | |
| | | errorMsg = $"系统中,名称[{input.FactoryName}]已存在"; |
| | | if (isExist) |
| | | { |
| | | throw Oops.Oh(errorMsg); |
| | | } |
| | | } |
| | | else//编辑 |
| | | { |
| | | |
| | |
| | | u.Id != input.Id |
| | | &&u.FactoryCode.Equals(input.FactoryCode) |
| | | ,false); |
| | | } |
| | | |
| | | errorMsg = $"系统中,编号[{input.FactoryCode}]已存在"; |
| | | if (isExist) |
| | | { |
| | | throw Oops.Oh(errorMsg); |
| | | } |
| | | |
| | | isExist = await _wmsFactoryRep.AnyAsync(u => |
| | | u.Id != input.Id |
| | | && u.FactoryName.Equals(input.FactoryName) |
| | | , false); |
| | | |
| | | errorMsg = $"系统中,名称[{input.FactoryName}]已存在"; |
| | | if (isExist) |
| | | { |
| | | throw Oops.Oh(errorMsg); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | if (isExist) throw Oops.Oh(ErrorCode.E0001); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据联合主键验证数据是否已存在-导入时验证 |
| | |
| | | }).FirstOrDefault(); |
| | | if (existExcelItem != null) |
| | | { |
| | | var wmsFactory = existExcelItem.Adapt<WmsFactory>(); |
| | | var item= existExcelItem.Adapt<WmsFactory>(); |
| | | throw Oops.Oh($"导入的表格中,编号[{item.FactoryCode}]已存在"); |
| | | } |
| | | |
| | | |
| | | //数据是否重复 |
| | | var existExcelItem2 = inputs.GroupBy(g => new { |
| | | g.FactoryName |
| | | }) |
| | | .Where(g => g.Count() > 1) |
| | | .Select(s => new { |
| | | s.Key.FactoryName |
| | | }).FirstOrDefault(); |
| | | if (existExcelItem2 != null) |
| | | { |
| | | var item = existExcelItem2.Adapt<WmsFactory>(); |
| | | throw Oops.Oh($"导入的表格中,名称[{item.FactoryName}]已存在"); |
| | | } |
| | | |
| | | |
| | | |
| | | //根据联合主键验证数据库中是否已存在相同数据 |
| | | var existDBItem = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w=> |
| | | |
| | | |
| | | //根据联合主键验证数据库中是否已存在相同数据 |
| | | var existDBItem = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w=> |
| | | inputs.Select(s=>"" |
| | | +s.FactoryCode |
| | | ) |
| | |
| | | )); |
| | | if (existDBItem != null) |
| | | { |
| | | var wmsFactory = existExcelItem.Adapt<WmsFactory>(); |
| | | var item= existExcelItem.Adapt<WmsFactory>(); |
| | | var item= existDBItem.Adapt<WmsFactory>(); |
| | | throw Oops.Oh($"系统中,编号[{item.FactoryCode}]已存在"); |
| | | } |
| | | |
| | | var existDBItem2 = await _wmsFactoryRep.DetachedEntities.FirstOrDefaultAsync(w => |
| | | inputs.Select(s => "" |
| | | + s.FactoryName |
| | | ) |
| | | .Contains("" |
| | | + w.FactoryName |
| | | )); |
| | | if (existDBItem2 != null) |
| | | { |
| | | var item = existDBItem2.Adapt<WmsFactory>(); |
| | | throw Oops.Oh($"系统中,名称[{item.FactoryName}]已存在"); |
| | | } |
| | | } |
| | | |
| | | #endregion |