| | |
| | | { |
| | | var wmsControlRuleDetails = await _wmsControlRuleDetailRep.DetachedEntities |
| | | .Where(!string.IsNullOrEmpty(input.RuleCode), u => u.RuleCode == input.RuleCode) |
| | | .Where(!string.IsNullOrEmpty(input.RuleName), u => u.RuleName == input.RuleName) |
| | | .Where(input.MaxImumqty != null, u => u.MaxImumqty == input.MaxImumqty) |
| | | .Where(input.MinImumqty != null, u => u.MinImumqty == input.MinImumqty) |
| | | .Where(input.SafeImumqty != null, u => u.SafeImumqty == input.SafeImumqty) |
| | |
| | | public async Task<List<WmsControlRuleDetailOutput>> ListNonPageAsync([FromQuery] WmsControlRuleDetailSearchNonPage input) |
| | | { |
| | | var pRuleCode = input.RuleCode?.Trim() ?? ""; |
| | | var pRuleName = input.RuleName?.Trim() ?? ""; |
| | | var pMaxImumqty = input.MaxImumqty; |
| | | var pMinImumqty = input.MinImumqty; |
| | | var pSafeImumqty = input.SafeImumqty; |
| | |
| | | var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? ""; |
| | | var wmsControlRuleDetails = await _wmsControlRuleDetailRep.DetachedEntities |
| | | .Where(!string.IsNullOrEmpty(pRuleCode), u => u.RuleCode == pRuleCode) |
| | | .Where(!string.IsNullOrEmpty(pRuleName), u => u.RuleName == pRuleName) |
| | | .Where(pMaxImumqty != null, u => u.MaxImumqty == pMaxImumqty) |
| | | .Where(pMinImumqty != null, u => u.MinImumqty == pMinImumqty) |
| | | .Where(pSafeImumqty != null, u => u.SafeImumqty == pSafeImumqty) |
| | |
| | | public async Task Add(AddWmsControlRuleDetailInput input) |
| | | { |
| | | var wmsControlRuleDetail = input.Adapt<WmsControlRuleDetail>(); |
| | | wmsControlRuleDetail.RuleCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString();//TODO 要调用生成 编号的方法 先用雪花ID |
| | | //验证 |
| | | await CheckExisit(wmsControlRuleDetail); |
| | | |
| | |
| | | UpdatedUserName = SysHelper.GetUserName() |
| | | }; |
| | | #region 定义变量 |
| | | var _RuleCode = "";//控制属性规则编号 |
| | | var _RuleName = "";//控制属性规则名称 |
| | | var _MaxImumqty = "";//最高库存 |
| | | var _MinImumqty = "";//最低库存 |
| | | var _SafeImumqty = "";//安全库存 |
| | |
| | | var _IsNotChek = "";//是否免检 |
| | | var _ShelfLifeDays = "";//保质期天数 |
| | | var _IsDisabled = "";//是否禁用 |
| | | var _Id = "";//Id主键 |
| | | #endregion |
| | | |
| | | |
| | | #region 取值 |
| | | _RuleCode = row["控制属性规则编号"]?.ToString() ; |
| | | _RuleName = row["控制属性规则名称"]?.ToString() ; |
| | | _MaxImumqty = row["最高库存"]?.ToString() ; |
| | | _MinImumqty = row["最低库存"]?.ToString() ; |
| | | _SafeImumqty = row["安全库存"]?.ToString() ; |
| | |
| | | _IsNotChek = row["是否免检"]?.ToString() ; |
| | | _ShelfLifeDays = row["保质期天数"]?.ToString() ; |
| | | _IsDisabled = row["是否禁用"]?.ToString() ; |
| | | _Id = row["Id主键"]?.ToString() ; |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region 验证 |
| | | |
| | | if (string.IsNullOrEmpty(_RuleCode)) |
| | | if (string.IsNullOrEmpty(_RuleName)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[控制属性规则编号]{_RuleCode}不能为空!"); |
| | | throw Oops.Oh($"第{index}行[控制属性规则名称]{_RuleName}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_RuleCode)) |
| | | if(!string.IsNullOrEmpty(_RuleName)) |
| | | { |
| | | addItem.RuleCode = (string)_RuleCode; |
| | | addItem.RuleName = (string)_RuleName; |
| | | } |
| | | if(!string.IsNullOrEmpty(_MaxImumqty)) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | 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 |
| | | |
| | | |
| | | |
| | | addItem.RuleCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString();//TODO 要调用生成 编号的方法 先用雪花ID |
| | | details.Add(addItem); |
| | | } |
| | | //验重 |
| | |
| | | { |
| | | //数据是否存在重复 |
| | | isExist = await _wmsControlRuleDetailRep.AnyAsync(u => |
| | | u.RuleCode.Equals(input.RuleCode) |
| | | u.RuleName.Equals(input.RuleName) |
| | | ,false); |
| | | } |
| | | else//编辑 |
| | |
| | | //当前编辑数据以外是否存在重复 |
| | | isExist = await _wmsControlRuleDetailRep.AnyAsync(u => |
| | | u.Id != input.Id |
| | | &&u.RuleCode.Equals(input.RuleCode) |
| | | &&u.RuleName.Equals(input.RuleName) |
| | | ,false); |
| | | } |
| | | |
| | |
| | | } |
| | | //数据是否重复 |
| | | var existExcelItem = inputs.GroupBy(g => new { |
| | | g.RuleCode |
| | | g.RuleName |
| | | }) |
| | | .Where(g => g.Count() > 1) |
| | | .Select(s => new { |
| | | s.Key.RuleCode |
| | | s.Key.RuleName |
| | | }).FirstOrDefault(); |
| | | if (existExcelItem != null) |
| | | { |
| | | var wmsControlRuleDetail = existExcelItem.Adapt<WmsControlRuleDetail>(); |
| | | var item= existExcelItem.Adapt<WmsControlRuleDetail>(); |
| | | throw Oops.Oh($"导入的表格中,控制属性规则编号[{item.RuleCode}]已存在"); |
| | | throw Oops.Oh($"导入的表格中,控制属性规则名称[{item.RuleName}]已存在"); |
| | | } |
| | | |
| | | |
| | |
| | | //根据联合主键验证数据库中是否已存在相同数据 |
| | | var existDBItem = await _wmsControlRuleDetailRep.DetachedEntities.FirstOrDefaultAsync(w=> |
| | | inputs.Select(s=>"" |
| | | +s.RuleCode |
| | | +s.RuleName |
| | | ) |
| | | .Contains("" |
| | | +w.RuleCode |
| | | +w.RuleName |
| | | )); |
| | | if (existDBItem != null) |
| | | { |
| | | var wmsControlRuleDetail = existExcelItem.Adapt<WmsControlRuleDetail>(); |
| | | var item= existExcelItem.Adapt<WmsControlRuleDetail>(); |
| | | throw Oops.Oh($"系统中,控制属性规则编号[{item.RuleCode}]已存在"); |
| | | var item= existDBItem.Adapt<WmsControlRuleDetail>(); |
| | | throw Oops.Oh($"系统中,控制属性规则名称[{item.RuleName}]已存在"); |
| | | } |
| | | } |
| | | |