/// <summary> /// 删除单据 /// </summary> /// <param name="djh">单据号</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool DeleteBill(string djh, out string error) { error = null; DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { var varData = from a in ctx.S_FrockProvingReport where a.DJH == djh select a; if (varData.Count() != 1) { throw new Exception("数据不唯一"); } S_FrockProvingReport tempLnq = varData.Single(); ctx.S_FrockProvingReport.DeleteAllOnSubmit(varData); var varAttached = from a in ctx.S_FrockProvingReportAttached where a.DJH == djh select a; ctx.S_FrockProvingReportAttached.DeleteAllOnSubmit(varAttached); ctx.SubmitChanges(); if (tempLnq.BillType == "入库检验" && !tempLnq.ConnectBillNumber.Contains("ZGB") && !UpdateOrdinaryInDepotBillStatus(ctx, tempLnq, out error)) { throw new Exception(error); } if (tempLnq.ConnectBillNumber.Contains("ZGB") && !UpdateFrockInDepotBillStatus(ctx, tempLnq, out error)) { throw new Exception(error); } ctx.SubmitChanges(); ctx.Transaction.Commit(); return(true); } catch (Exception ex) { ctx.Transaction.Rollback(); error = ex.Message; return(false); } }
public 工装验证报告(string djh) { InitializeComponent(); m_billNoControl = new BillNumberControl(CE_BillTypeEnum.工装验证报告单, m_serverFrock); if (djh == "") { lblBillNo.Text = m_billNoControl.GetNewBillNo(); lblBillStatus.Text = "新建单据"; chbIsInStock.Visible = false; } else { lblBillNo.Text = djh; cmbBillType.Enabled = false; } m_lnqFrock = m_serverFrock.GetBill(lblBillNo.Text); dataGridView1.DataSource = m_serverFrock.GetAttachedTable(lblBillNo.Text, "检验"); dataGridView2.DataSource = m_serverFrock.GetAttachedTable(lblBillNo.Text, "验证"); ShowMessage(); ControlWidget(lblBillStatus.Text); if (cmbBillType.Text != "入库检验") { chbIsInStock.Visible = false; } if (m_lnqFrock != null) { DataRow drInfo = m_serverFrockStandingBook.GetInDepotBillInfo(m_lnqFrock.FrockNumber); if (drInfo != null) { txtProposer.Text = drInfo["申请人"].ToString(); txtProposer.Tag = drInfo["申请人工号"].ToString(); txtProviderCode.Text = drInfo["供应商编码"].ToString(); txtProviderName.Text = drInfo["供应商简称"].ToString(); txtDesigner.Text = drInfo["设计人"].ToString(); txtDesigner.Tag = drInfo["设计人工号"].ToString(); txtConnectNumber.Text = drInfo["关联单号"].ToString(); } } if (lblBillStatus.Text == "单据已完成") { toolStrip1.Visible = false; } }
/// <summary> /// 获得所有信息 /// </summary> void GetMessage() { m_lnqFrock = new S_FrockProvingReport(); m_dtAttached = ((DataTable)dataGridView1.DataSource).Clone(); foreach (DataGridViewRow dgvr in dataGridView1.Rows) { DataRow dr = m_dtAttached.NewRow(); dr["AttachedType"] = dgvr.Cells["AttachedType"].Value.ToString(); dr["AskContent"] = dgvr.Cells["检验要求"].Value.ToString(); dr["AnswerContent"] = dgvr.Cells["检验内容"].Value.ToString(); m_dtAttached.Rows.Add(dr); } //m_dtAttached = (DataTable)dataGridView1.DataSource; //DataTable dtTemp = (DataTable)dataGridView2.DataSource; //for (int i = 0; i < dtTemp.Rows.Count; i++) //{ // DataRow dr = m_dtAttached.NewRow(); // dr["AttachedType"] = dtTemp.Rows[i]["AttachedType"].ToString(); // dr["AskContent"] = dtTemp.Rows[i]["AskContent"].ToString(); // dr["AnswerContent"] = dtTemp.Rows[i]["AnswerContent"].ToString(); // m_dtAttached.Rows.Add(dr); //} m_lnqFrock.DJH = lblBillNo.Text; m_lnqFrock.DJZT = lblBillStatus.Text; //m_lnqFrock.ExamineVerdict = txtExamineVerdict.Text; m_lnqFrock.FinalVerdict = txtFinalVerdict.Text; m_lnqFrock.FrockNumber = txtFrockNumber.Text; m_lnqFrock.GoodsID = Convert.ToInt32(txtCode.Tag); //m_lnqFrock.IsExamineQualified = chbIsExamineQualified.Checked; //m_lnqFrock.IsProvingQualified = chbIsProvingQualified.Checked; m_lnqFrock.IsInStock = rbRK.Checked; //chbIsInStock.Checked; //m_lnqFrock.ProvingVerdict = txtProvingVerdict.Text; m_lnqFrock.ConnectBillNumber = txtConnectNumber.Text; m_lnqFrock.BillType = cmbBillType.Text; }
/// <summary> /// 获得子窗体的所有信息 /// </summary> /// <param name="djh">单据号</param> bool GetMessage(string djh) { 工装验证报告 form = new 工装验证报告(djh); form.ShowDialog(); m_dtAttached = form.DtAttached; m_lnqFrock = form.LnqFrock; if (m_lnqFrock == null) { return(false); } PositioningRecord(m_lnqFrock.DJH); return(true); }
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { bool visible = UniversalFunction.IsOperator(dataGridView1.CurrentRow.Cells["单据号"].Value.ToString()); if (dataGridView1.CurrentRow.Cells["单据状态"].Value.ToString() == "等待验证" && visible) { 验证员操作ToolStripMenuItem.Visible = true; 提交验证结果ToolStripMenuItem.Visible = true; } else { 验证员操作ToolStripMenuItem.Visible = false; 提交验证结果ToolStripMenuItem.Visible = false; } if (dataGridView1.CurrentRow != null) { m_lnqFrock = m_serverFrock.GetBill(dataGridView1.CurrentRow.Cells["单据号"].Value.ToString()); } }
/// <summary> /// 插入工装所有信息 /// </summary> /// <param name="ordinarybill">普通入库单信息</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool CreateNewFrockMessage(S_OrdinaryInDepotBill ordinarybill, out string error) { error = null; FrockProvingReport serverFrockProvingReport = new FrockProvingReport(); try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.S_OrdinaryInDepotGoodsBill where a.Bill_ID == ordinarybill.Bill_ID select a; foreach (var item in varData) { for (int i = 0; i < item.Amount; i++) { string strFrockNumber = m_serverFrockStandingBook.GetNewFrockNumber(); S_FrockProvingReport lnqReport = new S_FrockProvingReport(); lnqReport.DJH = m_assignBill.AssignNewNo(serverFrockProvingReport, "工装验证报告单"); lnqReport.DJZT = "等待检验要求"; lnqReport.BillType = "入库检验"; lnqReport.BZRQ = ServerTime.Time; lnqReport.ConnectBillNumber = ordinarybill.Bill_ID; lnqReport.FrockNumber = strFrockNumber; lnqReport.GoodsID = item.GoodsID; if (!serverFrockProvingReport.AddBill(lnqReport, null, out error)) { return(false); } S_FrockStandingBook lnqBook = new S_FrockStandingBook(); lnqBook.GoodsID = item.GoodsID; lnqBook.FrockNumber = strFrockNumber; lnqBook.Designer = UniversalFunction.GetPersonnelName(ordinarybill.Designer); if (!m_serverFrockStandingBook.UpdateFrockStandingBook(lnqBook, null, out error)) { return(false); } View_F_GoodsPlanCost goodsInfo = UniversalFunction.GetGoodsInfo(lnqBook.GoodsID); m_billMessageServer.DestroyMessage(lnqReport.DJH); m_billMessageServer.SendNewFlowMessage(lnqReport.DJH, string.Format("【工装编号】:{0} 【图号型号】:{1} 【物品名称】:{2},※※※ 等待【工艺人员】处理", lnqReport.FrockNumber, goodsInfo.图号型号, goodsInfo.物品名称), CE_RoleEnum.工艺人员); } } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 插入工装所有信息 /// </summary> /// <param name="frockBill">自制件工装信息</param> /// <param name="flag">是否进入工装台帐</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool CreateNewFrockMessage(S_FrockInDepotBill frockBill, bool flag, out string error) { error = null; FrockProvingReport serverFrockProvingReport = new FrockProvingReport(); try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.S_FrockInDepotGoodsBill where a.Bill_ID == frockBill.Bill_ID select a; foreach (var item in varData) { for (int i = 0; i < item.Amount; i++) { string strFrockNumber = GetNewFrockNumber(); S_FrockProvingReport lnqReport = new S_FrockProvingReport(); lnqReport.DJH = m_assignBill.AssignNewNo(serverFrockProvingReport, "工装验证报告单"); lnqReport.DJZT = "等待检验要求"; lnqReport.BillType = "入库检验"; lnqReport.BZRQ = ServerTime.Time; lnqReport.ConnectBillNumber = frockBill.Bill_ID; lnqReport.FrockNumber = strFrockNumber; lnqReport.GoodsID = item.GoodsID; if (!serverFrockProvingReport.AddBill(lnqReport, null, out error)) { return(false); } m_billMessageServer.SendNewFlowMessage(lnqReport.DJH, string.Format("{0} ※※※ 请【{1}】处理", UniversalFunction.GetGoodsMessage(lnqReport.GoodsID), CE_RoleEnum.工艺人员.ToString()), CE_RoleEnum.工艺人员); if (flag) { S_FrockStandingBook lnqBook = new S_FrockStandingBook(); lnqBook.GoodsID = item.GoodsID; lnqBook.FrockNumber = strFrockNumber; lnqBook.Designer = UniversalFunction.GetPersonnelName(frockBill.DesignerID); if (!m_serverFrockStandingBook.UpdateFrockStandingBook(lnqBook, null, out error)) { return(false); } } } } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 回退单据 /// </summary> /// <param name="djh">单据号</param> /// <param name="billStatus">单据状态</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <param name="rebackReason">回退原因</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool ReturnBill(string djh, string billStatus, out string error, string rebackReason) { error = null; try { DepotManagementDataContext dataContext = CommentParameter.DepotDataContext; var varData = from a in dataContext.S_FrockProvingReport where a.DJH == djh select a; string strMsg = ""; if (varData.Count() == 1) { S_FrockProvingReport lnqFrock = varData.Single(); Nullable <DateTime> nulldt = null; lnqFrock.DJZT = billStatus; switch (billStatus) { case "等待结论": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, CE_RoleEnum.工艺人员.ToString(), true); lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsInStock = false; break; case "等待验证": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, UniversalFunction.GetPersonnelCode(lnqFrock.YZRY), false); lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsInStock = false; lnqFrock.YZRY = null; lnqFrock.YZRQ = nulldt; //lnqFrock.IsProvingQualified = false; //lnqFrock.ProvingVerdict = ""; //if (!ReturnAttached(dataContext, djh, "验证", false, out error)) //{ // return false; //} break; case "等待验证要求": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, CE_RoleEnum.工艺人员.ToString(), true); lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsInStock = false; lnqFrock.YZRY = null; lnqFrock.YZRQ = nulldt; //lnqFrock.IsProvingQualified = false; //lnqFrock.ProvingVerdict = ""; //if (!ReturnAttached(dataContext, djh, "验证", true, out error)) //{ // return false; //} break; case "等待检验": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, UniversalFunction.GetPersonnelCode(lnqFrock.JYRY), false); lnqFrock.JYRY = null; lnqFrock.JYRQ = nulldt; //lnqFrock.ExamineVerdict = ""; lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsExamineQualified = false; //lnqFrock.IsInStock = false; lnqFrock.YZRY = null; lnqFrock.YZRQ = nulldt; //lnqFrock.IsProvingQualified = false; //lnqFrock.ProvingVerdict = ""; //if (!ReturnAttached(dataContext, djh, "验证", true, out error)) //{ // return false; //} //if (!ReturnAttached(dataContext, djh, "检验", false, out error)) //{ // return false; //} break; case "等待检验要求": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, CE_RoleEnum.工艺人员.ToString(), true); lnqFrock.JYRY = null; lnqFrock.JYRQ = nulldt; //lnqFrock.ExamineVerdict = ""; lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsExamineQualified = false; //lnqFrock.IsInStock = false; lnqFrock.YZRY = null; lnqFrock.YZRQ = nulldt; //lnqFrock.IsProvingQualified = false; //lnqFrock.ProvingVerdict = ""; //if (!ReturnAttached(dataContext, djh, "验证", true, out error)) //{ // return false; //} //if (!ReturnAttached(dataContext, djh, "检验", true, out error)) //{ // return false; //} break; case "新建单据": strMsg = string.Format("{0}号工装验证报告单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, UniversalFunction.GetPersonnelCode(lnqFrock.BZRY), false); lnqFrock.JYRY = null; lnqFrock.JYRQ = nulldt; //lnqFrock.ExamineVerdict = ""; lnqFrock.GYRY = null; lnqFrock.GYRQ = nulldt; //lnqFrock.FinalVerdict = ""; //lnqFrock.IsExamineQualified = false; //lnqFrock.IsInStock = false; lnqFrock.YZRY = null; lnqFrock.YZRQ = nulldt; //lnqFrock.IsProvingQualified = false; //lnqFrock.ProvingVerdict = ""; //if (!ReturnAttached(dataContext, djh, "验证", true, out error)) //{ // return false; //} //if (!ReturnAttached(dataContext, djh, "检验", true, out error)) //{ // return false; //} break; default: throw new Exception("单据状态不正确,请确认单据状态后,再操作"); } dataContext.SubmitChanges(); } else { error = "数据不唯一或者为空"; return(false); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 单据流程 /// </summary> /// <param name="billNo">单据号</param> /// <param name="status">操作状态</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool UpdateBill(string billNo, string status, out string error) { error = null; try { DepotManagementDataContext dataContext = CommentParameter.DepotDataContext; var varData = from a in dataContext.S_FrockProvingReport where a.DJH == billNo select a; if (varData.Count() != 1) { error = "数据为空或者不唯一"; return(false); } else { S_FrockProvingReport lnqFrock = varData.Single(); if (status != "等待结论" && lnqFrock.DJZT != status) { error = "单据状态错误,请重新刷新单据确认单据状态"; return(false); } switch (status) { case "等待检验要求": lnqFrock.DJZT = "等待检验"; break; case "等待检验": lnqFrock.DJZT = "等待结论"; lnqFrock.JYRY = BasicInfo.LoginName; lnqFrock.JYRQ = ServerTime.Time; break; case "等待验证要求": lnqFrock.DJZT = "等待验证"; break; case "等待验证": lnqFrock.DJZT = "等待结论"; lnqFrock.YZRQ = ServerTime.Time; lnqFrock.YZRY = BasicInfo.LoginName; break; case "等待结论": lnqFrock.DJZT = "等待最终审核"; lnqFrock.GYRQ = ServerTime.Time; lnqFrock.GYRY = BasicInfo.LoginName; break; case "等待最终审核": lnqFrock.DJZT = "单据已完成"; lnqFrock.GYZGDate = ServerTime.Time; lnqFrock.GYZG = BasicInfo.LoginName; if (lnqFrock.BillType == "入库检验" && !varData.Single().ConnectBillNumber.Contains("ZGB") && !UpdateOrdinaryInDepotBillStatus(dataContext, lnqFrock, out error)) { return(false); } if (varData.Single().ConnectBillNumber.Contains("ZGB") && !UpdateFrockInDepotBillStatus(dataContext, lnqFrock, out error)) { return(false); } break; default: break; } dataContext.SubmitChanges(); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 保存信息 /// </summary> /// <param name="frockProvingReport">LINQ 数据集</param> /// <param name="attachedTable">检测信息</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool SaveInfo(S_FrockProvingReport frockProvingReport, DataTable attachedTable, out string error) { error = null; try { DepotManagementDataContext dataContext = CommentParameter.DepotDataContext; var varData = from a in dataContext.S_FrockProvingReport where a.DJH == frockProvingReport.DJH select a; if (varData.Count() != 1) { if (frockProvingReport.DJZT == "新建单据") { return(true); } else { error = "数据为空或者不唯一"; return(false); } } else { S_FrockProvingReport lnqFrock = varData.Single(); if (frockProvingReport.DJZT != "等待结论" && lnqFrock.DJZT != frockProvingReport.DJZT) { error = "单据状态错误,请重新刷新单据确认单据状态"; return(false); } switch (frockProvingReport.DJZT) { case "等待检验要求": if (!m_serverFrockStandingBook.IsIntactSatelliteInformation(lnqFrock.FrockNumber, lnqFrock.GoodsID)) { error = "工装信息未填写完整或者数据不唯一"; return(false); } if (attachedTable.Select("AttachedType = '检验'").Length == 0) { error = "请填写检验要求"; return(false); } if (!UpdateAttached(dataContext, lnqFrock.DJH, attachedTable, out error)) { return(false); } break; case "等待检验": lnqFrock.ExamineVerdict = frockProvingReport.ExamineVerdict; lnqFrock.JYRY = BasicInfo.LoginName; lnqFrock.JYRQ = ServerTime.Time; if (frockProvingReport.IsExamineQualified != null) { lnqFrock.IsExamineQualified = (bool)frockProvingReport.IsExamineQualified; } DataRow[] drList = attachedTable.Select("AttachedType = '检验'"); foreach (DataRow dr in drList) { if (dr["AnswerContent"] == null || dr["AnswerContent"].ToString().Trim().Length == 0) { error = "请填写检验内容"; return(false); } } if (!UpdateAttached(dataContext, lnqFrock.DJH, attachedTable, out error)) { return(false); } break; case "等待验证要求": if (attachedTable.Select("AttachedType = '验证'").Length == 0) { error = "请填写验证要求"; return(false); } if (!UpdateAttached(dataContext, lnqFrock.DJH, attachedTable, out error)) { return(false); } break; case "等待验证": lnqFrock.YZRQ = ServerTime.Time; lnqFrock.YZRY = BasicInfo.LoginName; lnqFrock.ProvingVerdict = frockProvingReport.ProvingVerdict; drList = attachedTable.Select("AttachedType = '验证'"); foreach (DataRow dr in drList) { if (dr["AnswerContent"] == null || dr["AnswerContent"].ToString().Trim().Length == 0) { error = "请填写验证内容"; return(false); } } if (!UpdateAttached(dataContext, lnqFrock.DJH, attachedTable, out error)) { return(false); } break; case "等待结论": //lnqFrock.IsProvingQualified = (bool)frockProvingReport.IsProvingQualified; lnqFrock.FinalVerdict = frockProvingReport.FinalVerdict; lnqFrock.GYRQ = ServerTime.Time; lnqFrock.GYRY = BasicInfo.LoginName; lnqFrock.IsInStock = frockProvingReport.IsInStock; break; case "等待最终审核": lnqFrock.GYZGDate = ServerTime.Time; lnqFrock.GYZG = BasicInfo.LoginName; break; default: break; } dataContext.SubmitChanges(); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 更新自制件工装报检的单据状态 /// </summary> /// <param name="ctx">LINQ数据上下文</param> /// <param name="frockProving">工装验证报告单的数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool UpdateFrockInDepotBillStatus(DepotManagementDataContext ctx, S_FrockProvingReport frockProving, out string error) { error = null; try { var varData = from a in ctx.S_FrockProvingReport where a.ConnectBillNumber == frockProving.ConnectBillNumber select a; foreach (var item in varData) { if (item.DJZT != "单据已完成") { return(true); } } var varFrock = from a in ctx.S_FrockInDepotBill where a.Bill_ID == frockProving.ConnectBillNumber select a; if (varFrock.Count() != 1) { error = "数据以空或者不唯一"; return(false); } else { bool blflag = false; var varFrockGoods = from a in ctx.S_FrockInDepotGoodsBill where a.Bill_ID == frockProving.ConnectBillNumber select a; foreach (var itemGoods in varFrockGoods) { var varFrockReport = from a in ctx.S_FrockProvingReport where a.ConnectBillNumber == frockProving.ConnectBillNumber && a.GoodsID == itemGoods.GoodsID select a; int intAmount = 0; foreach (var itemReport in varFrockReport) { if ((bool)itemReport.IsInStock) { intAmount++; } else { var varFrockStandingBook = from a in ctx.S_FrockStandingBook where a.FrockNumber == itemReport.FrockNumber && a.GoodsID == itemReport.GoodsID select a; ctx.S_FrockStandingBook.DeleteAllOnSubmit(varFrockStandingBook); } } itemGoods.Amount = intAmount; if (Convert.ToDecimal(itemGoods.Amount) > 0) { blflag = true; } } if (blflag) { varFrock.Single().Bill_Status = "等待入库"; m_billMessageServer.PassFlowMessage(varFrock.Single().Bill_ID, string.Format("{0}号自制件工装报检已提交,请仓管入库", varFrock.Single().Bill_ID), m_billMessageServer.GetRoleStringForStorage(varFrock.Single().StorageID).ToString(), true); } else { varFrock.Single().Bill_Status = "已报废"; m_billMessageServer.DestroyMessage(varFrock.Single().Bill_ID); } } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 更新普通入库单的单据状态 /// </summary> /// <param name="ctx">LINQ数据上下文</param> /// <param name="frockProving">工装验证报告单的数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool UpdateOrdinaryInDepotBillStatus(DepotManagementDataContext ctx, S_FrockProvingReport frockProving, out string error) { error = null; try { var varData = from a in ctx.S_FrockProvingReport where a.ConnectBillNumber == frockProving.ConnectBillNumber select a; foreach (var item in varData) { if (item.DJZT != "单据已完成") { return(true); } } var varOrdinary = from a in ctx.S_OrdinaryInDepotBill where a.Bill_ID == frockProving.ConnectBillNumber select a; if (varOrdinary.Count() != 1) { error = "数据以空或者不唯一"; return(false); } else { bool blflag = false; var varOrdinaryGoods = from a in ctx.S_OrdinaryInDepotGoodsBill where a.Bill_ID == frockProving.ConnectBillNumber select a; foreach (var itemGoods in varOrdinaryGoods) { var varFrockReport = from a in ctx.S_FrockProvingReport where a.ConnectBillNumber == frockProving.ConnectBillNumber && a.GoodsID == itemGoods.GoodsID select a; int intAmount = 0; foreach (var itemReport in varFrockReport) { if ((bool)itemReport.IsInStock) { intAmount++; } else { var varFrockStandingBook = from a in ctx.S_FrockStandingBook where a.FrockNumber == itemReport.FrockNumber && a.GoodsID == itemReport.GoodsID select a; ctx.S_FrockStandingBook.DeleteAllOnSubmit(varFrockStandingBook); } } itemGoods.Amount = intAmount; itemGoods.Price = Convert.ToDecimal(intAmount) * Convert.ToDecimal(itemGoods.UnitPrice); if (Convert.ToDecimal(itemGoods.Amount) > 0) { blflag = true; } } if (blflag) { varOrdinary.Single().BillStatus = "等待入库"; m_billMessageServer.PassFlowMessage(varOrdinary.Single().Bill_ID, string.Format("【订单号】:{0} 【物品申请人】:{1} ※※※ 等待【工艺人员】处理", varOrdinary.Single().OrderBill_ID, UniversalFunction.GetPersonnelName(varOrdinary.Single().Proposer)), m_billMessageServer.GetRoleStringForStorage(varOrdinary.Single().StorageID).ToString(), true); } else { varOrdinary.Single().BillStatus = "已报废"; m_billMessageServer.DestroyMessage(varOrdinary.Single().Bill_ID); } } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 插入新的数据 /// </summary> /// <param name="frockProvingReport">数据集</param> /// <param name="attachedTable">检验验证内容表</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool AddBill(S_FrockProvingReport frockProvingReport, DataTable attachedTable, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.S_FrockProvingReport where a.DJH == frockProvingReport.DJH select a; S_FrockProvingReport lnqFrock = new S_FrockProvingReport(); if (varData.Count() != 0) { lnqFrock = varData.First(); lnqFrock.DJH = frockProvingReport.DJH; lnqFrock.BZRQ = ServerTime.Time; lnqFrock.BZRY = BasicInfo.LoginName; lnqFrock.BillType = frockProvingReport.BillType; lnqFrock.ConnectBillNumber = frockProvingReport.ConnectBillNumber; lnqFrock.DJZT = "等待检验要求"; lnqFrock.FrockNumber = frockProvingReport.FrockNumber; lnqFrock.GoodsID = frockProvingReport.GoodsID; if (attachedTable != null) { if (!UpdateAttached(ctx, lnqFrock.DJH, attachedTable, out error)) { return(false); } } ctx.S_FrockProvingReport.InsertOnSubmit(lnqFrock); } else { lnqFrock = new S_FrockProvingReport(); lnqFrock.DJH = frockProvingReport.DJH; lnqFrock.BZRQ = ServerTime.Time; lnqFrock.BZRY = BasicInfo.LoginName; lnqFrock.BillType = frockProvingReport.BillType; lnqFrock.ConnectBillNumber = frockProvingReport.ConnectBillNumber; lnqFrock.DJZT = "等待检验要求"; lnqFrock.FrockNumber = frockProvingReport.FrockNumber; lnqFrock.GoodsID = frockProvingReport.GoodsID; if (attachedTable != null) { if (!UpdateAttached(ctx, lnqFrock.DJH, attachedTable, out error)) { return(false); } } ctx.S_FrockProvingReport.InsertOnSubmit(lnqFrock); } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }