/// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="operateMode">操作模式</param>
        /// <param name="billNo">领料退库单号</param>
        public FormMaterialListReturnedInTheDepot(CE_BusinessOperateMode operateMode, string billNo)
        {
            InitializeComponent();

            S_MaterialReturnedInTheDepot tempBill = m_serverBill.GetBill(billNo);

            m_lnqWSCode = tempBill == null?
                          m_serverWSBasic.GetPersonnelWorkShop(BasicInfo.LoginID) :
                              m_serverWSBasic.GetPersonnelWorkShop(tempBill.FillInPersonnelCode);

            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw |
                     ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true);
            UpdateStyles();

            m_operateMode = operateMode;
            m_billNo      = billNo;

            if (m_operateMode == CE_BusinessOperateMode.查看)
            {
                toolStrip1.Visible = false;
            }
            else if (m_operateMode == CE_BusinessOperateMode.仓库核实)
            {
                btnAdd.Enabled       = false;
                btnDelete.Enabled    = false;
                btnDeleteAll.Enabled = false;

                txtShelf.ReadOnly  = false;
                txtColumn.ReadOnly = false;
                txtLayer.ReadOnly  = false;
            }

            m_queryGoodsInfo = m_goodsServer.GetGoods(m_billNo);
            RefreshDataGridView(m_queryGoodsInfo);

            // 添加数据定位控件
            m_dataLocalizer = new UserControlDataLocalizer(
                dataGridView1, this.Name, UniversalFunction.SelectHideFields(
                    this.Name, dataGridView1.Name, BasicInfo.LoginID));

            panelTop.Controls.Add(m_dataLocalizer);
            m_dataLocalizer.Dock = DockStyle.Bottom;

            m_strStorage = m_serverStorageInfo.GetStorageID(billNo, "S_MaterialReturnedInTheDepot", "Bill_ID");

            if (m_strStorage == "05")
            {
                label11.Visible          = true;
                cmbProductStatus.Visible = true;
            }

            if (!Convert.ToBoolean(BasicInfo.BaseSwitchInfo[(int)GlobalObject.CE_SwitchName.开启车间管理模块]) || m_strStorage == "11")
            {
                btnProvider.Visible = false;
                btnBatchNo.Visible  = false;
            }
        }
Example #2
0
        private void btnLoadDataFromMRRB_Click(object sender, EventArgs e)
        {
            if (!CheckData())
            {
                return;
            }

            FormQueryInfo dialog = QueryInfoDialog.GetMaterialRequisitionBillDialog(BasicInfo.LoginID, CE_BillTypeEnum.领料退库单);

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string billNo = dialog.GetStringDataItem("退库单号");

                if (MessageDialog.ShowEnquiryMessage("您确定要导入 " + billNo
                                                     + " 领料单的信息吗?此过程需要一段时间,是否继续?") == DialogResult.No)
                {
                    return;
                }

                IMaterialReturnedInTheDepot     billServer  = ServerModuleFactory.GetServerModule <IMaterialReturnedInTheDepot>();
                IMaterialListReturnedInTheDepot goodsServer = ServerModuleFactory.GetServerModule <IMaterialListReturnedInTheDepot>();

                View_S_MaterialReturnedInTheDepot            bill       = billServer.GetBillView(billNo);
                List <View_S_MaterialListReturnedInTheDepot> lstMRGoods = (from r in goodsServer.GetGoods(billNo) select r).ToList();

                if (lstMRGoods.Count > 0)
                {
                    if (是否一次性物品.Checked && GlobalObject.GeneralFunction.IsNullOrEmpty(m_productNumber))
                    {
                        m_productNumber = cmbProductCode.Text;
                    }

                    List <StorageGoods> lstGoods = new List <StorageGoods>(lstMRGoods.Count);

                    foreach (var item in lstMRGoods)
                    {
                        StorageGoods goods = new StorageGoods();

                        goods.GoodsCode = item.图号型号;
                        goods.GoodsName = item.物品名称;
                        goods.Spec      = item.规格;
                        goods.Provider  = item.供应商;
                        goods.BatchNo   = item.批次号;
                        goods.Quantity  = -(decimal)item.退库数;
                        goods.StorageID = bill.库房代码;

                        lstGoods.Add(goods);
                    }

                    if (!m_mbpServer.AddFromBill(BasicInfo.LoginID, Convert.ToInt32(
                                                     cmbPurpose.SelectedValue), m_productNumber, billNo, lstGoods, out m_error))
                    {
                        MessageDialog.ShowErrorMessage(m_error);
                    }
                    else
                    {
                        MessageDialog.ShowPromptMessage("操作成功");

                        SearchData(0);
                    }
                }
            }
        }