using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Model.ModelVm;
using Model.ModelVm.SysVm;
using System;
using System.Collections.Generic;
using System.Security.Claims;
using Model.ModelVm.LogVm;
using WMS.IBLL.IBllAsnServer;
using WMS.IBLL.ILogServer;
using Model.ModelVm.BllAsnVm;
using Utility;
using Model.ModelDto.BllAsnDto;
using System.Threading.Tasks;
using SqlSugar;
using System.Diagnostics;
using Model.ModelDto.SysDto;
using static System.Reflection.Metadata.BlobBuilder;
namespace Wms.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize]
public class BllAsnController : ControllerBase
{
#region 依赖注入
private readonly IArrivalNoticeServer _arrivalNoticeSvc; // 入库单据Svc
private readonly IPalletBindServer _PalletBindSvc; // 托盘绑定Svc
private readonly IBllBoxInfoServer _BoxInfoSvc; // 箱支关系Svc
private readonly ITaskServer _taskSvc; // 入库任务Svc
private readonly IOperationASNServer _logSvc; // 入库库操作日志Svc
private readonly IPalletUnbindServer _palletUnbind; // 托盘解绑绑定
private readonly IAuditLogServer _auditLog; // 审核记录
private readonly IBllLabelBoxNoServer _labelBox; // 箱码标签
private readonly IProcurePlanServer _procurePlanSvc; // 箱码标签
private readonly IPalletUpShelfServer _palletUpShelfSvc; // 上架记录
#endregion
#region 构造函数
public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc, IPalletUpShelfServer palletUpShelfSvc)
{
_arrivalNoticeSvc = arrivalNoticeSvc;
_PalletBindSvc = palletBindSvc;
_BoxInfoSvc = bllBoxInfoSvc;
_taskSvc = taskSvc;
_logSvc = logSvc;
_palletUnbind = palletUnbind;
_auditLog = auditLog;
_labelBox = labelBox;
_procurePlanSvc = procurePlanSvc;
_palletUpShelfSvc = palletUpShelfSvc;
}
#endregion
#region 入库单据
///
/// 获取入库单信息
///
/// 查询条件
/// 入库单信息
[HttpPost]
[ServiceFilter(typeof(ApiResponseActionFilter))]
public async Task GetArrivalNoticeList(ArrivalNoticeVm model)
{
RefAsync count = new RefAsync();
var bolls = await _arrivalNoticeSvc.GetArrivalNoticeList(model, count);
return new SqlSugarPagedList() { Items = bolls, Total = count };
}
[HttpPost]
[ServiceFilter(typeof(ApiResponseActionFilter))]
public async Task GetArrivalNoticeDetailList(ArrivalNoticeDetailVm model)
{
RefAsync count = new RefAsync();
var bolls = await _arrivalNoticeSvc.GetArrivalNoticeDetailList(model, count);
return new SqlSugarPagedList() { Items = bolls, Total = count };
}
///
/// 获取入库单明细剩余打印数量
///
///
///
[HttpGet]
public IActionResult GetAsnDetailQtyList(int id)
{
try
{
var models = _arrivalNoticeSvc.GetAsnDetailQtyList(id);
return Ok(new { code = 0, msg = "入库单明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取添加明细数据源
///
///
///
[HttpPost]
public IActionResult GetMaterialsList(GetMaterialsVm model)
{
try
{
var models = _arrivalNoticeSvc.GetMaterialsList(model);
return Ok(new { code = 0, msg = "物料信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult AddArrivalNotice(ArrivalNoticeVm model)
{
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("未获取到用户信息");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _arrivalNoticeSvc.AddArrivalNotice(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "添加成功" });
}
if (strMesage.Contains("-1"))
{
return Ok(new { code = 1, msg = strMesage });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult EditArrivalNotice(ArrivalNoticeVm model)
{
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("未获取到用户信息");
}
if (string.IsNullOrWhiteSpace(model.ASNNo))
{
throw new Exception("单据号不可为null!");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _arrivalNoticeSvc.EditArrivalNotice(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "编辑成功" });
}
if (strMesage.Contains("-1"))
{
return Ok(new { code = 1, msg = "部分成功 " + strMesage });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult DelArrivalNotice(ArrivalNoticeVm model)
{
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("未获取到用户信息");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _arrivalNoticeSvc.DelArrivalNotice(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "删除成功" });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult DelArrivalNoticeDetail(ArrivalNoticeDetailVm model)
{
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("未获取到用户信息");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _arrivalNoticeSvc.DelArrivalNoticeDetail(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "删除成功" });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 入库单撤销申请
///
///
///
///
[HttpGet]
public IActionResult CancelOrder(int id, string reason)
{
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("未获取到用户信息");
}
_arrivalNoticeSvc.CancelOrder(id, reason, int.Parse(userId));
return Ok(new { code = 0, msg = "入库单撤销申请成功" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 维护入库单备注信息
///
///
///
///
[HttpGet]
public 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("未获取到用户信息");
}
_arrivalNoticeSvc.EditNoticeDemo(id, demo, int.Parse(userId));
return Ok(new { code = 0, msg = "编辑备注成功" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 组托收货
[HttpPost]
public IActionResult GetPalletBindList(PalletBindVm model)
{
try
{
var models = _PalletBindSvc.GetPalletBindList(model, out int count);
return Ok(new { code = 0, count, msg = "托盘绑定信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult GetBoxInfoList(BoxInfoVm model)
{
try
{
var models = _PalletBindSvc.GetBoxInfoList(model, out int count);
return Ok(new { code = 0, count, msg = "箱支明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpGet]
public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3, int bindNo = 0)
{
try
{
var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3, bindNo);
return Ok(new { code = 0, count = models.Count, msg = "箱支明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 删除托盘绑定信息
///
///
///
[HttpPost]
public IActionResult DelPalletBind(IdVm model)
{
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("未获取到用户信息");
}
_PalletBindSvc.DelPalletBind(model.Id, int.Parse(userId));
return Ok(new { code = 0, count = 0, msg = "删除成功", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 删除绑定的箱码信息
///
/// 箱号
///
[HttpGet]
public IActionResult DelBindBoxInfo(string boxNo)
{
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("未获取到用户信息");
}
_PalletBindSvc.DelBindBoxInfo(boxNo, int.Parse(userId));
return Ok(new { code = 0, count = 0, msg = "删除成功", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 托盘绑定撤销申请
///
///
/// 申请原因
///
[HttpGet]
public IActionResult CancelPalletBind(int id, string reason)
{
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("未获取到用户信息");
}
_PalletBindSvc.CancelPalletBind(id, reason, int.Parse(userId));
return Ok(new { code = 0, count = 0, msg = "托盘绑定撤销申请成功", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 根据箱码获取未组盘的箱码信息
///
///
///
///
///
[HttpGet]
public IActionResult GetBoxInfoListByBoxCode(string boxNo, string isContinue, string boxNo2)
{
try
{
var list = _BoxInfoSvc.GetBoxInfoList(boxNo, isContinue, boxNo2);
var num = 0;
if (list != null)
{
num = list.Count;
}
return Ok(new { code = 0, count = num, msg = "箱码信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 指定储位
///
/// 指定储位数据源(正常的空储位)
///
///
///
[HttpPost]
public IActionResult GetLocateList(GetOkLocateVm model)
{
try
{
var models = _PalletBindSvc.GetLocateList("W01", model.RoadwayNo, model.Row, model.Column, model.Layer, model.LocateNo,
model.StockDetailId, model.Page, model.Limit, out int count);
return Ok(new { code = 0, count, msg = "获取指定储位信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 保存指定的储位
///
///
///
[HttpPost]
public IActionResult SaveAppointSlot(SaveLocateVm model)
{
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("未获取到用户信息");
}
_PalletBindSvc.SaveAppointSlot(model.BindId, model.LocateId, int.Parse(userId));
return Ok(new { code = 0, count = 0, msg = "指定储位成功", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 物料信息录入
[HttpPost]
public IActionResult GetBllBoxInfoList(BoxInfoVm model)
{
try
{
var models = _BoxInfoSvc.GetBoxInfoList(model, out int count);
return Ok(new { code = 0, count, msg = "箱支信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult AddBllBoxInfo(BoxInfoVm model)
{
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("未获取到用户信息");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _BoxInfoSvc.AddBoxInfo(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "添加成功" });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = "添加失败:" + e.Message });
}
}
[HttpPost]
public IActionResult DelBllBoxInfo(BoxInfoVm model)
{
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("未获取到用户信息");
}
model.CreateUser = int.Parse(UserId);
string strMesage = _BoxInfoSvc.DelBoxInfo(model);
if (strMesage == "")
{
return Ok(new { code = 0, msg = "删除成功" });
}
else
{
return Ok(new { code = 1, msg = strMesage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 物料信息录入 导入
///
///
///
[HttpPost]
public IActionResult ImportBllBoxInfo(BoxInfoVms models)
{
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("未获取到用户信息");
}
models.CreateUser = int.Parse(UserId);
string strMessage = _BoxInfoSvc.ImportBoxInfo(models);
if (strMessage.Contains("-1"))
{
return Ok(new { code = 1, msg = strMessage });
}
else
{
return Ok(new { code = 0, msg = strMessage });
}
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 入库日志
///
/// 获取入库任务信息
///
///
///
[HttpPost]
public async Task GetArrivalTaskList(GetTaskVm model)
{
try
{
var type = new List() { "0" };
RefAsync count = new RefAsync();
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 = count.Value, msg = "入库任务信息", data = bolls });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 取消入库任务
///
///
///
[HttpGet]
public IActionResult CancelAsnTask(string taskNo)
{
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 = "未获取到当前操作人信息" });
}
_PalletBindSvc.CancelAsnTask(taskNo, int.Parse(userId));
return Ok(new { code = 0, msg = "取消任务已完成", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 完成入库任务
///
///
///
[HttpGet]
public IActionResult FinishAsnTask(string taskNo)
{
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 = "未获取到当前操作人信息" });
}
_PalletBindSvc.ArrivalSuccessBack(taskNo, int.Parse(userId));
return Ok(new { code = 0, msg = "成功完成任务", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 操作日志
///
/// 获取入库操作日志信息
///
///
///
[HttpPost]
public IActionResult GetLogOperationAsnList(GetOperationVm model)
{
try
{
var bolls = _logSvc.GetLogOperationAsnList(model.MenuName, model.Type, model.Msg, 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 });
}
}
#endregion
#region 托盘解绑绑定
[HttpPost]
public IActionResult GetPalletUnbindList(PalletUnbindVm model)
{
try
{
int count = 0;
var list = _palletUnbind.GetPalletUnbindList(model, out count);
return Ok(new { code = 0, count = count, msg = "托盘解绑绑定列表", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
[HttpPost]
public IActionResult GetPalletUnbindList2(PalletUnbindVm model)
{
try
{
int count = 0;
var list = _palletUnbind.GetPalletUnbindList2(model, out count);
return Ok(new { code = 0, count = count, msg = "托盘解绑绑定箱码列表", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
#endregion
#region 审核记录
[HttpPost]
public IActionResult GetAuditLogList(AuditLogVm model)
{
try
{
var list = _auditLog.GetAuditLogList(model, out int count);
return Ok(new { code = 0, count, msg = "审核记录列表", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
///
/// 编辑审核
///
///
///
[HttpPost]
public IActionResult EditAudit(EditAuditVm 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 = "未获取到当前操作人信息" });
}
_auditLog.EditAudit(model.Id, model.Status, model.Opinion, int.Parse(userId));
return Ok(new { code = 0, count = 0, msg = "审核记录列表", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
#endregion
#region 箱码标签
[HttpPost]
public IActionResult GetLabelBoxList(LabelBoxInfoVm model)
{
try
{
var list = _BoxInfoSvc.GetLabelBoxList(model, out int count);
return Ok(new { code = 0, count, msg = "箱码标签列表", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
[HttpGet]
public IActionResult GetLabelBoxModel(int id)
{
try
{
var list = _BoxInfoSvc.GetLabelBoxModel(id);
return Ok(new { code = 0, msg = "箱码模板信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
[HttpPost]
public IActionResult AddLabelBox(AddLabelBoxInfoVm 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 = "未获取到当前操作人信息" });
}
var list = _BoxInfoSvc.AddLabelBox(model.Id, model.IsReset, decimal.Parse(model.ArriveQty), model.ProductionTime, model.ExpirationTime, model.StoreTime, model.SupplierLot, int.Parse(userId));
return Ok(new { code = 0, msg = "生成箱码标签成功", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
[HttpPost]
public IActionResult GetBuDaLabelList(BuDaLabelBoxVm 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 = "未获取到当前操作人信息" });
}
var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2, model.Type, int.Parse(userId));
return Ok(new { code = 0, msg = "获取补打箱码标签信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
//根据入库单号过去单据下所有批次号
[HttpGet]
public IActionResult GetLotNoListByAsn(string asnNo)
{
try
{
var list = _BoxInfoSvc.GetLotNoListByAsn(asnNo);
return Ok(new { code = 0, msg = "成功获取单据下所有批次号信息", data = list });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
//删除单据下单个或多个批次的标签
[HttpPost]
public IActionResult DelLabelByAsnNo(LabelBoxInfoVm 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 = "未获取到当前操作人信息" });
}
_BoxInfoSvc.DelLabelByAsnNo(model.AsnNo, model.LotNo, int.Parse(userId));
return Ok(new { code = 0, msg = "删除成功", data = "" });
}
catch (Exception e)
{
return Ok(new { code = 1, count = 0, msg = e.Message });
}
}
#endregion
#region 数据归档
///
/// 获取入库单信息-归档数据
///
/// 查询条件
/// 入库单信息
[HttpPost]
public IActionResult GetArchivingArrivalNoticeList(ArrivalNoticeVm model)
{
try
{
var models = _arrivalNoticeSvc.GetArchivingArrivalNoticeList(model, out int count);
return Ok(new { code = 0, count, msg = "入库单信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取入库单明细信息-归档数据
///
///
///
[HttpPost]
public IActionResult GetArchivingArrivalNoticeDetailList(ArrivalNoticeDetailVm model)
{
try
{
var models = _arrivalNoticeSvc.GetArchivingArrivalNoticeDetailList(model, out int count);
return Ok(new { code = 0, count, msg = "入库单明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取箱支关系信息-归档数据
///
/// 查询条件
/// 箱支关系信息
[HttpPost]
public IActionResult GetArchivingBoxInfoList(BoxInfoVm model)
{
try
{
var models = _BoxInfoSvc.GetArchivingBoxInfoList(model, out int count);
return Ok(new { code = 0, count, msg = "箱支信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取托盘绑定列表-归档数据
///
///
///
[HttpPost]
public IActionResult GetArchivingPalletBindList(PalletBindVm model)
{
try
{
var models = _PalletBindSvc.GetArchivingPalletBindList(model, out int count);
return Ok(new { code = 0, count, msg = "托盘绑定信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取托盘绑定箱码信息-归档数据
///
///
///
[HttpPost]
public IActionResult GetArchivingBoxInfoListGroup(BoxInfoVm model)
{
try
{
var models = _PalletBindSvc.GetArchivingBoxInfoList(model, out int count);
return Ok(new { code = 0, count, msg = "箱支明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 通过箱码获取箱码信息-数据归档
///
///
///
///
[HttpGet]
public IActionResult GetArchivingBoxInfoByBoxNo(string boxNo, string boxNo3)
{
try
{
var models = _PalletBindSvc.GetArchivingBoxInfoByBoxNo(boxNo, boxNo3);
return Ok(new { code = 0, count = models.Count, msg = "箱支明细信息", data = models });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 获取任务信息-数据归档
///
///
///
[HttpPost]
public IActionResult GetArchivingTaskList(GetTaskVm model)
{
try
{
var type = new List() { "0", "1", "2" };
var bolls = _taskSvc.GetArchivingTaskList(type, model.Type, model.Status, model.TaskNo, model.IsSuccess, model.PalletNo, 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 });
}
}
///
/// 获取操作日志信息-数据归档
///
///
///
[HttpPost]
public IActionResult GetArchivingLogOperationList(GetOperationVm model)
{
try
{
var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom, model.MenuName, model.Type, model.Msg, 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 });
}
}
#endregion
#region 采购单据
///
/// 获取采购单信息
///
/// 查询条件
/// 采购单信息
[HttpPost]
[ServiceFilter(typeof(ApiResponseActionFilter))]
public async Task GetProcurePlanNoticeList(ProcurePlanNoticeVm model)
{
RefAsync count = new RefAsync();
var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count);
return new SqlSugarPagedList() { Items = bolls, Total = count };
}
///
/// 获取采购单明细信息
///
///
///
[HttpPost]
[ServiceFilter(typeof(ApiResponseActionFilter))]
public async Task GetProcurePlanNoticeDetailList(ProcurePlanNoticeDetailVm model)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
RefAsync count = new RefAsync();
var bolls = await _procurePlanSvc.GetProcurePlanNoticeDetailList(model, count);
stopwatch.Stop();
var time = stopwatch.ElapsedMilliseconds;
return new SqlSugarPagedList() { Items = bolls, Total = count };
}
///
/// 通过采购单生成入库单据
///
///
///
[HttpPost]
public IActionResult CreateAsnByProcurePlan(ProcurePlanNoticeDetailVm model)
{
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("未获取到用户信息");
}
_procurePlanSvc.CreateAsnByProcurePlan(Convert.ToInt32(model.Id), int.Parse(UserId));
return Ok(new { code = 0, msg = "添加成功" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
///
/// 关闭采购单据
///
///
///
[HttpPost]
public IActionResult CloseProcurePlan(ProcurePlanNoticeDetailVm model)
{
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("未获取到用户信息");
}
_procurePlanSvc.CloseProcurePlan(Convert.ToInt32(model.Id), int.Parse(UserId));
return Ok(new { code = 0, msg = "关单成功" });
}
catch (Exception e)
{
return Ok(new { code = 1, msg = e.Message });
}
}
#endregion
#region 上架任务记录
///
/// 获取上架任务记录信息分页集合
///
///
///
[HttpPost]
[ServiceFilter(typeof(ApiResponseActionFilter))]
public async Task GetPalletUpShelfList(PalletUpShelfVm model)
{
RefAsync count = new RefAsync();
var data = await _palletUpShelfSvc.GetPalletUpShelfList(model.TraceNo, model.TaskNo,model.PalletNo,model.SkuNo,model.SkuName,model.LotNo,model.Status,model.Page,model.Limit, count);
return new SqlSugarPagedList() { Items = data, Total = count };
}
#endregion
}
}