Пример #1
0
 /// <summary>
 /// 保存修改
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnSave_Press(object sender, EventArgs e)
 {
     try
     {
         AddAIResultInputDto assInventoryInput = new AddAIResultInputDto()
         {
             IID          = IID,
             HANDLEMAN    = HManId,
             LocationId   = LocationId,
             typeId       = typeId,
             DepartmentId = DepId,
             UserId       = UserId,
             Name         = txtName.Text
         };
         ReturnInfo returnInfo = _autofacConfig.AssInventoryService.UpdateInventoryOnly(assInventoryInput);
         if (returnInfo.IsSuccess)
         {
             ShowResult = ShowResult.Yes;
             Toast("修改成功");
             Close();
         }
         else
         {
             Toast(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Пример #2
0
 /// <summary>
 /// 开始盘点
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnStart_Press(object sender, EventArgs e)
 {
     try
     {
         AddAIResultInputDto inputDto = new AddAIResultInputDto {
             IID = lblName.BindDataValue.ToString()
         };
         var        inventory  = _autofacConfig.AssInventoryService.GetAssInventoryById(lblName.BindDataValue.ToString());
         ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventoryResult(inputDto);
         if (returnInfo.IsSuccess)
         {
             frmAssInventory assets = (frmAssInventory)Form;
             assets.Bind();
             frmAssInventoryResult result = new frmAssInventoryResult {
                 IID = lblName.BindDataValue.ToString(), WAREID = inventory.WAREID, DepartmentId = inventory.SLID, typeId = inventory.TYPEID
             };
             assets.Show(result, (MobileForm sender1, object args) =>
             {
                 if (result.ShowResult == ShowResult.Yes || result.ShowResult == ShowResult.None)
                 {
                     assets.Bind();
                 }
             });
         }
         else
         {
             Toast(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Пример #3
0
        /// <summary>
        /// 保存修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Press(object sender, EventArgs e)
        {
            try
            {
                if (btnManager.Tag == null)
                {
                    throw new Exception("请选择盘点人!");
                }
                if (btnWareHouse.Tag == null)
                {
                    throw new Exception("请选择仓库!");
                }
                string typeId = "";
                string stId   = "";
                string slId   = "";
                if (btnType.Tag != null)
                {
                    typeId = btnType.Tag.ToString();
                }
                if (btnST.Tag != null)
                {
                    stId = btnST.Tag.ToString();
                }
                if (btnSL.Tag != null)
                {
                    slId = btnSL.Tag.ToString();
                }

                AddAIResultInputDto assInventoryInput = new AddAIResultInputDto()
                {
                    IID       = IID,
                    HANDLEMAN = btnManager.Tag.ToString(),
                    typeId    = typeId,
                    WAREID    = btnWareHouse.Tag.ToString(),
                    STID      = stId,
                    SLID      = slId,
                    UserId    = UserId,
                    Name      = txtName.Text
                };
                ReturnInfo returnInfo = _autofacConfig.AssInventoryService.UpdateInventoryOnly(assInventoryInput);
                if (returnInfo.IsSuccess)
                {
                    ShowResult = ShowResult.Yes;
                    Toast("修改成功");
                    Close();
                }
                else
                {
                    Toast(returnInfo.ErrorInfo);
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
Пример #4
0
        /// <summary>
        /// 只更新盘点单表头
        /// </summary>
        /// <param name="inputDto">所需数据</param>
        /// <returns></returns>
        public ReturnInfo UpdateInventoryOnly(AddAIResultInputDto inputDto)
        {
            //验证
            ReturnInfo    rInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();

            if (sb.Length == 0)
            {
                var assInventory = _assInventoryRepository.GetAssInventoryByID(inputDto.IID).FirstOrDefault();
                if (assInventory != null)
                {
                    assInventory.NAME       = inputDto.Name;
                    assInventory.MODIFYDATE = DateTime.Now;
                    assInventory.HANDLEMAN  = inputDto.HANDLEMAN;
                    assInventory.WAREID     = inputDto.WAREID;
                    assInventory.STID       = inputDto.STID;
                    assInventory.SLID       = inputDto.SLID;
//                    assInventory.DEPARTMENTID = inputDto.DepartmentId;
//                    assInventory.LOCATIONID = inputDto.LocationId;
                    assInventory.TYPEID = inputDto.typeId;
                    try
                    {
                        _unitOfWork.RegisterDirty(assInventory);


                        bool result = _unitOfWork.Commit();
                        rInfo.IsSuccess = result;
                        rInfo.ErrorInfo = sb.ToString();
                        return(rInfo);
                    }
                    catch (Exception ex)
                    {
                        _unitOfWork.Rollback();
                        sb.Append(ex.Message);
                        rInfo.IsSuccess = false;
                        rInfo.ErrorInfo = sb.ToString();
                        return(rInfo);
                    }
                }
                else
                {
                    rInfo.IsSuccess = false;
                    sb.Append("未找到该盘点单.");
                    rInfo.ErrorInfo = sb.ToString();
                    return(rInfo);
                }
            }
            else
            {
                rInfo.IsSuccess = false;
                rInfo.ErrorInfo = sb.ToString();
                return(rInfo);
            }
        }
Пример #5
0
        /// <summary>
        /// 开始盘点
        /// </summary>
        /// <param name="inputDto">开始盘点时,传给后台的数据</param>
        /// <returns></returns>
        public ReturnInfo AddAssInventoryResult(AddAIResultInputDto inputDto)
        {
            ReturnInfo    RInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();

            if (IsExist(inputDto.IID))
            {
                RInfo.IsSuccess = true;
                RInfo.ErrorInfo = sb.ToString();
                return(RInfo);
            }
            else
            {
                try
                {
                    //更新盘点单状态为盘点中
                    var inventory = _assInventoryRepository.GetAssInventoryByID(inputDto.IID).FirstOrDefault();
                    if (inventory != null)
                    {
                        //添加当前的盘点单行项
                        List <string> assList = _assetsRepository.GetInventoryAssetses(inventory.LOCATIONID, inventory.TYPEID, inventory.DEPARTMENTID).Select(a => a.ASSID).ToList();
                        inventory.STATUS      = (int)InventoryStatus.盘点中;
                        inventory.TOTAL       = assList.Count;
                        inventory.RESULTCOUNT = 0;
                        _unitOfWork.RegisterDirty(inventory);

                        foreach (var asset in assList)
                        {
                            AssInventoryResult result = new AssInventoryResult
                            {
                                IID        = inputDto.IID,
                                ASSID      = asset,
                                RESULT     = 0,
                                CREATEDATE = DateTime.Now,
                                CREATEUSER = inputDto.UserId,
                                MODIFYDATE = DateTime.Now,
                                MODIFYUSER = inputDto.UserId
                            };
                            _unitOfWork.RegisterNew(result);

                            //更新盘点的物品状态为锁定
                            var assets = _assetsRepository.GetByID(asset).FirstOrDefault();
                            if (assets != null)
                            {
                                assets.ISLOCKED = 1;
                                _unitOfWork.RegisterDirty(assets);
                            }
                        }
                    }
                    _unitOfWork.Commit();
                    RInfo.IsSuccess = true;
                    RInfo.ErrorInfo = sb.ToString();
                    return(RInfo);
                }
                catch (Exception ex)
                {
                    _unitOfWork.Rollback();
                    sb.Append(ex.Message);
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = sb.ToString();
                    return(RInfo);
                }
            }
        }
Пример #6
0
        private void ibStart_Press(object sender, EventArgs e)
        {
            try
            {
                if (Status == InventoryStatus.盘点中)
                {
                    //盘点结束
                    ReturnInfo rInfo = new ReturnInfo();
                    Dictionary <string, int> assDictionary2 = new Dictionary <string, int>();
                    foreach (var key in assDictionary.Keys)
                    {
                        if (assDictionary[key] == (int)ResultStatus.待盘点)
                        {
                            assDictionary2.Add(key, (int)ResultStatus.盘亏);
                        }
                        else
                        {
                            assDictionary2.Add(key, assDictionary[key]);
                        }
                    }


                    AssInventoryInputDto inputDto2 = new AssInventoryInputDto
                    {
                        IID           = IID,
                        IsEnd         = false,
                        AssDictionary = assDictionary2
                    };
                    inputDto2.IsEnd = true;
                    rInfo           = _autofacConfig.AssInventoryService.UpdateInventory(inputDto2);
                    if (rInfo.IsSuccess)
                    {
                        ShowResult = ShowResult.Yes;
                        Close();
                        Toast("盘点结束成功.");
                    }
                    else
                    {
                        Toast(rInfo.ErrorInfo);
                    }
                }
                else
                {
                    //开始盘点
                    AddAIResultInputDto inputDto = new AddAIResultInputDto {
                        IID = IID
                    };
                    var        inventory  = _autofacConfig.AssInventoryService.GetAssInventoryById(IID);
                    ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventoryResult(inputDto);
                    if (returnInfo.IsSuccess)
                    {
                        Status           = InventoryStatus.盘点中;
                        ibStart.Text     = "结束盘点";
                        ibUpload.Visible = true;
                        plScan.Visible   = true;
                    }
                    else
                    {
                        Toast(returnInfo.ErrorInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }