async private void SelectMaterialDetail(string inMaterialCode)
        {
            var dt = (await serviceClient.SelectMaterialDetailMsgAsync(inMaterialCode)).Tables[0];

            if (dt.Rows.Count < 1)
            {
                return;
            }
            this.dataSourceMaterialDetail.Clear();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr            = dataSourceMaterialDetail.NewRow();
                var     materialCode  = dt.Rows[i][0].ToString();//pn/lot/rid/dc/qty
                var     materialName  = dt.Rows[i][1].ToString();
                var     productTypeNo = dt.Rows[i][2].ToString();
                var     stationName   = dt.Rows[i][3].ToString();
                var     useAmounted   = dt.Rows[i][4].ToString();
                var     teamLeader    = dt.Rows[i][5].ToString();
                var     admin         = dt.Rows[i][6].ToString();
                var     updateDate    = dt.Rows[i][7].ToString();
                var     sn            = dt.Rows[i][8].ToString();
                var     amountedTotal = dt.Rows[i][9].ToString();
                var     putInStorage  = dt.Rows[i][10].ToString();
                var     currentRemain = dt.Rows[i][11].ToString();
                var     snPCBA        = serviceClient.GetPCBASn(sn);
                var     snOutter      = serviceClient.GetProductSn(sn);
                AnalysisMaterialCode analysisMaterialCode = AnalysisMaterialCode.GetMaterialDetail(materialCode);
                var pnCode  = analysisMaterialCode.MaterialPN;
                var lotCode = analysisMaterialCode.MaterialLOT;
                var ridCode = analysisMaterialCode.MaterialRID;
                var dcCode  = analysisMaterialCode.MaterialDC;
                //var qtyCode = analysisMaterialCode.MaterialQTY;
                materialName             = serviceClient.SelectMaterialName(pnCode);
                dr[MATERIAL_PN]          = pnCode;
                dr[MATERIAL_LOT]         = lotCode;
                dr[MATERIAL_RID]         = ridCode;
                dr[MATERIAL_DC]          = dcCode;
                dr[MATERIAL_QTY]         = putInStorage;
                dr[MATERIAL_NAME]        = materialName;
                dr[PRODUCT_TYPENO]       = productTypeNo;
                dr[STATION_NAME]         = stationName;
                dr[USE_AMOUNTED]         = useAmounted;
                dr[TEAM_LEADER]          = teamLeader;
                dr[ADMIN]                = admin;
                dr[UPDATE_DATE]          = updateDate;
                dr[SN_PCBA]              = snPCBA;
                dr[SN_OUTTER]            = snOutter;
                dr[RESIDUE_STOCK]        = int.Parse(putInStorage) - int.Parse(amountedTotal);
                dr[CURRENT_REMAIN_STOCK] = currentRemain;
                dataSourceMaterialDetail.Rows.Add(dr);
            }
            this.radGridView1.DataSource = dataSourceMaterialDetail;
            this.radGridView1.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
            this.radGridView1.BestFitColumns();
        }
