tijian_tieying/web/dccdc.DAL/ERPBuMenDal.cs
2025-02-20 12:14:39 +08:00

83 lines
2.8 KiB
C#

using Dapper;
using dccdc.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dccdc.DAL
{
public class ERPBuMenDal
{
public List<ERPBuMenModel> GetAllList(string key)
{
string sql = "select * from ERPBuMen where 1=1";
if (key != "")
{
sql += " and bumenname=@key";
}
using (IDbConnection conn = CommHelper.GetSqlConnection("OADB"))
{
return conn.Query<ERPBuMenModel>(sql, new { key = key }).ToList();
}
}
public List<ERPBuMenModel> GetListdir()
{
string sql = "select * from ERPBuMen where 1=1 and dirid=0";
using (IDbConnection conn = CommHelper.GetSqlConnection("OADB"))
{
return conn.Query<ERPBuMenModel>(sql).ToList();
}
}
public List<string> GetAllChildren(string ksid)
{
string sql = "select * from ERPBuMen where 1=1";
using (IDbConnection conn = CommHelper.GetSqlConnection("OADB"))
{
List<ERPBuMenModel> models = conn.Query<ERPBuMenModel>(sql).ToList();
List<string> result = new List<string>();
result.Add(ksid);
getChildren(ksid, models, ref result);
return result;
}
}
private void getChildren(string ksid, List<ERPBuMenModel> models,ref List<string> result)
{
List<ERPBuMenModel> models2 = models.Where(t => t.DirID == ksid).ToList();
foreach (ERPBuMenModel model in models2) {
result.Add(model.ID.ToString());
getChildren(model.ID.ToString(), models, ref result);
}
}
public List<ERPBuMenModel> GetAllChildren2(string ksid)
{
int ksid2 = Convert.ToInt32(ksid);
string sql = "select * from ERPBuMen where 1=1";
using (IDbConnection conn = CommHelper.GetSqlConnection("OADB"))
{
List<ERPBuMenModel> models = conn.Query<ERPBuMenModel>(sql).ToList();
List<ERPBuMenModel> result = new List<ERPBuMenModel>();
result.Add(models.Where(t => t.ID == ksid2).FirstOrDefault());
getChildren2(ksid, models, ref result);
return result;
}
}
private void getChildren2(string ksid, List<ERPBuMenModel> models, ref List<ERPBuMenModel> result)
{
List<ERPBuMenModel> models2 = models.Where(t => t.DirID == ksid).ToList();
foreach (ERPBuMenModel model in models2)
{
result.Add(model);
getChildren2(model.ID.ToString(), models, ref result);
}
}
}
}