Example #1
0
 /// <summary>
 /// 保存
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnSave_Press(object sender, EventArgs e)
 {
     try
     {
         AssInventoryInputDto assInventoryInput = new AssInventoryInputDto()
         {
             HANDLEMAN    = HManId,
             CREATEUSER   = UserId,
             LOCATIONID   = LocationId,
             TYPEID       = typeId,
             DEPARTMENTID = DepId,
             IsEnd        = false,
             MODIFYUSER   = UserId,
             NAME         = txtName.Text
         };
         ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventory(assInventoryInput);
         if (returnInfo.IsSuccess)
         {
             ShowResult = ShowResult.Yes;
             Toast("添加成功");
             Close();
         }
         else
         {
             throw new Exception(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Example #2
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();
                }

                AssInventoryInputDto assInventoryInput = new AssInventoryInputDto()
                {
                    HANDLEMAN  = btnManager.Tag.ToString(),
                    CREATEUSER = UserId,
//                    LOCATIONID = LocationId,
                    TYPEID = typeId,
//                    DEPARTMENTID = DepId,
                    IsEnd      = false,
                    MODIFYUSER = UserId,
                    WAREID     = btnWareHouse.Tag.ToString(),
                    STID       = stId,
                    SLID       = slId,
                    NAME       = txtName.Text
                };
                ReturnInfo returnInfo = _autofacConfig.AssInventoryService.AddAssInventory(assInventoryInput);
                if (returnInfo.IsSuccess)
                {
                    ShowResult = ShowResult.Yes;
                    Toast("添加成功");
                    Close();
                }
                else
                {
                    throw new Exception(returnInfo.ErrorInfo);
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
Example #3
0
        /// <summary>
        /// 添加盘点单
        /// </summary>
        /// <param name="inputDto">盘点单信息</param>
        /// <returns></returns>
        public ReturnInfo AddAssInventory(AssInventoryInputDto inputDto)
        {
            //验证
            ReturnInfo    rInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();
            string        maxId = _assInventoryRepository.GetMaxId();
            string        IId   = Helper.GenerateIDEx("AI", maxId);

            inputDto.IID = IId;
            sb.Append(Helper.BasicValidate(inputDto).ToString());
            if (sb.Length == 0)
            {
                var assbo = Mapper.Map <AssInventoryInputDto, AssInventory>(inputDto);
                assbo.STATUS     = (int)InventoryStatus.盘点未开始;
                assbo.CREATEDATE = DateTime.Now;
                assbo.MODIFYDATE = DateTime.Now;
                try
                {
                    _unitOfWork.RegisterNew(assbo);


                    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;
                rInfo.ErrorInfo = sb.ToString();
                return(rInfo);
            }
        }
Example #4
0
 private void ibUpload_Press(object sender, EventArgs e)
 {
     try
     {
         ReturnInfo           rInfo    = new ReturnInfo();
         AssInventoryInputDto inputDto = new AssInventoryInputDto
         {
             IID           = IID,
             IsEnd         = false,
             AssDictionary = assDictionary
         };
         inputDto.IsEnd = false;
         rInfo          = _autofacConfig.AssInventoryService.UpdateInventory(inputDto);
         Toast(rInfo.IsSuccess ? "上传结果成功." : rInfo.ErrorInfo);
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Example #5
0
        /// <summary>
        /// 点击ActionButton
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmAssInventoryResult_ActionButtonPress(object sender, ActionButtonPressEventArgs e)
        {
            try
            {
                ReturnInfo rInfo = new ReturnInfo();
                switch (e.Index)
                {
                case 0:
                    //上传结果
                    AssInventoryInputDto inputDto = new AssInventoryInputDto
                    {
                        IID           = IID,
                        IsEnd         = false,
                        AssDictionary = assDictionary
                    };
                    inputDto.IsEnd = false;
                    rInfo          = _autofacConfig.AssInventoryService.UpdateInventory(inputDto);
                    Toast(rInfo.IsSuccess ? "上传结果成功." : rInfo.ErrorInfo);
                    break;

                case 1:
                    //盘点结束
                    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);
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
Example #6
0
        /// <summary>
        /// 更新盘点单
        /// </summary>
        /// <param name="inputDto">盘点单信息</param>
        /// <returns></returns>
        public ReturnInfo UpdateInventory(AssInventoryInputDto inputDto)
        {
            ReturnInfo    rInfo     = new ReturnInfo();
            StringBuilder sb        = new StringBuilder();
            var           inventory = _assInventoryRepository.GetAssInventoryByID(inputDto.IID).FirstOrDefault();

            if (inventory == null)
            {
                sb.Append("未找到该编号的盘点单.");
                rInfo.IsSuccess = false;
                rInfo.ErrorInfo = sb.ToString();
                return(rInfo);
            }
            else
            {
                if (inventory.STATUS == (int)InventoryStatus.盘点结束)
                {
                    sb.Append("该盘点单已经盘点结束.");
                    rInfo.IsSuccess = false;
                    rInfo.ErrorInfo = sb.ToString();
                    return(rInfo);
                }
                try
                {
                    List <string> assList = _assInventoryResultRepository.GetResultsByStatus(inputDto.IID, null).Select(a => a.ASSID).ToList();
                    int           count   = inputDto.AssDictionary.Count;
                    //更新盘点单结果行项
                    foreach (var key in inputDto.AssDictionary.Keys)
                    {
                        if (assList.Contains(key))
                        {
                            //更新
                            var inventoryresult = _assInventoryResultRepository.GetResultsByAssId(inputDto.IID, key)
                                                  .FirstOrDefault();
                            if (inventoryresult != null)
                            {
                                inventoryresult.RESULT = inputDto.AssDictionary[key];
                                if (inventoryresult.RESULT == (int)ResultStatus.待盘点)
                                {
                                    count--;
                                }
                            }

                            _unitOfWork.RegisterDirty(inventoryresult);
                        }
                        else
                        {
                            //添加
                            AssInventoryResult result = new AssInventoryResult
                            {
                                IID        = inputDto.IID,
                                ASSID      = key,
                                RESULT     = inputDto.AssDictionary[key],
                                CREATEDATE = DateTime.Now,
                                MODIFYDATE = DateTime.Now,
                                CREATEUSER = inputDto.MODIFYUSER,
                                MODIFYUSER = inputDto.MODIFYUSER
                            };
                            _unitOfWork.RegisterNew(result);
                        }
                        if (inputDto.IsEnd)
                        {
                            //如果盘点结束,就更新资产状态为非锁定
                            var assets = _assetsRepository.GetByID(key).FirstOrDefault();
                            if (assets != null)
                            {
                                assets.ISLOCKED = 0;
                                _unitOfWork.RegisterDirty(assets);
                            }
                        }
                    }
                    //如果盘点结束,就更新盘点单状态
                    inventory.MODIFYUSER  = inputDto.MODIFYUSER;
                    inventory.MODIFYDATE  = DateTime.Now;
                    inventory.RESULTCOUNT = count;
                    if (inputDto.IsEnd)
                    {
                        inventory.STATUS = (int)InventoryStatus.盘点结束;
                    }
                    _unitOfWork.RegisterDirty(inventory);

                    _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);
                }
            }
        }
Example #7
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);
            }
        }