Exemple #2
0
        async private void SelectMaterialMsg()
        {
            DataTable dt = (await serviceClient.SelectMaterialAsync(this.tb_inputMsg.Text, MesService.MaterialStockState.PUT_IN_STOCK_AND_STATEMENT)).Tables[0];

            DataTable data = new DataTable();

            data.Columns.Add("序号");
            data.Columns.Add("物料编码");
            data.Columns.Add("物料名称");
            data.Columns.Add("库存状态");

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr           = data.NewRow();
                    var     materialCode = dt.Rows[i][0].ToString();
                    var     materialPN   = AnalysisMaterialCode.GetMaterialPN(materialCode);
                    dr["序号"]   = i + 1;
                    dr["物料编码"] = materialCode;
                    dr["物料名称"] = serviceClient.SelectMaterialName(materialPN);
                    var stockState = dt.Rows[i][6].ToString();
                    if (stockState == "2")
                    {
                        stockState = "已使用完成";
                    }
                    else if (stockState == "3")
                    {
                        stockState = "已经结单";
                    }
                    else if (stockState == "1")
                    {
                        stockState = "正常使用";
                    }
                    dr["库存状态"] = stockState;
                    data.Rows.Add(dr);
                }
            }
            this.radGridView1.DataSource = data;
            DataGridViewCommon.SetRadGridViewProperty(this.radGridView1, false);
            this.radGridView1.ReadOnly = true;
            this.radGridView1.MasterTemplate.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.None;
            this.radGridView1.BestFitColumns();
        }
        private void InitMaterialRID()
        {
            var dt = serviceClient.SelectMaterial("", MesService.MaterialStockState.PUT_IN_STOCK).Tables[0];

            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    var materialCode = dt.Rows[i][0].ToString();
                    AnalysisMaterialCode analysisMaterialCode = AnalysisMaterialCode.GetMaterialDetail(materialCode);
                    var materialRID = analysisMaterialCode.MaterialRID;
                    this.tool_stock_queryCondition.Items.Add(materialRID);
                }
                this.tool_stock_queryCondition.AutoCompleteSource = AutoCompleteSource.ListItems;
                this.tool_stock_queryCondition.AutoCompleteMode   = AutoCompleteMode.Suggest;
                this.tool_bind_queryCondition.AutoCompleteSource  = AutoCompleteSource.ListItems;
                this.tool_bind_queryCondition.AutoCompleteMode    = AutoCompleteMode.Suggest;
            }
        }
        async private void BindingMaterialStock(string queryCondition)
        {
            this.radGridViewStock.Dock    = DockStyle.Fill;
            this.radGridViewStock.Visible = true;
            this.radGridViewBind.Visible  = false;

            var dt = (await serviceClient.SelectMaterialAsync(queryCondition, MesService.MaterialStockState.PUT_IN_STOCK)).Tables[0];

            materialStockData.Clear();
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    var materialCode  = dt.Rows[i][0].ToString();
                    var materialStock = dt.Rows[i][5].ToString();
                    AnalysisMaterialCode analysisMaterialCode = AnalysisMaterialCode.GetMaterialDetail(materialCode);
                    DataRow dr = materialStockData.NewRow();
                    dr[MATERIAL_STOCK_ORDER] = i + 1;
                    dr[MATERIAL_PN]          = analysisMaterialCode.MaterialPN;
                    dr[MATERIAL_LOT]         = analysisMaterialCode.MaterialLOT;
                    dr[MATERIAL_RID]         = analysisMaterialCode.MaterialRID;
                    dr[MATERIAL_DC]          = analysisMaterialCode.MaterialDC;
                    dr[MATERIAL_NAME]        = serviceClient.SelectMaterialName(analysisMaterialCode.MaterialPN);
                    dr[MATERIAL_QTY]         = materialStock;
                    dr[UPDATE_DATE]          = dt.Rows[i][3].ToString();
                    dr[ADMIN]             = dt.Rows[i][2].ToString();
                    dr[MATERIAL_DECRIBLE] = dt.Rows[i][4].ToString();
                    this.materialStockData.Rows.Add(dr);
                }
            }
            this.radGridViewStock.DataSource          = materialStockData;
            this.radGridViewStock.Columns[0].ReadOnly = true;
            this.radGridViewStock.Columns[1].ReadOnly = true;
            this.radGridViewStock.Columns[2].ReadOnly = true;
            this.radGridViewStock.Columns[3].ReadOnly = true;
            this.radGridViewStock.Columns[4].ReadOnly = true;
            this.radGridViewStock.Columns[5].ReadOnly = true;
            this.radGridViewStock.Columns[8].ReadOnly = true;
            this.radGridViewStock.Columns[0].BestFit();
        }
        async private void UpdateData()
        {
            this.radGridViewBind.CurrentRow = this.radGridViewBind.Rows[this.radGridViewBind.Rows.Count - 1];
            int rowCount = CalRowCount();

            MesService.ProductMaterial[] productMaterialList = new MesService.ProductMaterial[rowCount];
            int row = 0;

            foreach (var rowInfo in this.radGridViewBind.Rows)
            {
                MesService.ProductMaterial productMaterial = new MesService.ProductMaterial();
                if (rowInfo.Cells[1].Value != null)
                {
                    productMaterial.TypeNo = rowInfo.Cells[1].Value.ToString();
                }
                if (rowInfo.Cells[2].Value != null)
                {
                    var materialPn = rowInfo.Cells[2].Value.ToString();
                    if (materialPn.Contains("("))
                    {
                        materialPn = materialPn.Substring(0, materialPn.IndexOf('('));
                    }
                    productMaterial.MaterialCode = materialPn;
                    //更新编码库存
                    if (productMaterial.MaterialCode.Contains("&"))
                    {
                        productMaterial.Stock = AnalysisMaterialCode.GetMaterialDetail(productMaterial.MaterialCode).MaterialQTY;
                    }
                }
                if (rowInfo.Cells[3].Value != null)
                {
                    productMaterial.MaterialName = rowInfo.Cells[3].Value.ToString();
                }
                if (rowInfo.Cells[4].Value != null)
                {
                    productMaterial.Describle = rowInfo.Cells[4].Value.ToString();
                }
                productMaterial.UserName = MESMainForm.currentUser;

                if (rowInfo.Cells[1].Value != null && rowInfo.Cells[2].Value != null)
                {
                    productMaterialList[row] = productMaterial;
                }
                row++;
            }
            //delete修改数据
            foreach (var item in pmListTemp)
            {
                MesService.ProductMaterial productMaterial = new MesService.ProductMaterial();
                productMaterial.MaterialCode = item.keyMaterialCode;
                productMaterial.TypeNo       = item.keyTypeNo;
                int del = await serviceClient.DeleteProductMaterialAsync(productMaterial);
            }
            pmListTemp.Clear();
            MesService.ProductMaterial[] materialList = await serviceClient.CommitProductMaterialAsync(productMaterialList);

            foreach (var material in materialList)
            {
                if (material.Result != 1)
                {
                    MessageBox.Show("更新失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
            }
            MessageBox.Show("更新成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            SelectData();
        }