修改
This commit is contained in:
@@ -17,7 +17,9 @@ namespace ZR.Model.MES.mm.Dto
|
|||||||
public class Workerorder_Ingredient
|
public class Workerorder_Ingredient
|
||||||
{
|
{
|
||||||
public string workorder { set; get; }
|
public string workorder { set; get; }
|
||||||
public string partnumber { set; get; }
|
|
||||||
|
public string blanknumber { set; get; }
|
||||||
|
|
||||||
public int previousNumber { set; get; }
|
public int previousNumber { set; get; }
|
||||||
public int previousNumbered { set; get; }
|
public int previousNumbered { set; get; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,12 @@ namespace ZR.Service.mes.mm
|
|||||||
[SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_workorder")]
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_workorder")]
|
||||||
public string FkWorkorder { get; set; }
|
public string FkWorkorder { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 毛坯号
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "fk_blanknumber")]
|
||||||
|
public string FkBlanknumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否完成配料
|
/// 是否完成配料
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -33,7 +39,11 @@ namespace ZR.Service.mes.mm
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 剩余的待上件数量
|
/// 剩余的待上件数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? Remian { get; set; }
|
[SugarColumn(ColumnName = "previous_numbered")]
|
||||||
|
public int? Previous_numbered { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// CreatedBy
|
/// CreatedBy
|
||||||
|
|||||||
@@ -36,9 +36,10 @@ namespace ZR.Model.MES.mm
|
|||||||
public string Workorder { get; set; }
|
public string Workorder { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 零件号id
|
/// 毛坯号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Partnumber { get; set; }
|
[SugarColumn(ColumnName = "blanknumber")]
|
||||||
|
public string Blanknumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 上件数
|
/// 上件数
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ namespace ZR.Service.mes.mm
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="datetimespan"></param>
|
/// <param name="datetimespan"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public (List<ProWorkorder_v2>,int) Getworkorderlist(WorkorderqueryDto query)
|
public (List<ProWorkorder_v2>, int) Getworkorderlist(WorkorderqueryDto query)
|
||||||
{
|
{
|
||||||
DateTime datetimespan = query.datetimespan;
|
DateTime datetimespan = query.datetimespan;
|
||||||
|
|
||||||
@@ -97,19 +97,21 @@ namespace ZR.Service.mes.mm
|
|||||||
.Where(it => it.Year == year)
|
.Where(it => it.Year == year)
|
||||||
.Where(it => it.Week == week)
|
.Where(it => it.Week == week)
|
||||||
.Where(it => it.Date == dayOfWeekNumber)
|
.Where(it => it.Date == dayOfWeekNumber)
|
||||||
|
.Where(it=>it.Status==0)
|
||||||
.Where(it => it.Remark3 == "是" || it.Remark1 == "调试")
|
.Where(it => it.Remark3 == "是" || it.Remark1 == "调试")
|
||||||
.ToList();
|
.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)
|
foreach (ProWorkorder_v2 workorder in WorkorderList)
|
||||||
{
|
{
|
||||||
if(string.IsNullOrEmpty(workorder.ClientWorkorder))
|
if (string.IsNullOrEmpty(workorder.ClientWorkorder))
|
||||||
{
|
{
|
||||||
workorder.ClientWorkorder = "调试:" + workorder.Id;
|
workorder.ClientWorkorder = "调试:" + workorder.Id;
|
||||||
}
|
}
|
||||||
// 配料任务
|
// 配料任务
|
||||||
bool isExist = Context.Queryable<MmFkWorkorderIngredient>()
|
bool isExist = Context.Queryable<MmFkWorkorderIngredient>()
|
||||||
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
||||||
|
.Where(it => it.FkBlanknumber == workorder.BlankNumber)
|
||||||
.Any();
|
.Any();
|
||||||
|
|
||||||
if (!isExist)
|
if (!isExist)
|
||||||
@@ -117,28 +119,33 @@ namespace ZR.Service.mes.mm
|
|||||||
//插入配料任务
|
//插入配料任务
|
||||||
MmFkWorkorderIngredient ingredient = new MmFkWorkorderIngredient();
|
MmFkWorkorderIngredient ingredient = new MmFkWorkorderIngredient();
|
||||||
ingredient.FkWorkorder = workorder.ClientWorkorder ?? ("调试:" + workorder.Id);
|
ingredient.FkWorkorder = workorder.ClientWorkorder ?? ("调试:" + workorder.Id);
|
||||||
|
ingredient.FkBlanknumber = workorder.BlankNumber;
|
||||||
ingredient.Isingredient = 0;
|
ingredient.Isingredient = 0;
|
||||||
ingredient.Remian = workorder.PreviousNumber;
|
ingredient.Previous_numbered = workorder.PreviousNumber;
|
||||||
ingredient.CreatedTime = DateTime.Now;
|
ingredient.CreatedTime = DateTime.Now;
|
||||||
Context.Insertable(ingredient).ExecuteCommand();
|
Context.Insertable(ingredient).ExecuteCommand();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// todo 有个漏洞 如果计划单 修改数量 remian 就不对
|
||||||
var ingredient = Context.Queryable<MmFkWorkorderIngredient>()
|
var ingredient = Context.Queryable<MmFkWorkorderIngredient>()
|
||||||
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
||||||
.First();
|
.Where(it => it.FkBlanknumber == workorder.BlankNumber)
|
||||||
|
.First();
|
||||||
|
|
||||||
if (ingredient != null)
|
if (ingredient != null)
|
||||||
{
|
{
|
||||||
workorder.PreviousNumber = ingredient.Remian ?? 0;
|
workorder.PreviousNumber = workorder.PreviousNumber - ingredient.Previous_numbered ?? 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WorkorderList.RemoveAll(num => num.PreviousNumber <= 0);
|
WorkorderList.RemoveAll(num => num.PreviousNumber <= 0);
|
||||||
total= WorkorderList.Count;
|
total = WorkorderList.Count;
|
||||||
|
|
||||||
int skip = ((query.pageNum ?? 1)-1)*(query.pageSize ?? 10);
|
int skip = ((query.pageNum ?? 1) - 1) * (query.pageSize ?? 10);
|
||||||
var returndata= WorkorderList
|
var returndata = WorkorderList
|
||||||
.OrderBy(it => it.ClientWorkorder)
|
.OrderBy(it => it.ClientWorkorder)
|
||||||
.Skip(skip)
|
.Skip(skip)
|
||||||
.Take(query.pageSize ?? 10)
|
.Take(query.pageSize ?? 10)
|
||||||
@@ -164,7 +171,8 @@ namespace ZR.Service.mes.mm
|
|||||||
{
|
{
|
||||||
Context.Updateable<MmFkWorkorderIngredient>()
|
Context.Updateable<MmFkWorkorderIngredient>()
|
||||||
.Where(it => it.FkWorkorder == item.workorder)
|
.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.Isingredient == 1)
|
||||||
.SetColumns(it => it.UpdatedTime == DateTime.Now)
|
.SetColumns(it => it.UpdatedTime == DateTime.Now)
|
||||||
.ExecuteCommand();
|
.ExecuteCommand();
|
||||||
@@ -174,8 +182,10 @@ namespace ZR.Service.mes.mm
|
|||||||
{
|
{
|
||||||
Context.Updateable<MmFkWorkorderIngredient>()
|
Context.Updateable<MmFkWorkorderIngredient>()
|
||||||
.Where(it => it.FkWorkorder == item.workorder)
|
.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.UpdatedTime == DateTime.Now)
|
||||||
|
.SetColumns(it => it.Isingredient == 0)
|
||||||
.ExecuteCommand();
|
.ExecuteCommand();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -185,7 +195,7 @@ namespace ZR.Service.mes.mm
|
|||||||
ingredientTask.AgvPosition = task.agv_position;
|
ingredientTask.AgvPosition = task.agv_position;
|
||||||
ingredientTask.TaskId = taskid.ToString();
|
ingredientTask.TaskId = taskid.ToString();
|
||||||
ingredientTask.Workorder = item.workorder;
|
ingredientTask.Workorder = item.workorder;
|
||||||
ingredientTask.Partnumber = item.partnumber;
|
ingredientTask.Blanknumber = item.blanknumber;
|
||||||
ingredientTask.Isfinal = 0;
|
ingredientTask.Isfinal = 0;
|
||||||
ingredientTask.PreviousNumber = item.previousNumber;
|
ingredientTask.PreviousNumber = item.previousNumber;
|
||||||
ingredientTask.PreviousNumbered = item.previousNumbered;
|
ingredientTask.PreviousNumbered = item.previousNumbered;
|
||||||
@@ -260,22 +270,22 @@ namespace ZR.Service.mes.mm
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public string AGV_schedule(string start_point, string end_point)
|
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 == 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 == end_point).SetColumns(it => it.Status == 1).ExecuteCommand();
|
||||||
|
|
||||||
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask";
|
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/genAgvSchedulingTask";
|
||||||
logger.Info(" 1.任务调度请求url " + url);
|
logger.Info(" 1.任务调度请求url " + url);
|
||||||
AGVtask_third task = new AGVtask_third();
|
AGVtask_third task = new AGVtask_third();
|
||||||
task.reqCode = SnowFlakeSingle.Instance.NextId().ToString();
|
task.reqCode = SnowFlakeSingle.Instance.NextId().ToString();
|
||||||
task.taskTyp = "F01";
|
task.taskTyp = "F01";
|
||||||
// MmAgvLocation start_object = Context.Queryable<MmAgvLocation>().Where(it => it.Coordinate == start_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();
|
// 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.taskTyp = "KLC";
|
||||||
}
|
}
|
||||||
|
|
||||||
task.positionCodePath = new List<AGV_location_third>
|
task.positionCodePath = new List<AGV_location_third>
|
||||||
{
|
{
|
||||||
new AGV_location_third()
|
new AGV_location_third()
|
||||||
@@ -311,7 +321,7 @@ namespace ZR.Service.mes.mm
|
|||||||
/// <param name="reqCode"></param>
|
/// <param name="reqCode"></param>
|
||||||
public string EmergencyStopAgv(string reqCode)
|
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";
|
string url = "https://192.168.60.1:443/rcms/services/rest/hikRpcService/cancelTask";
|
||||||
|
|
||||||
logger.Info(" 1.紧急终止AGV请求url " + url);
|
logger.Info(" 1.紧急终止AGV请求url " + url);
|
||||||
@@ -345,15 +355,15 @@ namespace ZR.Service.mes.mm
|
|||||||
int result = 0;
|
int result = 0;
|
||||||
UseTran2(() =>
|
UseTran2(() =>
|
||||||
{
|
{
|
||||||
// Context.Updateable<MmAgvLocation>().Where(it => it.Coordinate == start_point).SetColumns(it => it.Status == 0).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();
|
// 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();
|
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();
|
List<MmIngredientTask> tasks = Context.Queryable<MmIngredientTask>().Where(it => it.TaskId.Equals(taskId)).ToList();
|
||||||
for(int i=0; i<tasks.Count; i++)
|
for (int i = 0; i < tasks.Count; i++)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(tasks[i].Workorder))
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user