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#

2 years ago
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
*
*
* 12013.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;
}
}
}
}