You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

262 lines
8.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 Estsh.Web.Models;
using System.IO;
using System.Text;
/***************************************************************************************************
*
* 作者:贾文涛
* 创建时间2013.03.19
* 描述:菜单模块业务类
* 修改日志:
* 1、2013.03.27 贾文涛 变更后台菜单数据表
*
* *************************************************************************************************/
namespace Estsh.Core.Services
{
/// <summary>
/// 菜单业务处理类
/// </summary>
public class DetectionControlService
{
private DetectionControlDal dal = new DetectionControlDal(RemotingProxyProvider._remotingProxy);
/// <summary>
/// 根据分页条件获取分页菜单数据
/// </summary>
/// <param name="ModelPartName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public Hashtable getDetectionControlListByPage(string part_no, Pager pager, String direction, String sort)
{
Hashtable result = new Hashtable();
string strWhere = " 1=1 ";
if (!string.IsNullOrEmpty(part_no))
{
strWhere = " part_no LIKE '%" + part_no.Trim() + "%' ";
}
String orderBy = "";
//if (sort != null && !"".Equals(sort.Trim()))
//{
// orderBy += sort + " " ;
//}
orderBy += " part_no ";
result = dal.getDetectionControlByPage(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
/// <summary>
/// 根据分页条件获取分页菜单数据(导出时使用)
/// </summary>
/// <param name="ModelPartName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public DataTable getModelPartListByPage2(string part_no,Pager pager, String direction, String sort)
{
DataTable result = null;
string strWhere = " 1=1 ";
if (!string.IsNullOrEmpty(part_no))
{
strWhere = " part_no LIKE '%" + part_no.Trim() + "%' ";
}
String orderBy = "";
if (sort != null && !"".Equals(sort.Trim()))
{
orderBy += sort + " " ;
}
else
{
orderBy += " part_no ";
}
result = dal.getListByPage2(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
/// <summary>
/// 保存菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveDetectionControl(Hashtable htParams)
{
return dal.saveDetectionControl(htParams);
}
/// <summary>
/// 保存菜单数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveModelPart_Sys_part(Hashtable htParams)
{
return dal.saveModelPart_Sys_part(htParams);
}
/// <summary>
/// 更新配置管理
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateModelPart(Hashtable htParams)
{
return dal.updateModelPart(htParams);
}
/// <summary>
/// 更新配置管理
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateModelPart_Sys_part(Hashtable htParams)
{
return dal.updateModelPart_Sys_part(htParams);
}
/// <summary>
/// 查看详情
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public ArrayList getModelPart(String ruid)
{
ruid = "ruid = " + ruid;
DataTable dt = dal.getList(ruid);
ArrayList result = DataTypeConvert.NewObject.DataTableToArrayList(dt);
return result;
}
/// <summary>
/// 删除菜单
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int deleteDetectionControl(String ids)
{
int count = 0;
ids = ids.Substring(0, ids.Length - 1);
count = this.dal.deleteDetectionControl(ids);
return count;
}
/// <summary>
/// 变更状态
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int onState(String model_id, String enabled)
{
int count = 0;
count = this.dal.onState(model_id, enabled);
return count;
}
///// <summary>
///// 变更状态
///// </summary>
///// <param name="ids"></param>
///// <returns></returns>
//public int deleteModelPart(String mode_id)
//{
// String[] idArray = mode_id.Split(',');
// int count = 0;
// foreach (String id in idArray)
// {
// if (!"".Equals(id))
// {
// count += this.dal.deleteModelPart(id);
// }
// }
// return count;
//}
/// <summary>
/// 获取下拉框中的菜单数据
/// </summary>
/// <returns></returns>
public ArrayList getSelectModelPart()
{
Hashtable result = new Hashtable();
DataTable dt = dal.getSelectModelPart();
return DataTypeConvert.NewObject.DataTableToArrayList(dt);
}
/// <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);
dt.Rows[0].Delete();
if (dt == null)
{
result.Add("message", "导入数据为空,请重新导入");
result.Add("flag", "error");
return result;
}
StringBuilder SqlStringBuilder = new StringBuilder(1024);
// 验证数据
for (int i = 0; i < dt.Rows.Count; i++)
{
string ModelName = dt.Rows[i][2].ToString().Trim();
int ModelID = dal.GetModelID(ModelName);
int ModelTypeID = dal.GetModelTypeID(dt.Rows[i][5].ToString().Trim());
if (ModelTypeID == 0)
{
result.Add("message", string.Format("车型 {0} 不存在,请检查数据后重新导入", dt.Rows[i][5].ToString().Trim()));
result.Add("flag", "error");
return result;
}
}
// 处理表身数据
if (dal.InsertData(dt))
{
//勿删重复导入目的是使sys_part表中的model_id和sys_model表中的model_id保持一致
dal.InsertData(dt);
result.Add("message", "导入成功");
result.Add("flag", "error");
return result;
}
else
{
result.Add("message", "导入失败");
result.Add("flag", "error");
return result;
}
}
}
}