123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- using Cksoft.Data;
- using Cksoft.Unity;
- using DllEapEntity.Dtos;
- using DllEapEntity.OFILM;
- using System;
- using System.Collections.Generic;
- using System.Data.Common;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace DllEapDal.OFILM
- {
- /// <summary>
- /// 区域负责人
- /// </summary>
- public class RegionChargerDal
- {
- private IDatabase CurrDb = null;
- public RegionChargerDal(IDatabase db)
- {
- CurrDb = db;
- }
- /// <summary>
- /// 获取区域负责人
- /// </summary>
- /// <param name="regionName"></param>
- /// <returns></returns>
- public async Task<LayuiModel<RegionChargerDto>> Get(string regionName, string factory, string plant, string chargeName)
- {
- string errorinfo = string.Empty;
- var sql = $@"select distinct b.fname as RegionName,b.id as RegionId,c.fname as plant,d.fname as factory from factoryregion a
- inner join factoryregion b on a.parentid=b.id
- inner join factoryregion c on b.parentid=c.id
- inner join factoryregion d on c.parentid=d.id
- where 1=1 ";
- if (!string.IsNullOrEmpty(regionName))
- {
- sql += $" and b.fName like '%{regionName}%' ";
-
- }
- if (!string.IsNullOrEmpty(factory))
- {
- sql += $" and d.fName like '%{factory}%' ";
- }
- if (!string.IsNullOrEmpty(plant))
- {
- sql += $" and c.fName like '%{plant}%' ";
- }
-
- sql += "order by factory,plant,RegionName";
- var regions = await CurrDb.FindListAsync<RegionChargerDto>(sql, null);
- IEnumerable<RegionChargerDto> da;
-
- if (regions != null && regions.Count() > 0)
- {
- string str = "";
- if (!string.IsNullOrEmpty(chargeName))
- {
- str =$@"and a.chargeName='{chargeName}'";
- }
- var chargers = await CurrDb.FindListForConditionAsync<RegionCharger>(str,
- ref errorinfo);
- foreach (var item in regions)
- {
- item.ChargeName = chargers?.FirstOrDefault(c => c.RegionId == item.RegionId)?.ChargeName;
- item.Remark = chargers?.FirstOrDefault(c => c.RegionId == item.RegionId)?.Remark;
- }
- if (!string.IsNullOrEmpty(chargeName))
- {
- var list = new List<RegionChargerDto>();
- foreach (var item in regions)
- {
- if (item.ChargeName != null)
- list.Add(item);
- }
- da = list.AsEnumerable();
- }
- else
- {
- da = regions;
- }
- }
- else
- {
- da = regions;
- }
- return new LayuiModel<RegionChargerDto>
- {
- count = regions?.Count() ?? 0,
- data = da
- };
- }
- /// <summary>
- /// 修改负责人
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- public async Task<EapResponse> AddOrUpdate(RegionCharger model)
- {
- string errorinfo = string.Empty;
- var exist = (await CurrDb.FindListForConditionAsync<RegionCharger>($" " +
- $"and a.regionId = {model.RegionId}", ref errorinfo)).FirstOrDefault();
- if (exist != null)
- {
- exist.ChargeName = model.ChargeName;
- exist.Remark = model.Remark;
- exist.ModCode = model.ModCode;
- exist.ModTime = DateTime.Now;
- CurrDb.UpdateFor(exist, model.ModCode);
- }
- else
- {
- CurrDb.InsertFor(model, model.RecCode);
- }
- return new EapResponse { Code = 1 };
- }
- }
- }
|