This commit is contained in:
qianhao.xu
2024-05-13 10:05:09 +08:00
parent cc50aa458a
commit e24a6de4c8
4 changed files with 53 additions and 30 deletions

View File

@@ -78,7 +78,7 @@ namespace ZR.Service.mes.mm
/// </summary>
/// <param name="datetimespan"></param>
/// <returns></returns>
public (List<ProWorkorder_v2>,int) Getworkorderlist(WorkorderqueryDto query)
public (List<ProWorkorder_v2>, int) Getworkorderlist(WorkorderqueryDto query)
{
DateTime datetimespan = query.datetimespan;
@@ -97,19 +97,21 @@ namespace ZR.Service.mes.mm
.Where(it => it.Year == year)
.Where(it => it.Week == week)
.Where(it => it.Date == dayOfWeekNumber)
.Where(it=>it.Status==0)
.Where(it => it.Remark3 == "是" || it.Remark1 == "调试")
.ToList();
// .ToPageList(query.pageNum??1, query.pageSize??10, ref total);
// .ToPageList(query.pageNum??1, query.pageSize??10, ref total);
foreach (ProWorkorder_v2 workorder in WorkorderList)
{
if(string.IsNullOrEmpty(workorder.ClientWorkorder))
if (string.IsNullOrEmpty(workorder.ClientWorkorder))
{
workorder.ClientWorkorder = "调试:" + workorder.Id;
}
// 配料任务
bool isExist = Context.Queryable<MmFkWorkorderIngredient>()
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
.Where(it => it.FkBlanknumber == workorder.BlankNumber)
.Any();
if (!isExist)
@@ -117,28 +119,33 @@ namespace ZR.Service.mes.mm
//插入配料任务
MmFkWorkorderIngredient ingredient = new MmFkWorkorderIngredient();
ingredient.FkWorkorder = workorder.ClientWorkorder ?? ("调试:" + workorder.Id);
ingredient.FkBlanknumber = workorder.BlankNumber;
ingredient.Isingredient = 0;
ingredient.Remian = workorder.PreviousNumber;
ingredient.Previous_numbered = workorder.PreviousNumber;
ingredient.CreatedTime = DateTime.Now;
Context.Insertable(ingredient).ExecuteCommand();
}
else
{
// todo 有个漏洞 如果计划单 修改数量 remian 就不对
var ingredient = Context.Queryable<MmFkWorkorderIngredient>()
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
.First();
.Where(it => it.FkBlanknumber == workorder.BlankNumber)
.First();
if (ingredient != null)
{
workorder.PreviousNumber = ingredient.Remian ?? 0;
workorder.PreviousNumber = workorder.PreviousNumber - ingredient.Previous_numbered ?? 0;
}
}
}
WorkorderList.RemoveAll(num => num.PreviousNumber <= 0);
total= WorkorderList.Count;
total = WorkorderList.Count;
int skip = ((query.pageNum ?? 1)-1)*(query.pageSize ?? 10);
var returndata= WorkorderList
int skip = ((query.pageNum ?? 1) - 1) * (query.pageSize ?? 10);
var returndata = WorkorderList
.OrderBy(it => it.ClientWorkorder)
.Skip(skip)
.Take(query.pageSize ?? 10)
@@ -164,7 +171,8 @@ namespace ZR.Service.mes.mm
{
Context.Updateable<MmFkWorkorderIngredient>()
.Where(it => it.FkWorkorder == item.workorder)
.SetColumns(it => it.Remian == remian)
.Where(it => it.FkBlanknumber == item.blanknumber)
.SetColumns(it => it.Previous_numbered == item.previousNumbered)
.SetColumns(it => it.Isingredient == 1)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
.ExecuteCommand();
@@ -174,8 +182,10 @@ namespace ZR.Service.mes.mm
{
Context.Updateable<MmFkWorkorderIngredient>()
.Where(it => it.FkWorkorder == item.workorder)
.SetColumns(it => it.Remian == remian)
.Where(it => it.FkBlanknumber == item.blanknumber)
.SetColumns(it => it.Previous_numbered == item.previousNumbered)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
.SetColumns(it => it.Isingredient == 0)
.ExecuteCommand();
}
@@ -185,7 +195,7 @@ namespace ZR.Service.mes.mm
ingredientTask.AgvPosition = task.agv_position;
ingredientTask.TaskId = taskid.ToString();
ingredientTask.Workorder = item.workorder;
ingredientTask.Partnumber = item.partnumber;
ingredientTask.Blanknumber = item.blanknumber;
ingredientTask.Isfinal = 0;
ingredientTask.PreviousNumber = item.previousNumber;
ingredientTask.PreviousNumbered = item.previousNumbered;
@@ -260,22 +270,22 @@ namespace ZR.Service.mes.mm
/// <returns></returns>
public string AGV_schedule(string start_point, string end_point)
{
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable<MmAgvLocation>().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";
// MmAgvLocation start_object = Context.Queryable<MmAgvLocation>().Where(it => it.Coordinate == start_point).First();
// MmAgvLocation end_object = Context.Queryable<MmAgvLocation>().Where(it => it.Coordinate == end_point).First();
// MmAgvLocation start_object = Context.Queryable<MmAgvLocation>().Where(it => it.Coordinate == start_point).First();
// MmAgvLocation end_object = Context.Queryable<MmAgvLocation>().Where(it => it.Coordinate == end_point).First();
//判断是否跨楼层
if(end_point=="R1"|| start_point == "R1")
if (end_point == "R1" || start_point == "R1")
{
task.taskTyp = "KLC";
}
task.positionCodePath = new List<AGV_location_third>
{
new AGV_location_third()
@@ -311,7 +321,7 @@ namespace ZR.Service.mes.mm
/// <param name="reqCode"></param>
public string EmergencyStopAgv(string reqCode)
{
logger.Info("\n 0.取消任务taskcode= "+ reqCode);
logger.Info("\n 0.取消任务taskcode= " + reqCode);
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/cancelTask";
logger.Info(" 1.紧急终止AGV请求url " + url);
@@ -345,15 +355,15 @@ namespace ZR.Service.mes.mm
int result = 0;
UseTran2(() =>
{
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
result = Context.Updateable<MmIngredientTask>().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand();
List<MmIngredientTask> tasks= Context.Queryable<MmIngredientTask>().Where(it => it.TaskId.Equals(taskId)).ToList();
for(int i=0; i<tasks.Count; i++)
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).ExecuteCommand();
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
result = Context.Updateable<MmIngredientTask>().Where(it => it.TaskId.Equals(taskId)).SetColumns(it => it.Isfinal == 1).ExecuteCommand();
List<MmIngredientTask> tasks = Context.Queryable<MmIngredientTask>().Where(it => it.TaskId.Equals(taskId)).ToList();
for (int i = 0; i < tasks.Count; i++)
{
if (!string.IsNullOrEmpty(tasks[i].Workorder))
{
Context.Updateable<ProWorkorder_v2>().Where(it=>it.ClientWorkorder== tasks[i].Workorder).SetColumns(it => it.Status == 1).ExecuteCommand();
Context.Updateable<ProWorkorder_v2>().Where(it => it.ClientWorkorder == tasks[i].Workorder).SetColumns(it => it.Status == 1).ExecuteCommand();
}
}