/// <summary> /// 审核合同 /// </summary> /// <param name="auditingPersonnel">审核人</param> /// <param name="bargainNumber">合同号</param> /// <param name="error">出错时返回错误信息,否则为null</param> /// <returns>操作是否成功的标志</returns> public bool AuditingBargainInfo(string auditingPersonnel, string bargainNumber, out string error) { error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var varData = from a in dataContxt.B_BargainInfo where a.BargainNumber == bargainNumber select a; if (varData.Count() == 0) { error = "无记录"; return(false); } B_BargainInfo lnqbargin = varData.Single(); lnqbargin.AuditPersonnel = auditingPersonnel; lnqbargin.AuditDate = ServerTime.Time; dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 添加合同信息 /// </summary> /// <param name="bargainInfo">合同信息</param> /// <param name="returnBargainInfo">返回查询到的合同信息</param> /// <param name="error">错误信息, 没有则为null</param> /// <returns>操作是否成功的标志</returns> public bool AddBargainInfo(B_BargainInfo bargainInfo, out IQueryResult returnBargainInfo, out string error) { returnBargainInfo = null; error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; dataContxt.B_BargainInfo.InsertOnSubmit(bargainInfo); dataContxt.SubmitChanges(); return(GetAllBargainInfo(out returnBargainInfo, out error)); } catch (Exception exce) { error = exce.Message; return(false); } }
/// <summary> /// 修改合同信息 /// </summary> /// <param name="oldBargainNumber">旧合同号</param> /// <param name="bargainInfo">合同信息</param> /// <param name="returnBargainInfo">返回查询到的合同信息</param> /// <param name="error">错误信息, 没有则为null</param> /// <returns>操作是否成功的标志</returns> public bool UpdateBargainInfo(string oldBargainNumber, B_BargainInfo bargainInfo, out IQueryResult returnBargainInfo, out string error) { returnBargainInfo = null; error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from r in dataContxt.B_BargainInfo where r.BargainNumber == oldBargainNumber select r; if (result.Count() == 0) { error = string.Format("找不到合同号为 [{0}] 的信息!", oldBargainNumber); return(false); } B_BargainInfo record = result.Single(); IBargainGoodsServer goodsServer = ServerModuleFactory.GetServerModule <IBargainGoodsServer>(); if (oldBargainNumber != bargainInfo.BargainNumber) { IQueryable <View_B_BargainGoods> returnBargainGoods; if (!goodsServer.GetBargainGoods(oldBargainNumber, out returnBargainGoods, out error)) { return(false); } goodsServer.AutoSubmitToDatabase = false; foreach (var item in returnBargainGoods) { if (!goodsServer.UpdateBargainNumber(dataContxt, item.序号, bargainInfo.BargainNumber, out error)) { return(false); } } #region 更新订单信息表中的合同编号 IOrderFormInfoServer orderFormServer = ServerModuleFactory.GetServerModule <IOrderFormInfoServer>(); orderFormServer.UpdateBargainNumber(dataContxt, oldBargainNumber, bargainInfo.BargainNumber); #endregion dataContxt.B_BargainInfo.DeleteOnSubmit(record); record = new B_BargainInfo(); } record.BargainNumber = bargainInfo.BargainNumber; record.Provider = bargainInfo.Provider; record.Buyer = bargainInfo.Buyer; record.Cess = bargainInfo.Cess; record.Date = bargainInfo.Date; record.InputPerson = bargainInfo.InputPerson; record.LaisonMode = bargainInfo.LaisonMode; record.ProviderLinkman = bargainInfo.ProviderLinkman; record.IsOverseas = bargainInfo.IsOverseas; record.IsConsignOut = bargainInfo.IsConsignOut; record.Remark = bargainInfo.Remark; record.AuditDate = bargainInfo.AuditDate; if (oldBargainNumber != bargainInfo.BargainNumber) { dataContxt.B_BargainInfo.InsertOnSubmit(record); } dataContxt.SubmitChanges(); goodsServer.AutoSubmitToDatabase = true; return(GetAllBargainInfo(out returnBargainInfo, out error)); } catch (Exception exce) { error = exce.Message; return(false); } }
/// <summary> /// 获取合同物品表中某一产品单价 /// </summary> /// <param name="bargainNumber">合同物品号</param> /// <param name="goodsID">物品ID</param> /// <param name="provider">供应商</param> /// <returns>返回获取到的单价</returns> public decimal GetGoodsUnitPrice(string bargainNumber, int goodsID, string provider) { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; DateTime dateTemp = ServerTime.Time; var varData = from a in dataContxt.Bus_PurchasingMG_UnitPriceList where a.Provider == provider && a.GoodsID == goodsID && a.ValidityStart <= dateTemp && a.ValidityEnd >= dateTemp select a; if (varData.Count() > 0) { Bus_PurchasingMG_UnitPriceList tempList = varData .OrderByDescending(k => k.ValidityStart) .ThenByDescending(k => k.VersionNo).First(); decimal unitPrice = (decimal)tempList.UnitPrice; int rate = (int)tempList.Rate; return(unitPrice / (1m + rate / 100.0m)); } var goodsGroup = from r in dataContxt.B_BargainGoods where r.BargainNumber == bargainNumber && r.GoodsID == goodsID select r; if (goodsGroup.Count() == 0) { var varData1 = from a in dataContxt.B_OrderFormInfo where a.BargainNumber == bargainNumber || a.OrderFormNumber == bargainNumber select a; if (varData1.Count() > 0) { bargainNumber = varData1.First().BargainNumber; if (bargainNumber == "价格清单") { throw new Exception("无法获取物品单价"); } goodsGroup = from r in dataContxt.B_BargainGoods where r.BargainNumber == bargainNumber && r.GoodsID == goodsID select r; } else { throw new Exception("无法获取物品单价"); } } B_BargainInfo bargain = (from r in dataContxt.B_BargainInfo where r.BargainNumber == bargainNumber select r).Single(); if (bargain.IsOverseas) { return((decimal)goodsGroup.Single().UnitPrice); } else { return(goodsGroup.Single().UnitPrice / (1m + bargain.Cess / 100.0m)); } }