using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Comm.LogInfo;
|
using WIDESEA_Core.EFDbContext;
|
using WIDESEA_Entity.DomainModels;
|
using WIDESEA_WCS.IRepositories;
|
using WIDESEA_WCS.IServices;
|
using WIDESEA_WCS.Repositories;
|
using WIDESEA_WCS.Services;
|
using WIDESEA_WMS.IRepositories;
|
using WIDESEA_WMS.Repositories;
|
|
namespace WIDESEA_WCS.JobsPart.Common
|
{
|
public class AutoUpdateWork
|
{
|
#region MyRegion
|
//static FreeDB freeDB = new FreeDB();
|
///// <summary>
|
///// 自动取空托任务
|
///// </summary>
|
//public static void HCJCreation()
|
//{
|
// try
|
// {
|
// List<dt_stationinfo> stationinfos = new List<dt_stationinfo>();
|
// for (int i = 1; i <= 3; i++)
|
// {
|
// for (int j = 1; j <= 3; j++)
|
// {
|
// dt_stationinfo stationinfo = new dt_stationinfo();
|
// stationinfo.id = Guid.NewGuid();
|
// stationinfo.stationCode = "X0" + i + (i <= 9 ? "00" + i : "0" + i) + (j <= 9 ? "00" + j : "0" + j);
|
// stationinfo.area = "5";
|
// stationinfo.enable = true;
|
// stationinfo.line = i;
|
// stationinfo.column = j;
|
// stationinfos.Add(stationinfo);
|
// }
|
// }
|
// freeDB.AddRange(stationinfos);
|
// }
|
// catch (Exception ex)
|
// {
|
|
// throw;
|
// }
|
//}
|
#endregion
|
|
/// <summary>
|
/// 查询已完成工单
|
/// </summary>
|
public static void FinishMesWork()
|
{
|
|
VOLContext context = new VOLContext();
|
Idt_mes_headRepository mes_HeadRepository = new dt_mes_headRepository(context);
|
Idt_inventoryRepository inventoryRepository = new dt_inventoryRepository(context);
|
Idt_management_timeRepository timeRepository = new dt_management_timeRepository(context);
|
|
var val = timeRepository.Find(x => x.management_name == "FinishMesWork").FirstOrDefault().management_numericalvalue;
|
var mes_heads = mes_HeadRepository.Find(x => x.quantity == x.finishNum || x.CreateTime.AddDays(val) < DateTime.Now).Take(10).ToList();
|
|
#region 检测线工单
|
var mes_head_jcxs = mes_heads.Where(x => x.processCode == "28").ToList();
|
if (mes_head_jcxs.Count > 0)
|
{
|
foreach (var mes_head in mes_head_jcxs)
|
{
|
AddHtyMesWork(mes_head, mes_HeadRepository);
|
}
|
}
|
#endregion
|
|
#region 机加工工单
|
var mes_head_jjgs = mes_heads.Where(x => x.processCode == "17").ToList();
|
if (mes_head_jjgs.Count > 0)
|
{
|
foreach (var mes_head in mes_head_jjgs)
|
{
|
var inventorys = inventoryRepository.Find(x => x.jobID == mes_head.jobID).ToList();
|
if (inventorys.Count == mes_head.quantity || inventorys.Count==0)
|
AddHtyMesWork(mes_head, mes_HeadRepository);
|
}
|
var k = "加载完成";
|
}
|
#endregion
|
}
|
|
/// <summary>
|
/// 已完成工单移入历史
|
/// </summary>
|
public static void AddHtyMesWork(dt_mes_head mes_Head, Idt_mes_headRepository mes_HeadRepository, string compeletor = "system", string operatetype = "自动完成")
|
{
|
try
|
{
|
VOLContext context = new VOLContext();
|
Idt_mes_detailRepository mes_DetailRepository = new dt_mes_detailRepository(context);
|
Idt_mes_detail_htyRepository mes_DetailRepository_hty = new dt_mes_detail_htyRepository(context);
|
Idt_mes_head_htyRepository mes_Head_HtyRepository = new dt_mes_head_htyRepository(context);
|
var mes_Details = mes_DetailRepository.Find(x => x.jobID == mes_Head.jobID).ToList();
|
if (mes_Details.Count > 0)
|
{
|
List<dt_mes_detail_hty> mes_Details_hty = new List<dt_mes_detail_hty>();
|
foreach (var mes_Detail in mes_Details)
|
{
|
dt_mes_detail_hty mes_Detail_Hty = new dt_mes_detail_hty
|
{
|
billetID = mes_Detail.billetID,
|
compeletor = compeletor,
|
FinishTime = mes_Detail.FinishTime,
|
heatBatchID = mes_Detail.heatBatchID,
|
heatID = mes_Detail.heatID,
|
jobID = mes_Detail.jobID,
|
mes_detail_id = mes_Detail.mes_detail_id,
|
mes_headID = mes_Detail.mes_headID,
|
operatetype = string.IsNullOrEmpty(mes_Detail.Status) ? "超时清理" : operatetype,
|
SN = mes_Detail.SN,
|
Status = mes_Detail.Status,
|
completedate = DateTime.Now,
|
};
|
mes_Details_hty.Add(mes_Detail_Hty);
|
mes_DetailRepository.Delete(mes_Detail, true);
|
}
|
mes_DetailRepository_hty.AddRange(mes_Details_hty, true);
|
}
|
dt_mes_head_hty mes_Head_Hty = new dt_mes_head_hty()
|
{
|
materialCode = mes_Head.materialCode,
|
area = mes_Head.area,
|
compeletor = compeletor,
|
creator = mes_Head.creator,
|
CreateTime = mes_Head.CreateTime,
|
drawingNo = mes_Head.drawingNo,
|
drawingNoVer = mes_Head.drawingNoVer,
|
jobID = mes_Head.jobID,
|
expectedFinishTime = mes_Head.expectedFinishTime,
|
quantity = mes_Head.quantity,
|
expectedStartTime = mes_Head.expectedStartTime,
|
finishNum = mes_Head.finishNum,
|
FinishTime = mes_Head.FinishTime,
|
maxDiameterDiff = mes_Head.maxDiameterDiff,
|
operatetype = operatetype,
|
processCode = mes_Head.processCode,
|
mes_id = mes_Head.mes_id,
|
skip_op_1 = mes_Head.skip_op_1,
|
skip_op_2 = mes_Head.skip_op_2,
|
skip_op_3 = mes_Head.skip_op_3,
|
stackNoRange = mes_Head.stackNoRange,
|
productDesc = mes_Head.productDesc,
|
productName = mes_Head.productName,
|
reqID = mes_Head.reqID,
|
reqIDLineNo = mes_Head.reqIDLineNo,
|
typeID = mes_Head.typeID,
|
workOrder = mes_Head.workOrder,
|
completedate = DateTime.Now,
|
};
|
mes_Head_HtyRepository.Add(mes_Head_Hty, true);
|
mes_HeadRepository.Delete(mes_Head, true);
|
WriteDBLog.Success("处理已完成工单", $"工单编号:{mes_Head.jobID}", "PCS", compeletor);
|
}
|
catch (Exception ex)
|
{
|
WriteDBLog.Error("处理已完成工单", $"错误信息:{ex.Message}", "PCS", compeletor);
|
}
|
}
|
}
|
}
|