using Estsh.Core.Dapper; using Estsh.Core.Model.Result; using Estsh.Core.Models; using Estsh.Core.Repository.IRepositories; using Estsh.Core.Services.IServices; using Estsh.Core.Util; using System.Collections; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:工位管理模块业务处理类 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Services { public class TerminalDefineService : BaseService, ITerminalDefineService { private readonly ITerminalDefineRepository repository; public TerminalDefineService(ITerminalDefineRepository _repository) : base(_repository) { repository = _repository; } /// /// 根据分页条件获取分页菜单数据 /// /// /// /// /// /// public List getListByPage(String terminal_name, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); String strWhere = " "; if (terminal_name != null && !terminal_name.Trim().Equals("")) { strWhere = " terminal_name like '%" + terminal_name.Trim() + "%'"; } String orderBy = ""; if (sort != null && !"".Equals(sort.Trim())) { orderBy += typeof(SysTerminal).GetEntityColumnName(sort.Trim()) + " " + direction; } else { orderBy += typeof(SysTerminal).GetEntityColumnName("TerminalId") + " " + direction; } List dt = repository.getListByPage(pager.pageSize, pager.pageNo, strWhere, orderBy); return dt; } /// /// 保存工位数据 /// /// /// public int saveTerminal(SysTerminal htParams) { return repository.saveTerminal(htParams); } /// /// /// /// public int updateTerminal(SysTerminal htParams) { return repository.updateTerminal(htParams); } /// /// 工厂名称 /// /// 数据集 public List getFactoryInfo() { return repository.getFactoryInfo(); } /// /// 产线名称 /// /// public List getPdlineInfo() { return repository.getPdlineInfo(); } /// /// 区段名称 /// /// public List getStageInfoByKey() { return repository.getStageInfoByKey(); } /// /// 制程名称 /// /// public List getProcessInfo() { return repository.getProcessInfo(); } /// /// 删除工位 /// /// /// public int deleteTerminal(String ids) { String[] idArray = ids.Split(','); int count = 0; foreach (String id in idArray) { if (!"".Equals(id)) { count += this.repository.deleteTerminal(id); } } return count; } /// /// 启用 /// /// /// public int EnableData(String ids) { ids = ids.Substring(0, ids.Length - 1); return this.repository.EnableData(ids); } /// /// 禁用 /// /// /// public int DisableData(String ids) { ids = ids.Substring(0, ids.Length - 1); return this.repository.DisableData(ids); } #region 树状结构实现方式 /// /// 根据制程数据信息 /// /// /// public ArrayList getProcessTree(string factoryId) { List dtProcess = repository.getProcessInfo(factoryId); List dtStage = repository.getStageInfo(); ArrayList treeNodes = new ArrayList(); Hashtable node; //添加父节点 for (int i = 0; i < dtStage.Count; i++) { node = new Hashtable(); node.Add("id", "F" + Convert.ToString(dtStage[i].StageId)); node.Add("name", Convert.ToString(dtStage[i].StageName)); node.Add("parentId", "0"); node.Add("isParent", true); node.Add("open", true); node.Add("drop", false); node.Add("drag", false); treeNodes.Add(node); } //添加子节点 for (int i = 0; i < dtProcess.Count; i++) { node = new Hashtable(); node.Add("id", Convert.ToString(dtProcess[i].ProcessId)); node.Add("name", Convert.ToString(dtProcess[i].ProcessName)); node.Add("parentId", "F" + Convert.ToString(dtProcess[i].StageId)); node.Add("drop", false); node.Add("drag", true); node.Add("dropRoot", false); node.Add("dropInner", false); treeNodes.Add(node); } return treeNodes; } /// /// 获得产线线别信息 /// /// /// public List getPdLine() { return repository.getPdLine(); } /// /// 获得工站树信息 /// /// /// public ArrayList getTerminalTree(string pdLineId) { List dtStage = repository.getTerminalInfo(pdLineId); ArrayList treeNodes = new ArrayList(); Hashtable node; for (int i = 0; i < dtStage.Count; i++) { node = new Hashtable(); node.Add("id", Convert.ToString(dtStage[i].Id)); node.Add("name", Convert.ToString(dtStage[i].Name)); node.Add("parentId", Convert.ToString(dtStage[i].ParentId)); node.Add("noR", Convert.ToString(dtStage[i].NoR)); node.Add("open", true); node.Add("drop", false); node.Add("drag", false); //node.Add("dropRoot", false); //node.Add("dropInner", false); treeNodes.Add(node); } return treeNodes; } public List GetTerminalByTerminalId(string terminalId) { return repository.GetTerminalByTerminalId(terminalId); } /// /// 获得默认工站名称 /// /// /// public string GetDefaultTerminalName(string processName) { return repository.GetDefaultTerminalName(processName); } #endregion } }