private void btnUpdate_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) { MessageDialog.ShowPromptMessage("请选择要修改的记录后再进行此操作"); return; } else if (dataGridView1.SelectedRows.Count > 1) { MessageDialog.ShowPromptMessage("只能选择要修改的一条记录后再进行此操作"); return; } if (!CheckDataItem()) { return; } if (Convert.ToBoolean(BasicInfo.BaseSwitchInfo[(int)GlobalObject.CE_SwitchName.开启车间管理模块]) && txtBatchNo.Text.Trim().Length == 0) { btnBatchNo.Focus(); MessageDialog.ShowPromptMessage("批次号不能为空!"); return; } View_F_GoodsPlanCost planCost = m_planCostServer.GetGoodsInfo(txtCode.Text, txtName.Text, txtSpec.Text, out m_strErr); if (planCost == null) { return; } S_FrockInDepotGoodsBill goods = new S_FrockInDepotGoodsBill(); View_S_FrockInDepotGoodsBill viewGoods = GetGoodsInfo(dataGridView1.SelectedRows[0]); goods.ID = viewGoods.序号; goods.GoodsID = planCost.序号; goods.Amount = numGoodsAmount.Value; if (m_operateMode == CE_BusinessOperateMode.仓库核实) { goods.ShelfArea = txtShelf.Text; goods.ColumnNumber = txtColumn.Text; goods.LayerNumber = txtLayer.Text; } goods.Remark = txtRemarkList.Text; if (!m_goodsServer.UpdateGoods(goods, out m_queryResultGoods, out m_strErr)) { MessageDialog.ShowErrorMessage(m_strErr); return; } int rowIndex = dataGridView1.SelectedRows[0].Index; RefreshDataGridView(m_queryResultGoods); PositioningRecord(rowIndex); }
private void btnAdd_Click(object sender, EventArgs e) { if (!CheckDataItem()) { return; } if (Convert.ToBoolean(BasicInfo.BaseSwitchInfo[(int)GlobalObject.CE_SwitchName.开启车间管理模块]) && txtBatchNo.Text.Trim().Length == 0) { btnBatchNo.Focus(); MessageDialog.ShowPromptMessage("批次号不能为空!"); return; } int planCode = m_planCostServer.GetGoodsID(txtCode.Text, txtName.Text, txtSpec.Text, "030502", (int)cmbUnit.SelectedValue, "自制件工装报检【" + m_billNo + "】自动生成", out m_strErr); S_FrockInDepotGoodsBill goods = new S_FrockInDepotGoodsBill(); View_F_GoodsPlanCost planCost = m_planCostServer.GetGoodsInfo(txtCode.Text, txtName.Text, txtSpec.Text, out m_strErr); if (planCost == null) { return; } goods.Bill_ID = m_billNo; goods.BatchNo = txtBatchNo.Text; goods.Amount = numGoodsAmount.Value; goods.ShelfArea = ""; goods.ColumnNumber = ""; goods.LayerNumber = ""; goods.Remark = txtRemarkList.Text; goods.StorageID = UniversalFunction.GetStorageID(cmbStorage.Text); goods.GoodsID = planCost.序号; foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells["图号型号"].Value.ToString() == txtCode.Text && row.Cells["物品名称"].Value.ToString() == txtName.Text && row.Cells["规格"].Value.ToString() == txtSpec.Text) { MessageDialog.ShowPromptMessage("已经存在相同的物品信息列不允许再进行重复添加!"); return; } } if (!m_goodsServer.AddGoods(m_billNo, goods, out m_queryResultGoods, out m_strErr)) { MessageDialog.ShowErrorMessage(m_strErr); return; } RefreshDataGridView(m_queryResultGoods); PositioningRecord(planCost.图号型号, planCost.物品名称, planCost.规格); }
/// <summary> /// 清除NULL值 /// </summary> /// <param name="goods">物品信息</param> private void ClearNullValue(S_FrockInDepotGoodsBill goods) { if (goods.BatchNo == null) { goods.BatchNo = ""; } if (goods.ShelfArea == null) { goods.ShelfArea = ""; } if (goods.ColumnNumber == null) { goods.ColumnNumber = ""; } if (goods.LayerNumber == null) { goods.LayerNumber = ""; } }
/// <summary> /// 更新普通入库单物品 /// </summary> /// <param name="goods">物品信息</param> /// <param name="returnInfo">操作完毕后查询数据库的返回结果</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作是否成功的标志</returns> public bool UpdateGoods(S_FrockInDepotGoodsBill goods, out IQueryable <View_S_FrockInDepotGoodsBill> returnInfo, out string error) { returnInfo = null; error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; try { var result = from r in dataContxt.S_FrockInDepotGoodsBill where r.ID == goods.ID select r; ClearNullValue(goods); S_FrockInDepotGoodsBill updateObject = result.Single(); updateObject.GoodsID = goods.GoodsID; updateObject.Amount = goods.Amount; updateObject.BatchNo = goods.BatchNo; updateObject.ShelfArea = goods.ShelfArea; updateObject.ColumnNumber = goods.ColumnNumber; updateObject.LayerNumber = goods.LayerNumber; updateObject.Remark = goods.Remark; dataContxt.SubmitChanges(); returnInfo = GetGoodsViewInfo(updateObject.Bill_ID); return(true); } catch (Exception err) { error = err.Message; return(false); } }
/// <summary> /// 添加自制件工装报检物品 /// </summary> /// <param name="billNo">单据编号</param> /// <param name="goods">物品信息</param> /// <param name="returnInfo">操作完毕后查询数据库的返回结果</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作是否成功的标志</returns> public bool AddGoods(string billNo, S_FrockInDepotGoodsBill goods, out IQueryable <View_S_FrockInDepotGoodsBill> returnInfo, out string error) { returnInfo = null; error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; try { ClearNullValue(goods); dataContxt.S_FrockInDepotGoodsBill.InsertOnSubmit(goods); dataContxt.SubmitChanges(); returnInfo = GetGoodsViewInfo(billNo); return(true); } catch (Exception err) { error = err.Message; return(false); } }
/// <summary> /// 赋值账务信息 /// </summary> /// <param name="ctx">数据上下文</param> /// <param name="bill">单据信息</param> /// <param name="item">明细信息</param> /// <returns>返回账务信息</returns> S_InDepotDetailBill AssignDetailInfo(DepotManagementDataContext ctx, S_FrockInDepotBill bill, S_FrockInDepotGoodsBill item) { IPersonnelInfoServer serverPersonnelInfo = ServerModuleFactory.GetServerModule <IPersonnelInfoServer>(); View_HR_Personnel lnqPersonnel = UniversalFunction.GetPersonnelInfo(ctx, bill.JJRYID); S_InDepotDetailBill lnqDetailBill = new S_InDepotDetailBill(); View_F_GoodsPlanCost lnqBasicGoodsInfo = UniversalFunction.GetGoodsInfo(ctx, item.GoodsID); lnqDetailBill.ID = Guid.NewGuid(); lnqDetailBill.BillTime = (DateTime)bill.InDepotDate; lnqDetailBill.FillInPersonnel = lnqPersonnel.姓名; lnqDetailBill.Department = lnqPersonnel.部门名称; lnqDetailBill.FactPrice = 0; lnqDetailBill.FactUnitPrice = 0; lnqDetailBill.GoodsID = item.GoodsID; lnqDetailBill.BatchNo = item.BatchNo; lnqDetailBill.InDepotBillID = bill.Bill_ID; lnqDetailBill.InDepotCount = item.Amount; lnqDetailBill.Price = 0; lnqDetailBill.UnitPrice = 0; lnqDetailBill.OperationType = (int)CE_SubsidiaryOperationType.自制件工装入库; lnqDetailBill.Provider = bill.Provider; lnqDetailBill.StorageID = bill.StorageID; lnqDetailBill.AffrimPersonnel = bill.DepotManager; lnqDetailBill.FillInDate = bill.Bill_Time; return(lnqDetailBill); }
/// <summary> /// 赋值库存信息 /// </summary> /// <param name="ctx">数据上下文</param> /// <param name="bill">单据信息</param> /// <param name="item">明细信息</param> /// <returns>返回库存信息对象</returns> S_Stock AssignStockInfo(DepotManagementDataContext ctx, S_FrockInDepotBill bill, S_FrockInDepotGoodsBill item) { S_Stock stock = new S_Stock(); stock.GoodsID = item.GoodsID; stock.Provider = CE_WorkShopCode.JJCJ.ToString(); stock.BatchNo = item.BatchNo; stock.ProviderBatchNo = ""; stock.StorageID = bill.StorageID; stock.ShelfArea = item.ShelfArea; stock.ColumnNumber = item.ColumnNumber; stock.LayerNumber = item.LayerNumber; stock.ExistCount = (decimal)item.Amount; stock.UnitPrice = 0; stock.Price = 0; return(stock); }