using HH.WCS.JingyuNongfu.util;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
|
namespace HH.WCS.JingyuNongfu.wms
|
{
|
/// <summary>
|
/// 涉及到设备任务调度的,例如提升机、堆垛机、输送线相关表的读写
|
/// </summary>
|
public class WCSHelper
|
{
|
static WCSHelper() {
|
}
|
|
|
|
internal static bool AddElevatorTaskInfo(ElevatorTaskInfo info) {
|
var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
|
return db.Insertable(info).ExecuteCommand() > 0;
|
}
|
/// <summary>
|
/// 获取一个执行中的电梯任务
|
/// </summary>
|
/// <returns></returns>
|
internal static ElevatorTaskInfo GetOneWorkingElevatorTask() {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => a.state > 0).First();
|
|
}
|
/// <summary>
|
/// 获取一个已经分配电梯缓存位的任务
|
/// </summary>
|
/// <returns></returns>
|
internal static ElevatorTaskInfo GetOneAssignedElevatorTask() {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => !string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First();
|
|
}
|
/// <summary>
|
/// 获取一个待处理的电梯任务
|
/// </summary>
|
/// <returns></returns>
|
internal static ElevatorTaskInfo GetOnePendingElevatorTask() {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => a.state == 0 && string.IsNullOrEmpty(a.elevatorCacheBit.Trim())).First();
|
|
}
|
internal static ElevatorTaskInfo GetElevatorTaskByBit(string bit) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => a.elevatorCacheBit.Trim() == bit.Trim()).First();
|
|
}
|
/// <summary>
|
/// 获取同类型的电梯任务
|
/// </summary>
|
/// <param name="taskNo"></param>
|
/// <param name="actionType"></param>
|
/// <returns></returns>
|
internal static List<ElevatorTaskInfo> GetOtherElevatorTask(string taskNo, int actionType) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => a.actionType == actionType && a.sourceNo.Trim() != taskNo.Trim()).ToList();
|
}
|
internal static ElevatorTaskInfo GetElevatorTask(string taskNo) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Queryable<ElevatorTaskInfo>().Where(a => a.sourceNo.Trim() != taskNo.Trim()).First();
|
}
|
internal static bool UpdateElevatorTask(string bit, int currState, int state) {
|
var result = false;
|
var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
|
var model = db.Queryable<ElevatorTaskInfo>().Where(a => a.elevatorCacheBit == bit && a.state == currState).First();
|
if (model != null) {
|
model.state = state;
|
result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0;
|
}
|
return result;
|
|
}
|
internal static bool UpdateElevatorTask(ElevatorTaskInfo model, string cacheBit, int state) {
|
var result = false;
|
var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
|
model.elevatorCacheBit = cacheBit;
|
model.state = state;
|
result = db.Updateable(model).UpdateColumns(it => new { it.elevatorCacheBit, it.state }).ExecuteCommand() > 0;
|
return result;
|
|
}
|
internal static bool UpdateElevatorTask(string taskNo, int state) {
|
var result = false;
|
var db = new SqlHelper<ElevatorTaskInfo>().GetInstance();
|
var model = db.Queryable<ElevatorTaskInfo>().Where(a => a.sourceNo.Trim()==taskNo).First();
|
if (model != null) {
|
model.state = state;
|
result = db.Updateable(model).UpdateColumns(it => new { it.state }).ExecuteCommand() > 0;
|
}
|
return result;
|
|
}
|
internal static bool DeleteElevatorTaskByState(int state) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Deleteable<ElevatorTaskInfo>().Where(a => a.state == state).ExecuteCommand() > 0;
|
|
}
|
internal static bool DeleteElevatorTask(ElevatorTaskInfo taskInfo) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Deleteable<ElevatorTaskInfo>().Where(a => a.S_ID == taskInfo.S_ID).ExecuteCommand() > 0;
|
|
}
|
internal static bool DeleteElevatorTask(string no) {
|
var db = new SqlHelper<object>().GetInstance();
|
return db.Deleteable<ElevatorTaskInfo>().Where(a => a.sourceNo.Trim() == no).ExecuteCommand() > 0;
|
|
}
|
|
|
}
|
}
|