/// <summary> /// 类型,1-公告,2-订单新审批,3-供应商新订单 /// </summary> /// <param name="type"></param> /// <param name="UID"></param> /// <param name="ids">mainIds</param> public static void Add(short type, string UID, List <int> ids) { if (type == 3) { if (!SupplierService.IsExist(o => o.Id == UID)) { throw new Pharos.Logic.ApiData.Mobile.Exceptions.MessageException("供应商编号不存在!"); } } var list = BaseService <Reader> .FindList(o => o.Type == type && ids.Contains(o.MainId)); var readers = new List <Reader>(); ids.ForEach(id => { if (!list.Any(i => i.MainId == id && i.ReadCode == UID)) { readers.Add(new Reader() { MainId = id, ReadCode = UID, Type = type }); } }); if (readers.Any()) { BaseService <Reader> .AddRange(readers); } }
/// <summary> /// 后台换货 /// </summary> /// <param name="reason">换货理由(字典值)</param> /// <param name="retprice">顾客补价</param> /// <param name="returnDetailsStr">换货明细JSON字符串</param> /// <param name="insertnewed"></param> /// <param name="payno">销售单流水号</param> /// <returns>OpResult</returns> public static OpResult SaveHuang(int reason, decimal?retprice, string returnDetailsStr, string payno) { var op = OpResult.Fail(); var olds = returnDetailsStr.ToObject <List <TuiHuan> >(); if (!olds.Any()) { op.Message = "换货商品信息不能为空"; } else { payno = CommonRules.PaySN; var saleObj = new SaleOrders() { ApiCode = "11", MachineSN = "-1", CreateDT = DateTime.Now, CreateUID = Sys.CurrentUser.UID, PaySN = payno, TotalAmount = retprice.GetValueOrDefault(), Receive = retprice.GetValueOrDefault(), PreferentialPrice = 0, StoreId = Sys.CurrentUser.StoreId, Type = 1, Reason = reason, CompanyId = CommonService.CompanyId, Memo = "后台换货新单" }; var newSaleDetails = new List <SaleDetail>(); olds.Each(o => { newSaleDetails.Add(new SaleDetail() { ActualPrice = o.SysPrice, SysPrice = o.SysPrice, Total = o.Total, BuyPrice = 0, Barcode = o.OldBarcode, ScanBarcode = o.Barcode, ProductCode = o.ProductCode, Title = o.Title, PaySN = saleObj.PaySN, PurchaseNumber = o.Number, SalesClassifyId = 0, CompanyId = saleObj.CompanyId, Memo = "" }); }); BaseService <SaleOrders> .Add(saleObj, false); op = BaseService <SaleDetail> .AddRange(newSaleDetails); if (op.Successed) { dal.UpdateTuiHuanStock(); } } return(op); }
/// <summary> /// 发送,草稿,回复,转发 /// </summary> /// <param name="obj"></param> /// <param name="httpFiles">附件</param> /// <param name="fileId">原存在附件ID</param> /// <returns></returns> public static OpResult SendMail(SysMailSender obj, System.Web.HttpFileCollectionBase httpFiles, string fileId) { var op = new OpResult(); try { var mailReceives = new List <SysMailReceive>(); obj.ReceiverCodes.IsNullThrow("收件人不能空!"); var receiverIds = obj.ReceiverCodes.Split(';'); var createDate = DateTime.Now; var sendCode = Sys.CurrentUser.UserName; var sendName = Sys.CurrentUser.FullName; foreach (var o in receiverIds) { if (o.IsNullOrEmpty()) { continue; } string uid = "", uname = ""; if (o.Contains("(")) { uid = o.Substring(o.LastIndexOf("(") + 1).TrimEnd(')'); uname = o.Substring(0, o.IndexOf("(")); } else { var user = GetUser(o); if (user == null) { continue; } uid = user.UserCode.ToString(); uname = user.FullName; } var rece = new SysMailReceive(); obj.ToCopyProperty(rece); rece.ReceiveCode = uid; rece.ReceiveName = uname; rece.SenderCode = sendCode; rece.SenderName = sendName; rece.State = 0; rece.Type = 1; rece.Id = CommonRules.GUID; rece.CreateDT = createDate; rece.BatchNo = createDate.ToString("yyyyMMddHHmmssfff"); mailReceives.Add(rece); } if (!obj.CopytoCodes.IsNullOrEmpty()) { var copytoIds = obj.CopytoCodes.Split(';'); foreach (var o in copytoIds) { if (o.IsNullOrEmpty()) { continue; } string uid = "", uname = ""; if (o.Contains("(")) { uid = o.Substring(o.LastIndexOf("(") + 1).TrimEnd(')'); uname = o.Substring(0, o.IndexOf("(")); } else { var user = GetUser(o); if (user == null) { continue; } uid = user.UserCode.ToString(); uname = user.FullName; } var rece = new SysMailReceive(); obj.ToCopyProperty(rece); rece.ReceiveCode = uid; rece.ReceiveName = uname; rece.SenderCode = sendCode; rece.SenderName = sendName; rece.State = 0; rece.Type = 2; rece.Id = CommonRules.GUID; rece.CreateDT = createDate; rece.BatchNo = createDate.ToString("yyyyMMddHHmmssfff"); mailReceives.Add(rece); } } if (obj.State == 1) { foreach (var rece in mailReceives) { rece.Attachments = GetAttachs(httpFiles, fileId, obj.Id.IsNullOrEmpty() && !obj.BatchNo.IsNullOrEmpty()); } } obj.Attachments = GetAttachs(httpFiles, fileId, obj.Id.IsNullOrEmpty() && !obj.BatchNo.IsNullOrEmpty()); obj.CompanyId = CommonService.CompanyId; if (obj.Id.IsNullOrEmpty()) { obj.BatchNo = createDate.ToString("yyyyMMddHHmmssfff"); obj.Id = CommonRules.GUID; obj.CreateDT = createDate; obj.SenderCode = sendCode; obj.SenderName = sendName; if (obj.State == 1)//发送 { Add(obj, false); op = BaseService <SysMailReceive> .AddRange(mailReceives, true); } else { op = Add(obj); } #region 写入日志 string StateTitle = obj.State == 1 ? "已发送" : "存草稿"; string msg = obj.State == 1 ? "成功发送邮件!" : "成功保存草稿到发件箱!"; var module = Pharos.Sys.LogModule.邮件管理; if (op.Successed) { string copyCodes = string.IsNullOrEmpty(obj.CopytoCodes) ? "" : (",抄送人=" + obj.CopytoCodes); msg += "<br />Id=" + obj.Id + ","; msg += "<br />收件人=" + obj.ReceiverCodes + copyCodes + ",状态=" + StateTitle + ",主题=" + obj.Title + ",批次=" + obj.BatchNo + "。"; } else { msg = obj.State == 1 ? "发送邮件失败!" : "保存草稿到发件箱失败!"; } log.WriteInsert(msg, module); #endregion } else//草稿时 { var resour = CurrentRepository.QueryEntity.Include(o => o.Attachments).SingleOrDefault(o => o.Id == obj.Id); var isUpdateRec = obj.ReceiverCodes != resour.ReceiverCodes; var isUpdateCop = obj.CopytoCodes != resour.CopytoCodes; var isUpdateState = obj.State != resour.State; var isUpdateTitle = obj.Title != resour.Title; var isUpdateBody = obj.Body != resour.Body; bool isUpdate = isUpdateRec || isUpdateCop || isUpdateState || isUpdateTitle || isUpdateBody; obj.ToCopyProperty(resour); foreach (var att in obj.Attachments) { if (!resour.Attachments.Any(o => o.Title == att.Title)) { resour.Attachments.Add(att); } } if (obj.State == 1)//发送 { Update(resour, false); op = BaseService <SysMailReceive> .AddRange(mailReceives, true); } else { op = Update(resour); } #region 写入日志 string StateTitle = obj.State == 1 ? "已发送" : "存草稿"; string msg = obj.State == 1 ? "成功发送邮件!" : "成功修改草稿!"; var module = Pharos.Sys.LogModule.邮件管理; if (op.Successed) { int n = 0; if (isUpdate) { msg += "<br />Id=" + obj.Id + ",<br />"; if (isUpdateState) { msg += "状态由草稿改为已发送"; n = n + 1; } if (isUpdateRec) { msg += n > 0 ? ",收件人=" + obj.ReceiverCodes : "收件人=" + obj.ReceiverCodes; n = n + 1; } if (isUpdateCop) { msg += n > 0 ? ",抄送人=" + obj.CopytoCodes : "抄送人=" + obj.CopytoCodes; n = n + 1; } if (isUpdateTitle) { msg += n > 0 ? ",主题=" + obj.Title : "主题=" + obj.Title; n = n + 1; } if (isUpdateBody) { msg += n > 0 ? ",正文=" + obj.Body : "正文=" + obj.Body; } msg += "。"; log.WriteUpdate(msg, module); } } else { msg = obj.State == 1 ? "发送邮件失败(从发件箱的草稿发送)!" : "修改草稿失败!"; log.WriteUpdate(msg, module); } #endregion } } catch (Exception ex) { op.Message = ex.Message; Log.WriteError(ex); } return(op); }
/// <summary> /// 新增或修改 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static OpResult SaveOrUpdate(HouseMove obj) { var re = new OpResult(); try { var details = new List <HouseMoveList>(); if (!string.IsNullOrWhiteSpace(obj.Inserted)) { var adds = obj.Inserted.ToObject <List <HouseMoveList> >(); if (adds.Any()) { details.AddRange(adds.Where(o => !o.Barcode.IsNullOrEmpty() && !o.Title.IsNullOrEmpty())); } } obj.CompanyId = CommonService.CompanyId; if (obj.Id == 0) { obj.MoveId = Logic.CommonRules.GUID; details.Each(o => { o.MoveId = obj.MoveId; o.StockOut = 0;//todo o.State = 1; }); obj.CreateDT = DateTime.Now; obj.CreateUID = Sys.CurrentUser.UID; obj.State = 1; Add(obj, false); re = BaseService <HouseMoveList> .AddRange(details); } else { var sour = STHouseMoveService.FindById(obj.Id); var list = BaseService <HouseMoveList> .FindList(o => o.MoveId == sour.MoveId); var uid = sour.CreateUID; var create = sour.CreateDT; var state = sour.State; obj.ToCopyProperty(sour); sour.CreateDT = create; sour.CreateUID = uid; sour.State = state; details.Each(o => { o.MoveId = sour.MoveId; o.State = sour.State; }); if (!string.IsNullOrWhiteSpace(obj.Deleted)) { var dels = obj.Deleted.ToObject <List <HouseMoveList> >(); if (dels.Any()) { var barcodes = dels.Select(o => o.Barcode).ToList(); var deletes = list.Where(o => barcodes.Contains(o.Barcode)).ToList(); BaseService <HouseMoveList> .CurrentRepository.RemoveRange(deletes, false); } } if (!string.IsNullOrWhiteSpace(obj.Updated)) { var upts = obj.Updated.ToObject <List <HouseMoveList> >(); if (upts.Any()) { var barcodes = upts.Select(o => o.Barcode).ToList(); var deletes = list.Where(o => barcodes.Contains(o.Barcode)).ToList(); BaseService <HouseMoveList> .CurrentRepository.RemoveRange(deletes, false); BaseService <HouseMoveList> .AddRange(upts, false); } } BaseService <HouseMoveList> .AddRange(details, false); re = Update(sour); } } catch (Exception ex) { re.Message = ex.Message; } return(re); }
/// <summary> /// 后台退货 /// </summary> /// <param name="reason">换货理由(字典值)</param> /// <param name="retprice">顾客补价</param> /// <param name="returnDetailsStr">换货明细JSON字符串</param> /// <param name="payno">销售单流水号</param> /// <returns>OpResult</returns> public static OpResult SaveTui(int reason, decimal?retprice, string returnDetailsStr, string payno, bool returnAll = false) { var op = OpResult.Fail(); var olds = returnDetailsStr.ToObject <List <TuiHuan> >(); if (!olds.Any()) { op.Message = "退货商品信息不能为空"; } else { if (!payno.IsNullOrEmpty() && returnAll) { var obj = BaseService <SaleOrders> .Find(o => o.CompanyId == CommonService.CompanyId && o.PaySN == payno); if (obj == null) { op.Message = "输入流水号不存在!"; } else { obj.State = 1; obj.IsProcess = false; obj.Receive = -(Math.Abs(obj.Receive)); obj.Reason = reason; obj.ReturnDT = DateTime.Now; obj.ReturnOrderUID = CurrentUser.UID; op = BaseService <SaleOrders> .Update(obj); } } else { payno = CommonRules.PaySN; var saleObj = new SaleOrders() { ApiCode = "11", MachineSN = "-1", CreateDT = DateTime.Now, CreateUID = Sys.CurrentUser.UID, PaySN = payno, TotalAmount = retprice.GetValueOrDefault(), Receive = retprice.GetValueOrDefault(), PreferentialPrice = 0, StoreId = Sys.CurrentUser.StoreId, Type = 2, Reason = reason, CompanyId = CommonService.CompanyId, Memo = "后台退货新单" }; var newSaleDetails = new List <SaleDetail>(); olds.Each(o => { newSaleDetails.Add(new SaleDetail() { ActualPrice = o.SysPrice, SysPrice = o.SysPrice, Total = o.Total, BuyPrice = 0, Barcode = o.OldBarcode, ScanBarcode = o.Barcode, Title = o.Title, ProductCode = o.ProductCode, PaySN = saleObj.PaySN, PurchaseNumber = o.Number, SalesClassifyId = 0, CompanyId = saleObj.CompanyId, Memo = "" }); }); BaseService <SaleOrders> .Add(saleObj, false); op = BaseService <SaleDetail> .AddRange(newSaleDetails); } if (op.Successed) { dal.UpdateTuiHuanStock(); } } return(op); }
public static void SaveStock(string storeId, string checkBatch, string checkUID, Dictionary <string, decimal?> barnums) { if (string.IsNullOrWhiteSpace(storeId)) { throw new MessageException("门店号为空!"); } if (string.IsNullOrWhiteSpace(checkBatch)) { throw new MessageException("盘点批次为空!"); } if (string.IsNullOrWhiteSpace(checkUID)) { throw new MessageException("盘点员为空!"); } if (!barnums.Any()) { throw new MessageException("盘点内容为空!"); } var barcodes = barnums.Keys.ToList(); var query = from a in BaseService <StockTaking> .CurrentRepository.QueryEntity join b in BaseService <TreasuryLocks> .CurrentRepository.QueryEntity on new { a.CheckBatch, a.CompanyId } equals new { b.CheckBatch, b.CompanyId } where a.CompanyId == Sys.SysCommonRules.CompanyId && b.LockStoreID == storeId && a.CheckBatch == checkBatch && barcodes.Contains(a.Barcode) select new { a.Barcode, a.ActualNumber, a.CheckBatch, b.State, SysPrice = ProductService.CurrentRepository.QueryEntity.Where(o => o.CompanyId == a.CompanyId && (o.Barcode == a.Barcode || ("," + o.Barcodes + ",").Contains("," + a.Barcode + ","))).Select(o => o.SysPrice).FirstOrDefault() }; var stocks = query.ToList(); if (!stocks.Any()) { throw new MessageException("批次或条码不存在!"); } if (stocks.Any(o => o.State == 1)) { throw new MessageException("该批次已通过审核,不能再盘点!"); } var user = UserInfoService.Find(o => o.CompanyId == Sys.SysCommonRules.CompanyId && o.UserCode == checkUID); if (user == null) { throw new MessageException("用户编码不存在!"); } var stocklogs = BaseService <StockTakingLog> .FindList(o => o.CompanyId == Sys.SysCommonRules.CompanyId && barcodes.Contains(o.Barcode) && o.CheckBatch == checkBatch && o.State == 1); var insertLog = new List <StockTakingLog>(); var date = DateTime.Now; foreach (var de in barnums) { var sk = stocks.FirstOrDefault(o => o.Barcode == de.Key); if (sk == null) { throw new MessageException("条码[" + de.Key + "]不存在!"); } if (stocklogs.Any(o => o.Barcode == de.Key)) { throw new MessageException("条码[" + de.Key + "]条码已复盘!"); } if (!de.Value.HasValue) { continue; } insertLog.Add(new StockTakingLog() { Barcode = sk.Barcode, CheckBatch = sk.CheckBatch, CheckUID = user.UID, CreateDT = date, CreateUID = user.UID, ActualDate = date, Number = de.Value.Value, SysPrice = sk.SysPrice, Source = 2, CompanyId = Sys.SysCommonRules.CompanyId }); } if (insertLog.Any()) { BaseService <StockTakingLog> .AddRange(insertLog); } }
private static void RunIntegral(IIntegralEvent integralEvent, int sourceType) { if (string.IsNullOrEmpty(integralEvent.MemberId)) { return; } var member = MembersService.GetMember(integralEvent.MemberId, integralEvent.CompanyId); var rounder = new IntegralRoundFactory().CreateRounder(integralEvent.CompanyId); var ruleProviders = new QuanChengTaoIntegralRuleFactory(integralEvent.CompanyId).CreateRuleProviders(new DefaultIntegralRuleProviderLoader()); var flower = new QuanChengTaoIntegralRuleFlowProvider(integralEvent.CompanyId, rounder); var integralKV = new Dictionary <IIntegralRule, decimal>(); foreach (var ruleProvider in ruleProviders) { var integrals = flower.DoFlow(integralEvent, ruleProvider, member); foreach (var item in integrals) { integralKV.Add(item.Key, item.Value); } } var createdt = DateTime.Now; //record List <IntegralRecords> records = new List <IntegralRecords>(); foreach (var item in integralKV) { var integralRecords = new IntegralRecords() { CreateDt = createdt, Id = Guid.NewGuid().ToString("N"), Integral = item.Value, IntegralRuleId = Convert.ToInt32(item.Key.Id), Source = integralEvent.SourceRecordId, SourceType = sourceType, CompanyId = integralEvent.CompanyId, MemberId = integralEvent.MemberId, StoreId = integralEvent.StoreId, OperatorUid = integralEvent.OperatorUid }; records.Add(integralRecords); } if (records.Count == 0) { return; } //分期 QuanChengTaoInstalmentRuleProvider instalmentRuleProvider = new QuanChengTaoInstalmentRuleProvider(); var integralsForInstalment = records.Select(o => new QuanChengTaoIntegralInstalment() { IntegralRecordId = o.Id, CompanyId = o.CompanyId, Integral = o.Integral, IntegralRuleId = o.IntegralRuleId }); var instalments = instalmentRuleProvider.Run(integralsForInstalment); var instalmentRecords = new List <InstalmentRecord>(); foreach (var item in instalments) { var instalmentR = item as QuanChengTaoInstalmentItem; var instalmentRecord = new InstalmentRecord() { IntegralRecordId = instalmentR.IntegralRecordId, CompanyId = integralEvent.CompanyId, CreateDT = createdt, InstalmentDT = instalmentR.InstalmentDT, InstalmentRuleId = Convert.ToInt32(item.InstalmentRuleId), Integral = item.InstalmentNumber, MemberId = integralEvent.MemberId }; instalmentRecords.Add(instalmentRecord); } if (instalmentRecords.Count == 0) { member.UsableIntegral += records.Sum(o => o.Integral); BaseService <IntegralRecords> .AddRange(records); } else { var noInstalments = records.Where(o => !instalmentRecords.Any(p => p.IntegralRecordId == o.Id)).ToList(); member.UsableIntegral += noInstalments.Sum(o => o.Integral); BaseService <IntegralRecords> .AddRange(records, false); BaseService <InstalmentRecord> .AddRange(instalmentRecords); } }
/// <summary> /// 保存或修改 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static OpResult SaveOrUpdate(IndentOrder obj) { var re = new OpResult(); try { var details = new List <IndentOrderList>(); var gifts = new List <IndentOrderList>(); if (!string.IsNullOrWhiteSpace(obj.Inserted)) { var adds = obj.Inserted.ToObject <List <IndentOrderList> >(); if (adds.Any()) { details.AddRange(adds.Where(o => !string.IsNullOrWhiteSpace(o.Barcode))); details.Each(o => { if (!o.Gift.IsNullOrEmpty()) { var gfs = o.Gift.Split(','); gfs.Each(i => { if (!i.IsNullOrEmpty()) { gifts.Add(new IndentOrderList() { Barcode = i.Split('~')[0], IndentNum = decimal.Parse(i.Split('~')[1]), Nature = 1, ResBarcode = o.Barcode, Memo = "赠品" }); } }); } }); } } var gifBars = gifts.Select(o => o.Barcode).ToList(); if (gifBars.Any()) { var pros = ProductService.FindList(o => gifBars.Contains(o.Barcode)); ProductService.SetSysPrice(obj.StoreId, pros, supplierId: obj.SupplierID); gifts.Each(o => { var p = pros.FirstOrDefault(i => i.Barcode == o.Barcode); if (p != null) { o.Price = p.BuyPrice; o.Subtotal = o.Price * o.IndentNum; o.SysPrice = p.SysPrice; } }); } details.AddRange(gifts); if (details.Any()) { var procs = ProductService.FindList(o => !(o.Barcodes == null || o.Barcodes == "")); foreach (var dt in details) { var p = procs.FirstOrDefault(o => ("," + o.Barcodes + ",").Contains("," + dt.Barcode + ",")); if (p == null) { continue; } dt.AssistBarcode = dt.Barcode; dt.Barcode = p.Barcode; } } obj.CompanyId = CommonService.CompanyId; if (obj.Id == 0) { obj.IndentOrderId = Logic.CommonRules.OrderSN; details.Each(o => { o.IndentOrderId = obj.IndentOrderId; }); obj.CreateDT = DateTime.Now; obj.CreateUID = Sys.CurrentUser.UID; Add(obj, false); re = BaseService <IndentOrderList> .AddRange(details); } else { var sour = OrderService.FindById(obj.Id); var list = BaseService <IndentOrderList> .FindList(o => o.IndentOrderId == sour.IndentOrderId); var uid = sour.CreateUID; var create = sour.CreateDT; obj.ToCopyProperty(sour); sour.CreateDT = create; sour.CreateUID = uid; details.Each(o => { o.IndentOrderId = sour.IndentOrderId; }); if (!string.IsNullOrWhiteSpace(obj.Deleted)) { var dels = obj.Deleted.ToObject <List <IndentOrderList> >(); if (dels.Any()) { var ids = dels.Select(o => o.Id).ToList(); var mainBars = dels.Select(o => o.Barcode).ToList(); var deletes = list.Where(o => ids.Contains(o.Id)).ToList(); deletes.AddRange(list.Where(o => mainBars.Contains(o.ResBarcode))); BaseService <IndentOrderList> .CurrentRepository.RemoveRange(deletes, false); } } if (!string.IsNullOrWhiteSpace(obj.Updated)) { var upts = obj.Updated.ToObject <List <IndentOrderList> >(); //foreach (var detail in list) //{ // //detail.Subtotal = detail.IndentNum * detail.Price; // var up = upts.FirstOrDefault(o => o.Id == detail.Id); // if (up == null) continue; // detail.IndentNum = up.IndentNum; // detail.Memo = up.Memo; //} if (upts.Any()) { var ids = upts.Select(o => o.Id).ToList(); var mainBars = upts.Select(o => o.Barcode).ToList(); var deletes = list.Where(o => ids.Contains(o.Id)).ToList(); deletes.AddRange(list.Where(o => mainBars.Contains(o.ResBarcode))); upts.Each(o => { if (!o.Gift.IsNullOrEmpty()) { var gfs = o.Gift.Split(','); gfs.Each(i => { if (!i.IsNullOrEmpty()) { gifts.Add(new IndentOrderList() { IndentOrderId = o.IndentOrderId, Barcode = i.Split('~')[0], IndentNum = decimal.Parse(i.Split('~')[1]), Nature = 1, ResBarcode = o.Barcode, Memo = "赠品" }); } }); } }); upts.AddRange(gifts); BaseService <IndentOrderList> .CurrentRepository.RemoveRange(deletes, false); BaseService <IndentOrderList> .AddRange(upts, false); #region 操作日志 foreach (var item in deletes) { var msg = Pharos.Sys.LogEngine.CompareModelToLog <IndentOrderList>(Sys.LogModule.采购订单, null, item); new Pharos.Sys.LogEngine().WriteDelete(msg, Sys.LogModule.采购订单); } foreach (var item in upts) { var msg = Pharos.Sys.LogEngine.CompareModelToLog <IndentOrderList>(Sys.LogModule.采购订单, item); new Pharos.Sys.LogEngine().WriteInsert(msg, Sys.LogModule.采购订单); } #endregion } } BaseService <IndentOrderList> .AddRange(details, false); foreach (var item in details) { var msg = Pharos.Sys.LogEngine.CompareModelToLog <IndentOrderList>(Sys.LogModule.采购订单, item); new Pharos.Sys.LogEngine().WriteDelete(msg, Sys.LogModule.采购订单); } re = Update(sour); } } catch (Exception ex) { re.Message = ex.Message; } return(re); }