| | |
| | | using System.ComponentModel.Design; |
| | | using System.Linq; |
| | | using System.Linq.Expressions; |
| | | using System.Net; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Microsoft.AspNetCore.Identity; |
| | |
| | | throw Oops.Bah($"未找到{crNo}盘点单信息"); |
| | | } |
| | | //所有要出库的盘点明细信息(等待的信息和待拣货的信息) |
| | | var funSetting = Db.Queryable<SysFunSetting>().First(a => a.IsDel == "0" && a.FunSetNo == "InventoryCheckMethod"); |
| | | if (funSetting == null || funSetting.IsEnable == "OFF") |
| | | { |
| | | throw Oops.Bah("需配置盘点方式"); |
| | | } |
| | | var list = await Db.Queryable<BllStockCheckDetail>().Where(a => a.IsDel == "0" && a.CRNo == crNo && a.Status == 0).ToListAsync(); |
| | | if (list.Count == 0) //判断是否有需要下发的盘点明细 |
| | | { |
| | | throw Oops.Bah("当前盘点单据无需要下发的托盘"); |
| | | } |
| | | if (funSetting.SetValue == "once") |
| | | { |
| | | if (list.Any(s => s.Status == 1 || s.Status == 2)) |
| | | { |
| | | throw Oops.Bah("已有正在出库或待盘点的数据,请完成盘点后再出库"); |
| | | } |
| | | list = new List<BllStockCheckDetail>() { list.FirstOrDefault() }; |
| | | } |
| | | #region |
| | | //要出库的托盘集合 |
| | | var outLpnList = list.Select(m => m.PalletNo).Distinct().ToList(); |
| | |
| | | //Console.WriteLine(UtilMethods.GetNativeSql(sql, pars)); |
| | | |
| | | //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用 |
| | | //Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars)); |
| | | Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars)); |
| | | |
| | | }; |
| | | |
| | |
| | | [Route("api/[controller]/[action]")] |
| | | [ApiController] |
| | | [Authorize] |
| | | |
| | | |
| | | public class BllAsnController : ControllerBase |
| | | { |
| | | #region 依赖注入 |
| | |
| | | #endregion |
| | | |
| | | #region 构造函数 |
| | | public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc,IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc,IOperationASNServer logSvc, IPalletUnbindServer palletUnbind,IAuditLogServer auditLog,IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc) |
| | | public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc) |
| | | { |
| | | _arrivalNoticeSvc = arrivalNoticeSvc; |
| | | _PalletBindSvc = palletBindSvc; |
| | |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _arrivalNoticeSvc.GetArrivalNoticeList(model, count); |
| | | return new SqlSugarPagedList() { Items = bolls, Total = count }; |
| | | } |
| | | } |
| | | |
| | | |
| | | [HttpPost] |
| | |
| | | } |
| | | if (strMesage.Contains("-1")) |
| | | { |
| | | return Ok(new { code = 0, msg = "部分成功 "+ strMesage }); |
| | | return Ok(new { code = 0, msg = "部分成功 " + strMesage }); |
| | | } |
| | | else |
| | | { |
| | |
| | | /// <param name="reason"></param> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | public IActionResult CancelOrder(int id,string reason) |
| | | public IActionResult CancelOrder(int id, string reason) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | } |
| | | |
| | | _arrivalNoticeSvc.CancelOrder(id,reason,int.Parse(userId)); |
| | | |
| | | |
| | | _arrivalNoticeSvc.CancelOrder(id, reason, int.Parse(userId)); |
| | | |
| | | |
| | | return Ok(new { code = 0, msg = "入库单撤销申请成功" }); |
| | | |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | } |
| | | |
| | | [HttpGet] |
| | | public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3,int bindNo=0) |
| | | public IActionResult GetBoxInfoByBoxNo(string boxNo, string boxNo3, int bindNo = 0) |
| | | { |
| | | try |
| | | { |
| | | var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3,bindNo); |
| | | var models = _PalletBindSvc.GetBoxInfoByBoxNo(boxNo, boxNo3, bindNo); |
| | | |
| | | return Ok(new { code = 0, count= models.Count, msg = "箱支明细信息", data = models }); |
| | | return Ok(new { code = 0, count = models.Count, msg = "箱支明细信息", data = models }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | } |
| | | _PalletBindSvc.DelBindBoxInfo(boxNo,int.Parse(userId)); |
| | | _PalletBindSvc.DelBindBoxInfo(boxNo, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, count = 0, msg = "删除成功", data = "" }); |
| | | } |
| | |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | } |
| | | _PalletBindSvc.CancelPalletBind(id, reason,int.Parse(userId)); |
| | | _PalletBindSvc.CancelPalletBind(id, reason, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, count = 0, msg = "托盘绑定撤销申请成功", data = "" }); |
| | | } |
| | |
| | | { |
| | | var list = _BoxInfoSvc.GetBoxInfoList(boxNo, isContinue, boxNo2); |
| | | var num = 0; |
| | | if (list!=null) |
| | | if (list != null) |
| | | { |
| | | num = list.Count; |
| | | } |
| | |
| | | { |
| | | 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); |
| | | 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 }); |
| | | } |
| | |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | } |
| | | _PalletBindSvc.SaveAppointSlot(model.BindId,model.LocateId,int.Parse(userId)); |
| | | _PalletBindSvc.SaveAppointSlot(model.BindId, model.LocateId, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, count = 0, msg = "指定储位成功", data = "" }); |
| | | } |
| | |
| | | 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) |
| | | { |
| | |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | _auditLog.EditAudit(model.Id,model.Status,model.Opinion, int.Parse(userId)); |
| | | _auditLog.EditAudit(model.Id, model.Status, model.Opinion, int.Parse(userId)); |
| | | |
| | | return Ok(new { code = 0, count=0, msg = "审核记录列表", data = "" }); |
| | | return Ok(new { code = 0, count = 0, msg = "审核记录列表", data = "" }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | 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 }); |
| | | return Ok(new { code = 0, msg = "生成箱码标签成功", data = list }); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | { |
| | | return Ok(new { code = 1, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | var list = _BoxInfoSvc.GetBuDaLabelList(model.BoxNo, model.EndBoxNo, model.BoxNo2, model.EndBoxNo2,model.Type,int.Parse(userId)); |
| | | 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, msg = "未获取到当前操作人信息" }); |
| | | } |
| | | _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo,model.LotNo,int.Parse(userId)); |
| | | _BoxInfoSvc.DelLabelByAsnNo(model.AsnNo, model.LotNo, int.Parse(userId)); |
| | | return Ok(new { code = 0, msg = "删除成功", data = "" }); |
| | | } |
| | | catch (Exception e) |
| | |
| | | { |
| | | try |
| | | { |
| | | var type = new List<string>() { "0","1","2" }; |
| | | var type = new List<string>() { "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 }); |
| | |
| | | { |
| | | try |
| | | { |
| | | var bolls = _logSvc.GetArchivingLogOperationList(model.ComeFrom,model.MenuName, model.Type, model.Msg, model.StartTime, model.EndTime, model.Page, model.Limit, out int count); |
| | | 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 }); |
| | | } |
| | |
| | | /// <returns>采购单信息</returns> |
| | | [HttpPost] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<SqlSugarPagedList> GetProcurePlanNoticeList(ProcurePlanNoticeVm model) |
| | | public async Task<SqlSugarPagedList> GetProcurePlanNoticeList(ProcurePlanNoticeVm model) |
| | | { |
| | | RefAsync<int> count = new RefAsync<int>(); |
| | | var bolls = await _procurePlanSvc.GetProcurePlanNoticeList(model, count); |
| | |
| | | { |
| | | throw new Exception("未获取到用户信息"); |
| | | } |
| | | |
| | | |
| | | _procurePlanSvc.CreateAsnByProcurePlan(Convert.ToInt32(model.Id), int.Parse(UserId)); |
| | | |
| | | return Ok(new { code = 0, msg = "添加成功" }); |
| | |
| | | { |
| | | 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 }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "盘点单信息", data = bolls }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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 }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "盘点单明细信息", data = bolls }); |
| | | } |
| | | /// <summary> |
| | | /// 获取库存明细信息(盘点选择明细数据源) |
| | |
| | | { |
| | | 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 }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "获取库存明细信息", data = bolls }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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) |
| | | { |
| | |
| | | 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) |
| | | { |
| | |
| | | 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) |
| | | { |
| | |
| | | { |
| | | 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, msg = "获取库外托盘信息成功", data = mateDataStockDtos }); |
| | | return Ok(new { code = 0, count = count.Value, msg = "获取库外托盘信息成功", data = mateDataStockDtos }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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) |
| | | { |