//编辑 public void Edit(string DrawPlanGuid) { txtDrawPlanGuid.Text = DrawPlanGuid; DrawPlanManage DrawPlanManage = new DrawPlanManage(); DataTable dtl = DrawPlanManage.GetDrawPlanByDrawPlanGuid(DrawPlanGuid); //加载主数据 if (dtl.Rows.Count > 0) { txtDrawPlanID.Text = dtl.Rows[0]["DrawPlanID"].ToString(); BeginDate.Text = DateTime.Parse(dtl.Rows[0]["DrawPlanDate"].ToString()).ToString("yyyy-MM-dd"); txtRemark.Text = dtl.Rows[0]["Remark"].ToString(); } //加载明细数据 DataTable dtl2 = new DataTable(); dtl2 = DrawPlanManage.GetDrawPlanDetailByDrawPlanGuid(DrawPlanGuid); gridControl1.DataSource = dtl2; //加载计算物料数据 DataTable dtl3 = new DataTable(); dtl3 = DrawPlanManage.GetDrawPlanCalcSumByDrawPlanGuid(DrawPlanGuid); gridControl2.DataSource = dtl3; SetRight(); this.ShowDialog(); }
//修改1 增加对BOM层级的领料 private void btnLevelDrawPlan_Click(object sender, EventArgs e) { if (cboLevel.Text.Trim() == "") { this.ShowMessage("请选择层级!"); cboLevel.Focus(); return; } try { this.Cursor = Cursors.WaitCursor; txtRemark.Focus(); gridView1.UpdateCurrentRow(); DrawPlanManage DrawPlanManage = new DrawPlanManage(); MaterialBOMManage MaterialBOMManage = new MaterialBOMManage(); bool IsExist = false; string strMaterialID = ""; string strMaterialName = ""; //检查此客户订单产品是否已经BOM初始化子件情况了 for (int i = 0; i < gridView1.RowCount; i++) { DataRowView dr = (DataRowView)(gridView1.GetRow(i)); if (dr != null) { if (MaterialBOMManage.IsExistBOMByMaterialGuid(dr["MaterialGuID"].ToString()) == false) { IsExist = true; strMaterialID = dr["MaterialID"].ToString(); strMaterialName = dr["MaterialName"].ToString(); break; } } } if (IsExist == true) { this.ShowMessage("物料编号:" + strMaterialID + ",名称:" + strMaterialName + " 的料件没有BOM,无法计算!"); return; } //删除临时表中待计算的料件 DrawPlanManage.DeleteSelectMaterial(txtDrawPlanGuid.Text); //先将选择的物料插入到临时表中,参与计算 for (int i = 0; i < gridView1.RowCount; i++) { DataRowView dr = (DataRowView)(gridView1.GetRow(i)); if (dr != null) { string strDrawPlanGuID = txtDrawPlanGuid.Text; string strMaterialGuid = dr["MaterialGuID"].ToString(); decimal decMaterialSum = 0; if (dr["YCMaterialSum"].ToString().Trim() != "") { decMaterialSum = decimal.Parse(dr["YCMaterialSum"].ToString()); } DrawPlanManage.InsertIntoSelectMaterial(strDrawPlanGuID, strMaterialGuid, decMaterialSum); } } //开始计算 DataTable dtl = DrawPlanManage.CalcMaterialDrawPlan3(txtDrawPlanGuid.Text, cboLevel.Text.Trim()); gridControl2.DataSource = dtl; tabControl1.SelectedIndex = 1; this.Cursor = Cursors.Arrow; } catch (Exception err) { this.ShowMessage("计算出错,信息:" + err.Message); this.Cursor = Cursors.Arrow; } }
private void SaveData() { if (BeginDate.Text.Trim() == "") { this.ShowMessage("请输入计算日期!"); return; } txtRemark.Focus(); gridView1.UpdateCurrentRow(); DrawPlanManage DrawPlanManage = new DrawPlanManage(); if (gridView1.RowCount > 0) { //主表数据 DrawPlan DrawPlan = new DrawPlan(); DrawPlan.DrawPlanGuid = txtDrawPlanGuid.Text; DrawPlan.DrawPlanID = txtDrawPlanID.Text; DrawPlan.Remark = txtRemark.Text; DrawPlan.DrawPlanDate = DateTime.Parse(BeginDate.Text); DrawPlan.CreateGuid = SysParams.UserID; DrawPlan.CreateDate = DateTime.Now; //明细表数据 DrawPlanDetail DrawPlanDetail = new DrawPlanDetail(); List <DrawPlanDetail> list = new List <DrawPlanDetail>(); for (int i = 0; i < gridView1.RowCount; i++) { DataRowView dr = (DataRowView)(gridView1.GetRow(i)); DrawPlanDetail = new DrawPlanDetail(); DrawPlanDetail.NoID = Guid.NewGuid().ToString(); DrawPlanDetail.ClientOrderid = dr["ClientOrderID"].ToString(); DrawPlanDetail.ClientOrderDetailGuid = dr["ClientOrderDetailGuid"].ToString(); DrawPlanDetail.DrawPlanGuid = txtDrawPlanGuid.Text; DrawPlanDetail.MaterialGuid = dr["MaterialGuID"].ToString(); if (dr["MaterialSum"].ToString().Trim() != "") { DrawPlanDetail.MaterialSum = decimal.Parse(dr["MaterialSum"].ToString()); } else { DrawPlanDetail.MaterialSum = 0; } if (dr["YCMaterialSum"].ToString().Trim() != "") { DrawPlanDetail.YCMaterialSum = decimal.Parse(dr["YCMaterialSum"].ToString()); } else { DrawPlanDetail.YCMaterialSum = 0; } list.Add(DrawPlanDetail); } //物料需求数据-明细 DrawPlanCalcSumDetail DrawPlanCalcSumDetail = new DrawPlanCalcSumDetail(); List <DrawPlanCalcSumDetail> list2 = new List <DrawPlanCalcSumDetail>(); for (int i = 0; i < gridView2.RowCount; i++) { DataRowView dr = (DataRowView)(gridView2.GetRow(i)); DrawPlanCalcSumDetail = new DrawPlanCalcSumDetail(); DrawPlanCalcSumDetail.NoID = Guid.NewGuid().ToString(); DrawPlanCalcSumDetail.DrawPlanGuid = txtDrawPlanGuid.Text; DrawPlanCalcSumDetail.MaterialGuid = dr["MaterialGuID"].ToString(); if (dr["RequirementSum"].ToString().Trim() != "") { DrawPlanCalcSumDetail.MaterialRequirementSum = decimal.Parse(dr["RequirementSum"].ToString()); } else { DrawPlanCalcSumDetail.MaterialRequirementSum = 0; } //-----注意:此处暂时没为0,等库存算出来了需要更新此处代码. DrawPlanCalcSumDetail.MaterialStockSum = decimal.Parse(dr["StorageSum"].ToString()); list2.Add(DrawPlanCalcSumDetail); } DrawPlanManage.SaveBill(DrawPlan, list, list2); //写日志 SysLog.AddOperateLog(SysParams.UserName, "生产领料计划单保存", "保存", SysParams.UserName + "用户保存生产领料计划单,唯一号:" + txtDrawPlanGuid.Text + "生产领料计划单号:" + txtDrawPlanID.Text); frmDrawPlan.frmdrawplan.LoadData(); this.ShowMessage("保存成功!"); } else { this.ShowMessage("请选择客户订单!"); } }