From 7f26cd7c3e492062418cdc7dbe9d7ce14cbe5f05 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 26 六月 2024 11:47:37 +0800 Subject: [PATCH] 铺货修改 --- CoreCms.Net.Repository/Stock/CoreCmsStockRepository.cs | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 101 insertions(+), 3 deletions(-) diff --git a/CoreCms.Net.Repository/Stock/CoreCmsStockRepository.cs b/CoreCms.Net.Repository/Stock/CoreCmsStockRepository.cs index 5f54c7c..b3b09cc 100644 --- a/CoreCms.Net.Repository/Stock/CoreCmsStockRepository.cs +++ b/CoreCms.Net.Repository/Stock/CoreCmsStockRepository.cs @@ -23,6 +23,7 @@ using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Utility.Helper; using SqlSugar; +using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; namespace CoreCms.Net.Repository { @@ -44,7 +45,7 @@ /// </summary> /// <param name="entity">瀹炰綋鏁版嵁</param> /// <returns></returns> - public async Task<AdminUiCallBack> InsertAsync(FMCreateStock entity) + public async Task<AdminUiCallBack> InsertAsync(FMCreateStock entity, string username, CoreCmsDistribution distribution) { var jm = new AdminUiCallBack(); @@ -76,6 +77,10 @@ { stockModel.id = await CreateCode(GlobalEnumVars.StockType.Out.ToString()); } + else if (entity.model.type == 3) + { + stockModel.id = await CreateCode(GlobalEnumVars.StockType.Out.ToString()); + } else { jm.msg = "鍗曟嵁绫诲瀷閿欒"; @@ -85,7 +90,20 @@ stockModel.memo = entity.model.memo; stockModel.createTime = DateTime.Now; stockModel.manager = entity.model.manager; - stockModel.type = entity.model.type; + if (entity.model.type == 3 ) + { + if (stockModel.memo == "鏃�") + { + stockModel.memo = ""; + } + stockModel.memo = distribution.name+ " 缁忛攢鍟嗛摵璐� " + stockModel.memo; + stockModel.type = 2; + } + else + { + stockModel.type = entity.model.type; + } + var logs = new List<CoreCmsStockLog>(); var products = new List<CoreCmsProducts>(); @@ -116,7 +134,9 @@ name = good.name, bn = good.bn, isMarketable = good.isMarketable, - unit = good.unit + unit = good.unit, + distributionPrice = p.distributionPrice, + CategoryID = good.goodsCategoryId, }).With(SqlWith.NoLock) .MergeTable() .Where(p => p.id == item.productId).FirstAsync(); @@ -136,6 +156,16 @@ return jm; } } + else if (entity.model.type == 3) + { + stock = product.stock - item.nums; + if (stock < 0) + { + jm.msg = $"绗瑊index}涓揣鍝佹渶澶у嚭搴撴暟閲忎负锛�" + product.stock; + return jm; + } + } + product.nums = item.nums; product.stock = stock; products.Add(product); @@ -160,6 +190,9 @@ } } + + + try { _unitOfWork.BeginTran(); @@ -172,6 +205,71 @@ { await DbClient.Insertable(logs).ExecuteCommandAsync(); } + + //閾鸿揣 + if (entity.model.type == 3) + { + if (products.Any() && distribution != null) + { + foreach (var products1 in products) + { + var puhuo = await DbClient.Queryable<Puhuo>().Where(x => x.isdelete == false && x.productsId == products1.id && x.distributionId == entity.model.distributionId).FirstAsync(); + if (puhuo != null) + { + + puhuo.nums = puhuo.nums + products1.nums; + puhuo.price = products1.distributionPrice; + puhuo.amount = products1.distributionPrice * new decimal(puhuo.nums); + puhuo.isdelete = false; + //entity.createBy = username; + puhuo.upDataBy = username; + //entity.createTime = DateTime.Now; + puhuo.upDataTime = DateTime.Now; + await DbClient.Updateable<Puhuo>(puhuo).ExecuteCommandAsync(); + } + else + { + puhuo = new Puhuo(); + puhuo.distributionId = entity.model.distributionId; + puhuo.distributionName = distribution.name; + puhuo.areaCode = distribution.areaCode; + puhuo.areaCodeName = distribution.areaName; + + puhuo.CategoryId = products1.CategoryID??0; + //鑾峰彇鍏ㄩ儴鏁版嵁缂撳瓨 + var categorie = await DbClient.Queryable<CoreCmsGoodsCategory>().Where(x => x.id == puhuo.CategoryId).FirstAsync(); ; + if (categorie != null) + { + puhuo.CategoryName = categorie.name; + } + puhuo.goodsId = products1.goodsId; + puhuo.goodsName = products1.name; + puhuo.productsId = products1.id; + puhuo.productsName = products1.sn; + puhuo.spesDesc = products1.spesDesc; + puhuo.shoukuannums = 0; + puhuo.shoukuanamount = 0; + + + + puhuo.nums = puhuo.nums + products1.nums; + puhuo.price = products1.distributionPrice; + puhuo.amount = products1.distributionPrice * new decimal(puhuo.nums); + puhuo.isdelete = false; + puhuo.createBy = username; + puhuo.upDataBy = username; + puhuo.createTime = DateTime.Now; + puhuo.upDataTime = DateTime.Now; + await DbClient.Insertable<Puhuo>(puhuo).ExecuteCommandAsync(); + } + } + } + + + + } + + jm.code = bl ? 0 : 1; jm.msg = bl ? GlobalConstVars.CreateSuccess : GlobalConstVars.CreateFailure; _unitOfWork.CommitTran(); -- Gitblit v1.9.1