| | |
| | | using Model.ModelVm.BllSoVm; |
| | | using Wms.Tools; |
| | | using System.Collections; |
| | | using Utility; |
| | | using SqlSugar; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | |
| | | private readonly IWarehouseOutsidePalletsServer _stockPallet; //库外托盘 |
| | | private readonly IStockFreectSetve _freect; //解冻\冻结 |
| | | private readonly UserManager _userManager; |
| | | |
| | | /// <summary> |
| | | /// 构造函数 |
| | |
| | | /// <param name="logSvc">库内操作日志Svc</param> |
| | | /// <param name="stockPallet">库外托盘</param> |
| | | /// <param name="freect">解冻\冻结</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; |
| | |
| | | _logSvc = logSvc; |
| | | _stockPallet = stockPallet; |
| | | _freect = freect; |
| | | _userManager = userManager; |
| | | } |
| | | |
| | | #region 盘点单据 |
| | |
| | | /// <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 = count.Value, msg = "盘点单信息", data = bolls }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <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 = count.Value, msg = "盘点单明细信息", data = bolls }); |
| | | } |
| | | /// <summary> |
| | | /// 获取库存明细信息(盘点选择明细数据源) |
| | |
| | | /// <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 = count.Value, msg = "获取库存明细信息", data = bolls }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <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> |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult AddEditStockCheck(AddEditStockCheckVm model) |
| | | [UnitOfWork] |
| | | public async Task<IActionResult> AddEditStockCheck(AddEditStockCheckVm model) |
| | | { |
| | | try |
| | | { |
| | | //获取当前登录的用户ID |
| | | 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> |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult DelStockCheck(IdVm model) |
| | | [UnitOfWork] |
| | | public async Task<IActionResult> DelStockCheck(IdVm model) |
| | | { |
| | | try |
| | | { |
| | | //获取当前登录的用户ID |
| | | 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 = "盘点单删除成功" }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return Ok(new { code = 1, msg = "删除失败" + e.Message }); |
| | | } |
| | | return Ok(new { code = 0, count = 0, msg = "盘点单删除成功" }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <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 |
| | | |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetStockCheckLogList(GetCheckLogVm model) |
| | | public async Task<IActionResult> GetStockCheckLogList(GetCheckLogVm model) |
| | | { |
| | | try |
| | | { |
| | | var list = _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var list = await _stockCheckLogSvc.GetStockCheckLogList(model.CrNo, model.Status, model.PalletNo, model.BoxNo, model.SkuNo, model.SkuName, model.LotNo, model.Page, model.Limit, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "盘点记录", data = list }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "盘点记录", data = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetCrTaskList(GetTaskVm model) |
| | | public async Task<IActionResult> GetCrTaskList(GetTaskVm model) |
| | | { |
| | | try |
| | | { |
| | | var type = new List<string>() { "2", "3", "4" }; |
| | | var bolls = _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, out int count); |
| | | var type = new List<string>() { "2", "3", "4", "6" }; |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _taskSvc.GetTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, model.Msg, model.Page, model.Limit, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "库内任务信息", data = bolls }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "库内任务信息", data = bolls }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetLogOperationCrList(GetOperationVm model) |
| | | public async Task<IActionResult> GetLogOperationCrList(GetOperationVm model) |
| | | { |
| | | try |
| | | { |
| | | var bolls = _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _logSvc.GetLogOperationCrList(model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, count); |
| | | |
| | | return Ok(new { code = 0, count, msg = "出库操作日志信息", data = bolls }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "出库操作日志信息", data = bolls }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | { |
| | | 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 = "" }); |
| | | } |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult CancelCheckTask(CheckTaskVm model) |
| | | public async Task<IActionResult> CancelCheckTask(CheckTaskVm model) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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 = "" }); |
| | | } |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult FinishCheckTask(CheckTaskVm model) |
| | | public async Task<IActionResult> FinishCheckTask(CheckTaskVm model) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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 = "" }); |
| | | |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetPalletsOutside(PalletsOutVm model) |
| | | public async Task<IActionResult> GetPalletsOutside(PalletsOutVm model) |
| | | { |
| | | List<MateDataStockDto> mateDataStockDtos = _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, out int count); |
| | | return Ok(new { code = 0, count, msg = "获取库外托盘信息成功", data = mateDataStockDtos }); |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | List<MateDataStockDto> mateDataStockDtos = await _stockPallet.GetPalletsOutside(model.SkuNo, model.SkuName, model.LotNo, model.PalletNo, model.Page, model.Limit, count); |
| | | return Ok(new { code = 0, count = count.Value, msg = "获取库外托盘信息成功", data = mateDataStockDtos }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult SaveAppointSlot(SaveAppointSlotVm model) |
| | | public async Task<IActionResult> SaveAppointSlot(SaveAppointSlotVm model) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | _stockPallet.SaveAppointSlot(model.StockDetailId,model.LocateId, int.Parse(userId)); |
| | | await _stockPallet.SaveAppointSlot(model.StockDetailId, model.LocateId); |
| | | |
| | | return Ok(new { code = 0, count = 0, msg = "指定储位成功", data = "" }); |
| | | } |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult FinishMoveTask(CheckTaskVm model) |
| | | public async Task<IActionResult> FinishMoveTask(CheckTaskVm model) |
| | | { |
| | | try |
| | | { |
| | | //获取当前登录的用户ID |
| | | 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 = "" }); |
| | | } |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult CancelMoveTask(CheckTaskVm model) |
| | | public async Task<IActionResult> CancelMoveTask(CheckTaskVm model) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | 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 = "" }); |
| | | } |
| | |
| | | /// <param name="type">0:获取可冻结库存 1:获取可解冻数据</param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult ByTypeGetDataStockType(string SkuNo,int type) |
| | | public async Task<IActionResult> ByTypeGetDataStockType(string SkuNo, int type) |
| | | { |
| | | try |
| | | { |
| | | var models = _freect.ByTypeGetDataStockType(SkuNo,type); |
| | | var models = await _freect.ByTypeGetDataStockType(SkuNo, type); |
| | | |
| | | return Ok(new |
| | | { |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetDataFreezeList(FreezeUnfreezeInfoDto model) |
| | | public async Task<IActionResult> GetDataFreezeList(FreezeUnfreezeInfoDto model) |
| | | { |
| | | try |
| | | { |
| | | var models = _freect.GetDataFreezeList(model); |
| | | var models = await _freect.GetDataFreezeList(model); |
| | | |
| | | return Ok(new |
| | | { |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult GetDataUnFreezeList(FreezeUnfreezeInfoDto model) |
| | | public async Task<IActionResult> GetDataUnFreezeList(FreezeUnfreezeInfoDto model) |
| | | { |
| | | try |
| | | { |
| | | var models = _freect.GetDataUnFreezeList(model); |
| | | var models = await _freect.GetDataUnFreezeList(model); |
| | | |
| | | return Ok(new |
| | | { |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult InsertDataFreezeInfo(FreezeUnfreezeInfoDto model) |
| | | public async Task<IActionResult> InsertDataFreezeInfo(FreezeUnfreezeInfoDto model) |
| | | { |
| | | try |
| | | { |
| | |
| | | } |
| | | |
| | | model.CreateUser = int.Parse(UserId); |
| | | string strMesage = _freect.InsertDataFreezeInfo(model); |
| | | string strMesage = await _freect.InsertDataFreezeInfo(model); |
| | | //var arr = strMesage.Split(':'); |
| | | if (!strMesage.Contains("-1")) |
| | | { |