配料任务完成
This commit is contained in:
@@ -76,39 +76,45 @@ namespace ZR.Service.mes.mm
|
|||||||
DayOfWeek dayOfWeek = datetimespan.DayOfWeek;
|
DayOfWeek dayOfWeek = datetimespan.DayOfWeek;
|
||||||
int dayOfWeekNumber = (int)dayOfWeek + 1; // 将 DayOfWeek 枚举转换为从 1 开始的数字
|
int dayOfWeekNumber = (int)dayOfWeek + 1; // 将 DayOfWeek 枚举转换为从 1 开始的数字
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<ProWorkorder_v2> WorkorderList = Context.Queryable<ProWorkorder_v2>()
|
List<ProWorkorder_v2> WorkorderList = Context.Queryable<ProWorkorder_v2>()
|
||||||
.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.Remark3=="是")
|
.Where(it => it.Remark3 == "是")
|
||||||
.ToList();
|
.ToList();
|
||||||
string[] workorderArray=new string[WorkorderList.Count];
|
foreach (ProWorkorder_v2 workorder in WorkorderList)
|
||||||
for(int i = 0; i< WorkorderList.Count; i++)
|
|
||||||
{
|
{
|
||||||
workorderArray[i] = WorkorderList[i].ClientWorkorder;
|
bool isExist = Context.Queryable<MmFkWorkorderIngredient>()
|
||||||
}
|
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
||||||
// 配料list
|
.Any();
|
||||||
List<MmFkWorkorderIngredient> ingredients=Context.Queryable<MmFkWorkorderIngredient>()
|
|
||||||
.Where(it=> workorderArray.Contains(it.FkWorkorder))
|
if (!isExist)
|
||||||
.Where(it=> it.Isingredient==0)
|
|
||||||
.ToList();
|
|
||||||
for (int i = 0; i < WorkorderList.Count; i++)
|
|
||||||
{
|
|
||||||
for (int j = 0; j < ingredients.Count; j++)
|
|
||||||
{
|
{
|
||||||
if (ingredients[j].FkWorkorder == WorkorderList[i].ClientWorkorder)
|
MmFkWorkorderIngredient ingredient = new MmFkWorkorderIngredient();
|
||||||
|
ingredient.FkWorkorder = workorder.ClientWorkorder;
|
||||||
|
ingredient.Isingredient = 0;
|
||||||
|
ingredient.Remian = workorder.PreviousNumber;
|
||||||
|
ingredient.CreatedTime = DateTime.Now;
|
||||||
|
Context.Insertable(ingredient).ExecuteCommand();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var ingredient = Context.Queryable<MmFkWorkorderIngredient>()
|
||||||
|
.Where(it => it.FkWorkorder == workorder.ClientWorkorder)
|
||||||
|
.First();
|
||||||
|
if (ingredient != null)
|
||||||
{
|
{
|
||||||
WorkorderList[i].PreviousNumber = ingredients[j].Remian ?? 0;
|
workorder.PreviousNumber = ingredient.Remian ?? 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return WorkorderList;
|
return WorkorderList.Where(it => it.PreviousNumber > 0).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -116,56 +122,52 @@ namespace ZR.Service.mes.mm
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="task"></param>
|
/// <param name="task"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public int Generatetask(IngredientTaskDto task,string name)
|
public int Generatetask(IngredientTaskDto task, string name)
|
||||||
{
|
{
|
||||||
List<MmIngredientTask> ingredientTasks=new List<MmIngredientTask> ();
|
List<MmIngredientTask> ingredientTasks = new List<MmIngredientTask>();
|
||||||
long taskid= SnowFlakeSingle.Instance.NextId();
|
long taskid = SnowFlakeSingle.Instance.NextId();
|
||||||
foreach (var item in task.workorders)
|
foreach (var item in task.workorders)
|
||||||
{
|
{
|
||||||
//TODO 处理 未完成的工单
|
//todo 更改待上料数量
|
||||||
//1 判断为未完成的工单
|
int remian = item.previousNumber - item.previousNumbered;
|
||||||
if (item.previousNumber > item.previousNumbered)
|
if (remian == 0)
|
||||||
{
|
|
||||||
int remain = item.previousNumber - item.previousNumbered;
|
|
||||||
|
|
||||||
//插入或者修改
|
|
||||||
MmFkWorkorderIngredient ingredient=new MmFkWorkorderIngredient();
|
|
||||||
ingredient.FkWorkorder=item.workorder;
|
|
||||||
ingredient.Isingredient=0;
|
|
||||||
ingredient.Remian = remain;
|
|
||||||
ingredient.CreatedTime=DateTime.Now;
|
|
||||||
ingredient.UpdatedTime=DateTime.Now;
|
|
||||||
|
|
||||||
var x = Context.Storageable(ingredient).ToStorage();
|
|
||||||
x.AsInsertable.ExecuteCommand();//不存在插入
|
|
||||||
x.AsUpdateable.IgnoreColumns(z => z.CreatedTime).ExecuteCommand();//存在更新
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (item.previousNumber==item.previousNumbered)
|
|
||||||
{
|
{
|
||||||
Context.Updateable<MmFkWorkorderIngredient>()
|
Context.Updateable<MmFkWorkorderIngredient>()
|
||||||
.SetColumns(it => it.Isingredient == 1)
|
.Where(it => it.FkWorkorder == item.workorder)
|
||||||
.SetColumns(it => it.Remian == 0)
|
.SetColumns(it => it.Remian == remian)
|
||||||
.Where(it => it.FkWorkorder == item.workorder).ExecuteCommand();
|
.SetColumns(it => it.Isingredient == 1)
|
||||||
|
.SetColumns(it => it.UpdatedTime == DateTime.Now)
|
||||||
|
.ExecuteCommand();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Context.Updateable<MmFkWorkorderIngredient>()
|
||||||
|
.Where(it => it.FkWorkorder == item.workorder)
|
||||||
|
.SetColumns(it => it.Remian == remian)
|
||||||
|
.SetColumns(it => it.UpdatedTime == DateTime.Now)
|
||||||
|
.ExecuteCommand();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MmIngredientTask ingredientTask = new MmIngredientTask();
|
MmIngredientTask ingredientTask = new MmIngredientTask();
|
||||||
ingredientTask.AgvPosition = task.agv_position;
|
ingredientTask.AgvPosition = task.agv_position;
|
||||||
ingredientTask.TaskId = taskid;
|
ingredientTask.TaskId = taskid;
|
||||||
ingredientTask.Workorder = item.workorder;
|
ingredientTask.Workorder = item.workorder;
|
||||||
ingredientTask.Partnumber = item.partnumber;
|
ingredientTask.Partnumber = item.partnumber;
|
||||||
ingredientTask.PreviousNumber = item.previousNumber;
|
ingredientTask.PreviousNumber = item.previousNumber;
|
||||||
ingredientTask.PreviousNumbered=item.previousNumbered;
|
ingredientTask.PreviousNumbered = item.previousNumbered;
|
||||||
ingredientTask.CreatedBy = name;
|
ingredientTask.CreatedBy = name;
|
||||||
ingredientTask.CreatedTime=DateTime.Now;
|
ingredientTask.CreatedTime = DateTime.Now;
|
||||||
|
|
||||||
|
|
||||||
ingredientTasks.Add(ingredientTask);
|
ingredientTasks.Add(ingredientTask);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Context.Insertable(ingredientTasks).ExecuteCommand();
|
return Context.Insertable(ingredientTasks).ExecuteCommand();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user