using System; using System.Collections.Generic; using System.Linq; using System.Web; using Estsh.Web.Util; using System.Data; using Estsh.Web.Dal; using System.Collections; using System.IO; using System.Text; namespace Estsh.Core.Services { /** * 工位帐号管理 * * NOAH * */ public class TerminalEmpDefineService { private TerminalEmpDefineDal dal = new TerminalEmpDefineDal(RemotingProxyProvider._remotingProxy); /// /// 根据分页条件获取分页菜单数据 /// /// /// /// /// /// public Hashtable getTerminalEmpListByPage(String terminal_name, string emp_no,string emp_id, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); String strWhere = " 1=1 "; if (terminal_name != null && !terminal_name.Trim().Equals("")) { strWhere += " and b.terminal_name like '%" + terminal_name.Trim() + "%'"; } if (emp_no != null && !emp_no.Trim().Equals("")) { strWhere += " and a.emp_no like '%" + emp_no.Trim() + "%'"; } result = dal.getTerminalEmpListByPage(pager.pageSize, pager.pageNo, strWhere, sort); return result; } /// /// 保存菜单数据 /// /// /// public int saveTerminalEmp(Hashtable htParams) { return dal.saveTerminalEmp(htParams); } /// /// 更新菜单数据 /// /// /// public int updateTerminalEmp(Hashtable htParams) { return dal.updateTerminalEmp(htParams); } /// /// 获取客户产线ID /// /// /// public int GetEmpno(string emp_no) { return dal.GetEmpno(emp_no); } /// /// 获取工位编号 /// /// /// public int GetTerminalName(string terminal_name) { return dal.GetTerminalName(terminal_name); } public int GetEmpId(string emp_no) { return dal.GetEmpId(emp_no); } public bool GetEmpnoTerminalId(string terminal_name, string emp_no) { return dal.GetEmpnoTerminalId(terminal_name, emp_no); } /// /// 查看菜单详情 /// /// /// public Hashtable getTerminalEmpDetail(String ruid) { ruid = " ruid = " + ruid; DataTable dt = dal.getList(ruid, ""); Hashtable result = new Hashtable(); result.Add("ruid", dt.Rows[0]["ruid"]); result.Add("emp_id", dt.Rows[0]["emp_id"]); result.Add("emp_no", dt.Rows[0]["emp_no"]); result.Add("terminal_name", dt.Rows[0]["terminal_name"]); return result; } /// /// 删除菜单 /// /// /// public int deleteTerminalEmp(String ids) { String[] idArray = ids.Split(','); int count = 0; foreach (String id in idArray) { if (!"".Equals(id)) { count += this.dal.deleteTerminalEmp(id); } } return count; } /// /// 根据分页条件获取分页菜单数据 /// /// 查询条件 /// /// 排序方式 /// 排序字段 /// public DataTable getTerminalEmpExport(String terminal_name, string emp_no, Pager pager, String direction, String sort) { DataTable result = null; string strWhere = " 1=1 "; String orderBy = ""; if (terminal_name != null && !terminal_name.Trim().Equals("")) { strWhere += " and b.terminal_name like '%" + terminal_name.Trim() + "%'"; } if (emp_no != null && !emp_no.Trim().Equals("")) { strWhere += " and a.emp_no like '%" + emp_no.Trim() + "%'"; } if (sort != null && !"".Equals(sort.Trim())) { orderBy += sort + " " + direction; } else { orderBy += " f.cust_pdline_name " + direction; } result = dal.getTerminalEmpExport(pager.pageSize, pager.pageNo, strWhere, orderBy); return result; } /// /// 读取文件并更新至数据库 /// /// 文件全路径 /// 登录用户信息 public Hashtable ReadExcelFile(Stream inputStream, int userId) { Hashtable result = new Hashtable(); Hashtable Cache = new Hashtable(); DataTable dt = AsposeExcelTools.ExcelFileToDataTable(inputStream); DataView dv = new DataView(dt); //去除第一行&重新排序 dv.AllowDelete = true; dv[0].Delete(); dv.Sort = "Column1"; dt = dv.ToTable(); if (dt == null) { result.Add("message", "导入数据为空,请重新导入"); result.Add("flag", "error"); return result; } StringBuilder ErrorMessage = new StringBuilder(1024); // 验证数据 for (int i = 0; i < dt.Rows.Count; i++) { bool EmpNo = dal.ExistsEmpNo(dt.Rows[i][1].ToString().Trim()); if (EmpNo == false) { result.Add("message", string.Format("当前账号" + dt.Rows[i][1].ToString().Trim() + "不存在,请在员工管理中维护!", i + 1)); result.Add("flag", "error"); return result; } bool Terminal_name = dal.ExistsTerminalName(dt.Rows[i][0].ToString().Trim()); if (EmpNo == false) { result.Add("message", string.Format("当前工位" + dt.Rows[i][0].ToString().Trim() + "不存在,请检查!", i + 1)); result.Add("flag", "error"); return result; } bool CplID = dal.GetEmpnoTerminalId(dt.Rows[i][0].ToString().Trim(),dt.Rows[i][1].ToString().Trim()); if (CplID == true) { result.Add("message", string.Format("当前账号"+dt.Rows[i][1].ToString().Trim()+"只能对应此工位"+ dt.Rows[i][0].ToString().Trim()+"已存在!", i + 1 )); result.Add("flag", "error"); return result; } } // 处理表身数据 if (dal.InsertData(dt)) { result.Add("message", "导入成功"); result.Add("flag", "error"); return result; } else { result.Add("message", "导入失败"); result.Add("flag", "error"); return result; } } } }