/// <summary> /// 根据工装验证报告表更新工装台帐的库存状态 /// </summary> /// <param name="context">LINQ数据上下文</param> /// <param name="billNo">普通入库单号</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool UpdateFrockStockStatus(DepotManagementDataContext context, string billNo, out string error) { error = null; try { string strSql = "select * from S_OrdinaryInDepotGoodsBill where Bill_ID = '" + billNo + "'"; DataTable dtOrdinary = GlobalObject.DatabaseServer.QueryInfo(strSql); for (int i = 0; i < dtOrdinary.Rows.Count; i++) { strSql = "select Count(*) from S_FrockProvingReport where ConnectBillNumber = '" + billNo + "' and IsInStock = 1 and GoodsID = " + Convert.ToInt32(dtOrdinary.Rows[i]["GoodsID"]); DataTable dtFrock = GlobalObject.DatabaseServer.QueryInfo(strSql); if (Convert.ToDecimal(dtOrdinary.Rows[i]["Amount"]) != Convert.ToDecimal(dtFrock.Rows[0][0])) { error = "入库数量与工装检验报告单所需入库数量不符"; return(false); } } strSql = "select * from S_FrockProvingReport where ConnectBillNumber = '" + billNo + "' and IsInStock = 1 "; DataTable dt = GlobalObject.DatabaseServer.QueryInfo(strSql); if (!m_serverFrockStandingBook.UpdateFrockStandingBookStock(context, dt, true, out error)) { return(false); } for (int i = 0; i < dt.Rows.Count; i++) { S_FrockOperation lnqOperation = new S_FrockOperation(); lnqOperation.BillID = billNo; lnqOperation.BillTime = ServerTime.Time; lnqOperation.BillType = "入库"; lnqOperation.FrockNumber = dt.Rows[i]["FrockNumber"].ToString(); lnqOperation.GoodsID = Convert.ToInt32(dt.Rows[i]["GoodsID"]); lnqOperation.IsTrue = true; context.S_FrockOperation.InsertOnSubmit(lnqOperation); } return(true); } catch (Exception exce) { error = exce.Message; return(false); } }
/// <summary> /// 工装业务处理 /// </summary> /// <param name="ctx">LINQ数据上下文</param> /// <param name="billNo">单据号</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> bool FinishFrock(DepotManagementDataContext ctx, string billNo, out string error) { error = null; try { var varData = from a in ctx.S_MaterialListReturnedInTheDepot where a.Bill_ID == billNo select a; bool blFlag = false; foreach (var item in varData) { if (UniversalFunction.IsInStandingBook(item.GoodsID, false)) { blFlag = true; if (!m_serverFrockStandingBook.IsOperationCountMateBillCount(item.GoodsID, item.Bill_ID, Convert.ToDecimal(item.ReturnedAmount))) { error = "领料数量与工装业务编号数不一致,请重新确认数量的一致性"; return(false); } } } if (blFlag) { string strSql = "select b.* from S_MaterialListReturnedInTheDepot as a inner join S_FrockOperation as b " + " on a.Bill_ID = b.BillID and a.GoodsID = b.GoodsID where a.Bill_ID = '" + billNo + "'"; if (!m_serverFrockStandingBook.UpdateFrockStandingBookStock(ctx, GlobalObject.DatabaseServer.QueryInfo(strSql), true, out error)) { return(false); } var varReport = from a in ctx.S_FrockOperation where a.BillID == billNo select a; foreach (var itemReport in varReport) { itemReport.IsTrue = true; } } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }