Esempio n. 1
0
 /// <summary>
 /// 保存盘点修改
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnSave_Press(object sender, EventArgs e)
 {
     try
     {
         AddCIResultInputDto conInventoryInput = new AddCIResultInputDto()
         {
             IID        = IID,
             HANDLEMAN  = btnManager.Tag.ToString(),
             LocationId = btnLocation.Tag.ToString(),
             UserId     = Client.Session["UserID"].ToString(),
             Name       = txtName.Text
         };
         ReturnInfo returnInfo = _autofacConfig.ConInventoryService.UpdateInventoryOnly(conInventoryInput);
         if (returnInfo.IsSuccess)
         {
             ShowResult = ShowResult.Yes;
             Toast("修改成功");
             Close();
         }
         else
         {
             Toast(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Toast(ex.Message);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 开始盘点
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnStart_Press(object sender, EventArgs e)
 {
     try
     {
         AddCIResultInputDto inputDto = new AddCIResultInputDto {
             IID = lblName.BindDataValue.ToString()
         };
         var        inventory  = _autofacConfig.ConInventoryService.GetConInventoryById(lblName.BindDataValue.ToString());
         ReturnInfo returnInfo = _autofacConfig.ConInventoryService.AddConInventoryResult(inputDto);
         if (returnInfo.IsSuccess)
         {
             //((frmConInventory)Form).Bind();
             frmConInventoryResult result = new frmConInventoryResult();
             result.IID = lblName.BindDataValue.ToString();
             result.lblWareHouse.Tag = inventory.WAREID;
             Form.Show(result, (MobileForm sender1, object args) =>
             {
                 ((frmConInventory)Form).Bind();
             });
         }
         else
         {
             throw new Exception(returnInfo.ErrorInfo);
         }
     }
     catch (Exception ex)
     {
         Form.Toast(ex.Message);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 保存盘点修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Press(object sender, EventArgs e)
        {
            try
            {
                if (String.IsNullOrEmpty(txtName.Text))
                {
                    throw new Exception("盘点单名称不能为空!");
                }
                if (btnManager.Tag == null)
                {
                    throw new Exception("盘点人不能为空!");
                }
                if (btnWareHouse.Tag == null)
                {
                    throw new Exception("仓库不能为空!");
                }

                AddCIResultInputDto conInventoryInput = new AddCIResultInputDto()
                {
                    IID       = IID,
                    HANDLEMAN = btnManager.Tag.ToString(),
                    WAREID    = btnWareHouse.Tag.ToString(),
                    UserId    = Client.Session["UserID"].ToString(),
                    Name      = txtName.Text
                };
                if (btnST.Tag != null)
                {
                    conInventoryInput.STID = btnST.Tag.ToString();
                }
                if (btnSL.Tag != null)
                {
                    conInventoryInput.SLID = btnSL.Tag.ToString();
                }

                ReturnInfo returnInfo = _autofacConfig.ConInventoryService.UpdateInventoryOnly(conInventoryInput);
                if (returnInfo.IsSuccess)
                {
                    ShowResult = ShowResult.Yes;
                    Toast("修改成功");
                    Close();
                }
                else
                {
                    Toast(returnInfo.ErrorInfo);
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 只更新盘点单表头
        /// </summary>
        /// <param name="inputDto">所需数据</param>
        /// <returns></returns>
        public ReturnInfo UpdateInventoryOnly(AddCIResultInputDto inputDto)
        {
            //验证
            ReturnInfo    rInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();

            if (sb.Length == 0)
            {
                var assInventory = _conInventoryRepository.GetConInventoryByID(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;
                    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);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 开始盘点/结束盘点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void plAction_Press(object sender, EventArgs e)
        {
            try
            {
                ReturnInfo rInfo = new ReturnInfo();
                if (Status == InventoryStatus.未盘点)
                {
                    AddCIResultInputDto inputDto = new AddCIResultInputDto
                    {
                        IID    = IID,
                        UserId = Client.Session["UserID"].ToString()
                    };
                    var inventory = _autofacConfig.ConInventoryService.GetConInventoryById(IID);
                    rInfo = _autofacConfig.ConInventoryService.AddConInventoryResult(inputDto);
                    if (rInfo.IsSuccess)
                    {
                        Toast("盘点开始");
                        Bind();
                    }
                    else
                    {
                        throw new Exception(rInfo.ErrorInfo);
                    }
                }
                else
                {
                    //盘点结束
                    Dictionary <string, List <decimal> > conDictionary2 = new Dictionary <string, List <decimal> >();
                    foreach (var key in conDictionary.Keys)
                    {
                        if (conDictionary[key][1] == (int)ResultStatus.待盘点)
                        {
                            List <decimal> list = new List <decimal>();
                            list.Add(0);
                            list.Add(Convert.ToDecimal((int)ResultStatus.盘亏));
                            conDictionary2.Add(key, list);
                        }
                        else
                        {
                            conDictionary2.Add(key, conDictionary[key]);
                        }
                    }

                    ConInventoryInputDto inputDto2 = new ConInventoryInputDto
                    {
                        IID           = IID,
                        WAREID        = lblWareHouse.Tag.ToString(),
                        IsEnd         = true,
                        ConDictionary = conDictionary2
                    };
                    inputDto2.IsEnd = true;
                    rInfo           = _autofacConfig.ConInventoryService.UpdateInventory(inputDto2);
                    if (rInfo.IsSuccess)
                    {
                        ShowResult = ShowResult.Yes;
                        Close();
                        Toast("盘点结束成功.");
                    }
                    else
                    {
                        Toast(rInfo.ErrorInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                Form.Toast(ex.Message);
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 开始盘点
        /// </summary>
        /// <param name="inputDto">开始盘点时,传给后台的数据</param>
        /// <returns></returns>
        public ReturnInfo AddConInventoryResult(AddCIResultInputDto 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 = _conInventoryRepository.GetConInventoryByID(inputDto.IID).FirstOrDefault();
                    if (inventory != null)
                    {
                        //添加当前的盘点单行项
                        List <string> conList = _conQuantRepository.GetInventoryCons(inventory.LOCATIONID).Select(a => a.CID).ToList();
                        inventory.STATUS      = (int)InventoryStatus.盘点中;
                        inventory.TOTAL       = conList.Count;
                        inventory.RESULTCOUNT = 0;
                        _unitOfWork.RegisterDirty(inventory);

                        foreach (var con in conList)
                        {
                            ConQuant           conQuant = _conQuantRepository.GetByCID(con, inventory.LOCATIONID).FirstOrDefault();
                            ConInventoryResult result   = new ConInventoryResult
                            {
                                IID        = inputDto.IID,
                                CID        = con,
                                RESULT     = 0,
                                TOTAL      = conQuant.QUANTITY,
                                CREATEDATE = DateTime.Now,
                                CREATEUSER = inputDto.UserId,
                                MODIFYDATE = DateTime.Now,
                                MODIFYUSER = inputDto.UserId
                            };
                            _unitOfWork.RegisterNew(result);

                            //更新盘点的物品状态为锁定
                            var conq = _conQuantRepository.GetQuants(inputDto.LocationId, con).FirstOrDefault();
                            if (conq != null)
                            {
                                conq.ISLOCKED = 1;
                                _unitOfWork.RegisterDirty(conq);
                            }
                        }
                    }
                    _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);
                }
            }
        }