|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据分页条件获取分页菜单数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="partNo"></param>
|
|
|
|
|
/// <param name="pager"></param>
|
|
|
|
|
/// <param name="direction"></param>
|
|
|
|
|
/// <param name="sort"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 保存菜单数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="htParams"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public int saveTerminalEmp(Hashtable htParams)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
return dal.saveTerminalEmp(htParams);
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 更新菜单数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="htParams"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public int updateTerminalEmp(Hashtable htParams)
|
|
|
|
|
{
|
|
|
|
|
return dal.updateTerminalEmp(htParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取客户产线ID
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="custPDLineDesc"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public int GetEmpno(string emp_no)
|
|
|
|
|
{
|
|
|
|
|
return dal.GetEmpno(emp_no);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取工位编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="terminal_name"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 查看菜单详情
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="ruid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 删除菜单
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="ids"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据分页条件获取分页菜单数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="menuName">查询条件</param>
|
|
|
|
|
/// <param name="pager"></param>
|
|
|
|
|
/// <param name="direction">排序方式</param>
|
|
|
|
|
/// <param name="sort">排序字段</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 读取文件并更新至数据库
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="inputStream">文件全路径</param>
|
|
|
|
|
/// <param name="userInfo">登录用户信息</param>
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|