/// <summary> /// 添加入库信息 /// </summary> /// <param name="dtos">要添加的入库信息DTO信息</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> CreateInStors(params InStorInputDto[] dtos) { Check.Validate <InStorInputDto, int>(dtos, nameof(dtos)); //通过ID新增Name foreach (InStorInputDto dto in dtos) { MatBasedata matdb = await MatBasedataRepository.GetAsync(dto.MatId); SupBasedata supdb = await SupBasedataRepository.GetAsync(dto.SupId); dto.MatName = matdb.MatName; dto.SupName = supdb.SupName; } return(await InStorRepository.InsertAsync(dtos)); }
/// <summary> /// 更新反冲信息 /// </summary> /// <param name="dtos">包含更新信息的反冲信息DTO信息</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> UpdateRecoilOutStors(params OutStorInputDto[] dtos) { Check.Validate <OutStorInputDto, int>(dtos, nameof(dtos)); //强制修改反冲状态 if (dtos[0].RecoilNum != 0) { dtos[0].RecoilState = true; } //修改库存 MatBasedata matdb = await MatBasedataRepository.GetAsync(dtos[0].MatId); matdb.CurrStock = matdb.CurrStock + dtos[0].RecoilNum; MatBasedataRepository.Update(matdb); //累计反冲数量 OutStor Instordb = await OutStorRepository.GetAsync(dtos[0].Id); dtos[0].RecoilNum = dtos[0].RecoilNum + Instordb.RecoilNum; return(await OutStorRepository.UpdateAsync(dtos)); }
/// <summary> /// 更新入库反冲信息 /// </summary> /// <param name="dtos">包含更新信息的入库信息DTO信息</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> UpdateRecoilInStors(InStorInputDto[] dtos) { Check.Validate <InStorInputDto, int>(dtos, nameof(dtos)); //强制修改反冲状态 if (dtos[0].RecoilNum != 0) { dtos[0].RecoilState = true; } //修改库存信息 MatBasedata matdb = await MatBasedataRepository.GetAsync(dtos[0].MatId); matdb.CurrStock = matdb.CurrStock - dtos[0].RecoilNum; MatBasedataRepository.Update(matdb); //累计反冲数量 InStor Instordb = await InStorRepository.GetAsync(dtos[0].Id); dtos[0].RecoilNum = dtos[0].RecoilNum + Instordb.RecoilNum; return(await InStorRepository.UpdateAsync(dtos).ConfigureAwait(false)); }
/// <summary> /// 删除物品基础数据信息 /// </summary> /// <param name="ids">要删除的物品基础数据信息编号</param> /// <returns>业务操作结果</returns> public virtual Task <OperationResult> DeleteMatBasedatas(params int[] ids) { Check.NotNull(ids, nameof(ids)); return(MatBasedataRepository.DeleteAsync(ids)); }
/// <summary> /// 更新物品基础数据信息 /// </summary> /// <param name="dtos">包含更新信息的物品基础数据信息DTO信息</param> /// <returns>业务操作结果</returns> public virtual Task <OperationResult> UpdateMatBasedatas(params MatBasedataInputDto[] dtos) { Check.Validate <MatBasedataInputDto, int>(dtos, nameof(dtos)); return(MatBasedataRepository.UpdateAsync(dtos)); }
/// <summary> /// 检查物品基础数据信息是否存在 /// </summary> /// <param name="predicate">检查谓语表达式</param> /// <param name="id">更新的物品基础数据信息编号</param> /// <returns>物品基础数据信息是否存在</returns> public virtual Task <bool> CheckMatBasedataExists(Expression <Func <MatBasedata, bool> > predicate, int id = default(int)) { return(MatBasedataRepository.CheckExistsAsync(predicate, id)); }