/// <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="billNo">业务单据号</param> /// <param name="goodsID">物品ID</param> /// <param name="frockNumberTable">单据业务的工装编码数据集</param> /// <param name="businessType">业务类型</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool UpdateFrockOperation(string billNo, int goodsID, DataTable frockNumberTable, CE_BusinessBillType businessType, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.S_FrockOperation where a.BillID == billNo && a.GoodsID == goodsID select a; ctx.S_FrockOperation.DeleteAllOnSubmit(varData); for (int i = 0; i < frockNumberTable.Rows.Count; i++) { S_FrockOperation lnqOperation = new S_FrockOperation(); lnqOperation.BillID = billNo; lnqOperation.BillTime = ServerTime.Time; lnqOperation.BillType = businessType.ToString(); lnqOperation.FrockNumber = frockNumberTable.Rows[i]["FrockNumber"].ToString(); lnqOperation.GoodsID = goodsID; lnqOperation.IsTrue = false; ctx.S_FrockOperation.InsertOnSubmit(lnqOperation); } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }