修改班别自定义
This commit is contained in:
parent
a6e674bb13
commit
a36c9517ef
@ -38,8 +38,11 @@ namespace WaterCloud.Service.AutoJob
|
||||
var orderIds = ordernotes.Select(a => a.F_Id).ToList();
|
||||
//获取当前天
|
||||
DateTime currentdate = DateTime.Now.Date;
|
||||
if (DateTime.Now.Hour < 8)
|
||||
{
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
currentdate = currentdate.AddDays(-1);
|
||||
}
|
||||
//到期的订单先结案
|
||||
@ -114,10 +117,6 @@ namespace WaterCloud.Service.AutoJob
|
||||
//今天的计划加进计划库存中
|
||||
var tempinplan = inPlans.Where(a => a.F_PlanTime >= currentdate && a.F_PlanTime < currentdate.AddDays(1) && a.F_InStorageState < 2).ToList();
|
||||
var tempoutplan = outPlans.Where(a => a.F_PlanTime >= currentdate && a.F_PlanTime < currentdate.AddDays(1) && a.F_OutStorageState < 2).ToList();
|
||||
//班别
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
tempinplan = inPlans.Where(a => a.F_PlanTime < currentdate.AddDays(2) && a.F_InStorageState <= 2).ToList();
|
||||
@ -625,20 +624,34 @@ namespace WaterCloud.Service.AutoJob
|
||||
private async Task<List<MaterialEntity>> GetCurrentClassNumStorage()
|
||||
{
|
||||
DateTime checkdate = DateTime.Now.Date;
|
||||
DateTime starttime = DateTime.Now.Date.AddHours(8);
|
||||
DateTime endtime = DateTime.Now.Date.AddHours(20);
|
||||
string classNum = "A";
|
||||
if (DateTime.Now.Hour < 8 || DateTime.Now.Hour >= 20)
|
||||
{
|
||||
if (DateTime.Now.Hour < 8)
|
||||
DateTime starttime = DateTime.Now.Date;
|
||||
DateTime endtime = DateTime.Now.Date;
|
||||
string classNum = "";
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int j = 0; j < classNums.Count(); j++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (DateTime.Now> DateTime.Now.Date.AddMinutes(tempStartTime)&& DateTime.Now <= DateTime.Now.Date.AddMinutes(tempEndTime))
|
||||
{
|
||||
checkdate = DateTime.Now.Date.AddDays(-1);
|
||||
}
|
||||
classNum = "B";
|
||||
starttime = checkdate.AddHours(20);
|
||||
endtime = checkdate.AddHours(32);
|
||||
}
|
||||
var materials = _context.Query<MaterialEntity>(a => a.F_EnabledMark == true && a.F_DeleteMark == false).OrderByDesc(a => a.F_MaterialType).ToList();
|
||||
classNum = classNums[j].F_ItemCode;
|
||||
starttime = DateTime.Now.Date.AddMinutes(tempStartTime);
|
||||
endtime = DateTime.Now.Date.AddMinutes(tempEndTime);
|
||||
break;
|
||||
}
|
||||
tempStartTime += tempEndTime;
|
||||
}
|
||||
var materials = _context.Query<MaterialEntity>(a => a.F_EnabledMark == true && a.F_DeleteMark == false).OrderByDesc(a => a.F_MaterialType).ToList();
|
||||
foreach (var item in materials)
|
||||
{
|
||||
var CurrentNum = _context.Query<StorageEntity>(a => a.F_MaterialId == item.F_Id && a.F_IsCheckout != false).Sum(a => a.F_Num) ?? 0;
|
||||
|
||||
@ -9,6 +9,7 @@ using WaterCloud.Domain.MaterialManage;
|
||||
using WaterCloud.Domain.QualityManage;
|
||||
using WaterCloud.Domain.ReportRecord;
|
||||
using WaterCloud.Service.ReportRecord;
|
||||
using WaterCloud.Service.SystemManage;
|
||||
|
||||
namespace WaterCloud.Service.AutoJob
|
||||
{
|
||||
@ -16,27 +17,75 @@ namespace WaterCloud.Service.AutoJob
|
||||
{
|
||||
private IWebHostEnvironment _hostingEnvironment;
|
||||
private IDbContext _context;
|
||||
public CheckDateStorageJob(IDbContext context)
|
||||
private ItemsDataService itemsApp;
|
||||
public CheckDateStorageJob(IDbContext context)
|
||||
{
|
||||
_hostingEnvironment = GlobalContext.HostingEnvironment;
|
||||
_context = context;
|
||||
}
|
||||
itemsApp = new ItemsDataService(context);
|
||||
}
|
||||
public async Task<AlwaysResult> Start()
|
||||
{
|
||||
AlwaysResult obj = new AlwaysResult();
|
||||
try
|
||||
{
|
||||
DateTime checkdate = DateTime.Now.Date;
|
||||
DateTime starttime = DateTime.Now.Date.AddHours(8);
|
||||
DateTime endtime = DateTime.Now.Date.AddHours(20);
|
||||
string classNum = "A";
|
||||
if (DateTime.Now.Hour >= 8 && DateTime.Now.Hour < 20)
|
||||
DateTime starttime = DateTime.Now.Date;
|
||||
DateTime endtime = DateTime.Now.Date;
|
||||
string classNum = "";
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var tempStartTime = classStartTime.TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
var selectClass = 0;
|
||||
for (int i = 0; i < classNums.Count(); i++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (checkdate.AddMinutes(tempStartTime) < DateTime.Now && checkdate.AddMinutes(tempEndTime) >= DateTime.Now)
|
||||
{
|
||||
selectClass = i-1;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
if (selectClass < 0)
|
||||
{
|
||||
checkdate = DateTime.Now.Date.AddDays(-1);
|
||||
classNum = "B";
|
||||
starttime = checkdate.AddHours(20);
|
||||
endtime = checkdate.AddHours(32);
|
||||
}
|
||||
selectClass = classNums.Count() - 1;
|
||||
}
|
||||
for (int i = 0; i < classNums.Count(); i++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (i == selectClass)
|
||||
{
|
||||
starttime = checkdate.AddMinutes(tempStartTime);
|
||||
endtime = checkdate.AddMinutes(tempEndTime);
|
||||
if (starttime>DateTime.Now)
|
||||
{
|
||||
checkdate = DateTime.Now.Date.AddDays(-1);
|
||||
starttime = starttime.AddDays(-1);
|
||||
endtime = endtime.AddDays(-1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
List<CheckDateStorageEntity> list = new List<CheckDateStorageEntity>();
|
||||
var materials = _context.Query<MaterialEntity>(a => a.F_EnabledMark == true && a.F_DeleteMark == false).ToList();
|
||||
foreach (var item in materials)
|
||||
|
||||
@ -1,286 +0,0 @@
|
||||
using Chloe;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using WaterCloud.Code;
|
||||
using WaterCloud.Domain.ClassTask;
|
||||
using WaterCloud.Domain.EquipmentManage;
|
||||
using WaterCloud.Domain.ProcessManage;
|
||||
using WaterCloud.Domain.SystemManage;
|
||||
|
||||
namespace WaterCloud.Service.AutoJob
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 设备急停停机任务
|
||||
/// </summary>
|
||||
public class CheckEqpStopJob : IJobTask
|
||||
{
|
||||
private IWebHostEnvironment _hostingEnvironment;
|
||||
private IDbContext _context;
|
||||
|
||||
public CheckEqpStopJob(IDbContext context)
|
||||
{
|
||||
_hostingEnvironment = GlobalContext.HostingEnvironment;
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public async Task<AlwaysResult> Start()
|
||||
{
|
||||
AlwaysResult obj = new AlwaysResult();
|
||||
string month = DateTime.Now.ToString("yyyyMM");
|
||||
string shift = "白班";
|
||||
string classnum = "A";
|
||||
int hour = DateTime.Now.Hour;
|
||||
int day = DateTime.Now.Day;
|
||||
DateTime date = DateTime.Now;
|
||||
string dateString = date.ToString("yyyyMMdd");
|
||||
|
||||
DateTime datebgn = DateTime.Now.Date.AddHours(8);
|
||||
DateTime dateend = DateTime.Now.Date.AddHours(20);
|
||||
|
||||
if (hour >= 20 && hour < 24)
|
||||
{
|
||||
shift = "夜班";
|
||||
classnum = "B";
|
||||
|
||||
datebgn = DateTime.Now.Date.AddHours(20);
|
||||
dateend = DateTime.Now.Date.AddDays(1).AddHours(8);
|
||||
}
|
||||
else if (hour >= 0 && hour < 8)
|
||||
{
|
||||
day = day - 1;
|
||||
shift = "夜班";
|
||||
date = date.AddDays(-1);
|
||||
dateString = date.ToString("yyyyMMdd");
|
||||
classnum = "B";
|
||||
|
||||
datebgn = DateTime.Now.Date.AddDays(-1).AddHours(20);
|
||||
dateend = DateTime.Now.Date.AddHours(8);
|
||||
|
||||
}
|
||||
try
|
||||
{
|
||||
var stopConfig = _context.Query<ItemsEntity>(t => t.F_EnCode == "Mes_StopConfig")
|
||||
.LeftJoin<ItemsDetailEntity>((a, b) => a.F_Id == b.F_ItemId && b.F_EnabledMark == true)
|
||||
.Select((a, b) => b).ToList();
|
||||
|
||||
foreach (var item in stopConfig)
|
||||
{
|
||||
switch (item.F_ItemCode)
|
||||
{
|
||||
//质检异常
|
||||
case "0":
|
||||
await this.setEqpPqcCheckResult(day, dateString, shift);
|
||||
//await this.setIsOpenWorkOrderResult(date, classnum, dateString, shift);
|
||||
break;
|
||||
//是否开立工单
|
||||
case "1":
|
||||
await this.setIsOpenWorkOrderResult(date, classnum, dateString, shift);
|
||||
break;
|
||||
//未及时上下料
|
||||
case "2":
|
||||
await this.setIsLoadingCompletedIntime(datebgn, dateend, dateString, shift);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
obj.state = ResultType.success.ToString();
|
||||
obj.message = "设备急停停机任务成功!";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
obj.state = ResultType.error.ToString();
|
||||
obj.message = "设备急停停机任务失败!";
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
private async Task setEqpStopRecord(List<stopResultEntity> list, string stopreason, string solution, string dateString, string shift)
|
||||
{
|
||||
if (list != null && list.Count > 0)
|
||||
{
|
||||
foreach (var item in list)
|
||||
{
|
||||
var eqpRecord = _context.Query<EqpStopRecordEntity>(t => t.F_EqpId == item.F_EqpId && t.F_StopType == 3).FirstOrDefault();
|
||||
if (eqpRecord != null && eqpRecord.F_Day == dateString && eqpRecord.F_Shift == shift && eqpRecord.F_StopReason != stopreason && eqpRecord.F_IsRecovery == "N")
|
||||
continue;
|
||||
|
||||
if (((eqpRecord != null && eqpRecord.F_Day == dateString && eqpRecord.F_Shift == shift && (eqpRecord.F_StopReason == stopreason || (eqpRecord.F_StopReason != stopreason && eqpRecord.F_IsRecovery == "Y"))) || (eqpRecord != null && (eqpRecord.F_Day != dateString || eqpRecord.F_Shift != shift))) || eqpRecord == null)
|
||||
{
|
||||
if (item.result == "Y")
|
||||
{
|
||||
if (eqpRecord != null)
|
||||
{
|
||||
if (eqpRecord.F_IsRecovery == "N")
|
||||
{
|
||||
eqpRecord.F_IsRecovery = "Y";
|
||||
eqpRecord.F_RealStopEndTime = DateTime.Now;
|
||||
eqpRecord.F_StopReason = stopreason;
|
||||
eqpRecord.F_Solution = solution;
|
||||
_context.Update<EqpStopRecordEntity>(eqpRecord);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (eqpRecord != null)
|
||||
{
|
||||
if (eqpRecord.F_IsRecovery == "Y")
|
||||
{
|
||||
eqpRecord.F_IsRecovery = "N";
|
||||
eqpRecord.F_StopReason = stopreason;
|
||||
eqpRecord.F_RealStopStartTime = DateTime.Now;
|
||||
eqpRecord.F_Solution = "";
|
||||
_context.Update<EqpStopRecordEntity>(eqpRecord);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
EqpStopRecordEntity entity = new EqpStopRecordEntity();
|
||||
entity.F_Id = Utils.CreateNo();
|
||||
entity.F_EqpId = item.F_EqpId;
|
||||
entity.F_EqpName = item.F_EqpName;
|
||||
entity.F_IsRecovery = "N";
|
||||
entity.F_StopType = 3;
|
||||
entity.F_StopReasonType = "4";
|
||||
entity.F_StopReason = stopreason;
|
||||
entity.F_RealStopStartTime = DateTime.Now;
|
||||
entity.F_Day = dateString;
|
||||
entity.F_Shift = shift;
|
||||
_context.Insert<EqpStopRecordEntity>(entity);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 日点检结果
|
||||
/// </summary>
|
||||
/// <param name="day"></param>
|
||||
/// <param name="shift"></param>
|
||||
/// <returns></returns>
|
||||
private async Task setEqpPqcCheckResult(int day, string dateString, string shift)
|
||||
{
|
||||
var sql = @$"select t.f_id,t.F_EqpName,ISNULL(g.f_id, 'Y') result from (select * from mes_Equipment where F_EqpUse in (2,6,9))t left join
|
||||
(select d.f_id, d.F_EqpName, count(1) as count from(select a.f_id, a.F_EqpName, b.F_Shift, c.f_day{day} from
|
||||
(select * from mes_Equipment where F_EqpUse in (2, 6, 9))a left join mes_EqpPqcMaster b on
|
||||
a.f_id = b.F_EqpId and b.F_Shift = '{shift}' left join mes_EqpPqcDetail c on b.F_Id = c.F_PId where c.f_day{day} = 2 or c.f_day{day} is null)d
|
||||
GROUP BY d.f_id, d.F_EqpName)g on t.F_Id = g.f_id";
|
||||
|
||||
var data = _context.SqlQuery<stopResultEntity>(sql);
|
||||
await this.setEqpStopRecord(data, "未正常完成日点检", "完成日点检", dateString, shift);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否开立工单
|
||||
/// </summary>
|
||||
/// <param name="date"></param>
|
||||
/// <param name="classnum"></param>
|
||||
/// <returns></returns>
|
||||
private async Task setIsOpenWorkOrderResult(DateTime date, string classnum, string dateString, string shift)
|
||||
{
|
||||
if (DateTime.Now.Hour == 8 || DateTime.Now.Hour == 20) return;
|
||||
|
||||
var eqp = _context.Query<EquipmentEntity>(t => t.F_EqpType == 0 && t.F_ParentId == "0");
|
||||
var workplan = _context.Query<WorkPlanEntity>(t => Sql.DiffDays(t.F_Date, date) == 0 && classnum == t.F_ClassNum);
|
||||
|
||||
var query = eqp.LeftJoin<WorkPlanEntity>(workplan, (a, b) => a.F_Id == b.F_EqpId).Select((a, b) => new stopResultEntity
|
||||
{
|
||||
F_WorkPlanId = b.F_Id,
|
||||
F_EqpName = a.F_EqpName,
|
||||
F_EqpId = a.F_Id,
|
||||
F_WorkPlanType = b.F_WorkPlanType,
|
||||
result = "N"
|
||||
}).ToList();
|
||||
|
||||
foreach (var item in query)
|
||||
{
|
||||
if(string.IsNullOrEmpty(item.F_WorkPlanId))
|
||||
{
|
||||
item.result = "Y";
|
||||
}
|
||||
else if (item.F_WorkPlanType == 1)
|
||||
{
|
||||
item.result = "Y";
|
||||
}
|
||||
else if (item.F_WorkPlanType == 0)
|
||||
{
|
||||
var work = _context.Query<WorkOrderEntity>(t => t.F_WorkPlanId == item.F_WorkPlanId).Select(t => t.F_Id).FirstOrDefault();
|
||||
if (work != null)
|
||||
{
|
||||
item.result = "Y";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await this.setEqpStopRecord(query, "未开立工单", "正常开立工单", dateString, shift);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 领料产出任务是否完成
|
||||
/// </summary>
|
||||
/// <param name="datebgn"></param>
|
||||
/// <param name="dateend"></param>
|
||||
/// <param name="dateString"></param>
|
||||
/// <param name="shift"></param>
|
||||
/// <returns></returns>
|
||||
public async Task setIsLoadingCompletedIntime(DateTime datebgn, DateTime dateend, string dateString, string shift)
|
||||
{
|
||||
var eqp = _context.Query<EquipmentEntity>(t => t.F_EqpType == 0 && t.F_ParentId == "0")
|
||||
.Select(t => new stopResultEntity
|
||||
{
|
||||
F_EqpName = t.F_EqpName,
|
||||
F_EqpId = t.F_Id,
|
||||
result = "N"
|
||||
}).ToList();
|
||||
|
||||
foreach (var item in eqp)
|
||||
{
|
||||
var job = _context.Query<ControlJobEntity>(t => Sql.DiffSeconds(datebgn, t.F_CreatorTime) > 0 && Sql.DiffSeconds(t.F_CreatorTime, dateend) > 0)
|
||||
.Where(t => t.F_JobType == 3 || t.F_JobType == 0)
|
||||
.Where(t => Sql.DiffSeconds(t.F_NeedTime, DateTime.Now) > 0 && t.F_JobState < 2)
|
||||
.Where(t => t.F_NeedEqpId == item.F_EqpId).Select(t => t.F_Id).FirstOrDefault();
|
||||
if (job == null)
|
||||
{
|
||||
item.result = "Y";
|
||||
}
|
||||
}
|
||||
|
||||
await this.setEqpStopRecord(eqp, "领料产出任务未及时完成", "领料产出任务完成", dateString, shift);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class stopResultEntity
|
||||
{
|
||||
public string result { get; set; }
|
||||
public string F_EqpId { get; set; }
|
||||
public string F_EqpName { get; set; }
|
||||
|
||||
public string F_WorkPlanId { get; set; }
|
||||
|
||||
public int? F_WorkPlanType { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@ -7,6 +7,7 @@ using Chloe;
|
||||
using WaterCloud.Domain.EquipmentManage;
|
||||
using WaterCloud.Domain.ProcessManage;
|
||||
using WaterCloud.Domain.MaterialManage;
|
||||
using WaterCloud.Service.SystemManage;
|
||||
|
||||
namespace WaterCloud.Service.EquipmentManage
|
||||
{
|
||||
@ -18,9 +19,11 @@ namespace WaterCloud.Service.EquipmentManage
|
||||
public class EquipmentService : DataFilterService<EquipmentEntity>, IDenpendency
|
||||
{
|
||||
private string cacheKey = "watercloud_equipmentdata_";
|
||||
public EquipmentService(IDbContext context) : base(context)
|
||||
private ItemsDataService itemsApp;
|
||||
public EquipmentService(IDbContext context) : base(context)
|
||||
{
|
||||
}
|
||||
itemsApp = new ItemsDataService(context);
|
||||
}
|
||||
#region 获取数据
|
||||
public async Task<List<EquipmentEntity>> GetList(string keyword = "")
|
||||
{
|
||||
@ -96,9 +99,21 @@ namespace WaterCloud.Service.EquipmentManage
|
||||
uniwork.BeginTrans();
|
||||
await repository.Update(entity);
|
||||
var list = uniwork.IQueryable<EqpMaterialBandingEntity>(a => a.F_EqpId == keyValue).ToList();
|
||||
foreach (var item in list)
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]).TotalMinutes;
|
||||
var classEndTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[1]).TotalMinutes;
|
||||
var totalMin = 720;
|
||||
if (classEndTime> classStartTime)
|
||||
{
|
||||
double v1= (720 - (entity.F_PlanStopTime ?? 0)) *60 * (entity.F_OEE ?? 0);
|
||||
totalMin = (int)(classEndTime - classStartTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMin = (int)(classEndTime + 24 * 60- classStartTime);
|
||||
}
|
||||
foreach (var item in list)
|
||||
{
|
||||
double v1= (totalMin - (entity.F_PlanStopTime ?? 0)) *60 * (entity.F_OEE ?? 0);
|
||||
double v2 = (double)entity.F_Beat * 100;
|
||||
item.F_Num = (float)Utils.Round(v1 / v2, 0);
|
||||
if (list.Where(a=>a.F_ProduceType==1).Count()>0 && item.F_ProduceType==1)
|
||||
@ -142,7 +157,19 @@ namespace WaterCloud.Service.EquipmentManage
|
||||
public async Task SubmitMaterialForm(List<EqpMaterialBandingEntity> listData, string eqpId)
|
||||
{
|
||||
var eqp = await uniwork.FindEntity<EquipmentEntity>(eqpId);
|
||||
foreach (var item in listData)
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]).TotalMinutes;
|
||||
var classEndTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[1]).TotalMinutes;
|
||||
var totalMin = 720;
|
||||
if (classEndTime > classStartTime)
|
||||
{
|
||||
totalMin = (int)(classEndTime - classStartTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
totalMin = (int)(classEndTime + 24 * 60 - classStartTime);
|
||||
}
|
||||
foreach (var item in listData)
|
||||
{
|
||||
item.F_Id = Utils.GuId();
|
||||
if (item.F_Priority <= 0)
|
||||
@ -155,9 +182,9 @@ namespace WaterCloud.Service.EquipmentManage
|
||||
item.F_MaterialName = material.F_MaterialName;
|
||||
item.F_MaterialType = material.F_MaterialType;
|
||||
item.F_MaterialUnit = material.F_MaterialUnit;
|
||||
if (eqp.F_Beat != null && eqp.F_Beat != 0)
|
||||
if (eqp.F_Beat != null && eqp.F_Beat != 0)
|
||||
{
|
||||
double v1 = (720 - (eqp.F_PlanStopTime ?? 0)) * 60 * (eqp.F_OEE ?? 0);
|
||||
double v1 = (totalMin - (eqp.F_PlanStopTime ?? 0)) * 60 * (eqp.F_OEE ?? 0);
|
||||
double v2 = (double)eqp.F_Beat * 100;
|
||||
item.F_Num = (float)Utils.Round(v1 / v2, 0);
|
||||
if (listData.Where(a => a.F_ProduceType == 1).Count() > 0 && item.F_ProduceType == 1)
|
||||
|
||||
@ -13,6 +13,7 @@ using WaterCloud.Domain.QualityManage;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
using WaterCloud.Domain.PlanManage;
|
||||
using WaterCloud.Service.SystemManage;
|
||||
|
||||
namespace WaterCloud.Service.MaterialManage
|
||||
{
|
||||
@ -25,11 +26,13 @@ namespace WaterCloud.Service.MaterialManage
|
||||
{
|
||||
private ControlJobService jobApp;
|
||||
private LocationService locationApp;
|
||||
public StorageService(IDbContext context, IHttpClientFactory httpClientFactory) : base(context)
|
||||
private ItemsDataService itemsApp;
|
||||
public StorageService(IDbContext context, IHttpClientFactory httpClientFactory) : base(context)
|
||||
{
|
||||
jobApp = new ControlJobService(context, httpClientFactory);
|
||||
locationApp = new LocationService(context);
|
||||
}
|
||||
itemsApp = new ItemsDataService(context);
|
||||
}
|
||||
#region 获取数据
|
||||
public async Task<List<StorageEntity>> GetList(string keyword = "")
|
||||
{
|
||||
@ -262,20 +265,40 @@ namespace WaterCloud.Service.MaterialManage
|
||||
public async Task<List<MaterialEntity>> GetCurrentClassNumStorage()
|
||||
{
|
||||
DateTime checkdate = DateTime.Now.Date;
|
||||
DateTime starttime = DateTime.Now.Date.AddHours(8);
|
||||
DateTime endtime = DateTime.Now.Date.AddHours(20);
|
||||
string classNum = "A";
|
||||
if (DateTime.Now.Hour < 8 || DateTime.Now.Hour >= 20)
|
||||
{
|
||||
if (DateTime.Now.Hour < 8)
|
||||
{
|
||||
checkdate = DateTime.Now.Date.AddDays(-1);
|
||||
}
|
||||
classNum = "B";
|
||||
starttime = checkdate.AddHours(20);
|
||||
endtime = checkdate.AddHours(32);
|
||||
}
|
||||
var materials = uniwork.GetDbContext().Query<MaterialEntity>(a => a.F_EnabledMark == true && a.F_DeleteMark == false).OrderByDesc(a => a.F_MaterialType).ToList();
|
||||
DateTime starttime = DateTime.Now.Date;
|
||||
DateTime endtime = DateTime.Now.Date;
|
||||
string classNum = "";
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var tempStartTime = classStartTime.TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
checkdate = DateTime.Now.Date.AddDays(-1);
|
||||
}
|
||||
for (int j = 0; j < classNums.Count(); j++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (DateTime.Now > checkdate.AddMinutes(tempStartTime) && DateTime.Now <= checkdate.AddMinutes(tempEndTime))
|
||||
{
|
||||
classNum = classNums[j].F_ItemCode;
|
||||
starttime = checkdate.AddMinutes(tempStartTime);
|
||||
endtime = checkdate.AddMinutes(tempEndTime);
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
var materials = uniwork.GetDbContext().Query<MaterialEntity>(a => a.F_EnabledMark == true && a.F_DeleteMark == false).OrderByDesc(a => a.F_MaterialType).ToList();
|
||||
foreach (var item in materials)
|
||||
{
|
||||
var CurrentNum = uniwork.IQueryable<StorageEntity>(a => a.F_MaterialId == item.F_Id && a.F_IsCheckout != false).Sum(a => a.F_Num) ?? 0;
|
||||
|
||||
@ -13,6 +13,8 @@ using WaterCloud.Service.ClassTask;
|
||||
using System.Net.Http;
|
||||
using WaterCloud.Domain.QualityManage;
|
||||
using WaterCloud.Domain.SystemOrganize;
|
||||
using WaterCloud.Service.SystemManage;
|
||||
using static Serenity.Web.PropertyItemsScript;
|
||||
|
||||
namespace WaterCloud.Service.MaterialManage
|
||||
{
|
||||
@ -31,14 +33,16 @@ namespace WaterCloud.Service.MaterialManage
|
||||
private LocationService locationApp;
|
||||
private StorageService _storageApp;
|
||||
private ControlJobService _jobApp;
|
||||
private ItemsDataService itemsApp;
|
||||
|
||||
public WorkRunService(IDbContext context, IHttpClientFactory httpClientFactory)
|
||||
public WorkRunService(IDbContext context, IHttpClientFactory httpClientFactory)
|
||||
{
|
||||
currentuser = OperatorProvider.Provider.GetCurrent();
|
||||
uniwork = new RepositoryBase(context);
|
||||
transferApp = new TransferBoxService(context);
|
||||
locationApp = new LocationService(context);
|
||||
_storageApp = new StorageService(context, httpClientFactory);
|
||||
itemsApp = new ItemsDataService(context);
|
||||
_storageApp = new StorageService(context, httpClientFactory);
|
||||
_jobApp = new ControlJobService(context, httpClientFactory);
|
||||
if (currentuser == null)
|
||||
{
|
||||
@ -82,8 +86,40 @@ namespace WaterCloud.Service.MaterialManage
|
||||
var data = uniwork.IQueryable<EqpMaterialUseEntity>(a => a.F_DoneNum != a.F_Num && a.F_EqpName == eqpName && a.F_TransferBoxCode==code).FirstOrDefault();
|
||||
return data;
|
||||
}
|
||||
public async Task<string> GetBatch()
|
||||
{
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var tempStartTime = classStartTime.TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
var currentdate = DateTime.Now.Date;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
currentdate = currentdate.AddDays(-1);
|
||||
}
|
||||
for (int i = 0; i < classNums.Count(); i++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (currentdate.AddMinutes(tempStartTime) <DateTime.Now && currentdate.AddMinutes(tempEndTime) >= DateTime.Now)
|
||||
{
|
||||
return $"{currentdate.ToString("yyyyMMdd")}-{classNums[i].F_ItemCode}";
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
|
||||
public async Task<object> GetBoardDataJson()
|
||||
}
|
||||
return "";
|
||||
}
|
||||
public async Task<object> GetBoardDataJson()
|
||||
{
|
||||
SortedDictionary<int, float> planDic = new SortedDictionary<int, float>();
|
||||
SortedDictionary<int, float> realDic = new SortedDictionary<int, float>();
|
||||
|
||||
@ -258,9 +258,13 @@ namespace WaterCloud.Service.PlanManage
|
||||
var orderIds = ordernotes.Select(a => a.F_Id).ToList();
|
||||
//获取当前天
|
||||
DateTime currentdate = DateTime.Now.Date;
|
||||
if (DateTime.Now.Hour<8)
|
||||
{
|
||||
currentdate = currentdate.AddDays(-1);
|
||||
//班别
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
currentdate = currentdate.AddDays(-1);
|
||||
}
|
||||
//到期的订单先结案
|
||||
var overnote = ordernotes.Where(a => a.F_PlanEndTime == DateTime.Now.Date.AddDays(-1)).FirstOrDefault();
|
||||
@ -334,10 +338,6 @@ namespace WaterCloud.Service.PlanManage
|
||||
//今天的计划加进计划库存中
|
||||
var tempinplan = inPlans.Where(a => a.F_PlanTime < currentdate.AddDays(1) && a.F_InStorageState <= 2).ToList();
|
||||
var tempoutplan = outPlans.Where(a => a.F_PlanTime < currentdate.AddDays(1) && a.F_OutStorageState <= 2).ToList();
|
||||
//班别
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var classStartTime = TimeSpan.Parse(classNums.FirstOrDefault().F_Description.Split("-")[0]);
|
||||
var currentTime = DateTime.Now.TimeOfDay;
|
||||
if (TimeSpan.Compare(currentTime, classStartTime) < 0)
|
||||
{
|
||||
tempinplan = inPlans.Where(a => a.F_PlanTime < currentdate.AddDays(2) && a.F_InStorageState <= 2).ToList();
|
||||
|
||||
@ -135,12 +135,29 @@ namespace WaterCloud.Service.ProcessManage
|
||||
var data = GetFieldsFilterData(query.FirstOrDefault());
|
||||
data.details =await orderApp.GetListByOrder(keyValue);
|
||||
data.planDate = ((DateTime)data.F_PlanStartTime).Date;
|
||||
data.classNum = "B";
|
||||
if (((DateTime)data.F_PlanStartTime).Hour==8)
|
||||
{
|
||||
data.classNum = "A";
|
||||
}
|
||||
return data;
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int i = 0; i < classNums.Count(); i++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (((DateTime)data.planDate).AddMinutes(tempStartTime)== data.F_PlanStartTime && ((DateTime)data.planDate).AddMinutes(tempEndTime) == data.F_PlanEndTime)
|
||||
{
|
||||
data.classNum = classNums[i].F_ItemCode;
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
private IQuery<WorkOrderExtend> GetQuery()
|
||||
{
|
||||
@ -273,17 +290,29 @@ namespace WaterCloud.Service.ProcessManage
|
||||
public async Task SubmitForm(WorkOrderExtend entity, string keyValue)
|
||||
{
|
||||
List<WorkOrderDetailEntity> list = new List<WorkOrderDetailEntity>();
|
||||
if (entity.classNum=="A")
|
||||
{
|
||||
entity.F_PlanStartTime = ((DateTime)entity.planDate).AddHours(8);
|
||||
entity.F_PlanEndTime = ((DateTime)entity.planDate).AddHours(20);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.F_PlanStartTime = ((DateTime)entity.planDate).AddHours(20);
|
||||
entity.F_PlanEndTime = ((DateTime)entity.planDate).AddHours(32);
|
||||
}
|
||||
uniwork.BeginTrans();
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int i = 0; i < classNums.Count(); i++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[i].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (classNums[i].F_ItemCode == entity.classNum)
|
||||
{
|
||||
entity.F_PlanStartTime = ((DateTime)entity.planDate).AddMinutes(tempStartTime);
|
||||
entity.F_PlanEndTime = ((DateTime)entity.planDate).AddMinutes(tempEndTime);
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
uniwork.BeginTrans();
|
||||
if (string.IsNullOrEmpty(keyValue))
|
||||
{
|
||||
entity.F_DeleteMark = false;
|
||||
|
||||
@ -360,17 +360,30 @@ namespace WaterCloud.Service.ProcessManage
|
||||
entity.F_MaterialId = item.F_MaterialId;
|
||||
entity.F_WorkOrderCode = "WC_" + DateTime.Now.ToString("yyyyMMddHHmmss") + i;
|
||||
entity.F_SplitType = 0;
|
||||
if (classnum == "A")
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddHours(8);
|
||||
entity.F_PlanEndTime = now.AddHours(20);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddHours(20);
|
||||
entity.F_PlanEndTime = now.AddHours(32);
|
||||
}
|
||||
entity.F_WorkPlanId = item.F_Id;
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int j = 0; j < classNums.Count(); j++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (classNums[j].F_ItemCode == classnum)
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddMinutes(tempStartTime);
|
||||
entity.F_PlanEndTime = now.AddMinutes(tempEndTime);
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
entity.F_WorkPlanId = item.F_Id;
|
||||
entitys.Add(entity);
|
||||
var detail = new WorkOrderDetailEntity();
|
||||
detail.Create();
|
||||
@ -442,17 +455,31 @@ namespace WaterCloud.Service.ProcessManage
|
||||
entity.F_MaterialId = item.F_MaterialId;
|
||||
entity.F_WorkOrderCode = "WC_"+DateTime.Now.ToString("yyyyMMddHHmmss")+i;
|
||||
entity.F_SplitType = 0;
|
||||
if (classnum == "A")
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddHours(8);
|
||||
entity.F_PlanEndTime = now.AddHours(20);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddHours(20);
|
||||
entity.F_PlanEndTime = now.AddHours(32);
|
||||
}
|
||||
entity.F_WorkPlanId = item.F_Id;
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int j = 0; j < classNums.Count(); j++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (classNums[j].F_ItemCode == classnum)
|
||||
{
|
||||
entity.F_PlanStartTime = now.AddMinutes(tempStartTime);
|
||||
entity.F_PlanEndTime = now.AddMinutes(tempEndTime);
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
|
||||
entity.F_WorkPlanId = item.F_Id;
|
||||
entitys.Add(entity);
|
||||
var detail = new WorkOrderDetailEntity();
|
||||
detail.Create();
|
||||
@ -554,16 +581,30 @@ namespace WaterCloud.Service.ProcessManage
|
||||
order.F_MaterialId = item.F_MaterialId;
|
||||
order.F_WorkOrderCode = "WC_" + DateTime.Now.ToString("yyyyMMddHHmmss") + i;
|
||||
order.F_SplitType = 0;
|
||||
if (classnum == "A")
|
||||
{
|
||||
order.F_PlanStartTime = now.AddHours(8);
|
||||
order.F_PlanEndTime = now.AddHours(20);
|
||||
}
|
||||
else
|
||||
{
|
||||
order.F_PlanStartTime = now.AddHours(20);
|
||||
order.F_PlanEndTime = now.AddHours(32);
|
||||
}
|
||||
var classNums = await itemsApp.GetItemList("Mes_ClassNumber");
|
||||
var tempStartTime = TimeSpan.Parse(classNums[0].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var tempEndTime = tempStartTime;
|
||||
for (int j = 0; j < classNums.Count(); j++)
|
||||
{
|
||||
var startTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[0]).TotalMinutes;
|
||||
var endTime = TimeSpan.Parse(classNums[j].F_Description.Split("-")[1]).TotalMinutes;
|
||||
if (endTime > startTime)
|
||||
{
|
||||
tempEndTime += endTime - startTime;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempEndTime += endTime + 24 * 60 - startTime;
|
||||
}
|
||||
if (classNums[j].F_ItemCode == classnum)
|
||||
{
|
||||
order.F_PlanStartTime = now.AddMinutes(tempStartTime);
|
||||
order.F_PlanEndTime = now.AddMinutes(tempEndTime);
|
||||
break;
|
||||
}
|
||||
tempStartTime = tempEndTime;
|
||||
}
|
||||
|
||||
order.F_WorkPlanId = item.F_Id;
|
||||
entitys.Add(order);
|
||||
var detail = new WorkOrderDetailEntity();
|
||||
|
||||
@ -21,6 +21,10 @@
|
||||
, format: 'yyyy/MM/dd',
|
||||
});
|
||||
$(function () {
|
||||
$("#classNum").bindSelect({
|
||||
data: top.clients.dataItems['Mes_ClassNumber'],
|
||||
id: "",
|
||||
});
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/ProcessManage/WorkOrder/GetFormJson',
|
||||
@ -143,8 +147,6 @@
|
||||
<label class="layui-form-label">班别</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="classNum" lay-verify="required" name="classNum">
|
||||
<option value="A" selected>白班</option>
|
||||
<option value="B">夜班</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -23,6 +23,10 @@
|
||||
, format: 'yyyy/MM/dd',
|
||||
});
|
||||
$(function () {
|
||||
$("#classNum").bindSelect({
|
||||
data: top.clients.dataItems['Mes_ClassNumber'],
|
||||
id: "",
|
||||
});
|
||||
if (!!keyValue) {
|
||||
common.ajax({
|
||||
url: '/ProcessManage/WorkOrder/GetFormJson',
|
||||
@ -337,8 +341,6 @@
|
||||
<label class="layui-form-label required">班别</label>
|
||||
<div class="layui-input-block">
|
||||
<select id="classNum" lay-verify="required" name="classNum">
|
||||
<option value="A" selected>白班</option>
|
||||
<option value="B">夜班</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -101,8 +101,15 @@ namespace WaterCloud.Web.Areas.ProcessManage.Controllers
|
||||
var data = await _boxService.GetReadyBoxes(keyValue);
|
||||
return Content(data.ToJson());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[HttpGet]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> GetBatch()
|
||||
{
|
||||
//获取预绑定流转箱
|
||||
var data = await _runService.GetBatch();
|
||||
return Content(data);
|
||||
}
|
||||
[HttpPost]
|
||||
[HandlerAjaxOnly]
|
||||
public async Task<ActionResult> AddReadyBox(ReadyTransferBoxEntity entity)
|
||||
{
|
||||
|
||||
@ -67,18 +67,19 @@
|
||||
materialBatch = parentData[i].F_BatchPrefix + "-" + new Date().SmallFormat("yyMMDDhhmmss");
|
||||
}
|
||||
else {
|
||||
if (new Date().getHours() > 20) {
|
||||
materialBatch = parentData[i].F_BatchPrefix + "-" + new Date().SmallFormat("yyMMDD") + "B";
|
||||
}
|
||||
else if (new Date().getHours() < 8) {
|
||||
materialBatch = parentData[i].F_BatchPrefix + "-" + new Date().setDate(new Date().getDate() - 1).SmallFormat("yyMMDD") + "B";
|
||||
}
|
||||
else {
|
||||
materialBatch = parentData[i].F_BatchPrefix + "-" + new Date().SmallFormat("yyMMDD") + "A";
|
||||
}
|
||||
common.ajax({
|
||||
url: '/RunMonitor/EqpScanScreen/GetBatch',
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (!!data && data.length > 0) {
|
||||
materialBatch = data;
|
||||
$('#F_MaterialBatch').val(materialBatch);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
$('#F_Num').val(parentData[i].F_ContainerNum);
|
||||
$('#F_MaterialBatch').val(materialBatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user