|
@@ -1,14 +1,10 @@
|
|
|
using AutoMapper;
|
|
|
-using MathNet.Numerics.Distributions;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using Newtonsoft.Json;
|
|
|
-using Org.BouncyCastle.Crypto;
|
|
|
-using Quartz.Util;
|
|
|
using System.Text.RegularExpressions;
|
|
|
using wms.api.Job;
|
|
|
using wms.dto;
|
|
|
using wms.dto.request;
|
|
|
-using wms.dto.request.cp;
|
|
|
using wms.dto.request.hj;
|
|
|
using wms.dto.request.hj.dto;
|
|
|
using wms.dto.request.pt;
|
|
@@ -17,7 +13,6 @@ using wms.dto.request.share;
|
|
|
using wms.dto.response;
|
|
|
using wms.dto.response.pt;
|
|
|
using wms.service.IService;
|
|
|
-using wms.service.Service;
|
|
|
using wms.sqlsugar;
|
|
|
using wms.sqlsugar.model.pt;
|
|
|
using wms.util.Ext;
|
|
@@ -35,43 +30,43 @@ namespace wms.api.Controllers
|
|
|
private readonly IPTService _ptService;
|
|
|
private readonly ILogger<PtController> _logger;
|
|
|
private readonly IMapper _mapper;
|
|
|
- static object lockerPurchaseBillTrans = new object();
|
|
|
- static object lockerErpUnlockStock = new object();
|
|
|
- static object lockerProductionStockOut = new object();
|
|
|
- static object lockerProductionFeedBack = new object();
|
|
|
- static object lockerStockChange = new object();
|
|
|
- static object lockerProductionBack = new object();
|
|
|
- static object lockerPtPurchTaskIn = new object();
|
|
|
- static object lockerPtApplyStockInLoc = new object();
|
|
|
- static object lockerPtCompleteTask = new object();
|
|
|
- static object lockerPtSrmPickOutCompleted = new object();
|
|
|
- static object lockerSyncMaterInfoList = new object();
|
|
|
- static object lockerPtWcsProductionOutTask = new object();
|
|
|
- static object lockerGetPtTunnelList = new object();
|
|
|
- static object lockerManualTaskOut = new object();
|
|
|
- static object lockerPinkuInfoUpdate = new object();
|
|
|
- static object lockerPinkucarryInTask = new object();
|
|
|
- static object lockerPinkucarryOutTask = new object();
|
|
|
- static object lockerPtCancelOrComplet = new object();
|
|
|
- static object lockerPtCarryTask = new object();
|
|
|
- static object lockerUpdatePuchState = new object();
|
|
|
- static object lockerForceCancelTask = new object();
|
|
|
- static object lockerDeleteStockInfo = new object();
|
|
|
- static object lockerUpdateStockState = new object();
|
|
|
- static object lockerUpdateCellState = new object();
|
|
|
- static object lockerDataSwapCell = new object();
|
|
|
- static object lockerDataBasePatch = new object();
|
|
|
- static object lockerDataMoveCell = new object();
|
|
|
- static object lockerProductRequisition = new object();
|
|
|
- static object lockerPdaInsterInTask = new object();
|
|
|
- static object lockerHandErrTask = new object();
|
|
|
- static object lockerJKArriveInfo = new object();
|
|
|
- static object lockerJKTransPTInfo = new object();
|
|
|
- static object lockerPurchaseBillTransCheck = new object();
|
|
|
- static object lockerFlowDataMoveJob = new object();
|
|
|
-
|
|
|
-
|
|
|
- Repository<ptSysJob> _sysJobrepository => new Repository<ptSysJob>();
|
|
|
+ private static object lockerPurchaseBillTrans = new object();
|
|
|
+ private static object lockerErpUnlockStock = new object();
|
|
|
+ private static object lockerProductionStockOut = new object();
|
|
|
+ private static object lockerProductionFeedBack = new object();
|
|
|
+ private static object lockerStockChange = new object();
|
|
|
+ private static object lockerProductionBack = new object();
|
|
|
+ private static object lockerPtPurchTaskIn = new object();
|
|
|
+ private static object lockerPtApplyStockInLoc = new object();
|
|
|
+ private static object lockerPtCompleteTask = new object();
|
|
|
+ private static object lockerPtSrmPickOutCompleted = new object();
|
|
|
+ private static object lockerSyncMaterInfoList = new object();
|
|
|
+ private static object lockerPtWcsProductionOutTask = new object();
|
|
|
+ private static object lockerGetPtTunnelList = new object();
|
|
|
+ private static object lockerManualTaskOut = new object();
|
|
|
+ private static object lockerPinkuInfoUpdate = new object();
|
|
|
+ private static object lockerPinkucarryInTask = new object();
|
|
|
+ private static object lockerPinkucarryOutTask = new object();
|
|
|
+ private static object lockerPtCancelOrComplet = new object();
|
|
|
+ private static object lockerPtCarryTask = new object();
|
|
|
+ private static object lockerUpdatePuchState = new object();
|
|
|
+ private static object lockerForceCancelTask = new object();
|
|
|
+ private static object lockerDeleteStockInfo = new object();
|
|
|
+ private static object lockerUpdateStockState = new object();
|
|
|
+ private static object lockerUpdateCellState = new object();
|
|
|
+ private static object lockerDataSwapCell = new object();
|
|
|
+ private static object lockerDataBasePatch = new object();
|
|
|
+ private static object lockerDataMoveCell = new object();
|
|
|
+ private static object lockerProductRequisition = new object();
|
|
|
+ private static object lockerPdaInsterInTask = new object();
|
|
|
+ private static object lockerHandErrTask = new object();
|
|
|
+ private static object lockerJKArriveInfo = new object();
|
|
|
+ private static object lockerJKTransPTInfo = new object();
|
|
|
+ private static object lockerPurchaseBillTransCheck = new object();
|
|
|
+ private static object lockerFlowDataMoveJob = new object();
|
|
|
+
|
|
|
+ private Repository<ptSysJob> _sysJobrepository => new Repository<ptSysJob>();
|
|
|
+
|
|
|
public PtController(IPTService ptService, ILogger<PtController> logger, IMapper mapper) : base(ptService)
|
|
|
{
|
|
|
_ptService = ptService;
|
|
@@ -142,15 +137,14 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
if (_ptService.SyncMaterInfo(resbody.ResData))
|
|
|
{
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
return result.ToCamelCaseString();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 采购到货单/采购退货单/到货重挂清单接口(二楼入库默认传2999)
|
|
|
/// </summary>
|
|
@@ -159,7 +153,6 @@ namespace wms.api.Controllers
|
|
|
[HttpPost]
|
|
|
public SRes PurchaseBillTrans(PurchaseBillTransReqest reqDto)
|
|
|
{
|
|
|
-
|
|
|
reqDto.ListInfo = reqDto.ListInfo.Where(p => p.RFID.StartsWith("PT")).ToList();
|
|
|
var res = ConcurrencyReqControl<PurchaseBillTransReqest, SRes>(lockerPurchaseBillTrans, "PurchaseBillTrans", reqDto.BillCode, reqDto, _ptService.PurchaseBillTrans);
|
|
|
if (res.ResCode != 200)
|
|
@@ -212,6 +205,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PurchaseRFIDCheck(reqDto); ;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 盘条主数据接收
|
|
|
/// </summary>
|
|
@@ -223,6 +217,7 @@ namespace wms.api.Controllers
|
|
|
var res = new SRes();
|
|
|
return ConcurrencyReqControl<PtSyncMaterInfoListRequest, SRes>(lockerSyncMaterInfoList, "PtSyncMaterInfoList", "物料主数据推送", reqDto, _ptService.GetSyncMaterInfo);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 采购到货单入库反馈/采购退货出库反馈/异常出库重挂反馈接口
|
|
|
/// </summary>
|
|
@@ -306,6 +301,7 @@ namespace wms.api.Controllers
|
|
|
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 放行单传输接口
|
|
|
/// </summary>
|
|
@@ -316,6 +312,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<ErpUnlockStockRequest, ErpUnlockStockResponse>(lockerErpUnlockStock, "PtErpUnlockStock", reqDto.BillCode, reqDto, _ptService.ErpUnlockStock);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 生产领料单传输接口
|
|
|
/// </summary>
|
|
@@ -326,6 +323,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<ProductionStockOutRequest, SRes>(lockerProductionStockOut, "PtProductionStockOut", reqDto.BillCode, reqDto, _ptService.ProductionStockOut);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 自动叫料
|
|
|
/// </summary>
|
|
@@ -347,8 +345,6 @@ namespace wms.api.Controllers
|
|
|
return ConcurrencyReqControl<WcsProductionOutRequest, SRes>(lockerPtWcsProductionOutTask, "PtWcsProductionOutRequest", "自动叫料", request, _ptService.WcsProductionOutRequest2);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 生产领料/退料/改判反馈接口
|
|
|
/// </summary>
|
|
@@ -387,16 +383,14 @@ namespace wms.api.Controllers
|
|
|
WhereExpression = it => ids.Contains(it.Id)
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//退料
|
|
|
if (true)
|
|
|
{
|
|
|
-
|
|
|
}
|
|
|
//改判
|
|
|
if (true)
|
|
|
{
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
return res;
|
|
@@ -439,11 +433,10 @@ namespace wms.api.Controllers
|
|
|
WhereExpression = it => ids.Contains(it.Id)
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 炉号用完反馈给mes
|
|
|
/// </summary>
|
|
@@ -453,7 +446,7 @@ namespace wms.api.Controllers
|
|
|
public SRes BoilerNoFeedBack(PtAutoPurchData request)
|
|
|
{
|
|
|
var res = new SRes();
|
|
|
- var list = _ptService.GetSysConfigListByExpression(p=>p.Default1 == "ProductPinKu" && p.Default6 == "0" && p.Default5 == p.Default7);
|
|
|
+ var list = _ptService.GetSysConfigListByExpression(p => p.Default1 == "ProductPinKu" && p.Default6 == "0" && p.Default5 == p.Default7);
|
|
|
if (!list.Any())
|
|
|
{
|
|
|
res.ResCode = ResponseStatusCodeEnum.Fail.GetHashCode();
|
|
@@ -479,6 +472,7 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 库存改判
|
|
|
/// </summary>
|
|
@@ -489,10 +483,11 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
lock (lockerStockChange)
|
|
|
{
|
|
|
- return _ptService.StockChange(reqDto);
|
|
|
+ return _ptService.StockChange(reqDto);
|
|
|
}
|
|
|
//return ConcurrencyReqControl<PtStockChangeRequest, SRes<StockChangeResItem>>(lockerStockChange, "PtStockChange", "PtStockChange", reqDto, _ptService.StockChange);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 生产退料单接口
|
|
|
/// </summary>
|
|
@@ -503,11 +498,13 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<ProductionBackRequest, SRes>(lockerProductionBack, "PtProductionBack", reqDto.BillCode, reqDto, _ptService.ProductionBack);
|
|
|
}
|
|
|
+
|
|
|
[HttpPost]
|
|
|
public SRes WareCellInit(int row, int col, int deot, int rowcount, int tun)
|
|
|
{
|
|
|
return _ptService.WareCellInit(row, col, deot, rowcount, tun);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 实时库存查询接口
|
|
|
/// </summary>
|
|
@@ -518,8 +515,9 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return _ptService.GetCurStockList(reqDto);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
#region 盘条PDA功能
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 盘条解绑
|
|
|
/// </summary>
|
|
@@ -530,6 +528,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return _ptService.Unbounding(request);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// pda单据查询
|
|
|
/// </summary>
|
|
@@ -540,6 +539,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return _ptService.GetPageDocumentsList(request).ToCamelCaseString();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// pda单据明细查询(传单号)
|
|
|
/// </summary>
|
|
@@ -550,6 +550,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return _ptService.GetDocumentDetailListByDocsNo(request).ToCamelCaseString();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// pda指定出库确定
|
|
|
/// </summary>
|
|
@@ -561,6 +562,7 @@ namespace wms.api.Controllers
|
|
|
request.BusType = TaskBusType.TaskBusType_HJ_PdaManualOut.GetDescription();
|
|
|
return _ptService.ManualTask(request);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// pda质检领料出库确定
|
|
|
/// </summary>
|
|
@@ -572,6 +574,7 @@ namespace wms.api.Controllers
|
|
|
request.BusType = TaskBusType.TaskBusType_HJ_QualityOut.GetDescription();
|
|
|
return _ptService.ManualTask(request);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// pda重挂出库确定
|
|
|
/// </summary>
|
|
@@ -583,6 +586,7 @@ namespace wms.api.Controllers
|
|
|
request.BusType = TaskBusType.TaskBusType_HJ_AnewOut.GetDescription();
|
|
|
return _ptService.ManualTask(request);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取设备报警信息
|
|
|
/// </summary>
|
|
@@ -593,6 +597,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取物料报警信息
|
|
|
/// </summary>
|
|
@@ -603,6 +608,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取业务报警信息
|
|
|
/// </summary>
|
|
@@ -613,6 +619,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 手动入库
|
|
|
/// </summary>
|
|
@@ -628,6 +635,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PdaInsterInTask(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// PDA 采购入库
|
|
|
/// </summary>
|
|
@@ -638,9 +646,10 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
if (string.IsNullOrWhiteSpace(request.ConBarCode))
|
|
|
{
|
|
|
- return new SRes() {
|
|
|
- ResCode = 0,
|
|
|
- ResMsg = "条码不能传空值"
|
|
|
+ return new SRes()
|
|
|
+ {
|
|
|
+ ResCode = 0,
|
|
|
+ ResMsg = "条码不能传空值"
|
|
|
};
|
|
|
}
|
|
|
lock (lockerPtPurchTaskIn)
|
|
@@ -649,6 +658,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PtPurchaseTask(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// PDA 生产领料确定
|
|
|
/// </summary>
|
|
@@ -676,6 +686,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PdaProductRequisition2(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 监控领料出扫过码的架子搬走
|
|
|
/// </summary>
|
|
@@ -690,7 +701,8 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- #endregion
|
|
|
+ #endregion 盘条PDA功能
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 手动出库确定
|
|
|
/// </summary>
|
|
@@ -705,7 +717,9 @@ namespace wms.api.Controllers
|
|
|
return _ptService.ManualTask(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
#region WCS调用
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取巷道
|
|
|
/// </summary>
|
|
@@ -717,8 +731,9 @@ namespace wms.api.Controllers
|
|
|
lock (lockerGetPtTunnelList)
|
|
|
{
|
|
|
return _ptService.GetPtTunnelPriorityList(reqEntity);
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 分配货位
|
|
|
/// </summary>
|
|
@@ -729,6 +744,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<PtApplyStockInLocRequest, SRes<PtApplyStockInLocResponse>>(lockerPtApplyStockInLoc, "PtApplyStockInLoc", "分配货位" + reqEntity.PickUpEquipmentNo, reqEntity, _ptService.PtApplyStockInLoc);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 完成任务
|
|
|
/// </summary>
|
|
@@ -783,7 +799,6 @@ namespace wms.api.Controllers
|
|
|
var res = new SRes<int>();
|
|
|
try
|
|
|
{
|
|
|
-
|
|
|
var tsk = _ptService.GetCurTask(reqDto.TaskNum);
|
|
|
if (tsk.ResData == null)
|
|
|
{
|
|
@@ -795,7 +810,7 @@ namespace wms.api.Controllers
|
|
|
return res;
|
|
|
}
|
|
|
var tasknum = RedisHelper.Get("Pt:NoticeToJK:Tun" + tsk.ResData.Tunnel);
|
|
|
- if (reqDto.TaskNum.ToString() == tasknum && reqDto.OperationType == 1)
|
|
|
+ if (reqDto.TaskNum.ToString() == tasknum && reqDto.OperationType == 1)
|
|
|
{
|
|
|
res.ResMsg = tasknum + "重复请求";
|
|
|
return res;
|
|
@@ -823,7 +838,6 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 堆垛机出库放货完成
|
|
|
/// </summary>
|
|
@@ -837,6 +851,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PtSrmPickOutCompleted(reqDto);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 盘条库 取消/完成任务验证(只验证不做业务处理,开放wcs系统调用)
|
|
|
/// </summary>
|
|
@@ -850,6 +865,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PtCancelTaskVerify(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 盘条库 执行任务(开放wcs调用,前端不调用)
|
|
|
/// </summary>
|
|
@@ -863,6 +879,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.PtCarryTaskInfo(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 移库确定
|
|
|
/// </summary>
|
|
@@ -887,6 +904,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<PtSrmPickOutCompletedRequest, SRes>(lockerPinkuInfoUpdate, "PinkuInfoManagement", request.TaskNum.ToString(), request, _ptService.PinkuInfoManagement);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 堆垛机入库站台架子搬运任务请求(入库站台到22支架)
|
|
|
/// </summary>
|
|
@@ -900,6 +918,7 @@ namespace wms.api.Controllers
|
|
|
return ConcurrencyReqControl<PinkucarryTaskRequest, SRes>(lockerPinkucarryInTask, "PinKuCarryInTask", request.Equip, request, _ptService.PinKuCarryInTask);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 堆垛机出库站台架子搬运任务请求(交接区支架到出库口)
|
|
|
/// </summary>
|
|
@@ -910,7 +929,9 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<PinkucarryTaskRequest, SRes>(lockerPinkucarryOutTask, "PinKuCarryOutTask", request.Equip, request, _ptService.PinKuCarryOutTask);
|
|
|
}
|
|
|
- #endregion
|
|
|
+
|
|
|
+ #endregion WCS调用
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 生产交接区6个点位的物料编码接收绑定
|
|
|
/// </summary>
|
|
@@ -921,7 +942,9 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return ConcurrencyReqControl<ProductMaterInfoRequest, SRes>(lockerPinkucarryOutTask, "ProductMaterInfo", request.Equip, request, _ptService.ProductMaterInfo);
|
|
|
}
|
|
|
+
|
|
|
#region 异常处理功能
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 强制取消任务
|
|
|
/// </summary>
|
|
@@ -935,6 +958,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.ForceCancelTask(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 删除库存信息
|
|
|
/// </summary>
|
|
@@ -962,6 +986,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.DeleteBarCodeInfo(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 修改库存状态
|
|
|
/// </summary>
|
|
@@ -975,6 +1000,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.UpdateStockState(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 修改货位状态
|
|
|
/// </summary>
|
|
@@ -988,6 +1014,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.UpdateCellState(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 货位数据互换
|
|
|
/// </summary>
|
|
@@ -1001,6 +1028,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.DataSwapCell(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 补数据
|
|
|
/// </summary>
|
|
@@ -1014,6 +1042,7 @@ namespace wms.api.Controllers
|
|
|
return _ptService.DataBasePatch(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 货位数据转移
|
|
|
/// </summary>
|
|
@@ -1027,9 +1056,11 @@ namespace wms.api.Controllers
|
|
|
return _ptService.DataMoveCell(request);
|
|
|
}
|
|
|
}
|
|
|
- #endregion
|
|
|
+
|
|
|
+ #endregion 异常处理功能
|
|
|
|
|
|
#region 定时器
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 启用job
|
|
|
/// </summary>
|
|
@@ -1049,6 +1080,7 @@ namespace wms.api.Controllers
|
|
|
JobScheduler.Start(sysjob.Code, Type.GetType("wms.api.Job.PostJob"), sysjob.CronExpression);
|
|
|
return res.ToCamelCaseString();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 执行job
|
|
|
/// </summary>
|
|
@@ -1081,12 +1113,12 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
return res.ToCamelCaseString();
|
|
|
}
|
|
|
- #endregion
|
|
|
+
|
|
|
+ #endregion 定时器
|
|
|
|
|
|
[HttpPost]
|
|
|
public SRes UpdatePurchState(UpdatePurchStateRequest request)
|
|
|
{
|
|
|
-
|
|
|
lock (lockerUpdatePuchState)
|
|
|
{
|
|
|
return _ptService.UpdatePurchState(request);
|
|
@@ -1124,6 +1156,7 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
return new List<dto.response.hj.SysJobDto>();
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 获取执行状态
|
|
|
/// </summary>
|
|
@@ -1151,6 +1184,7 @@ namespace wms.api.Controllers
|
|
|
return "Stop";
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
[HttpPost]
|
|
|
public SRes HandErrTask(DetailListRequest2Str request)
|
|
|
{
|
|
@@ -1158,7 +1192,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
foreach (var item in request.IdList)
|
|
|
{
|
|
|
- var res = _ptService.HandErrTask(new DetailRequest2Str() { Id = item });
|
|
|
+ var res = _ptService.HandErrTask(new DetailRequest2Str() { Id = item });
|
|
|
if (res.ResCode != 200)
|
|
|
{
|
|
|
return res;
|
|
@@ -1167,6 +1201,7 @@ namespace wms.api.Controllers
|
|
|
return new SRes();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 更新单据状态
|
|
|
/// </summary>
|
|
@@ -1175,8 +1210,9 @@ namespace wms.api.Controllers
|
|
|
[HttpPost]
|
|
|
public SRes UpdateDocState(UpdateDocStateReqest req)
|
|
|
{
|
|
|
- return _ptService.UpdateDocState(req);
|
|
|
+ return _ptService.UpdateDocState(req);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 修改任务RFID
|
|
|
/// </summary>
|
|
@@ -1187,6 +1223,7 @@ namespace wms.api.Controllers
|
|
|
{
|
|
|
return _ptService.UpdateTaskCont(req);
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 修改货位RFID
|
|
|
/// </summary>
|
|
@@ -1252,13 +1289,13 @@ namespace wms.api.Controllers
|
|
|
return res;
|
|
|
}
|
|
|
var tun = GetTunnelPriorityList(new GetTunnelPriorityListRequest() { TaskNum = task.ResData }).ResData.Split(',');
|
|
|
- if (tun !=null && tun.Any())
|
|
|
+ if (tun != null && tun.Any())
|
|
|
{
|
|
|
-
|
|
|
foreach (var item in tun)
|
|
|
{
|
|
|
- res.ListData.Add(new JKGetTunRes() {
|
|
|
- rowNo = item,
|
|
|
+ res.ListData.Add(new JKGetTunRes()
|
|
|
+ {
|
|
|
+ rowNo = item,
|
|
|
palletizerNo = Math.Ceiling(decimal.Parse(item) / 2).ToString()
|
|
|
});
|
|
|
}
|
|
@@ -1269,8 +1306,6 @@ namespace wms.api.Controllers
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 机科对接-达到二楼取货站台通知
|
|
|
/// </summary>
|
|
@@ -1298,30 +1333,37 @@ namespace wms.api.Controllers
|
|
|
curpoint = "1027";
|
|
|
srm = "SRM1";
|
|
|
break;
|
|
|
+
|
|
|
case "2":
|
|
|
curpoint = "1028";
|
|
|
srm = "SRM1";
|
|
|
break;
|
|
|
+
|
|
|
case "3":
|
|
|
curpoint = "1029";
|
|
|
srm = "SRM2";
|
|
|
break;
|
|
|
+
|
|
|
case "4":
|
|
|
curpoint = "1030";
|
|
|
srm = "SRM2";
|
|
|
break;
|
|
|
+
|
|
|
case "5":
|
|
|
curpoint = "1031";
|
|
|
srm = "SRM3";
|
|
|
break;
|
|
|
+
|
|
|
case "6":
|
|
|
curpoint = "1032";
|
|
|
srm = "SRM3";
|
|
|
break;
|
|
|
+
|
|
|
case "7":
|
|
|
curpoint = "1033";
|
|
|
srm = "SRM4";
|
|
|
break;
|
|
|
+
|
|
|
case "8":
|
|
|
curpoint = "1034";
|
|
|
srm = "SRM4";
|
|
@@ -1334,9 +1376,10 @@ namespace wms.api.Controllers
|
|
|
return res;
|
|
|
}
|
|
|
_ptService.UpdateTask(task.ResData, curpoint, srm, req.rowNo);
|
|
|
- return res;
|
|
|
+ return res;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 机科对接-接收盘条信息接口
|
|
|
/// </summary>
|
|
@@ -1357,25 +1400,27 @@ namespace wms.api.Controllers
|
|
|
SupCode = req.SupCode,
|
|
|
SupName = req.SupName,
|
|
|
WareCode = req.WareCode,
|
|
|
- ListInfo = new List<ListInfoItem>() {
|
|
|
- new ListInfoItem(){
|
|
|
- Batch= req.Batch,
|
|
|
- BoilerNo = req.BoilerNo,
|
|
|
- Brand = req.Brand,
|
|
|
- Carbon = req.Carbon,
|
|
|
- Describe = req.Describe,
|
|
|
- ExecStandard = req.ExecStandard,
|
|
|
- HoldDuration = req.HoldDuration,
|
|
|
- Licence = req.Licence,
|
|
|
- MatBarCode = req.MatBarCode,
|
|
|
- MatCode = req.MatCode,
|
|
|
- PackNo = req.PackNo,
|
|
|
- ProductDate = req.ProductDate,
|
|
|
- RFID = req.RFID,
|
|
|
- RodBar = req.RodBar,
|
|
|
- Weight = req.Weight
|
|
|
- }
|
|
|
- }
|
|
|
+ ListInfo = new List<ListInfoItem>()
|
|
|
+ {
|
|
|
+ new ListInfoItem()
|
|
|
+ {
|
|
|
+ Batch= req.Batch,
|
|
|
+ BoilerNo = req.BoilerNo,
|
|
|
+ Brand = req.Brand,
|
|
|
+ Carbon = req.Carbon,
|
|
|
+ Describe = req.Describe,
|
|
|
+ ExecStandard = req.ExecStandard,
|
|
|
+ HoldDuration = req.HoldDuration,
|
|
|
+ Licence = req.Licence,
|
|
|
+ MatBarCode = req.MatBarCode,
|
|
|
+ MatCode = req.MatCode,
|
|
|
+ PackNo = req.PackNo,
|
|
|
+ ProductDate = req.ProductDate,
|
|
|
+ RFID = req.RFID,
|
|
|
+ RodBar = req.RodBar,
|
|
|
+ Weight = req.Weight
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
if (temp.ResCode != 200)
|
|
|
{
|
|
@@ -1386,6 +1431,7 @@ namespace wms.api.Controllers
|
|
|
return res;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 流水数据归档
|
|
|
/// </summary>
|
|
@@ -1400,4 +1446,4 @@ namespace wms.api.Controllers
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|