|
@@ -1,6 +1,7 @@
|
|
|
using AutoMapper;
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
using Newtonsoft.Json;
|
|
|
+using NPOI.SS.Formula.Functions;
|
|
|
using SqlSugar;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
@@ -5482,39 +5483,73 @@ namespace wms.service.Service
|
|
|
var sysconfig = _sysconfigrepository.GetFirst(p => p.Code == "AutomaticCalibration");
|
|
|
var config = _sysconfigrepository.GetFirst(p => p.Code == "AutomaticCalibration").SContent;
|
|
|
|
|
|
+ var isContinue = false;
|
|
|
if (sysconfig != null && !string.IsNullOrEmpty(sysconfig.Default3))
|
|
|
{
|
|
|
- hour = Convert.ToInt16(sysconfig.Default3);
|
|
|
- }
|
|
|
+ if (sysconfig.Default3.Contains(","))
|
|
|
+ {
|
|
|
+ var nums = sysconfig.Default3.Split(",");
|
|
|
+ for (int i = 0; i < nums.Length; i++)
|
|
|
+ {
|
|
|
+ hour = Convert.ToInt16(nums[i]);
|
|
|
+ if (!ShouldTriggerScaleTask(config, hour))
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
|
|
|
- if (!ShouldTriggerScaleTask(config, hour))
|
|
|
- {
|
|
|
- result.ResCode = ResponseStatusCodeEnum.EquipInfoNotExist.GetHashCode();
|
|
|
- result.ResMsg = "不在可执行范围内";
|
|
|
- return result;
|
|
|
+ //检查今天早上十点-十点五十九之间是否执行过
|
|
|
+ DateTime now1 = DateTime.Now;
|
|
|
+ // 当天 10:00 开始
|
|
|
+ DateTime startTime1 = new DateTime(now1.Year, now1.Month, now1.Day, hour, 0, 0);
|
|
|
+ // 当天 10:59 结束
|
|
|
+ DateTime endTime1 = new DateTime(now1.Year, now1.Month, now1.Day, hour, 59, 59);
|
|
|
+ if (_wcstaskold.AsQueryable().Where(p => p.AddTime >= startTime1 && p.AddTime < endTime1 && p.BusType.Contains("砝码")).SplitTable(p => p.Take(2)).Any())
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ isContinue = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ hour = Convert.ToInt16(sysconfig.Default3);
|
|
|
+ if (!ShouldTriggerScaleTask(config, hour))
|
|
|
+ {
|
|
|
+ result.ResCode = ResponseStatusCodeEnum.EquipInfoNotExist.GetHashCode();
|
|
|
+ result.ResMsg = "不在可执行范围内";
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ //检查今天早上十点-十点五十九之间是否执行过
|
|
|
+ DateTime now = DateTime.Now;
|
|
|
+ // 当天 10:00 开始
|
|
|
+ DateTime startTime = new DateTime(now.Year, now.Month, now.Day, hour, 0, 0);
|
|
|
+ // 当天 10:59 结束
|
|
|
+ DateTime endTime = new DateTime(now.Year, now.Month, now.Day, hour, 59, 59);
|
|
|
+ if (_wcstaskold.AsQueryable().Where(p => p.AddTime >= startTime && p.AddTime < endTime && p.BusType.Contains("砝码")).SplitTable(p => p.Take(2)).Any())
|
|
|
+ {
|
|
|
+ result.ResCode = ResponseStatusCodeEnum.EquipInfoNotExist.GetHashCode();
|
|
|
+ result.ResMsg = "本周期内已执行过";
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ isContinue = true;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- //检查今天早上十点-十点五十九之间是否执行过
|
|
|
- DateTime now = DateTime.Now;
|
|
|
- // 当天 10:00 开始
|
|
|
- DateTime startTime = new DateTime(now.Year, now.Month, now.Day, hour, 0, 0);
|
|
|
- // 当天 10:59 结束
|
|
|
- DateTime endTime = new DateTime(now.Year, now.Month, now.Day, hour, 59, 59);
|
|
|
- if (_wcstaskold.AsQueryable().Where(p => p.AddTime > startTime && p.AddTime < endTime && p.BusType.Contains("砝码")).SplitTable(p=>p.Take(2)).Any())
|
|
|
+
|
|
|
+ if (_wcstaskinfo.IsAny(p => p.AddrTo == deviceId && p.Status == TaskStatus.NewBuild))
|
|
|
{
|
|
|
result.ResCode = ResponseStatusCodeEnum.EquipInfoNotExist.GetHashCode();
|
|
|
- result.ResMsg = "本周期内已执行过";
|
|
|
+ result.ResMsg = deviceId + "存在未执行任务,请勿重复申请";
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- if (_wcstaskinfo.IsAny(p => p.AddrTo == deviceId && p.Status == TaskStatus.NewBuild))
|
|
|
+
|
|
|
+ if (!isContinue)
|
|
|
{
|
|
|
result.ResCode = ResponseStatusCodeEnum.EquipInfoNotExist.GetHashCode();
|
|
|
- result.ResMsg = deviceId + "存在未执行任务,请勿重复申请";
|
|
|
+ result.ResMsg = "不满足出库条件";
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
var locationlist = from loc in _baseWarecellrepository.GetList(p => p.IsStop == 0 && p.StateNum == LocationState.LocationState_Full.GetHashCode())
|
|
|
join stock in _billnowrepository.GetList(p => p.InvStateCode == InvState.InvEcecState_In.ToString() && p.ExecStateCode == InvLockState.InvState_Normal.ToString())
|
|
|
on loc.ContGrpBarCode equals stock.ContGrpBarCode
|