From 20ad0ae660e2669b4428c9b97f0cd5d48044d836 Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期四, 11 七月 2024 07:52:26 +0800 Subject: [PATCH] Merge branch 'hwh' --- HTML/views/SystemSettings/PrintSetting.html | 75 -- Wms/Utility/Entity/ApiResponse.cs | 9 Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs | 34 Wms/Wms/Controllers/UpApiController.cs | 28 Wms/Utility/Extension/ApiResponseActionFilter.cs | 13 Wms/WMS.BLL/LogServer/OperationCrServer.cs | 27 Wms/Wms/Controllers/BllCheckController.cs | 169 +----- Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 1023 +++++++++++++++++++++------------------- Wms/WMS.IBLL/ILogServer/IOperationCRServer.cs | 7 Wms/Wms/Controllers/BasisController.cs | 2 Wms/Wms/Controllers/DownApiController.cs | 72 +- 11 files changed, 710 insertions(+), 749 deletions(-) diff --git a/HTML/views/SystemSettings/PrintSetting.html b/HTML/views/SystemSettings/PrintSetting.html index d7e8133..514f274 100644 --- a/HTML/views/SystemSettings/PrintSetting.html +++ b/HTML/views/SystemSettings/PrintSetting.html @@ -154,61 +154,6 @@ TypeList = res.data; } }); - sendData(IP + "/basis/GetRoleRightList", {}, 'get', function (res) { - $(function () { - $("#approvalBtn").hide(); - }); - $(function () { - $(".approvalBtndel").hide(); - }); - $(function () { - $(".approvalBtnupt").hide(); - }); - if (res.code == 200) //鎴愬姛 - { - var list = res.data.filter(item => item.Layer == 0); - if (list) { - for (var i = 0; i < list.length; i++) { - xml = xml + '<li class="layui-nav-item">' + '<a href="javascript:;" lay-tips=' + list[i].Icon + ' lay-direction="2">' + '<span class="iconfont ' + list[i].Icon + '"></span>' + '<cite>' + list[i].MenuName + '</cite>' + '</a>'; - var id = list[i].Id; - //鏌ヨ鏈夋棤瀛愯彍鍗� - var count = res.data.filter(item => item.ParentId == id).length; - if (count > 0) { - xml = xml + '<dl class="layui-nav-child">'; - getchiled(res.data, id); - xml = xml + '</dl>'; - } - xml = xml + '</li>' - } - } - for (var k = 0; k < res.data.length; k++) { - if (res.data[k].MenuName == "娣诲姞妯℃澘") { - $(function () { - $("#approvalBtn").show(); - }); - } - if (res.data[k].MenuName == "鍒犻櫎妯℃澘") { - $(function () { - $(".approvalBtndel").show(); - }); - } - if (res.data[k].MenuName == "缂栬緫妯℃澘") { - $(function () { - $(".approvalBtnupt").show(); - }); - } - } - } - else //涓嶆垚鍔� - { - layer.msg('鑾峰彇淇℃伅澶辫触', { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }, function () { - //鍥炶皟 - }); - } - }) var infoOptions = { elem: '#LAY-app-content-list', height: 'full-95', @@ -263,7 +208,25 @@ { title: '鎿嶄綔', fixed: 'right', width: 200, align: 'center', toolbar: '#table-content-list' } - ]] + ]], + done: function () { + //鏉冮檺 + var listRole = JSON.parse(localStorage.getItem('listRole')); + $("#approvalBtn").hide(); + $(".approvalBtndel").hide(); + $(".approvalBtnupt").hide(); + if (listRole) { + if (listRole.filter(s => s.MenuName == "娣诲姞妯℃澘").length > 0) { + $("#approvalBtn").show(); + } + if (listRole.filter(s => s.MenuName == "缂栬緫妯℃澘").length > 0) { + $(".approvalBtnupt").show(); + } + if (listRole.filter(s => s.MenuName == "鍒犻櫎妯℃澘").length > 0) { + $(".approvalBtndel").show(); + } + } + } }; //鐩戝惉鎼滅储 form.on('submit(LAY-app-contlist-search)', function (data) { diff --git a/Wms/Utility/Entity/ApiResponse.cs b/Wms/Utility/Entity/ApiResponse.cs index c88a3a1..8ac8932 100644 --- a/Wms/Utility/Entity/ApiResponse.cs +++ b/Wms/Utility/Entity/ApiResponse.cs @@ -9,12 +9,21 @@ public int code { get; set; } public string msg { get; set; } public T data { get; set; } + public int count { get; set; } public ApiResponse(int code, string message, T data) { this.code = code; this.msg = message; this.data = data; + + } + public ApiResponse(int code, string message, T data, int count) + { + this.code = code; + this.msg = message; + this.data = data; + this.count = count; } } } diff --git a/Wms/Utility/Extension/ApiResponseActionFilter.cs b/Wms/Utility/Extension/ApiResponseActionFilter.cs index f7eb80c..6f73a0c 100644 --- a/Wms/Utility/Extension/ApiResponseActionFilter.cs +++ b/Wms/Utility/Extension/ApiResponseActionFilter.cs @@ -1,6 +1,7 @@ 锘縰sing Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; +using NetTaste; using Newtonsoft.Json; using System; using System.Collections.Generic; @@ -21,10 +22,14 @@ if (resultContext.Result is ObjectResult objectResult) { var apiResponse = new ApiResponse<object>( - context.HttpContext.Response.StatusCode, - context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", - objectResult.Value - ); + context.HttpContext.Response.StatusCode, + context.HttpContext.Response.StatusCode == 200 ? "璇锋眰鎴愬姛" : "閿欒", + objectResult.Value); + + //if (resultContext.Result is SqlSugarPagedList) + //{ + // apiResponse.count = ((SqlSugarPagedList)resultContext.Result).Total; + //} var json = JsonConvert.SerializeObject(apiResponse); context.HttpContext.Response.ContentType = "application/json"; diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs index 24196ca..0af25c8 100644 --- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs +++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs @@ -4,14 +4,19 @@ using System.Linq; using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Identity; using Model.InterFaceModel; using Model.ModelDto.BllCheckDto; using Model.ModelDto.DataDto; +using Model.ModelDto.SysDto; using Model.ModelVm; using Model.ModelVm.BllCheckVm; +using Model.ModelVm.LogVm; using Newtonsoft.Json; using SqlSugar; using SqlSugar.Extensions; +using Utility; using Utility.Tools; using WMS.BLL.LogServer; using WMS.DAL; @@ -23,238 +28,276 @@ using WMS.Entity.LogEntity; using WMS.Entity.SysEntity; using WMS.IBLL.IBllCheckServer; +using WMS.IBLL.ILogServer; namespace WMS.BLL.BllCheckServer { public class StockCheckServer : DbHelper<BllStockCheck>, IStockCheckServer { private static readonly SqlSugarScope Db = DataContext.Db; - public StockCheckServer() : base(Db) + private readonly UserManager _userManager; + private readonly IOperationCRServer _operation; + public StockCheckServer(UserManager userManager, IOperationCRServer operation) : base(Db) { + _userManager = userManager; + _operation = operation; } //鑾峰彇鐩樼偣鍗曟嵁 - public List<StockCheckDto> GetStockCheckList(string crNo, string status, string palletNo, string skuNo, string skuName, - string lotNo, string startTime, string endTime, int page, int limit, out int count) + public async Task<List<StockCheckDto>> GetStockCheckList(string crNo, string status, string palletNo, string skuNo, string skuName, + string lotNo, string startTime, string endTime, int page, int limit, RefAsync<int> count) { - try + var strList = new List<string>(); + + if (!string.IsNullOrWhiteSpace(palletNo) || !string.IsNullOrWhiteSpace(skuNo) || !string.IsNullOrWhiteSpace(skuName) || !string.IsNullOrWhiteSpace(lotNo)) { - var strList = new List<string>(); - - if (!string.IsNullOrWhiteSpace(palletNo) || !string.IsNullOrWhiteSpace(skuNo) || !string.IsNullOrWhiteSpace(skuName) || !string.IsNullOrWhiteSpace(lotNo)) - { - Expression<Func<BllStockCheckDetail, bool>> demo = Expressionable.Create<BllStockCheckDetail>() - .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(skuName.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) - .And(m => m.IsDel == "0") - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - - var detailList = Db.Queryable<BllStockCheckDetail>().Where(demo).Select(m => m.CRNo).Distinct().ToList(); - strList = detailList; - } - - Expression<Func<BllStockCheck, bool>> item = Expressionable.Create<BllStockCheck>() - .AndIF(!string.IsNullOrWhiteSpace(crNo), m => m.CRNo.Contains(crNo.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(status), m => m.Status == int.Parse(status)) - .AndIF(!string.IsNullOrWhiteSpace(startTime), m => m.CheckDate >= Convert.ToDateTime(startTime)) - .AndIF(!string.IsNullOrWhiteSpace(endTime), m => m.CheckDate <= Convert.ToDateTime(endTime).AddDays(1)) - .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => strList.Contains(m.CRNo)) - .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => strList.Contains(m.CRNo)) - .AndIF(!string.IsNullOrWhiteSpace(skuName), m => strList.Contains(m.CRNo)) - .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => strList.Contains(m.CRNo)) + Expression<Func<BllStockCheckDetail, bool>> demo = Expressionable.Create<BllStockCheckDetail>() + .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => m.PalletNo.Contains(palletNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => m.SkuNo.Contains(skuNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(skuName), m => m.SkuName.Contains(skuName.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => m.LotNo.Contains(lotNo.Trim())) .And(m => m.IsDel == "0") .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - var total = 0; - var list = Db.Queryable<BllStockCheck>().Where(item) - .LeftJoin<SysUserInfor>((a, b) => a.AuditUser == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) - .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) - .Select((a, b, c, d) => new StockCheckDto() - { - Id = a.Id, - CrNo = a.CRNo, - CheckDate = a.CheckDate, - CompleteDate = a.CompleteDate, - Status = a.Status, - Origin = a.Origin, - AuditStatusNo = a.AuditStatusNo, - IsDoubleCheck = a.IsDoubleCheck, - AuditUserName = b.RealName, - AuditTime = a.AuditTime, - Demo = a.Demo, - CreateUserName = c.RealName, - UpdateUserName = d.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime, - - }).OrderByDescending(a => a.CreateTime).ToOffsetPage(page, limit, ref total); - count = total; - - return list; - + var detailList = await Db.Queryable<BllStockCheckDetail>().Where(demo).Select(m => m.CRNo).Distinct().ToListAsync(); + strList = detailList; } - catch (Exception e) - { - throw new Exception(e.Message); - } + + Expression<Func<BllStockCheck, bool>> item = Expressionable.Create<BllStockCheck>() + .AndIF(!string.IsNullOrWhiteSpace(crNo), m => m.CRNo.Contains(crNo.Trim())) + .AndIF(!string.IsNullOrWhiteSpace(status), m => m.Status == int.Parse(status)) + .AndIF(!string.IsNullOrWhiteSpace(startTime), m => m.CheckDate >= Convert.ToDateTime(startTime)) + .AndIF(!string.IsNullOrWhiteSpace(endTime), m => m.CheckDate <= Convert.ToDateTime(endTime).AddDays(1)) + .AndIF(!string.IsNullOrWhiteSpace(palletNo), m => strList.Contains(m.CRNo)) + .AndIF(!string.IsNullOrWhiteSpace(skuNo), m => strList.Contains(m.CRNo)) + .AndIF(!string.IsNullOrWhiteSpace(skuName), m => strList.Contains(m.CRNo)) + .AndIF(!string.IsNullOrWhiteSpace(lotNo), m => strList.Contains(m.CRNo)) + .And(m => m.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + var list = await Db.Queryable<BllStockCheck>().Where(item) + .LeftJoin<SysUserInfor>((a, b) => a.AuditUser == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) + .LeftJoin<SysUserInfor>((a, b, c, d) => a.CreateUser == d.Id) + .Select((a, b, c, d) => new StockCheckDto() + { + Id = a.Id, + CrNo = a.CRNo, + CheckDate = a.CheckDate, + CompleteDate = a.CompleteDate, + Status = a.Status, + Origin = a.Origin, + AuditStatusNo = a.AuditStatusNo, + IsDoubleCheck = a.IsDoubleCheck, + AuditUserName = b.RealName, + AuditTime = a.AuditTime, + Demo = a.Demo, + CreateUserName = c.RealName, + UpdateUserName = d.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime, + }).OrderByDescending(a => a.CreateTime).ToPageListAsync(page, limit, count); + + return list; } //鑾峰彇鐩樼偣鍗曟嵁鏄庣粏 - public List<StockCheckDetailDto> GetStockCheckDetailList(string crNo, int page, int limit, out int count) + public async Task<List<StockCheckDetailDto>> GetStockCheckDetailList(string crNo, int page, int limit, RefAsync<int> count) { - try - { - var total = 0; - var list = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == crNo) - .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) - .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id) - .Select((a, b, c) => new StockCheckDetailDto() - { - Id = a.Id, - CrNo = a.CRNo, - PalletNo = a.PalletNo, - Qty = a.Qty, - RealQty = a.RealQty, - CheckResult = a.CheckResult, - Status = a.Status, - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, + return await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == crNo) + .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id) + .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id) + .Select((a, b, c) => new StockCheckDetailDto() + { + Id = a.Id, + CrNo = a.CRNo, + PalletNo = a.PalletNo, + Qty = a.Qty, + RealQty = a.RealQty, + CheckResult = a.CheckResult, + Status = a.Status, + SkuNo = a.SkuNo, + SkuName = a.SkuName, + Standard = a.Standard, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, - CreateUserName = b.RealName, - UpdateUserName = c.RealName, - CreateTime = a.CreateTime, - UpdateTime = a.UpdateTime, + CreateUserName = b.RealName, + UpdateUserName = c.RealName, + CreateTime = a.CreateTime, + UpdateTime = a.UpdateTime, - }).ToOffsetPage(page, limit, ref total); - count = total; - - return list; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + }).ToPageListAsync(page, limit, count); } //鑾峰彇搴撳瓨鏄庣粏淇℃伅锛堢洏鐐归�夋嫨鏄庣粏鏁版嵁婧愶級 - public List<StockDetailDto> GetCheckStockDetailList(string houseNo, string roadwayNo, string locateNo, string msg, int page, int limit, out int count) + public async Task<List<StockDetailDto>> GetCheckStockDetailList(string houseNo, string roadwayNo, string locateNo, string msg, int page, int limit, RefAsync<int> count) { - try - { - Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() - .AndIF(!string.IsNullOrWhiteSpace(houseNo), m => m.WareHouseNo == houseNo) - .AndIF(!string.IsNullOrWhiteSpace(roadwayNo), m => m.RoadwayNo == roadwayNo) - .AndIF(!string.IsNullOrWhiteSpace(locateNo), m => m.LocatNo == locateNo) - .AndIF(!string.IsNullOrWhiteSpace(msg), - m => m.SkuNo.Contains(msg.Trim()) - || m.SkuName.Contains(msg.Trim()) - || m.LotNo.Contains(msg.Trim())) - .And(m => m.IsDel == "0" && m.SkuNo != "100099" && m.Status == "0") - .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� - - var total = 0; - var list = Db.Queryable<DataStockDetail>().Where(item).GroupBy(m => new { m.SkuNo, m.SkuName, m.Standard, m.LotNo, m.LotText, m.SupplierLot, m.LocatNo, m.PalletNo }) - .Select(a => new StockDetailDto() - { - SkuNo = a.SkuNo, - SkuName = a.SkuName, - Standard = a.Standard, - LotNo = a.LotNo, - LotText = a.LotText, - SupplierLot = a.SupplierLot, - Qty = SqlFunc.AggregateSum(a.Qty), - LocatNo = a.LocatNo, - PalletNo = a.PalletNo - }).ToOffsetPage(page, limit, ref total); - count = total; - - return list; - } - catch (Exception e) - { - throw new Exception(e.Message); - } + Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() + .AndIF(!string.IsNullOrWhiteSpace(houseNo), m => m.WareHouseNo == houseNo) + .AndIF(!string.IsNullOrWhiteSpace(roadwayNo), m => m.RoadwayNo == roadwayNo) + .AndIF(!string.IsNullOrWhiteSpace(locateNo), m => m.LocatNo == locateNo) + .AndIF(!string.IsNullOrWhiteSpace(msg), + m => m.SkuNo.Contains(msg.Trim()) + || m.SkuName.Contains(msg.Trim()) + || m.LotNo.Contains(msg.Trim())) + .And(m => m.IsDel == "0" && m.SkuNo != "100099" && m.Status == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + return await Db.Queryable<DataStockDetail>().Where(item).GroupBy(m => new { m.SkuNo, m.SkuName, m.Standard, m.LotNo, m.LotText, m.SupplierLot, m.LocatNo, m.PalletNo }) + .Select(a => new StockDetailDto() + { + SkuNo = a.SkuNo, + SkuName = a.SkuName, + Standard = a.Standard, + LotNo = a.LotNo, + LotText = a.LotText, + SupplierLot = a.SupplierLot, + Qty = SqlFunc.AggregateSum(a.Qty), + LocatNo = a.LocatNo, + PalletNo = a.PalletNo + }).ToPageListAsync(page, limit, count); } - public EditStockCheckDto GetStockCheckDetailById(string crNo) + public async Task<EditStockCheckDto> GetStockCheckDetailById(string crNo) { - try + var notify = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0"); + if (notify == null) { - var notify = Db.Queryable<BllStockCheck>().First(m => m.CRNo == crNo && m.IsDel == "0"); - if (notify == null) - { - throw new Exception($"鏈煡璇㈠埌{crNo}鐨勭洏鐐瑰崟鎹俊鎭�"); - } - var detail = Db.Queryable<BllStockCheckDetail>().Where(m => m.CRNo == crNo && m.IsDel == "0").Select(m => new EditStockCheckDetailDto() - { - SkuNo = m.SkuNo, - SkuName = m.SkuName, - Standard = m.Standard, - LotNo = m.LotNo, - LotText = m.LotText, - SupplierLot = m.SupplierLot, - Qty = m.Qty, - - PalletNo = m.PalletNo - }).ToList(); - var data = new EditStockCheckDto() - { - CrNo = crNo, - Detail = detail - }; - - return data; + throw new Exception($"鏈煡璇㈠埌{crNo}鐨勭洏鐐瑰崟鎹俊鎭�"); } - catch (Exception e) + var detail = await Db.Queryable<BllStockCheckDetail>().Where(m => m.CRNo == crNo && m.IsDel == "0").Select(m => new EditStockCheckDetailDto() { - throw new Exception(e.Message); - } + SkuNo = m.SkuNo, + SkuName = m.SkuName, + Standard = m.Standard, + LotNo = m.LotNo, + LotText = m.LotText, + SupplierLot = m.SupplierLot, + Qty = m.Qty, + + PalletNo = m.PalletNo + }).ToListAsync(); + var data = new EditStockCheckDto() + { + CrNo = crNo, + Detail = detail + }; + + return data; } //娣诲姞鐩樼偣鍗曘�佺紪杈戠洏鐐瑰崟 - public void AddEditStockCheck(AddEditStockCheckVm model, int userId) + public async Task AddEditStockCheck(AddEditStockCheckVm model) { - try + if (model.Detail.Count == 0) { - if (model.Detail.Count == 0) - { - throw new Exception("鐩樼偣鏄庣粏涓嶈兘涓虹┖"); - } - Db.BeginTran(); - var time = DateTime.Now; + throw Oops.Bah("鐩樼偣鏄庣粏涓嶈兘涓虹┖"); + } + var time = DateTime.Now; - //娣诲姞 - if (string.IsNullOrWhiteSpace(model.CrNo)) + //娣诲姞 + if (string.IsNullOrWhiteSpace(model.CrNo)) + { + var num = await Db.Queryable<BllStockCheck>().CountAsync(m => m.IsDel == "0" && (m.Status == 0 || m.Status == 1)); + if (num > 0) { - var num = Db.Queryable<BllStockCheck>().Count(m => m.IsDel == "0" && (m.Status == 0 || m.Status == 1)); - if (num > 0) - { - throw new Exception("宸叉湁绛夊緟鎵ц鐨勭洏鐐瑰崟鎹鍏堝畬鎴愭垨鍒犻櫎"); - } - var crNo = new Common().GetMaxNo("CR"); - var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0"); - var check = new BllStockCheck() + throw Oops.Bah("宸叉湁绛夊緟鎵ц鐨勭洏鐐瑰崟鎹鍏堝畬鎴愭垨鍒犻櫎"); + } + var crNo = new Common().GetMaxNo("CR"); + var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0"); + var check = new BllStockCheck() + { + CRNo = crNo, + Origin = "0", + Status = 0, + CreateUser = _userManager.UserId, + CreateTime = time + }; + var list = new List<BllStockCheckDetail>(); + foreach (var item in model.Detail) + { + var detail = new BllStockCheckDetail() { CRNo = crNo, - Origin = "0", - Status = 0, - CreateUser = userId, + PalletNo = item.PalletNo, + Qty = item.Qty, + Status = 0, //0锛氭湭鐩� 1锛氬凡鐩� 2锛氬凡璋冩暣 + SkuNo = item.SkuNo, + SkuName = item.SkuName, + Standard = item.Standard, + LotNo = item.LotNo, + LotText = item.LotText, + SupplierLot = item.SupplierLot, + CreateUser = _userManager.UserId, CreateTime = time }; - var list = new List<BllStockCheckDetail>(); - foreach (var item in model.Detail) + list.Add(detail); + var sd = await stockDetail.FirstAsync(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo && m.Status == "0"); + sd.Status = "3"; + Db.Updateable(sd).ExecuteCommand(); + } + Db.Insertable(check).ExecuteCommand(); + Db.Insertable(list).ExecuteCommand(); + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = crNo, + TypeName = "娣诲姞", + Msg = $"娣诲姞浜嗗崟鎹彿涓簕crNo}鐨勭洏鐐瑰崟淇℃伅" + }); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "娣诲姞", $"娣诲姞浜嗗崟鎹彿涓簕crNo}鐨勭洏鐐瑰崟淇℃伅", _userManager.UserId); + } + else //缂栬緫 + { + var check = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.IsDel == "0" && m.CRNo == model.CrNo); + if (check == null) + { + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣鍗曟嵁鐨勪俊鎭�"); + } + check.UpdateUser = _userManager.UserId; + check.UpdateTime = time; + await Db.Updateable(check).ExecuteCommandAsync(); + + //鐩樼偣鏄庣粏淇℃伅 + var checkDetail = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == model.CrNo).ToList(); + + //鍒犻櫎鏃х殑 + foreach (var d in checkDetail) + { + var mq = model.Detail.Where(o => o.SkuNo == d.SkuNo && o.LotNo == d.LotNo && o.PalletNo == d.PalletNo).ToList(); + if (mq.Any()) //濡傛灉鏈夎繖涓墿鏂欏強鎵规鍒欒烦杩� + { + continue; + } + + var sd = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo && m.PalletNo == d.PalletNo && m.Status == "3").ToList(); + foreach (var s in sd) + { + s.Status = "0"; + + } + d.IsDel = "1"; + d.UpdateUser = _userManager.UserId; + d.UpdateTime = time; + //淇敼搴撳瓨鏄庣粏鐨勭姸鎬侊紙瑙i櫎鐩樼偣閿佸畾锛� + await Db.Updateable(sd).ExecuteCommandAsync(); + await Db.Updateable(d).ExecuteCommandAsync(); + } + + //娣诲姞涓庝慨鏀� + var list = new List<BllStockCheckDetail>(); + foreach (var item in model.Detail) + { + var de = checkDetail.FirstOrDefault(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo); + //鏂板姞椤� + if (de == null) { var detail = new BllStockCheckDetail() { - CRNo = crNo, + CRNo = model.CrNo, PalletNo = item.PalletNo, Qty = item.Qty, Status = 0, //0锛氭湭鐩� 1锛氬凡鐩� 2锛氬凡璋冩暣 @@ -265,163 +308,90 @@ LotText = item.LotText, SupplierLot = item.SupplierLot, - CreateUser = userId, + CreateUser = _userManager.UserId, CreateTime = time }; list.Add(detail); - var sd = stockDetail.First(m => m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo && m.Status == "0"); - sd.Status = "3"; - Db.Updateable(sd).ExecuteCommand(); - } - Db.Insertable(check).ExecuteCommand(); - Db.Insertable(list).ExecuteCommand(); - //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "娣诲姞", $"娣诲姞浜嗗崟鎹彿涓簕crNo}鐨勭洏鐐瑰崟淇℃伅", userId); - } - else //缂栬緫 - { - var check = Db.Queryable<BllStockCheck>().First(m => m.IsDel == "0" && m.CRNo == model.CrNo); - if (check == null) - { - throw new Exception("鏈煡璇㈠埌鐩樼偣鍗曟嵁鐨勪俊鎭�"); - } - check.UpdateUser = userId; - check.UpdateTime = time; - Db.Updateable(check).ExecuteCommand(); - - //鐩樼偣鏄庣粏淇℃伅 - var checkDetail = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == model.CrNo).ToList(); - - //鍒犻櫎鏃х殑 - foreach (var d in checkDetail) - { - var mq = model.Detail.Where(o => o.SkuNo == d.SkuNo && o.LotNo == d.LotNo && o.PalletNo == d.PalletNo).ToList(); - if (mq.Any()) //濡傛灉鏈夎繖涓墿鏂欏強鎵规鍒欒烦杩� - { - continue; - } - - var sd = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo && m.PalletNo == d.PalletNo && m.Status == "3").ToList(); + var sd = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo && m.Status == "0").ToList(); foreach (var s in sd) { - s.Status = "0"; - + s.Status = "3"; } - d.IsDel = "1"; - d.UpdateUser = userId; - d.UpdateTime = time; - //淇敼搴撳瓨鏄庣粏鐨勭姸鎬侊紙瑙i櫎鐩樼偣閿佸畾锛� - Db.Updateable(sd).ExecuteCommand(); - Db.Updateable(d).ExecuteCommand(); + await Db.Updateable(sd).ExecuteCommandAsync(); } - - //娣诲姞涓庝慨鏀� - var list = new List<BllStockCheckDetail>(); - foreach (var item in model.Detail) + else if (de.Qty != item.Qty) { - var de = checkDetail.FirstOrDefault(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo); - //鏂板姞椤� - if (de == null) - { - var detail = new BllStockCheckDetail() - { - CRNo = model.CrNo, - PalletNo = item.PalletNo, - Qty = item.Qty, - Status = 0, //0锛氭湭鐩� 1锛氬凡鐩� 2锛氬凡璋冩暣 - SkuNo = item.SkuNo, - SkuName = item.SkuName, - Standard = item.Standard, - LotNo = item.LotNo, - LotText = item.LotText, - SupplierLot = item.SupplierLot, - - CreateUser = userId, - CreateTime = time - }; - list.Add(detail); - var sd = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo && m.PalletNo == item.PalletNo && m.Status == "0").ToList(); - foreach (var s in sd) - { - s.Status = "3"; - } - Db.Updateable(sd).ExecuteCommand(); - } - else if (de.Qty != item.Qty) - { - de.Qty = item.Qty; - de.UpdateUser = userId; - de.UpdateTime = time; - Db.Updateable(de).ExecuteCommand(); - } - + de.Qty = item.Qty; + de.UpdateUser = _userManager.UserId; + de.UpdateTime = time; + await Db.Updateable(de).ExecuteCommandAsync(); } - if (list.Count > 0) - { - Db.Insertable(list).ExecuteCommand(); - } - - //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", model.CrNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅", userId); } - Db.CommitTran(); - } - catch (Exception e) - { - Db.RollbackTran(); - throw new Exception(e.Message); + if (list.Count > 0) + { + await Db.Insertable(list).ExecuteCommandAsync(); + } + + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = model.CrNo, + TypeName = "娣诲姞", + Msg = $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅" + }); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", model.CrNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕model.CrNo}鐨勭洏鐐瑰崟淇℃伅", _userManager.UserId); } } //鍒犻櫎鐩樼偣鍗� - public void DelStockCheck(int id, int userId) + public async Task DelStockCheck(int id) { - try + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.IsDel == "0" && m.Id == id); + if (notice == null || notice.Status != 0) { - var notice = Db.Queryable<BllStockCheck>().First(m => m.IsDel == "0" && m.Id == id); - if (notice == null || notice.Status != 0) - { - throw new Exception("鏈煡璇㈠埌鐘舵�佷负绛夊緟鎵ц鐨勭洏鐐瑰崟淇℃伅"); - } - - var detail = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToList(); - if (detail.Count == 0) - { - throw new Exception("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); - } - Db.BeginTran(); - var time = DateTime.Now; - foreach (var d in detail) - { - d.IsDel = "1"; - d.UpdateTime = time; - d.UpdateUser = userId; - var item = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == d.PalletNo && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo && m.Status == "3").ToList(); - foreach (var i in item) - { - i.Status = "0"; - } - Db.Updateable(item).ExecuteCommand(); - } - - notice.IsDel = "1"; - notice.UpdateTime = time; - notice.UpdateUser = userId; - - Db.Updateable(notice).ExecuteCommand(); - Db.Updateable(detail).ExecuteCommand(); - //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); - Db.CommitTran(); - + throw Oops.Bah("鏈煡璇㈠埌鐘舵�佷负绛夊緟鎵ц鐨勭洏鐐瑰崟淇℃伅"); } - catch (Exception e) + + var detail = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToListAsync(); + if (detail.Count == 0) { - Db.RollbackTran(); - throw new Exception(e.Message); + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); } + var time = DateTime.Now; + foreach (var d in detail) + { + d.IsDel = "1"; + d.UpdateTime = time; + d.UpdateUser = _userManager.UserId; + var item = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == d.PalletNo && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo && m.Status == "3").ToListAsync(); + foreach (var i in item) + { + i.Status = "0"; + } + await Db.Updateable(item).ExecuteCommandAsync(); + } + + notice.IsDel = "1"; + notice.UpdateTime = time; + notice.UpdateUser = _userManager.UserId; + + await Db.Updateable(notice).ExecuteCommandAsync(); + await Db.Updateable(detail).ExecuteCommandAsync(); + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = notice.CRNo, + TypeName = "鍒犻櫎", + Msg = $"鍒犻櫎浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅" + }); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "鍒犻櫎", $"鍒犻櫎浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); + } /// <summary> @@ -430,24 +400,32 @@ /// <param name="id"></param> /// <param name="demo"></param> /// <param name="userId"></param> - public void EditNoticeDemo(int id, string demo, int userId) + public async Task EditNoticeDemo(int id, string demo) { try { - var notice = Db.Queryable<BllStockCheck>().First(m => m.IsDel == "0" && m.Id == id); + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.IsDel == "0" && m.Id == id); if (notice == null) { throw new Exception("鏈煡璇㈠埌鐩樼偣鍗曟嵁淇℃伅"); } notice.Demo = demo + "".Trim(); - notice.UpdateUser = userId; + notice.UpdateUser = _userManager.UserId; notice.UpdateTime = DateTime.Now; int i = Db.Updateable(notice).ExecuteCommand(); if (i > 0) { //娣诲姞鎿嶄綔鏃ュ織 - new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕notice.CRNo}鐨勫娉ㄤ俊鎭�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = notice.CRNo, + TypeName = "缂栬緫", + Msg = $"缂栬緫浜嗗崟鎹彿涓簕notice.CRNo}鐨勫娉ㄤ俊鎭�" + }); + //new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "缂栬緫", $"缂栬緫浜嗗崟鎹彿涓簕notice.CRNo}鐨勫娉ㄤ俊鎭�", userId); } } catch (Exception ex) @@ -457,39 +435,39 @@ } //璋冩暣搴撳瓨 - public bool StockAdjust(int id, int userId) + public async Task StockAdjust(int id) { try { //鐩樼偣淇℃伅 - var notice = Db.Queryable<BllStockCheck>().First(m => m.IsDel == "0" && m.Id == id); + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.IsDel == "0" && m.Id == id); if (notice == null || notice.Status != 2) { - throw new Exception("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); } if (notice == null || notice.Status != 2) { - throw new Exception("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); } //鐩樼偣鏄庣粏 - var detail = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToList(); + var detail = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToListAsync(); if (detail.Count == 0) { - throw new Exception("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); } //寮�鍚簨鍔� Db.BeginTran(); - var stock = Db.Queryable<DataStock>().Where(m => m.IsDel == "0").ToList();//搴撳瓨琛� - var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0").ToList();//搴撳瓨鏄庣粏 - var stockBox = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0").ToList();//搴撳瓨绠辨敮鏄庣粏 - var materialList = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToList();//鐗╂枡淇℃伅 - var packagList = Db.Queryable<SysPackag>().Where(m => m.IsDel == "0").ToList();//鍖呰淇℃伅 + var stock = await Db.Queryable<DataStock>().Where(m => m.IsDel == "0").ToListAsync();//搴撳瓨琛� + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0").ToListAsync();//搴撳瓨鏄庣粏 + var stockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0").ToListAsync();//搴撳瓨绠辨敮鏄庣粏 + var materialList = await Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToListAsync();//鐗╂枡淇℃伅 + var packagList = await Db.Queryable<SysPackag>().Where(m => m.IsDel == "0").ToListAsync();//鍖呰淇℃伅 var time = DateTime.Now; //鐩樼偣璁板綍 - var checkLog = Db.Queryable<BllStockCheckLog>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToList(); + var checkLog = await Db.Queryable<BllStockCheckLog>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToListAsync(); if (checkLog.Count(m => m.CheckResult == null) > 0) { - throw new Exception($"{notice.CRNo}鍗曟嵁涓惈鏈夋湭鐩樼偣鐨勪俊鎭紝璇锋牳瀹�!"); + throw Oops.Bah($"{notice.CRNo}鍗曟嵁涓惈鏈夋湭鐩樼偣鐨勪俊鎭紝璇锋牳瀹�!"); } List<BoxQtyInfo> boxQtyList = new List<BoxQtyInfo>(); @@ -541,10 +519,10 @@ foreach (var d in detail) { var demo = checkLog.Where(m => m.PalletNo == d.PalletNo).ToList();//鐩樼偣璁板綍 - //寰幆鐩樼偣璁板綍 + //寰幆鐩樼偣璁板綍 foreach (var l in demo) { - var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == l.SkuNo); + var sku = await Db.Queryable<SysMaterials>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == l.SkuNo); if (l.CheckResult == 0)//姝e父 { if (sku.Type != "4") @@ -552,25 +530,25 @@ var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3); if (de3 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); } var de2 = stockDetail.First(m => m.Id == de3.StockDetailId); if (de2 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); } de2.Status = "0";//灏嗗簱瀛樻槑缁嗙姸鎬佹敼涓哄緟鍒嗛厤 - Db.Updateable(de2).ExecuteCommand(); + await Db.Updateable(de2).ExecuteCommandAsync(); } else { var de2 = stockDetail.First(m => m.PalletNo == l.PalletNo && m.SkuNo == l.SkuNo); if (de2 == null) { - throw new Exception($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅"); } de2.Status = "0";//灏嗗簱瀛樻槑缁嗙姸鎬佹敼涓哄緟鍒嗛厤 - Db.Updateable(de2).ExecuteCommand(); + await Db.Updateable(de2).ExecuteCommandAsync(); } } @@ -581,13 +559,13 @@ var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3); if (de3 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); } var de2 = stockDetail.First(m => m.Id == de3.StockDetailId); if (de2 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); } de2.Status = "0"; de2.Qty -= de3.Qty; @@ -598,30 +576,29 @@ } de.Qty -= de3.Qty; - Db.Updateable(de).ExecuteCommand(); - Db.Updateable(de2).ExecuteCommand(); - Db.Deleteable(de3).ExecuteCommand(); + await Db.Updateable(de).ExecuteCommandAsync(); + await Db.Updateable(de2).ExecuteCommandAsync(); + await Db.Deleteable(de3).ExecuteCommandAsync(); } else { var de2 = stockDetail.First(m => m.PalletNo == l.PalletNo && m.SkuNo == l.SkuNo); if (de2 == null) { - throw new Exception($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅"); } de2.Status = "0"; de2.Qty = l.RealQty; var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo); if (de == null) { - throw new Exception($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅"); } de.Qty -= Convert.ToDecimal(l.Qty - l.RealQty); - Db.Updateable(de).ExecuteCommand(); - Db.Updateable(de2).ExecuteCommand(); + await Db.Updateable(de).ExecuteCommandAsync(); + await Db.Updateable(de2).ExecuteCommandAsync(); } - } else if (l.CheckResult == 2)//鐩樼泩 { @@ -656,7 +633,7 @@ ProductionTime = stockBoxInfo.ProductionTime, BitBoxMark = boxInfo.bitBoxMark, }; - Db.Insertable<DataBoxInfo>(databox).ExecuteCommand(); + await Db.Insertable<DataBoxInfo>(databox).ExecuteCommandAsync(); //搴撳瓨鏄庣粏澧炲姞鏁伴噺 stockDetailInfo.Qty += (int)l.RealQty; } @@ -667,12 +644,12 @@ } stockDetailInfo.Status = "0"; - Db.Updateable(stockDetailInfo).ExecuteCommand(); + await Db.Updateable(stockDetailInfo).ExecuteCommandAsync(); //搴撳瓨澧炲姞鏁伴噺 var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo); if (de == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鐨勪俊鎭�"); } if (sku.Type != "4") { @@ -683,13 +660,13 @@ de.Qty += (int)(l.RealQty - l.Qty); } - Db.Updateable(de).ExecuteCommand(); + await Db.Updateable(de).ExecuteCommandAsync(); } } //淇敼鐩樼偣鏄庣粏 d.Status = 4;//鐘舵�� d.UpdateTime = time; - d.UpdateUser = userId; + d.UpdateUser = _userManager.UserId; //鐩樼偣缁撴灉 if (d.Qty == d.RealQty) { @@ -707,18 +684,18 @@ { d.CheckResult = 1; } - Db.Updateable(d).ExecuteCommand(); + await Db.Updateable(d).ExecuteCommandAsync(); #region 娣诲姞鍒ゆ柇鐩樼偣瀹屾墭鐩樻槸鍚︽槸闆舵墭 var material = materialList.FirstOrDefault(m => m.SkuNo == d.SkuNo); if (material == null) { - throw new Exception($"鏈煡璇㈠埌{d.SkuNo}鐨勭墿鏂欎俊鎭紱"); + throw Oops.Bah($"鏈煡璇㈠埌{d.SkuNo}鐨勭墿鏂欎俊鎭紱"); } var pack = packagList.FirstOrDefault(m => m.PackagNo == material.PackagNo); if (pack == null) { - throw new Exception($"鏈煡璇㈠埌{d.SkuNo}鐨勫寘瑁呬俊鎭紱"); + throw Oops.Bah($"鏈煡璇㈠埌{d.SkuNo}鐨勫寘瑁呬俊鎭紱"); } var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 var bNum = 0;//绠辩墿鍝佹暟閲� @@ -744,7 +721,7 @@ } if (pNum == 0) { - throw new Exception("鏈煡璇㈠埌鐗╂枡鍖呰鎵樼鍏崇郴淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐗╂枡鍖呰鎵樼鍏崇郴淇℃伅"); } var stockDetailInfo2 = stockDetail.First(m => m.PalletNo == d.PalletNo && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo);//搴撳瓨鏄庣粏 if (stockDetailInfo2.Qty >= pNum) @@ -756,20 +733,27 @@ stockDetailInfo2.BitPalletMark = "1"; } - Db.Updateable(stockDetailInfo2).ExecuteCommand(); + await Db.Updateable(stockDetailInfo2).ExecuteCommandAsync(); #endregion } //淇鐩樼偣淇℃伅 notice.Status = 3;//鐘舵�� notice.UpdateTime = time; - notice.UpdateUser = userId; - Db.Updateable(notice).ExecuteCommand(); + notice.UpdateUser = _userManager.UserId; + await Db.Updateable(notice).ExecuteCommandAsync(); //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "璋冩暣鍗曟嵁", $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "璋冩暣鍗曟嵁", $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = notice.CRNo, + TypeName = "璋冩暣鍗曟嵁", + Msg = $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅" + }); //鎻愪氦浜嬪姟 Db.CommitTran(); - return true; } catch (Exception e) { @@ -780,7 +764,7 @@ } //璋冩暣搴撳瓨-閽堝寮傚父鐢熸垚鐨� - public bool StockAdjustAuto(int id, int userId) + public async Task StockAdjustAuto(int id) { try { @@ -788,55 +772,54 @@ var notice = Db.Queryable<BllStockCheck>().First(m => m.IsDel == "0" && m.Id == id); if (notice == null || notice.Status != 2) { - throw new Exception("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐘舵�佷负鐩樼偣瀹屾垚鐨勭洏鐐瑰崟淇℃伅"); } //鐩樼偣鏄庣粏 var detail = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo).ToList(); if (detail.Count == 0) { - throw new Exception("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣鍗曟嵁鏄庣粏淇℃伅"); } //寮�鍚簨鍔� Db.BeginTran(); - var stock = Db.Queryable<DataStock>().Where(m => m.IsDel == "0");//搴撳瓨 var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0");//搴撳瓨鏄庣粏 var stockBox = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0");//搴撳瓨绠辨敮淇℃伅 var time = DateTime.Now; //鐩樼偣璁板綍 var checkLog = Db.Queryable<BllStockCheckLog>().Where(m => m.IsDel == "0" && m.CRNo == notice.CRNo); - if (checkLog.Count(m => m.CheckResult == null) > 0) + if (await checkLog.CountAsync(m => m.CheckResult == null) > 0) { throw new Exception($"{notice.CRNo}鍗曟嵁涓惈鏈夋湭鐩樼偣鐨勪俊鎭紝璇锋牳瀹�!"); } foreach (var d in detail) { //鎵樼洏缁戝畾琛� - var palletBind = Db.Queryable<BllPalletBind>().First(m => m.PalletNo == d.PalletNo); + var palletBind = await Db.Queryable<BllPalletBind>().FirstAsync(m => m.PalletNo == d.PalletNo); //鍌ㄤ綅琛� - var storageLocat = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == palletBind.LocatNo); + var storageLocat = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == palletBind.LocatNo); if (storageLocat != null && storageLocat.Flag == "1") { //灏嗗偍浣嶆爣蹇桭lag淇敼涓猴細0锛氭甯� storageLocat.Flag = "0"; - storageLocat.UpdateUser = userId; + storageLocat.UpdateUser = _userManager.UserId; storageLocat.UpdateTime = time; - Db.Updateable(storageLocat).ExecuteCommand(); + await Db.Updateable(storageLocat).ExecuteCommandAsync(); } //鏉$爜绠$悊(鎵樼洏) - var pallets = Db.Queryable<SysPallets>().First(m => m.PalletNo == d.PalletNo); + var pallets = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == d.PalletNo); if (pallets != null && pallets.Status == "1") { //灏嗘墭鐩樺彿鐘舵�佸彉鏇翠负 0 鏈娇鐢� pallets.Status = "0"; - pallets.UpdateUser = userId; + pallets.UpdateUser = _userManager.UserId; pallets.UpdateTime = time; - Db.Updateable(pallets).ExecuteCommand(); + await Db.Updateable(pallets).ExecuteCommandAsync(); } //鐩樼偣璁板綍 - var demo = checkLog.Where(m => m.PalletNo == d.PalletNo).ToList(); + var demo = await checkLog.Where(m => m.PalletNo == d.PalletNo).ToListAsync(); foreach (var l in demo) { if (l.CheckResult == 0)//姝e父 @@ -846,48 +829,55 @@ else if (l.CheckResult == 1)//鐩樹簭 { //鐗╃悊鍒犻櫎搴撳瓨绠辨敮淇℃伅 - var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3); + var de3 = await stockBox.FirstAsync(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3); if (de3 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�"); } - Db.Deleteable(de3).ExecuteCommand(); + await Db.Deleteable(de3).ExecuteCommandAsync(); //鐗╃悊鍒犻櫎搴撳瓨鏄庣粏 - var de2 = stockDetail.First(m => m.Id == de3.StockDetailId); + var de2 = await stockDetail.FirstAsync(m => m.Id == de3.StockDetailId); if (de2 == null) { - throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); + throw Oops.Bah($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�"); } - Db.Deleteable(de2).ExecuteCommand(); + await Db.Deleteable(de2).ExecuteCommandAsync(); //鏇存敼搴撳瓨鏁伴噺鍜岄攣瀹氭暟閲� - var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo); + var de = await stock.FirstAsync(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo); if (de == null) { - throw new Exception($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅"); } de.Qty -= de3.Qty; de.LockQty -= de3.Qty; - Db.Updateable(de).ExecuteCommand(); + await Db.Updateable(de).ExecuteCommandAsync(); } } //灏嗙洏鐐规槑缁嗙姸鎬佹敼涓� 宸茶皟鏁� d.Status = 4; d.UpdateTime = time; - d.UpdateUser = userId; + d.UpdateUser = _userManager.UserId; - Db.Updateable(d).ExecuteCommand(); + await Db.Updateable(d).ExecuteCommandAsync(); } //灏嗙洏鐐规�昏〃鐘舵�佹敼涓� 鐢熸垚璋冩暣 notice.Status = 3; notice.UpdateTime = time; - notice.UpdateUser = userId; - Db.Updateable(notice).ExecuteCommand(); + notice.UpdateUser = _userManager.UserId; + await Db.Updateable(notice).ExecuteCommandAsync(); //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "璋冩暣鍗曟嵁", $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", notice.CRNo, "璋冩暣鍗曟嵁", $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = notice.CRNo, + TypeName = "璋冩暣鍗曟嵁", + Msg = $"璋冩暣浜嗗崟鎹彿涓簕notice.CRNo}鐨勭洏鐐瑰崟淇℃伅" + }); //鎻愪氦浜嬪姟 Db.CommitTran(); - return true; } catch (Exception e) { @@ -897,7 +887,7 @@ } //鐩樼偣涓嬪彂鍑哄簱 - public List<OutCommandDto> CheckOutHouse(string crNo, string outMode, int userId, string url, out string str) + public async Task<List<OutCommandDto>> CheckOutHouse(string crNo, string outMode, string url, string str) { try { @@ -909,25 +899,25 @@ #endregion var com = new Common(); //assign.IsHavePyTask(); - var notice = Db.Queryable<BllStockCheck>().First(m => m.CRNo == crNo && m.IsDel == "0"); + var notice = await Db.Queryable<BllStockCheck>().FirstAsync(m => m.CRNo == crNo && m.IsDel == "0"); if (notice == null) { - throw new Exception($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�"); + throw Oops.Bah($"鏈壘鍒皗crNo}鐩樼偣鍗曚俊鎭�"); } //鎵�鏈夎鍑哄簱鐨勭洏鐐规槑缁嗕俊鎭�(绛夊緟鐨勪俊鎭拰寰呮嫞璐х殑淇℃伅) - var list = Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToList(); + var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync(); if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鐩樼偣鏄庣粏 { - throw new Exception("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); + throw Oops.Bah("褰撳墠鐩樼偣鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); } #region //瑕佸嚭搴撶殑鎵樼洏闆嗗悎 var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); //瑕佸嚭搴撶殑鏄庣粏闆嗗悎 - var outStockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToList(); - var outStockBox = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToList(); + var outStockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); + var outStockBox = await Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToListAsync(); //鑾峰彇鐗╂枡淇℃伅 - var skuNo = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToList(); + var skuNo = await Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.Type == "4").Select(a => a.SkuNo).ToListAsync(); var time = DateTime.Now; Db.BeginTran(); try @@ -959,7 +949,7 @@ LotText = de.LotText, SupplierLot = de.SupplierLot, - CreateUser = userId, + CreateUser = _userManager.UserId, CreateTime = time }; logList.Add(checkLog); @@ -987,7 +977,7 @@ LotText = b.LotText, SupplierLot = b.SupplierLot, - CreateUser = userId, + CreateUser = _userManager.UserId, CreateTime = time }; logList.Add(checkLog); @@ -995,7 +985,7 @@ } //鐢熸垚鐩樼偣璁板綍 - Db.Insertable(logList).ExecuteCommand(); + await Db.Insertable(logList).ExecuteCommandAsync(); } // 鍌ㄤ綅鍙� var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo && m.SkuNo == item.SkuNo && m.LotNo == item.LotNo).LocatNo; @@ -1010,25 +1000,25 @@ { //鐩樼偣鏄庣粏鐘舵�佹敼涓哄緟鐩樼偣 item.Status = 2; - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); //鐩樼偣淇℃伅淇敼 if (notice.Status == 0) { notice.CheckDate = DateTime.Now; notice.Status = 1; - notice.UpdateUser = userId; + notice.UpdateUser = _userManager.UserId; notice.UpdateTime = time; - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToList(); + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == item.PalletNo).ToListAsync(); foreach (var s in stockDetail) { s.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� s.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 s.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 s.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 - Db.Updateable(s).ExecuteCommand(); + await Db.Updateable(s).ExecuteCommandAsync(); } flagList.Add(5); continue; @@ -1045,20 +1035,20 @@ { //濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鏄庣粏淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚 item.Status = 2;//鐘舵�� - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); if (notice.Status == 0) { notice.CheckDate = DateTime.Now; notice.Status = 1; - notice.UpdateUser = userId; + notice.UpdateUser = _userManager.UserId; notice.UpdateTime = time; - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } } continue; } //褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭� - var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0"); + var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo && m.IsDel == "0"); if (locate == null) { flagList.Add(2); @@ -1082,7 +1072,6 @@ Sender = "WMS", Receiver = "WCS", IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 - StartLocat = locate.LocatNo,//璧峰浣嶇疆 EndLocat = outMode,//鐩爣浣嶇疆 PalletNo = item.PalletNo,//鎵樼洏鐮� @@ -1095,7 +1084,7 @@ CreateTime = time }; - Db.Insertable(exTask).ExecuteCommand(); + await Db.Insertable(exTask).ExecuteCommandAsync(); outDtoList.Add(new OutCommandDto() { @@ -1117,17 +1106,17 @@ { notice.CheckDate = DateTime.Now; notice.Status = 1; - notice.UpdateUser = userId; + notice.UpdateUser = _userManager.UserId; notice.UpdateTime = time; - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } } locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱 - Db.Updateable(locate).ExecuteCommand(); + await Db.Updateable(locate).ExecuteCommandAsync(); item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿 item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); #endregion flagList.Add(0); @@ -1142,16 +1131,16 @@ { notice.CheckDate = DateTime.Now; notice.Status = 1; - notice.UpdateUser = userId; + notice.UpdateUser = _userManager.UserId; notice.UpdateTime = time; - Db.Updateable(notice).ExecuteCommand(); + await Db.Updateable(notice).ExecuteCommandAsync(); } } var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "2" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo); item.TaskNo = taskNo.TaskNo; item.Status = 1; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); #endregion } @@ -1161,7 +1150,15 @@ } } //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鐩樼偣鍗曟嵁", crNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "鐩樼偣鍗曟嵁", + FkNo = crNo, + TypeName = "鍑哄簱", + Msg = $"鐐瑰嚮鍑哄簱鎸夐挳鐩樼偣鍗曞彿涓猴細{crNo}鐨勭洏鐐瑰崟" + }); Db.CommitTran(); str = string.Empty; @@ -1233,7 +1230,7 @@ } //鐩樼偣鍑哄簱瀹屾垚 - public void CheckSuccess(string taskNo, int userId) + public async Task CheckSuccess(string taskNo, int userId) { try { @@ -1241,48 +1238,56 @@ var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0"); if (task == null) { - throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅"); } if (task.Status == "2") { - throw new Exception("褰撳墠浠诲姟宸插畬鎴�"); + throw Oops.Bah("褰撳墠浠诲姟宸插畬鎴�"); } Db.BeginTran(); //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList(); + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToListAsync(); var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault(); //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅 - var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo); + var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo); task.Status = "2";//浠诲姟鐘舵�� task.IsSend = 0; task.IsCancel = 0; task.IsFinish = 0; task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿 - Db.Updateable(task).ExecuteCommand(); + await Db.Updateable(task).ExecuteCommandAsync(); locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級 - Db.Updateable(locate).ExecuteCommand(); + await Db.Updateable(locate).ExecuteCommandAsync(); foreach (var item in stockDetail) { item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛� item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } //鐩樼偣鏄庣粏锛堟洿鏀圭姸鎬侊級 - var checkDetails = Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == 1 && m.PalletNo == task.PalletNo))).ToList(); + var checkDetails = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == 1 && m.PalletNo == task.PalletNo))).ToListAsync(); foreach (var item in checkDetails) { item.Status = 2; - Db.Updateable(item).ExecuteCommand(); + await Db.Updateable(item).ExecuteCommandAsync(); } - if (userId != 0) + if (_userManager.UserId != 0) { //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "搴撳唴鏃ュ織", + FkNo = taskNo, + TypeName = "瀹屾垚", + Msg = $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�" + }); } Db.CommitTran(); @@ -1295,27 +1300,27 @@ } //AGV绉诲簱瀹屾垚 - public void MoveSuccess(string taskNo, int userId) + public async Task MoveSuccess(string taskNo) { try { //褰撳墠浠诲姟淇℃伅 - var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0"); + var task = await Db.Queryable<LogTask>().FirstAsync(m => m.TaskNo == taskNo && m.IsDel == "0"); if (task == null) { - throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅"); + throw Oops.Bah($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅"); } if (task.Status == "2") { - throw new Exception("褰撳墠浠诲姟宸插畬鎴�"); + throw Oops.Bah("褰撳墠浠诲姟宸插畬鎴�"); } Db.BeginTran(); //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅 - var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList(); + var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToListAsync(); var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault(); - + //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅 - var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo); + var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo); //鏇存敼浠诲姟 task.Status = "2";//浠诲姟鐘舵�� @@ -1325,16 +1330,16 @@ task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿 Db.Updateable(task).ExecuteCommand(); // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級 - locate.Status = "0"; + locate.Status = "0"; Db.Updateable(locate).ExecuteCommand(); //鐩爣鍌ㄤ綅淇℃伅 - var endLocate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); + var endLocate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == task.EndLocat); if (endLocate != null) { if (endLocate.Status != "0") { - throw new Exception("鐩爣鍌ㄤ綅鐘舵�侀潪绌哄偍浣�"); + throw Oops.Bah("鐩爣鍌ㄤ綅鐘舵�侀潪绌哄偍浣�"); } } //鏇存敼搴撳瓨鏄庣粏 @@ -1355,25 +1360,33 @@ item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級 item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級 item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級 - } - Db.Updateable(item).ExecuteCommand(); + } + await Db.Updateable(item).ExecuteCommandAsync(); //鏇存敼搴撳瓨鎬昏〃 var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); stock.LockQty -= (decimal)item.Qty; - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); } if (endLocate != null) { //鏇存敼鐩爣鍌ㄤ綅鐘舵�� endLocate.Status = "1";//鏈夌墿鍝� - Db.Updateable(endLocate).ExecuteCommand(); + await Db.Updateable(endLocate).ExecuteCommandAsync(); } - if (userId != 0) + if (_userManager.UserId != 0) { //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "搴撳唴鏃ュ織", + FkNo = taskNo, + TypeName = "瀹屾垚", + Msg = $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�" + }); } Db.CommitTran(); @@ -1386,19 +1399,19 @@ } //閲嶆柊涓嬪彂鐩樼偣鍑哄簱浠诲姟 - public OutCommandDto AgainSendCheckTask(string taskNo, int userId, string url) + public async Task<OutCommandDto> AgainSendCheckTask(string taskNo, string url) { try { - var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0"); + var task = await Db.Queryable<LogTask>().FirstAsync(m => m.TaskNo == taskNo && m.IsDel == "0"); if (task == null) { - throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌浠诲姟淇℃伅"); } - var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.PalletNo == task.PalletNo); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.PalletNo == task.PalletNo); if (stockDetail == null) { - throw new Exception(task.PalletNo + " 褰撳墠鎵樼洏鏈湪搴撳唴锛岃鏍稿疄淇℃伅"); + throw Oops.Bah(task.PalletNo + " 褰撳墠鎵樼洏鏈湪搴撳唴锛岃鏍稿疄淇℃伅"); } Db.BeginTran(); var locateNo = task.StartLocat; @@ -1407,13 +1420,13 @@ { locateNo = stockDetail.LocatNo; task.StartLocat = locateNo; - Db.Updateable(task).ExecuteCommand(); + await Db.Updateable(task).ExecuteCommandAsync(); } var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo); if (locate != null && locate.Status != "3") { locate.Status = "3"; - Db.Updateable(locate).ExecuteCommand(); + await Db.Updateable(locate).ExecuteCommandAsync(); } var outDto = new OutCommandDto() { @@ -1427,7 +1440,15 @@ Order = 1 }; //鍑哄簱鏁版嵁 //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "涓嬪彂", $"鐐瑰嚮涓嬪彂鎸夐挳銆侀噸鏂颁笅鍙戜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "涓嬪彂", $"鐐瑰嚮涓嬪彂鎸夐挳銆侀噸鏂颁笅鍙戜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "搴撳唴鏃ュ織", + FkNo = taskNo, + TypeName = "涓嬪彂", + Msg = $"鐐瑰嚮涓嬪彂鎸夐挳銆侀噸鏂颁笅鍙戜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�" + }); Db.CommitTran(); // 姝e紡杩愯绋嬪簭鏀惧紑 var list = new List<string> { outDto.TaskNo }; @@ -1468,17 +1489,17 @@ } //鍙栨秷鐩樼偣鍑哄簱浠诲姟 - public void CancelCheckTask(string taskNo, int userId) + public async Task CancelCheckTask(string taskNo) { try { Db.BeginTran(); try { - var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0"); + var task = await Db.Queryable<LogTask>().FirstAsync(m => m.TaskNo == taskNo && m.IsDel == "0"); if (task == null) { - throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌浠诲姟淇℃伅"); } //淇敼浠诲姟 task.IsSuccess = 0; @@ -1487,37 +1508,45 @@ task.IsFinish = 0; task.Status = "4"; task.CancelDate = DateTime.Now; - Db.Updateable(task).ExecuteCommand(); + await Db.Updateable(task).ExecuteCommandAsync(); //淇敼鐩樼偣鏄庣粏 - var checkDetail = Db.Queryable<BllStockCheckDetail>().First(w => w.TaskNo == task.TaskNo); + var checkDetail = await Db.Queryable<BllStockCheckDetail>().FirstAsync(w => w.TaskNo == task.TaskNo); if (checkDetail == null) { - throw new Exception("鏈煡璇㈠埌鐩樼偣鏄庣粏淇℃伅锛岃鏍稿疄锛�"); + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣鏄庣粏淇℃伅锛岃鏍稿疄锛�"); } checkDetail.Status = 0; checkDetail.TaskNo = ""; - Db.Updateable(checkDetail).ExecuteCommand(); + await Db.Updateable(checkDetail).ExecuteCommandAsync(); //淇敼鐩樼偣璁板綍 - var checkLog = Db.Queryable<BllStockCheckLog>().First(w => w.CRNo == checkDetail.CRNo && w.PalletNo == checkDetail.PalletNo && w.IsDel == "0"); + var checkLog = await Db.Queryable<BllStockCheckLog>().FirstAsync(w => w.CRNo == checkDetail.CRNo && w.PalletNo == checkDetail.PalletNo && w.IsDel == "0"); if (checkLog == null) { - throw new Exception("鏈煡璇㈠埌鐩樼偣璁板綍淇℃伅锛岃鏍稿疄锛�"); + throw Oops.Bah("鏈煡璇㈠埌鐩樼偣璁板綍淇℃伅锛岃鏍稿疄锛�"); } checkLog.IsDel = "1"; - Db.Updateable(checkLog).ExecuteCommand(); + await Db.Updateable(checkLog).ExecuteCommandAsync(); //淇敼鍌ㄤ綅淇℃伅 - var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.StartLocat); + var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.StartLocat); if (locat == null) { - throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�"); + throw Oops.Bah("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�"); } locat.Status = "1"; //鏈夌墿鍝� - Db.Updateable(locat).ExecuteCommand(); + await Db.Updateable(locat).ExecuteCommandAsync(); //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "搴撳唴鏃ュ織", + FkNo = taskNo, + TypeName = "鍙栨秷", + Msg = $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�" + }); Db.CommitTran(); } catch (Exception e) @@ -1533,16 +1562,16 @@ } //鍙栨秷AGV绉诲簱浠诲姟 - public void CancelMoveTask(string taskNo, int userId) + public async Task CancelMoveTask(string taskNo) { try { Db.BeginTran(); - var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0"); + var task = await Db.Queryable<LogTask>().FirstAsync(m => m.TaskNo == taskNo && m.IsDel == "0"); if (task == null) { - throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅"); + throw Oops.Bah("鏈煡璇㈠埌浠诲姟淇℃伅"); } //淇敼浠诲姟 task.IsSuccess = 0; @@ -1551,46 +1580,54 @@ task.IsFinish = 0; task.Status = "4"; task.CancelDate = DateTime.Now; - Db.Updateable(task).ExecuteCommand(); + await Db.Updateable(task).ExecuteCommandAsync(); //淇敼璧峰鍌ㄤ綅淇℃伅 - var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.StartLocat); + var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.StartLocat); if (locat == null) { - throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�"); + throw Oops.Bah("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�"); } locat.Status = "1"; //鏈夌墿鍝� Db.Updateable(locat).ExecuteCommand(); //淇敼鐩爣鍌ㄤ綅淇℃伅 - var locatEnd = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.EndLocat); + var locatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(a => a.IsDel == "0" && a.WareHouseNo == "W02" && a.LocatNo == task.EndLocat); if (locatEnd != null) { locatEnd.Status = "0"; //绌哄偍浣� - Db.Updateable(locatEnd).ExecuteCommand(); - } + await Db.Updateable(locatEnd).ExecuteCommandAsync(); + } //淇敼搴撳瓨鏄庣粏 - var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == task.PalletNo); + var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == task.PalletNo); if (stockDetail == null) { - throw new Exception("鎵樼洏涓婄墿鏂欏簱瀛樻槑缁嗕俊鎭笉瀛樺湪,璇锋鏌�!"); + throw Oops.Bah("鎵樼洏涓婄墿鏂欏簱瀛樻槑缁嗕俊鎭笉瀛樺湪,璇锋鏌�!"); } stockDetail.Status = "0";//寰呭垎閰� stockDetail.LockQty = 0;//閿佸畾鏁伴噺 - Db.Updateable(stockDetail).ExecuteCommand(); + await Db.Updateable(stockDetail).ExecuteCommandAsync(); //淇敼搴撳瓨 - var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == stockDetail.SkuNo && w.LotNo == stockDetail.LotNo); + var stock = await Db.Queryable<DataStock>().FirstAsync(w => w.IsDel == "0" && w.SkuNo == stockDetail.SkuNo && w.LotNo == stockDetail.LotNo); if (stock == null) { - throw new Exception("鎵樼洏涓婄墿鏂欏簱瀛樹俊鎭笉瀛樺湪,璇锋鏌�!"); + throw Oops.Bah("鎵樼洏涓婄墿鏂欏簱瀛樹俊鎭笉瀛樺湪,璇锋鏌�!"); } stock.LockQty -= (decimal)stockDetail.Qty; - Db.Updateable(stock).ExecuteCommand(); + await Db.Updateable(stock).ExecuteCommandAsync(); //娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId); + await _operation.AddLogOperationCr(new OperationInputVm() + { + ParentName = "搴撳唴浣滀笟", + MenuName = "搴撳唴鏃ュ織", + FkNo = taskNo, + TypeName = "鍙栨秷", + Msg = $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�" + }); Db.CommitTran(); } catch (Exception e) diff --git a/Wms/WMS.BLL/LogServer/OperationCrServer.cs b/Wms/WMS.BLL/LogServer/OperationCrServer.cs index 8423c4d..253df18 100644 --- a/Wms/WMS.BLL/LogServer/OperationCrServer.cs +++ b/Wms/WMS.BLL/LogServer/OperationCrServer.cs @@ -2,8 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Identity; using Model.ModelDto.LogDto; +using Model.ModelVm.LogVm; using SqlSugar; +using Utility; using WMS.DAL; using WMS.Entity.Context; using WMS.Entity.LogEntity; @@ -15,8 +19,13 @@ public class OperationCrServer: DbHelper<LogOperationCR>,IOperationCRServer { private static readonly SqlSugarScope Db = DataContext.Db; + private readonly UserManager _userManager; public OperationCrServer() : base(Db) { + } + public OperationCrServer(UserManager userManager) : base(Db) + { + _userManager = userManager; } public List<OperationDto> GetLogOperationCrList(string menuName, string type, string msg, string startTime, string endTime, int page, int limit, out int count) { @@ -61,9 +70,8 @@ { try { - var contextDb = DataContext.Db; - var menu = contextDb.Queryable<SysFunctionMenu>().Where(m => m.IsDel == "0").ToList(); - var dic = contextDb.Queryable<SysDictionary>().Where(m => m.ParentNo == "LogType" && m.IsDel == "0").ToList(); + var menu = Db.Queryable<SysFunctionMenu>().Where(m => m.IsDel == "0").ToList(); + var dic = Db.Queryable<SysDictionary>().Where(m => m.ParentNo == "LogType" && m.IsDel == "0").ToList(); var typeId = dic.FirstOrDefault(m => m.DictName == type); var n = Add(new LogOperationCR() @@ -85,5 +93,18 @@ throw new Exception(e.Message); } } + /// <summary> + /// 鏂板绯荤粺鎿嶄綔鏃ュ織 + /// </summary> + /// <returns></returns> + public async Task<int> AddLogOperationCr(OperationInputVm input) + { + input.ParentNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == input.ParentName && s.IsDel == "0"))?.MenuNo; + input.MenuNo = (await Db.Queryable<SysFunctionMenu>().FirstAsync(s => s.MenuName == input.MenuName && s.IsDel == "0"))?.MenuNo; + input.Type = (await Db.Queryable<SysDictionary>().FirstAsync(s => s.DictName == input.TypeName && s.IsDel == "0"))?.Id.ToString(); + input.CreateUser = _userManager.UserId; + input.CreateTime = DateTime.Now; + return await Db.Insertable<LogOperationSys>(input).ExecuteCommandAsync(); + } } } diff --git a/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs b/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs index d4a1b51..c9c34be 100644 --- a/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs +++ b/Wms/WMS.IBLL/IBllCheckServer/IStockCheckServer.cs @@ -1,10 +1,12 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.InterFaceModel; using Model.ModelDto.BllCheckDto; using Model.ModelDto.DataDto; using Model.ModelVm.BllCheckVm; +using SqlSugar; namespace WMS.IBLL.IBllCheckServer { @@ -25,7 +27,7 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<StockCheckDto> GetStockCheckList(string crNo, string status, string palletNo, string skuNo, string skuName, string lotNo, string startTime, string endTime, int page, int limit, out int count); + Task<List<StockCheckDto>> GetStockCheckList(string crNo, string status, string palletNo, string skuNo, string skuName, string lotNo, string startTime, string endTime, int page, int limit, RefAsync<int> count); /// <summary> /// 鑾峰彇鐩樼偣鍗曟嵁鏄庣粏 @@ -35,7 +37,7 @@ /// <param name="limit"></param> /// <param name="count"></param> /// <returns></returns> - List<StockCheckDetailDto> GetStockCheckDetailList(string crNo, int page, int limit, out int count); + Task<List<StockCheckDetailDto>> GetStockCheckDetailList(string crNo, int page, int limit, RefAsync<int> count); /// <summary> /// 鑾峰彇搴撳瓨鏄庣粏淇℃伅锛堢洏鐐归�夋嫨鏄庣粏鏁版嵁婧愶級 @@ -45,28 +47,28 @@ /// <param name="locateNo">鍌ㄤ綅鍙�</param> /// <param name="msg">鐗╂枡缂栫爜銆佸悕绉般�佹壒娆″彿</param> /// <returns></returns> - List<StockDetailDto> GetCheckStockDetailList(string houseNo,string roadwayNo,string locateNo,string msg, int page, int limit, out int count); + Task<List<StockDetailDto>> GetCheckStockDetailList(string houseNo, string roadwayNo, string locateNo, string msg, int page, int limit, RefAsync<int> count); /// <summary> /// 鑾峰彇缂栬緫鐩樼偣鍗曟椂淇℃伅 /// </summary> /// <param name="crNo">鐩樼偣鍗曟嵁鍙�</param> /// <returns></returns> - EditStockCheckDto GetStockCheckDetailById(string crNo); + Task<EditStockCheckDto> GetStockCheckDetailById(string crNo); /// <summary> /// 娣诲姞/缂栬緫鐩樼偣鍗� /// </summary> /// <param name="model">搴撳瓨鏄庣粏闆嗗悎</param> /// <param name="userId"></param> - void AddEditStockCheck(AddEditStockCheckVm model, int userId); - + Task AddEditStockCheck(AddEditStockCheckVm model); + /// <summary> /// 鍒犻櫎鐩樼偣鍗� /// </summary> /// <param name="id">鐩樼偣鍗旾d</param> /// <param name="userId">鎿嶄綔浜�</param> - void DelStockCheck(int id, int userId); + Task DelStockCheck(int id); /// <summary> /// 缁存姢鐩樼偣鍗曞娉ㄤ俊鎭� @@ -74,7 +76,7 @@ /// <param name="id"></param> /// <param name="demo"></param> /// <param name="userId"></param> - void EditNoticeDemo(int id, string demo, int userId); + Task EditNoticeDemo(int id, string demo); /// <summary> /// 璋冩暣搴撳瓨骞� @@ -82,14 +84,14 @@ /// <param name="id"></param> /// <param name="userId"></param> /// <returns></returns> - bool StockAdjust(int id, int userId); + Task StockAdjust(int id); /// <summary> /// 璋冩暣搴撳瓨-閽堝寮傚父鐢熸垚鐨� /// </summary> /// <param name="id"></param> /// <param name="userId"></param> /// <returns></returns> - bool StockAdjustAuto(int id, int userId); + Task StockAdjustAuto(int id); //----------------------------------------------------------------------- /// <summary> @@ -101,20 +103,20 @@ /// <param name="url"></param> /// <param name="str"></param> /// <returns></returns> - List<OutCommandDto> CheckOutHouse(string crNo, string outMode, int userId, string url, out string str); + Task<List<OutCommandDto>> CheckOutHouse(string crNo, string outMode, string url, string str); /// <summary> /// 鐩樼偣鍑哄簱瀹屾垚 /// </summary> /// <param name="taskNo">浠诲姟鍙�</param> /// <param name="userId">wms锛氭搷浣滀汉 wcs锛�0</param> - void CheckSuccess(string taskNo, int userId); + Task CheckSuccess(string taskNo,int userId); //閲嶆柊涓嬪彂鐩樼偣鍑哄簱浠诲姟 - OutCommandDto AgainSendCheckTask(string taskNo, int userId, string url); + Task<OutCommandDto> AgainSendCheckTask(string taskNo, string url); //鍙栨秷鐩樼偣鍑哄簱浠诲姟 - void CancelCheckTask(string taskNo, int userId); + Task CancelCheckTask(string taskNo); /// <summary> /// 鐩樼偣缁撴灉涓婁紶erp @@ -129,13 +131,13 @@ /// </summary> /// <param name="taskNo"></param> /// <param name="userId"></param> - void MoveSuccess(string taskNo, int userId); + Task MoveSuccess(string taskNo); /// <summary> /// 鍙栨秷AGV绉诲簱浠诲姟 /// </summary> /// <param name="taskNo"></param> /// <param name="userId"></param> - void CancelMoveTask(string taskNo, int userId); + Task CancelMoveTask(string taskNo); #region 鏁版嵁褰掓。 /// <summary> diff --git a/Wms/WMS.IBLL/ILogServer/IOperationCRServer.cs b/Wms/WMS.IBLL/ILogServer/IOperationCRServer.cs index 44e235a..eb4074c 100644 --- a/Wms/WMS.IBLL/ILogServer/IOperationCRServer.cs +++ b/Wms/WMS.IBLL/ILogServer/IOperationCRServer.cs @@ -1,7 +1,9 @@ 锘縰sing System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; using Model.ModelDto.LogDto; +using Model.ModelVm.LogVm; namespace WMS.IBLL.ILogServer { @@ -32,5 +34,10 @@ /// <param name="userId">鎿嶄綔浜�</param> /// <returns></returns> bool AddLogOperationCr(string parentNo, string menuName, string fkNo, string type, string msg, int userId); + /// <summary> + /// 鏂板绯荤粺鎿嶄綔鏃ュ織 + /// </summary> + /// <returns></returns> + Task<int> AddLogOperationCr(OperationInputVm input); } } diff --git a/Wms/Wms/Controllers/BasisController.cs b/Wms/Wms/Controllers/BasisController.cs index d1d05d1..e208bcb 100644 --- a/Wms/Wms/Controllers/BasisController.cs +++ b/Wms/Wms/Controllers/BasisController.cs @@ -896,7 +896,7 @@ { RefAsync<int> count = new RefAsync<int>(); var bolls = await _customerSvc.GetCustomerList(model.CustomerNo, model.CustomerName, model.Type, model.LinkMan, model.Phone, model.Page, model.Limit, count); - return new SqlSugarPagedList<CustomerDto>() { Items = bolls, Total = bolls.Count }; + return new SqlSugarPagedList<CustomerDto>() { Items = bolls, Total = count }; } /// <summary> /// 鏌ヨ鍗曟潯瀹㈡埛淇℃伅 diff --git a/Wms/Wms/Controllers/BllCheckController.cs b/Wms/Wms/Controllers/BllCheckController.cs index 27ff38b..79bbb0b 100644 --- a/Wms/Wms/Controllers/BllCheckController.cs +++ b/Wms/Wms/Controllers/BllCheckController.cs @@ -16,6 +16,8 @@ using Model.ModelVm.BllSoVm; using Wms.Tools; using System.Collections; +using Utility; +using SqlSugar; namespace Wms.Controllers { @@ -33,6 +35,7 @@ private readonly IWarehouseOutsidePalletsServer _stockPallet; //搴撳鎵樼洏 private readonly IStockFreectSetve _freect; //瑙e喕\鍐荤粨 + private readonly UserManager _userManager; /// <summary> /// 鏋勯�犲嚱鏁� @@ -43,7 +46,7 @@ /// <param name="logSvc">搴撳唴鎿嶄綔鏃ュ織Svc</param> /// <param name="stockPallet">搴撳鎵樼洏</param> /// <param name="freect">瑙e喕\鍐荤粨</param> - public BllCheckController(IOptions<ApiUrlConfig> setting, IStockCheckServer stockCheckSvc, IStockCheckLogServer stockCheckLogSvc, ITaskServer taskSvc, IOperationCRServer logSvc, IWarehouseOutsidePalletsServer stockPallet, IStockFreectSetve freect) + public BllCheckController(IOptions<ApiUrlConfig> setting, IStockCheckServer stockCheckSvc, IStockCheckLogServer stockCheckLogSvc, ITaskServer taskSvc, IOperationCRServer logSvc, IWarehouseOutsidePalletsServer stockPallet, IStockFreectSetve freect, UserManager userManager) { _config = setting.Value; _stockCheckSvc = stockCheckSvc; @@ -52,6 +55,7 @@ _logSvc = logSvc; _stockPallet = stockPallet; _freect = freect; + _userManager = userManager; } #region 鐩樼偣鍗曟嵁 @@ -62,18 +66,11 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetStockCheckList(GetStockCheckVm model) + public async Task<IActionResult> GetStockCheckList(GetStockCheckVm model) { - try - { - var bolls = _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, out int count); - - return Ok(new { code = 0, count, msg = "鐩樼偣鍗曚俊鎭�", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _stockCheckSvc.GetStockCheckList(model.CrNo, model.Status, model.PalletNo, model.SkuNo, model.SkuName, model.LotNo, model.StartTime, model.EndTime, model.Page, model.Limit, count); + return Ok(new { code = 0, count, msg = "鐩樼偣鍗曚俊鎭�", data = bolls }); } /// <summary> @@ -82,18 +79,12 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetStockCheckDetailList(GetStockCheckVm model) + public async Task<IActionResult> GetStockCheckDetailList(GetStockCheckVm model) { - try - { - var bolls = _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, out int count); + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _stockCheckSvc.GetStockCheckDetailList(model.CrNo, model.Page, model.Limit, count); - return Ok(new { code = 0, count, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + return Ok(new { code = 0, count, msg = "鐩樼偣鍗曟槑缁嗕俊鎭�", data = bolls }); } /// <summary> /// 鑾峰彇搴撳瓨鏄庣粏淇℃伅锛堢洏鐐归�夋嫨鏄庣粏鏁版嵁婧愶級 @@ -101,18 +92,11 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult GetCheckStockDetailList(GetStockDetailVm model) + public async Task<IActionResult> GetCheckStockDetailList(GetStockDetailVm model) { - try - { - var bolls = _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, out int count); - - return Ok(new { code = 0, count, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + RefAsync<int> count = new RefAsync<int>(); + var bolls = await _stockCheckSvc.GetCheckStockDetailList(model.HouseNo, model.RoadwayNo, model.LocateNo, model.Msg, model.Page, model.Limit, count); + return Ok(new { code = 0, count, msg = "鑾峰彇搴撳瓨鏄庣粏淇℃伅", data = bolls }); } /// <summary> @@ -121,18 +105,10 @@ /// <param name="soNo"></param> /// <returns></returns> [HttpGet] - public IActionResult GetStockCheckDetailById(string crNo) + public async Task<IActionResult> GetStockCheckDetailById(string crNo) { - try - { - var bolls = _stockCheckSvc.GetStockCheckDetailById(crNo); - - return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曠紪杈戜俊鎭�", data = bolls }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + var bolls = await _stockCheckSvc.GetStockCheckDetailById(crNo); + return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曠紪杈戜俊鎭�", data = bolls }); } /// <summary> @@ -141,29 +117,11 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult AddEditStockCheck(AddEditStockCheckVm model) + [UnitOfWork] + public async Task<IActionResult> AddEditStockCheck(AddEditStockCheckVm model) { - try - { - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(userId)) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - _stockCheckSvc.AddEditStockCheck(model, int.Parse(userId)); - - return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曟搷浣滄垚鍔�", data = "" }); - } - catch (Exception e) - { - return Ok(new { code = 1, msg = "鎿嶄綔澶辫触" + e.Message }); - } + await _stockCheckSvc.AddEditStockCheck(model); + return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曟搷浣滄垚鍔�", data = "" }); } /// <summary> @@ -172,22 +130,12 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult DelStockCheck(IdVm model) + [UnitOfWork] + public async Task<IActionResult> DelStockCheck(IdVm model) { try { - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(userId)) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - _stockCheckSvc.DelStockCheck(model.Id, int.Parse(userId)); + await _stockCheckSvc.DelStockCheck(model.Id); return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曞垹闄ゆ垚鍔�" }); } @@ -204,31 +152,11 @@ /// <param name="demo"></param> /// <returns></returns> [HttpGet] - public IActionResult EditNoticeDemo(int id, string demo) + [UnitOfWork] + public async Task<IActionResult> EditNoticeDemo(int id, string demo) { - try - { - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); - } - string userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(userId)) - { - throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); - } - - _stockCheckSvc.EditNoticeDemo(id, demo, int.Parse(userId)); - - - return Ok(new { code = 0, msg = "缂栬緫澶囨敞鎴愬姛" }); - - } - catch (Exception e) - { - return Ok(new { code = 1, msg = e.Message }); - } + await _stockCheckSvc.EditNoticeDemo(id, demo); + return Ok(new { code = 0, msg = "缂栬緫澶囨敞鎴愬姛" }); } #endregion @@ -320,7 +248,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _stockCheckSvc.AgainSendCheckTask(model.taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl); + //_stockCheckSvc.AgainSendCheckTask(model.taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl); return Ok(new { code = 0, msg = "鎴愬姛涓嬪彂浠诲姟", data = "" }); } @@ -335,7 +263,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult CancelCheckTask(CheckTaskVm model) + public async Task<IActionResult> CancelCheckTask(CheckTaskVm model) { try { @@ -350,7 +278,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _stockCheckSvc.CancelCheckTask(model.taskNo, int.Parse(userId)); + await _stockCheckSvc.CancelCheckTask(model.taskNo); return Ok(new { code = 0, msg = "鎴愬姛鍙栨秷浠诲姟", data = "" }); } @@ -365,7 +293,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult FinishCheckTask(CheckTaskVm model) + public async Task<IActionResult> FinishCheckTask(CheckTaskVm model) { try { @@ -380,7 +308,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _stockCheckSvc.CheckSuccess(model.taskNo, int.Parse(userId)); + await _stockCheckSvc.CheckSuccess(model.taskNo, int.Parse(userId)); return Ok(new { code = 0, msg = "鎴愬姛瀹屾垚浠诲姟", data = "" }); @@ -428,7 +356,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _stockPallet.SaveAppointSlot(model.StockDetailId,model.LocateId, int.Parse(userId)); + _stockPallet.SaveAppointSlot(model.StockDetailId, model.LocateId, int.Parse(userId)); return Ok(new { code = 0, count = 0, msg = "鎸囧畾鍌ㄤ綅鎴愬姛", data = "" }); } @@ -448,22 +376,11 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult FinishMoveTask(CheckTaskVm model) + public async Task<IActionResult> FinishMoveTask(CheckTaskVm model) { try { - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D - var claimsIdentity = this.User.Identity as ClaimsIdentity; - if (claimsIdentity == null) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; - if (string.IsNullOrWhiteSpace(userId)) - { - return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); - } - _stockCheckSvc.MoveSuccess(model.taskNo, int.Parse(userId)); + await _stockCheckSvc.MoveSuccess(model.taskNo); return Ok(new { code = 0, msg = "鎴愬姛瀹屾垚浠诲姟", data = "" }); } @@ -478,7 +395,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult CancelMoveTask(CheckTaskVm model) + public async Task<IActionResult> CancelMoveTask(CheckTaskVm model) { try { @@ -493,7 +410,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _stockCheckSvc.CancelMoveTask(model.taskNo, int.Parse(userId)); + await _stockCheckSvc.CancelMoveTask(model.taskNo); return Ok(new { code = 0, msg = "鎴愬姛鍙栨秷浠诲姟", data = "" }); } @@ -513,11 +430,11 @@ /// <param name="type">0锛氳幏鍙栧彲鍐荤粨搴撳瓨 1锛氳幏鍙栧彲瑙e喕鏁版嵁</param> /// <returns></returns> [HttpGet] - public IActionResult ByTypeGetDataStockType(string SkuNo,int type) + public IActionResult ByTypeGetDataStockType(string SkuNo, int type) { try { - var models = _freect.ByTypeGetDataStockType(SkuNo,type); + var models = _freect.ByTypeGetDataStockType(SkuNo, type); return Ok(new { diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index 27d21f1..fd9e65d 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -16,6 +16,8 @@ using WMS.Entity.BllTaskEntity; using WMS.IBLL.IBllTaskServer; using Model.ModelVm.BllTaskVm; +using Utility; +using System.Threading.Tasks; namespace Wms.Controllers { @@ -98,7 +100,7 @@ /// <returns></returns> [Authorize] [HttpGet] - public IActionResult IssueOutHouse(string soNo,string unstackingMode, string outMode,string loadingAddre) + public IActionResult IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre) { try { @@ -119,10 +121,10 @@ // return Ok(new { code = 1, msg = "璇烽�夋嫨鍑哄簱鍙�" }); //} - var list = _exNoticeSvc.IssueOutHouse(soNo,unstackingMode, outMode,loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl,out string str); - - return Ok(new { code = 0, msg = str , data = list }); - + var list = _exNoticeSvc.IssueOutHouse(soNo, unstackingMode, outMode, loadingAddre, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); + + return Ok(new { code = 0, msg = str, data = list }); + } catch (Exception e) { @@ -152,8 +154,8 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId),_config.WcsHost + _config.IssueComApiUrl2); - + var list = _exNoticeSvc.AgainSendSoTask(taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2); + return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = list }); @@ -172,7 +174,7 @@ /// <returns></returns> [Authorize] [HttpGet] - public IActionResult CheckOutHouse(string crNo,string outMode) + public async Task<IActionResult> CheckOutHouse(string crNo, string outMode) { try { @@ -187,8 +189,8 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - - var list = _crCheckSvc.CheckOutHouse(crNo, outMode,int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl, out string str); + string str = ""; + var list = await _crCheckSvc.CheckOutHouse(crNo, outMode, _config.WcsHost + _config.IssueComApiUrl, str); return Ok(new { code = 0, msg = str, data = list }); @@ -205,7 +207,7 @@ /// <param name="taskNo"></param> /// <returns></returns> [HttpGet] - public IActionResult AgainSendCheckTask(string taskNo) + public async Task<IActionResult> AgainSendCheckTask(string taskNo) { try { @@ -220,7 +222,7 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - _crCheckSvc.AgainSendCheckTask(taskNo, int.Parse(userId), _config.WcsHost + _config.IssueComApiUrl2); + await _crCheckSvc.AgainSendCheckTask(taskNo, _config.WcsHost + _config.IssueComApiUrl2); return Ok(new { code = 0, msg = "閲嶆柊涓嬪彂宸插畬鎴�", data = "" }); } @@ -251,17 +253,17 @@ var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾锛�( {jsonData} ),", logStr); - _asnPalletBindSvc.BindPalletStock(model, 0); + _asnPalletBindSvc.BindPalletStock(model, 0); //鐢宠宸烽亾 var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, "W01"); LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); - + return Ok(new { Success = 0, Message = "鎵樼洏缁戝畾-鐢宠宸烽亾鎴愬姛", TaskList = list }); } catch (Exception e) { LogFile.SaveLogToFile($"WCS鎵樼洏缁戝畾-鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr); - + return Ok(new ErpModel { Success = -1, Message = e.Message }); } } @@ -277,16 +279,16 @@ public IActionResult RequestRoadWay(RequestLocate model) { var logStr = ""; - + logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - + try { - + var jsonData = JsonConvert.SerializeObject(model); LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr); - - var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo ); + + var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo); LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); //new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), @@ -336,7 +338,7 @@ { logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; } - + try { if (model.PalletNo.Length == 9) @@ -351,11 +353,11 @@ } string pallet = model.PalletNo.Substring(0, 8); - var list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo,model.RoadwayNo); + var list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo); if (model.PalletNo.Length == 9) { - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�",2);// int.Parse(userId) + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId) LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr); } else if (model.PalletNo.Length == 8) @@ -364,7 +366,7 @@ } if (model.PalletNo.Length == 9) { - + } return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list }); @@ -373,14 +375,14 @@ { if (model.PalletNo.Length == 9) { - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0,8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId) + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId) LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr); } - else if(model.PalletNo.Length == 8) + else if (model.PalletNo.Length == 8) { LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr); } - + return Ok(new ErpModel { Success = -1, Message = e.Message }); } } @@ -411,14 +413,14 @@ case "0"://鍏ュ簱瀹屾垚浠诲姟 if (model.TaskType == "0")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { - _asnPalletBindSvc.ArrivalSuccess(model.TaskNo,0); + _asnPalletBindSvc.ArrivalSuccess(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍏ュ簱瀹屾垚" }); } break; case "1"://鍑哄簱瀹屾垚浠诲姟 if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { - _exNoticeSvc.ExportSuccess(model.TaskNo,0); + _exNoticeSvc.ExportSuccess(model.TaskNo, 0); return Ok(new WcsModel { StatusCode = 0, Msg = "鍑哄簱瀹屾垚" }); } else if (model.TaskType == "2") @@ -445,8 +447,8 @@ //濉啓绉诲簱瀹屾垚浠g爜 } break; - default : - return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" }); + default: + return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" }); } return Ok(new WcsModel { StatusCode = -1, Msg = "浼犻�掔殑浠诲姟鐘舵�佷负澶辫触鐘舵��" }); } @@ -462,7 +464,7 @@ /// </summary> /// <returns></returns> [HttpPost] - public IActionResult EmptyException(ReceiveWcsSignal model) + public IActionResult EmptyException(ReceiveWcsSignal model) { var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; try @@ -473,7 +475,7 @@ var bl = _exNoticeSvc.EmptyException(model); LogFile.SaveLogToFile($"绌哄彇寮傚父锛�(鎵ц缁撴灉鎴愬姛),", logStr); - return Ok(new { Success = 0, Message = ""}); + return Ok(new { Success = 0, Message = "" }); } catch (Exception e) { @@ -487,7 +489,7 @@ /// </summary> /// <returns></returns> [HttpPost] - public IActionResult FullException(ReceiveWcsSignal model) + public IActionResult FullException(ReceiveWcsSignal model) { var logStr = $@".\log\WCS\寮傚父鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; try @@ -581,7 +583,7 @@ var orderType = _taskSvc.GetTaskOrderType(model.TaskNo);// 鍒ゆ柇鍗曟嵁绫诲瀷鍏ュ嚭绉� switch (orderType) { - + case "1"://鍑哄簱瀹屾垚浠诲姟 if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴� { diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs index 2d549d0..b966b0b 100644 --- a/Wms/Wms/Controllers/UpApiController.cs +++ b/Wms/Wms/Controllers/UpApiController.cs @@ -21,6 +21,7 @@ using System.Text; using Newtonsoft.Json.Linq; using System.Runtime.CompilerServices; +using System.Threading.Tasks; namespace Wms.Controllers { @@ -207,7 +208,7 @@ /// <param name="model"></param> /// <returns></returns> [HttpPost] - public IActionResult FinishCr(AdjustStockCheckVm model) + public async Task<IActionResult> FinishCr(AdjustStockCheckVm model) { try { @@ -222,27 +223,24 @@ { return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" }); } - bool bolls = false; + //bool bolls = false; if (model.Origin == "0") { - bolls = _stockCheckSvc.StockAdjust(model.Id, int.Parse(userId)); + await _stockCheckSvc.StockAdjust(model.Id); } else { - bolls = _stockCheckSvc.StockAdjustAuto(model.Id, int.Parse(userId)); + await _stockCheckSvc.StockAdjustAuto(model.Id); } - if (bolls) - { - //绯荤粺瀵规帴鍚庢斁寮� - //var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId)); - //if (bl) - //{ - return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曡皟鏁翠笂浼犳垚鍔�" }); - //} - //return Ok(new { code = 1, count = 0, msg = "鍑哄簱鍗曞叧鍗曟垚鍔熶絾涓婁紶澶辫触" }); - } + //绯荤粺瀵规帴鍚庢斁寮� + //var bl =_stockCheckSvc.FinishCr(model.Id,_config.ErpHost + _config.DataChangeUrl, int.Parse(userId)); + //if (bl) + //{ + return Ok(new { code = 0, count = 0, msg = "鐩樼偣鍗曡皟鏁翠笂浼犳垚鍔�" }); + //} + //return Ok(new { code = 1, count = 0, msg = "鍑哄簱鍗曞叧鍗曟垚鍔熶絾涓婁紶澶辫触" }); - return Ok(new { code = 1, msg = "鐩樼偣鍗曡皟鏁村け璐�" }); + //return Ok(new { code = 1, msg = "鐩樼偣鍗曡皟鏁村け璐�" }); } catch (Exception e) -- Gitblit v1.8.0