diff --git a/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs b/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs
index fc6db0c3..1d3e6c66 100644
--- a/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/mm/MaterialInputController.cs
@@ -195,5 +195,49 @@ namespace ZR.Admin.WebApi.Controllers.mes.mm
return SUCCESS(response);
}
+ ///
+ /// 空车返程
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("emptycarreturn")]
+ public IActionResult Emptycarreturn(string start_point, string end_point)
+ {
+ if (string.IsNullOrEmpty(start_point) || string.IsNullOrEmpty(end_point))
+ {
+ SUCCESS(null);
+ }
+ var response = materialInputService.AGV_schedule(start_point, end_point);
+
+ return SUCCESS(response);
+ }
+ ///
+ /// 车间返程起点
+ ///
+ ///
+ [HttpGet("emptycarreturn_start")]
+ public IActionResult Emptycarreturn_start()
+ {
+ string[] response = materialInputService.Emptycarreturn_start();
+
+ return SUCCESS(response);
+
+ }
+
+ ///
+ /// 车间返程终点
+ ///
+ ///
+ [HttpGet("emptycarreturn_end")]
+ public IActionResult Emptycarreturn_end()
+ {
+ string[] response = materialInputService.Emptycarreturn_end();
+
+ return SUCCESS(response);
+
+ }
+
+
}
}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/Controllers/mes/mm/MmFinishedwarehouseController.cs b/ZR.Admin.WebApi/Controllers/mes/mm/MmFinishedwarehouseController.cs
new file mode 100644
index 00000000..c496278a
--- /dev/null
+++ b/ZR.Admin.WebApi/Controllers/mes/mm/MmFinishedwarehouseController.cs
@@ -0,0 +1,39 @@
+using ZR.Admin.WebApi.Filters;
+using Microsoft.AspNetCore.Mvc;
+using ZR.Service.mes.mm;
+using ZR.Service.mes.mm.IService;
+
+namespace ZR.Admin.WebApi.Controllers.mes.mm
+{
+ ///
+ /// 成品入库
+ ///
+ [Verify]
+ [Route("mes/mm/MmFinishedwarehouse")]
+ public class MmFinishedwarehouseController : BaseController
+ {
+
+ IMmFinishedwarehouseService finishedwarehouseService;
+ public MmFinishedwarehouseController(IMmFinishedwarehouseService finishedwarehouseService)
+ {
+ this. finishedwarehouseService=finishedwarehouseService;
+ }
+
+
+ ///
+ /// 成品入库位置
+ ///
+ ///
+ [HttpGet("finish_point")]
+ public IActionResult Finish_point()
+ {
+ string[] response = finishedwarehouseService.Finish_point();
+
+ return SUCCESS(response);
+
+ }
+
+
+
+ }
+}
diff --git a/ZR.Service/mes/mm/IService/IMaterialInputService.cs b/ZR.Service/mes/mm/IService/IMaterialInputService.cs
index 559b9701..046e67e8 100644
--- a/ZR.Service/mes/mm/IService/IMaterialInputService.cs
+++ b/ZR.Service/mes/mm/IService/IMaterialInputService.cs
@@ -31,5 +31,9 @@ namespace ZR.Service.mes.mm.IService
int FinishBatchingTask(string start_point, string end_point, string taskId);
+ string[] Emptycarreturn_start();
+
+ string[] Emptycarreturn_end();
+
}
}
diff --git a/ZR.Service/mes/mm/IService/IMmFinishedwarehouseService.cs b/ZR.Service/mes/mm/IService/IMmFinishedwarehouseService.cs
new file mode 100644
index 00000000..2aca3e73
--- /dev/null
+++ b/ZR.Service/mes/mm/IService/IMmFinishedwarehouseService.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ZR.Service.mes.mm.IService
+{
+ public interface IMmFinishedwarehouseService
+ {
+ string[] Finish_point();
+ }
+}
diff --git a/ZR.Service/mes/mm/MaterialInputService.cs b/ZR.Service/mes/mm/MaterialInputService.cs
index 94f30292..1783a41d 100644
--- a/ZR.Service/mes/mm/MaterialInputService.cs
+++ b/ZR.Service/mes/mm/MaterialInputService.cs
@@ -27,6 +27,13 @@ namespace ZR.Service.mes.mm
[AppService(ServiceType = typeof(IMaterialInputService), ServiceLifetime = LifeTime.Transient)]
public class MaterialInputService : BaseService, IMaterialInputService
{
+ private NLog.Logger logger;
+
+ public MaterialInputService()
+ {
+ logger = NLog.LogManager.GetCurrentClassLogger();
+
+ }
///
/// 获取AGV上料起点
///
@@ -190,7 +197,7 @@ namespace ZR.Service.mes.mm
DateTime endOfDay = startOfDay.AddDays(1).AddTicks(-1);
return Context.Queryable()
.Where(it => it.CreatedTime > startOfDay && it.CreatedTime < endOfDay)
- .Where(it => it.Isfinal == 0)
+ //.Where(it => it.Isfinal == 0)
.GroupBy(it => it.TaskId)
.Select(it => new MmIngredientTask()
{
@@ -234,7 +241,11 @@ namespace ZR.Service.mes.mm
///
public string AGV_schedule(string start_point, string end_point)
{
+ // Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
+ // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
+
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask";
+ logger.Info(" 1.任务调度请求url " + url);
AGVtask_third task = new AGVtask_third();
task.reqCode = SnowFlakeSingle.Instance.NextId().ToString();
task.taskTyp = "F01";
@@ -257,8 +268,10 @@ namespace ZR.Service.mes.mm
task.priority = "1";
string postData = JsonSerializer.Serialize(task);
- string response = HttpHelper.HttpPost(url, postData);
+ logger.Info(" 2.任务调度请求数据 " + postData);
+ string response = HttpHelper.HttpPost(url, postData);
+ logger.Info(" 3.任务调度请求响应 " + response);
return response;
@@ -272,17 +285,21 @@ namespace ZR.Service.mes.mm
public string EmergencyStopAgv(string reqCode)
{
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/cancelTask";
+
+ logger.Info(" 1.紧急终止AGV请求url " + url);
AGVtask_cancel_third req = new AGVtask_cancel_third();
req.reqCode = SnowFlakeSingle.Instance.NextId().ToString();
req.forceCancel = "0";
req.taskCode = reqCode;
string postData = JsonSerializer.Serialize(req);
-
+ logger.Info(" 2.紧急终止AGV请求数据 " + postData);
string response = HttpHelper.HttpPost(url, postData);
+ logger.Info(" 3.紧急终止AGV响应数据 " + response);
+
return response;
@@ -300,11 +317,48 @@ namespace ZR.Service.mes.mm
int result = 0;
UseTran2(() =>
{
- Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
- Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
- result= Context.Updateable().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand();
+ // Context.Updateable().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
+ // Context.Updateable().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
+ result = Context.Updateable().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand();
});
- return result;
+ return result;
+ }
+
+
+ ///
+ /// 车间返程起点
+ ///
+ ///
+ public string[] Emptycarreturn_start()
+ {
+ List positions = Context.Queryable()
+ .Where(it => it.AreaCode == 3)
+
+ .ToList();
+
+ string[] cors = new string[positions.Count];
+ for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+
+ return cors;
+
+ }
+
+ ///
+ /// 车间返程终点
+ ///
+ ///
+ public string[] Emptycarreturn_end()
+ {
+ List positions = Context.Queryable()
+ .Where(it => it.AreaCode == 2)
+
+ .ToList();
+
+ string[] cors = new string[positions.Count];
+ for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+
+ return cors;
+
}
}
}
diff --git a/ZR.Service/mes/mm/MmFinishedwarehouseService.cs b/ZR.Service/mes/mm/MmFinishedwarehouseService.cs
new file mode 100644
index 00000000..9a2896c5
--- /dev/null
+++ b/ZR.Service/mes/mm/MmFinishedwarehouseService.cs
@@ -0,0 +1,31 @@
+using Infrastructure.Attribute;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using ZR.Model.MES.mm;
+using ZR.Service.mes.mm.IService;
+
+namespace ZR.Service.mes.mm
+{
+
+
+ [AppService(ServiceType = typeof(IMmFinishedwarehouseService), ServiceLifetime = LifeTime.Transient)]
+ public class MmFinishedwarehouseService : BaseService, IMmFinishedwarehouseService
+ {
+
+ public string[] Finish_point()
+ {
+ List positions = Context.Queryable()
+ .Where(it => it.AreaCode == 4|| it.AreaCode == 5)
+ .ToList();
+
+ string[] cors = new string[positions.Count];
+ for (int i = 0; i < positions.Count; i++) cors[i] = positions[i].Coordinate.ToString();
+
+ return cors;
+ }
+ }
+}
diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs
index 4c9c4377..7d8fb379 100644
--- a/ZR.Service/mes/wms/WmOutOrderService.cs
+++ b/ZR.Service/mes/wms/WmOutOrderService.cs
@@ -28,6 +28,11 @@ namespace ZR.Service.mes.wms
[AppService(ServiceType = typeof(IWmOutOrderService), ServiceLifetime = LifeTime.Transient)]
public class WmOutOrderService : BaseService, IWmOutOrderService
{
+ private NLog.Logger logger;
+ public WmOutOrderService()
+ {
+ logger = NLog.LogManager.GetCurrentClassLogger();
+ }
///
@@ -482,8 +487,8 @@ namespace ZR.Service.mes.wms
if (plan_earliest.Id == plan_item.Id)
{
#endregion
-
-
+
+
*/
@@ -688,7 +693,7 @@ namespace ZR.Service.mes.wms
// 5. 确保出最早批次
string short_path = resultionPackage.PatchCode.Split('_')[0];
// 严格规则
- return CheckRuleJudgmentFirstInFirstOut(shipment_num, short_path,parnumber);
+ return CheckRuleJudgmentFirstInFirstOut(shipment_num, short_path, parnumber);
/*WmOutOrderPlan plan_item = Context.Queryable()
.Where(it => it.FkOutOrderId == shipment_num)
.Where(it => it.Patchcode == short_path)
@@ -765,7 +770,7 @@ namespace ZR.Service.mes.wms
/// 短批次号
/// "ok" 代表通过,其余返回错误提示
///
- public string CheckRuleJudgmentFirstInFirstOut(string shipment_num, string shortPackageCode,string parnumber)
+ public string CheckRuleJudgmentFirstInFirstOut(string shipment_num, string shortPackageCode, string parnumber)
{
// 1.检查是否有记录
var exp1 = Expressionable.Create()
@@ -780,7 +785,7 @@ namespace ZR.Service.mes.wms
return "此批次号不在出库单计划中!";
}
-
+
// 1.取出出库单计划
List plans = Context.Queryable()
@@ -812,7 +817,7 @@ namespace ZR.Service.mes.wms
// 按顺序检查是否出完
if (plan.Patchcode != shortPackageCode)
{
-
+
// 检查此批次是否出完
if (outPartnumberNum >= plan.RequireNum)
{