Exemplo n.º 1
0
        /// <summary>
        /// 更新盘点明细信息
        /// </summary>
        /// <param name="inputDtos"></param>
        /// <returns></returns>
        public async Task <OperationResult> Update(params MatInventoryItemInfoInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");
            //
            foreach (MatInventoryItemInfoInputDto dtoData in inputDtos)
            {
                //if (string.IsNullOrEmpty(dtoData.WareHouseCode))
                //    return new OperationResult(OperationResultType.Error, "请正确填写仓库编号,该组数据不被存储。");
                //if (string.IsNullOrEmpty(dtoData.WareHouseName))
                //    return new OperationResult(OperationResultType.Error, "请正确填写仓库名称,该组数据不被存储。");
                //

                if (dtoData.ActualAmount > 500)
                {
                    return(new OperationResult(OperationResultType.Error, $"实际数量不能大于500,该组数据不被存储。"));
                }

                if (dtoData.ActualAmount > dtoData.FullPalletQuantity)
                {
                    return(new OperationResult(OperationResultType.Error, "实际数量(" + dtoData.ActualAmount.ToString() + ")大于满盘数量(" + dtoData.FullPalletQuantity.ToString() + "),该组数据不被存储。"));
                }
                //
                ////
                //if (MatInventoryItemRepository.CheckExists(x => x.WareHouseCode == dtoData.WareHouseCode && x.Id != dtoData.Id ))
                //    return new OperationResult(OperationResultType.Error, $"仓库编号 {dtoData.WareHouseCode} 的数据已存在,该组数据不被存储。");
                //if (MatInventoryItemRepository.CheckExists(x => x.WareHouseName == dtoData.WareHouseName && x.Id != dtoData.Id ))
                //    return new OperationResult(OperationResultType.Error, $"仓库名称 {dtoData.WareHouseName} 的数据已存在,该组数据不被存储。");
            }
            //
            MatInventoryItemRepository.UnitOfWork.BeginTransaction();
            //
            //MaterialInfo info = new MaterialInfo();
            //foreach (var item in inputDtos)
            //{
            //    info = MaterialInfoRepository.TrackEntities.Where(m => m.Id == item.Material_Id).FirstOrDefault();
            //    item.Material = info;
            //}
            ////
            MatInventoryInfo matinventoryinfo = new MatInventoryInfo();

            foreach (var item in inputDtos)
            {
                matinventoryinfo  = MatInventoryInfoRepository.TrackEntities.Where(m => m.Id == item.MatInventory_Id).FirstOrDefault();
                item.MatInventory = matinventoryinfo;
            }
            //
            MaterialBatchInfo materialbatchinfo = new MaterialBatchInfo();

            foreach (var item in inputDtos)
            {
                materialbatchinfo  = MaterialBatchInfoRepository.TrackEntities.Where(m => m.Id == item.MaterialBatch_Id).FirstOrDefault();
                item.MaterialBatch = materialbatchinfo;
            }
            //
            var result = await MatInventoryItemRepository.UpdateAsync(inputDtos);

            MatInventoryItemRepository.UnitOfWork.Commit();
            return(result);
        }
Exemplo n.º 2
0
        public IHttpActionResult Get(string id)
        {
            Guid             guid = Guid.Parse(id);
            MatInventoryInfo MatInventoryInfoList = MatInventoryInfoContract.MatInventoryInfos.ToList().Find(s =>
            {
                return(s.Id == guid);
            });

            if (MatInventoryInfoList == null)
            {
                return(Json(new OperationResult(OperationResultType.Success, "读取盘点信息数据失败!", MatInventoryInfoList)));
            }
            return(Json(new OperationResult(OperationResultType.Success, "读取盘点信息数据成功!", MatInventoryInfoList)));
        }
Exemplo n.º 3
0
        public IHttpActionResult GetMatInventoryItemInfoListByInventoryID(MatInventoryInfo info)
        {
            try
            {
                var page = GetPageResult(MatInventoryItemInfoContract.MatInventoryItemInfos.Where(m => m.MatInventory.Id == info.Id), m => new
                {
                    m.Id,

                    MatInventory_Id = m.MatInventory.Id,

                    MaterialBatch_Id = m.MaterialBatch.Id,
                    BatchCode        = m.MaterialBatch.BatchCode,

                    Material_ID        = m.MaterialBatch.Material.Id,
                    MaterialCode       = m.MaterialBatch.Material.MaterialCode,
                    MaterialName       = m.MaterialBatch.Material.MaterialName,
                    MaterialType       = m.MaterialBatch.Material.MaterialType,
                    MaterialUnit       = m.MaterialBatch.Material.MaterialUnit,
                    FullPalletQuantity = m.MaterialBatch.Material.FullPalletQuantity,

                    MatWareHouseLocation_Id = m.MaterialBatch.MatWareHouseLocation.Id,
                    WareHouseLocationCode   = m.MaterialBatch.MatWareHouseLocation.WareHouseLocationCode,
                    WareHouseLocationName   = m.MaterialBatch.MatWareHouseLocation.WareHouseLocationName,
                    WareHouseLocationType   = m.MaterialBatch.MatWareHouseLocation.WareHouseLocationType,

                    m.AccuntAmount,
                    m.ActualAmount,
                    m.DifferenceAmount,
                    m.InventoryTime,
                    m.InventoryState,
                    m.Remark,
                    m.CreatedTime,
                    m.CreatorUserId,
                    m.LastUpdatedTime,
                    m.LastUpdatorUserId,
                });
                return(Json(new OperationResult(OperationResultType.Success, "读取某一盘点单下的盘点明细信息列表数据成功!", page)));
            }
            catch (Exception ex)
            {
                return(Json(new OperationResult(OperationResultType.Error, "读取某一盘点单下的盘点明细信息列表数据失败!", ex.ToString())));
            }
        }